diff --git a/src/cc/prices.cpp b/src/cc/prices.cpp index 61d188af2..7254c8217 100644 --- a/src/cc/prices.cpp +++ b/src/cc/prices.cpp @@ -768,9 +768,11 @@ static std::string prices_getreducedexpr(const std::string &expr) if (prices_isopcode(vexpr[i], need)) { std::vector voperation; prices_invertoperation(vexpr, i, voperation); - int reducedneed = prices_reduceoperands(voperation); - if (reducedneed < need) { - prices_substitutereduced(vexpr, i, voperation); + if (voperation.size() > 0) { + int reducedneed = prices_reduceoperands(voperation); + if (reducedneed < need) { + prices_substitutereduced(vexpr, i, voperation); + } } } }