def gammalnStirling(z):
    """
    Uses Stirling's approximation for the log-gamma function suitable for large arguments.
    """
    return (0.5 * (np.log(2. * np.pi) - np.log(z))) \
           + (z * (np.log(z + (1. / ((12. * z) - (1. / (10. * z))))) - 1.))