'Returns lhs/rhs, but treats arguments like symbols, so things like
oo/oo return 1, instead of a nan.'

@staticmethod
def _combine_inverse(lhs, rhs):

    if (lhs == rhs):
        return S.One
    def check(l, r):
        if (l.is_Float and r.is_comparable):
            return (l.__add__(0) == r.evalf().__add__(0))
        return False
    if (check(lhs, rhs) or check(rhs, lhs)):
        return S.One
    if (lhs.is_Mul and rhs.is_Mul):
        a = list(lhs.args)
        b = [1]
        for x in rhs.args:
            if (x in a):
                a.remove(x)
            elif ((- x) in a):
                a.remove((- x))
                b.append((-1))
            else:
                b.append(x)
        return (lhs.func(*a) / rhs.func(*b))
    return (lhs / rhs)
