From bcc590aafa788263463b1ac538d47e810420513e Mon Sep 17 00:00:00 2001
From: Houtan Bastani <houtan.bastani@ens.fr>
Date: Tue, 12 Oct 2010 16:17:00 +0200
Subject: [PATCH] add preprocessor simplification rule

---
 preprocessor/DataTree.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/preprocessor/DataTree.cc b/preprocessor/DataTree.cc
index df7044dc8a..24621f3341 100644
--- a/preprocessor/DataTree.cc
+++ b/preprocessor/DataTree.cc
@@ -228,8 +228,10 @@ DataTree::AddDifferent(expr_t iArg1, expr_t iArg2)
 expr_t
 DataTree::AddPower(expr_t iArg1, expr_t iArg2)
 {
-  if (iArg1 != Zero && iArg2 != Zero && iArg2 != One)
+  if (iArg1 != Zero && iArg2 != Zero && iArg1 != One && iArg2 != One)
     return AddBinaryOp(iArg1, oPower, iArg2);
+  else if (iArg1 == One)
+    return One;
   else if (iArg2 == One)
     return iArg1;
   else if (iArg2 == Zero)
-- 
GitLab