From 7a223688d9195c4969cdcae0622170149dc7d660 Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Sat, 13 May 2017 22:02:41 -0400 Subject: Add compiler optimization for add-with-carry This closes #171. It's unfortunately a bit fragile, and takes a really long time (about 60s) to prove correct, because Coq is bad at deep dependent pattern matching. We enable a-normal form for the freeze test, because the rewriter only works when the arguments to adc are var or const. --- _CoqProject | 5 +++++ 1 file changed, 5 insertions(+) (limited to '_CoqProject') diff --git a/_CoqProject b/_CoqProject index 1cb0fed20..bae34d242 100644 --- a/_CoqProject +++ b/_CoqProject @@ -131,6 +131,9 @@ 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/Bounds/Interpretation.v src/Compilers/Z/Bounds/MapCastByDeBruijn.v @@ -148,6 +151,8 @@ 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/Curves/Edwards/AffineProofs.v -- cgit v1.2.3