- // If the exponent is 1 or -1, it is left out
- if (it->coeff.is_equal(_ex1) || it->coeff.is_equal(_ex_1))
- it->rest.print(c, precedence());
- else if (it->coeff.info(info_flags::negint))
- // Outer parens around ex needed for broken GCC parser:
- (ex(power(it->rest, -ex_to<numeric>(it->coeff)))).print(c, level);
- else
- // Outer parens around ex needed for broken GCC parser:
- (ex(power(it->rest, ex_to<numeric>(it->coeff)))).print(c, level);
-
- if (needclosingparenthesis)
- c.s << ")";
-
- // Separator is "/" for negative integer powers, "*" otherwise
- ++it;
- if (it != itend) {
- if (it->coeff.info(info_flags::negint))
- c.s << "/";
- else
- c.s << "*";
- }
- }