@Override
    public long estimate() {
        final double raw = (1 / computeE()) * alpha() * m * m;
        return applyRangeCorrection(raw);
    }
@RequireAssertEnabled
    @Test(expected = AssertionError.class)
    public void testAlpha_withGivenZeroAsInvalidMemoryFootprint() {
        DenseHyperLogLogEncoder encoder = new DenseHyperLogLogEncoder(0);
        encoder.estimate();
    }