int i = 0; do { BigRational factor = getFactor(i); BigDecimal xToThePower = powerIterator.getCurrentPower(); powerIterator.calculateNextPower(); xToThePower = powerIterator.getCurrentPower(); powerIterator.calculateNextPower(); factor = getFactor(i); BigDecimal step2 = factor.getNumerator().multiply(xToThePower, mathContext).divide(factor.getDenominator(), mathContext); step = step.add(step2, mathContext);