From 7f0c33ab4ecbded790e4959a2420c702205c3f03 Mon Sep 17 00:00:00 2001 From: Zachary Snow Date: Sun, 16 Aug 2020 14:28:13 -0400 Subject: [PATCH] constant fold adjacent adds through association --- src/Convert/ExprUtils.hs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Convert/ExprUtils.hs b/src/Convert/ExprUtils.hs index 465de8c..3bc3ad9 100644 --- a/src/Convert/ExprUtils.hs +++ b/src/Convert/ExprUtils.hs @@ -74,6 +74,8 @@ simplifyBinOp Add (UniOp UniSub e1) e2 = BinOp Sub e2 e1 simplifyBinOp Sub e1 (UniOp UniSub e2) = BinOp Add e1 e2 simplifyBinOp Sub (UniOp UniSub e1) e2 = UniOp UniSub $ BinOp Add e1 e2 +simplifyBinOp Add (BinOp Add e (n1 @ Number{})) (n2 @ Number{}) = + BinOp Add e (BinOp Add n1 n2) simplifyBinOp Sub (n1 @ Number{}) (BinOp Sub (n2 @ Number{}) e) = BinOp Add (BinOp Sub n1 n2) e simplifyBinOp Sub (n1 @ Number{}) (BinOp Sub e (n2 @ Number{})) =