diff --git a/src/ExprNode.cc b/src/ExprNode.cc index a48de883..7d2814be 100644 --- a/src/ExprNode.cc +++ b/src/ExprNode.cc @@ -2191,6 +2191,9 @@ UnaryOpNode::cost(const vector> &blocks_temporary_term int UnaryOpNode::cost(int cost, bool is_matlab) const { + if (op_code == UnaryOpcode::uminus && dynamic_cast(arg)) + return 0; // Cost is zero for a negative constant, as for a positive one + if (is_matlab) // Cost for Matlab files switch (op_code)