def heuristics(e, z, z0, dir):
    rv = None

    if abs(z0) is S.Infinity:
        rv = limit(e.subs(z, 1-z), z, S.Zero, "+" if z0 is S.Infinity else "-")
        if isinstance(rv, Limit):
            return
    elif e.is_Mul or e.is_Add or e.is_Pow or e.is_Function:
        r = []
        for a in e.args:
            l = limit(a, z, z0, dir)
            if l.has(S.Infinity) and l.is_finite is None:
                return
            elif isinstance(l, Limit):
                return
            elif l is S.NaN:
                return
            else:
                r.append(l)
        if r:
            rv = e.func(*r)
            if rv is S.NaN:
                return

    return rv
dataset/ETHPy150Open sympy/sympy/sympy/series/limits.py/heuristics/operator `/` -> `-`