From 4e7aa84feea7bc32da986723066646d8627769fd Mon Sep 17 00:00:00 2001 From: Houtan Bastani Date: Thu, 3 Sep 2015 14:25:06 +0200 Subject: [PATCH] raise cost of oPowerDeriv to always create a temporary variable if it has been encountered at least twice --- ExprNode.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ExprNode.cc b/ExprNode.cc index a0b50e54..c10a4900 100644 --- a/ExprNode.cc +++ b/ExprNode.cc @@ -2750,7 +2750,7 @@ BinaryOpNode::cost(const temporary_terms_t &temporary_terms, bool is_matlab) con return cost + 990; case oPower: case oPowerDeriv: - return cost + 1160; + return cost + (MIN_COST_MATLAB/2+1); case oEqual: return cost; } @@ -2775,8 +2775,9 @@ BinaryOpNode::cost(const temporary_terms_t &temporary_terms, bool is_matlab) con case oDivide: return cost + 15; case oPower: - case oPowerDeriv: return cost + 520; + case oPowerDeriv: + return cost + (MIN_COST_C/2+1);; case oEqual: return cost; }