diff --git a/src/script_opt/Expr.cc b/src/script_opt/Expr.cc index f06d6f9a0c..23cb29b548 100644 --- a/src/script_opt/Expr.cc +++ b/src/script_opt/Expr.cc @@ -658,8 +658,8 @@ ExprPtr NotExpr::Duplicate() { return SetSucc(new NotExpr(op->Duplicate())); } bool NotExpr::WillTransform(Reducer* c) const { return op->Tag() == EXPR_NOT && Op()->GetType()->Tag() == TYPE_BOOL; } ExprPtr NotExpr::Reduce(Reducer* c, StmtPtr& red_stmt) { - if ( op->Tag() == EXPR_NOT && Op()->GetType()->Tag() == TYPE_BOOL ) - return Op()->Reduce(c, red_stmt); + if ( op->Tag() == EXPR_NOT ) + return op->GetOp1()->Reduce(c, red_stmt); return UnaryExpr::Reduce(c, red_stmt); }