@Override
    protected int getBackedOffPoolSize(final int curr) {
        if (curr <= 1) {
            return 1;
        }
        final int t = getTimeInterval().incrementAndGet();
        final int result = Math.max(1, (int) Math.floor(curr / Math.pow(1 + getBackoffFactor().get(), t)));

        if (LOG.isDebugEnabled()) {
            LOG.debug("curr={}, t={}, growthRate={}, result={}", curr, t, getBackoffFactor().get(), result);
        }
        return result;
    }
Calculates the new pool size after applying the exponential backoff algorithm.
The new pool size is calculated using the formula: floor(curr / (1 + growthRate) ^ t),
where curr is the current pool size, growthRate is the exponential growth rate, and t is the time interval.

@param curr the current pool size
@return the new pool size after applying the backoff
httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ExponentialBackoffManager.java