def conegrowth(d, do, Y, fitMax=0, fitMin=0, ds=0.0):
    """Find the additional length accrued by a tapered roller bearing due
    the press fit of the bearing cone on a shaft.

    Parameters
    ==========
    
    d : float
        bore diameter of the cone

    do : float
        mean outside diameter of the cone
        
    Y : Y factor

    fitMax : float
        Maximum diametral interference between the cone and shaft.
        
    fitMin : float
        Minimum diametral interference between the cone and shaft.

    ds : float
        bore diameter of the shaft.  default: 0.0
        
    Cone growth calculation based on the equation provided in Timken's catalog.
    (K = Y * .9725)
    
    Returns
    =======
    
    out: tuple
        (conegrowthMax, conegrowthMin)... i.e., axial length increase
    """
    K = Y * 0.9725
    try:
        conegrowthMin = 0.5 * (K / 0.39) * (d / do * (1 - (ds / d) ** 2) /
            (1 - (ds / do) ** 2)) * abs(fitMin)
        conegrowthMax = 0.5 * (K / 0.39) * (d / do * (1 - (ds / d) ** 2) /
            (1 - (ds / do) ** 2)) * abs(fitMax)
        return conegrowthMax, conegrowthMin
    except ZeroDivisionError:
        return 0.0, 0.0
