aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-06-17 23:48:02 -0400
committerGravatar Jason Gross <jgross@mit.edu>2017-06-17 23:48:02 -0400
commitc41f7f2b356a509b9465985a4054a2e27a395e66 (patch)
treeb6ee3e86c02505f1e1374cc6130061fd49f8536c /src
parent42fdac63a7c1ffc9e2d12ff1a37c48bdd724145e (diff)
Try more simplification
Diffstat (limited to 'src')
-rw-r--r--src/Compilers/Z/Bounds/Pipeline/Definition.v18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/Compilers/Z/Bounds/Pipeline/Definition.v b/src/Compilers/Z/Bounds/Pipeline/Definition.v
index d11d9c906..c1112812a 100644
--- a/src/Compilers/Z/Bounds/Pipeline/Definition.v
+++ b/src/Compilers/Z/Bounds/Pipeline/Definition.v
@@ -88,9 +88,15 @@ Definition PostWfPreBoundsPipeline
{t} (e : Expr base_type op t)
: Expr base_type op t
:= let e := InlineConst e in
- let e := InlineConst (SimplifyArith false e) in
- let e := InlineConst (SimplifyArith false e) in
- let e := InlineConst (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 := InlineConst (Linearize (SimplifyArith false e)) in
let e := if opts.(anf) then InlineConst (ANormal e) else e in
let e := RewriteAdc e in
let e := InlineConstAndOpp (Linearize (SimplifyArith true e)) in
@@ -114,11 +120,7 @@ Definition PostWfBoundsPipeline
(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 (SimplifyArith false e') in
let e' := if opts.(anf) then InlineConst (ANormal e') else e' in*)
let e' := ExprEta e' in
e'))