diff --git a/poincare/src/multiplication.cpp b/poincare/src/multiplication.cpp index 8e9ff3160..17302b287 100644 --- a/poincare/src/multiplication.cpp +++ b/poincare/src/multiplication.cpp @@ -383,13 +383,17 @@ Expression Multiplication::shallowBeautify(ExpressionNode::ReductionContext redu || CanSimplifyUnitProduct( unitsExponents, unitsMetrics, - entryUnitExponents, entryUnitNorm, Power::Builder(entryUnit, Rational::Builder(-1)), -1, + entryUnitExponents, entryUnitNorm, entryUnit, -1, bestUnit, bestUnitExponent, bestRemainderExponents, bestRemainderMetrics ); } if (bestUnit.isUninitialized()) { break; } + assert(bestUnitExponent == 1 || bestUnitExponent == -1); + if (bestUnitExponent == -1) { + bestUnit = Power::Builder(bestUnit, Rational::Builder(-1)); + } const int position = unitsAccu.numberOfChildren(); unitsAccu.addChildAtIndexInPlace(bestUnit, position, position); unitsExponents = bestRemainderExponents;