* @param x x > 1
     * @param y
     * @param div If < 3 this is set to 2. If > 256 set to 256
     * @param decimalPlaces
     * @param a_RoundingMode
     * @return true iff x^y1 > compare
     */
    @Deprecated
    public static boolean powerTestAbove(
            BigDecimal compare,
            BigDecimal x,
            int y,
            int div,
            int decimalPlaces,
            RoundingMode a_RoundingMode) {
        if (div < 3) {
            div = 2;
        } else {
            if (div > 256) {
                div = 256;
            }
        }
        BigDecimal toCompare = BigDecimal.ONE;
        BigDecimal toCompare0;
        // Deal with special case
        if (y < div) {
            toCompare0 = power(
                    x,
                    y,
                    decimalPlaces,
                    a_RoundingMode);
            if (toCompare0.compareTo(compare) == 1) {
                return true;
            } else {
                return false;
            }
        }
        while (y > 1) {
            if (y < div) {
                boolean powerTest0 = powerTestAbove(
                        compare,
                        x,
                        y,
                        div,
                        decimalPlaces,
                        a_RoundingMode);
                if (powerTest0) {
                    return true;
                } else {
                    toCompare0 = power(
                            x,
                            y,
                            div,
                            decimalPlaces,
                            a_RoundingMode);
                }
            } else {
                int party0 = y / div;
                toCompare0 = power(
                        x,
                        party0,
                        div,
                        decimalPlaces,
                        a_RoundingMode);
                if (toCompare.compareTo(compare) == 1) {
                    return true;
                }
                toCompare0 = power(
                        toCompare0,
                        div,
                        decimalPlaces,
                        a_RoundingMode);
                if (toCompare.compareTo(compare) == 1) {
                    return true;
                }
                int party1 = y % div;
                if (party1 != 0) {
                    BigDecimal resultRemainder = power(
                            x,
                            party1,
                            div,
                            decimalPlaces,
                            a_RoundingMode);
                    if (toCompare.compareTo(compare) == 1) {
                        return true;
                    }
                    toCompare0 = multiplyRoundIfNecessary(
                            toCompare0,
                            resultRemainder,
                            decimalPlaces,
                            a_RoundingMode);
                    if (toCompare.compareTo(compare) == 1) {
                        return true;
                    }
                }
            }
            toCompare = multiplyRoundIfNecessary(
                    toCompare,
                    toCompare0,
                    decimalPlaces,
                    a_RoundingMode);
            if (toCompare.compareTo(compare) == 1) {
                return true;
            }
            y /= div;
        }
        return false;
    }