* @param result0
     * @param rootRoundIfNecessary
     * @param epsilon
     * @param maxite
     * @param decimalPlaces
     * @param a_RoundingMode
     * @return Re-approximation of result0 using Newton Raphson method
     */
    private static BigDecimal newtonRaphsonNoRounding(
            BigDecimal x,
            BigDecimal result0,
            BigInteger root) {
        BigDecimal result = new BigDecimal(result0.toString());
        BigDecimal root_BigDecimal = new BigDecimal(root);
        int magnitudex = magnitude(x);
        //System.out.println("magnitudex " + magnitudex);
        BigDecimal previousResult_BigDecimal;
        BigDecimal resultipowroot;
        BigDecimal resultipowrootsubtract1;
        BigDecimal divisor;
        BigInteger rootsubtract1 = root.subtract(BigInteger.ONE);
        previousResult_BigDecimal = new BigDecimal("1");
        // Newton Raphson
        while (true) {
            resultipowroot = powerNoRounding(
                    result,
                    root,
                    64);
            resultipowrootsubtract1 = powerNoRounding(
                    result,
                    rootsubtract1,
                    64);
            divisor = resultipowrootsubtract1.multiply(root_BigDecimal);
            result = result.subtract(
                    Generic_BigDecimal.divideNoCaseCheckNoRounding(
                    resultipowroot.subtract(x),
                    divisor));
            // Test for convergence
            if (previousResult_BigDecimal.compareTo(result) == 0) {
                break;
            }
            //System.out.println(result.toPlainString());
            previousResult_BigDecimal = new BigDecimal(result.toString());
        }
        return result;
    }