diff --git a/src/ExprNode.cc b/src/ExprNode.cc index a48de8837c4f87810041297a14951cdc51fffc3f..7d2814be28de5b735c9129cd1aa52d5c50062b66 100644 --- a/src/ExprNode.cc +++ b/src/ExprNode.cc @@ -2191,6 +2191,9 @@ UnaryOpNode::cost(const vector<vector<temporary_terms_t>> &blocks_temporary_term int UnaryOpNode::cost(int cost, bool is_matlab) const { + if (op_code == UnaryOpcode::uminus && dynamic_cast<NumConstNode *>(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)