(lhs, rhs)
return lhs/rhs
Returns lhs/rhs, but treats arguments like symbols, so things like
        oo/oo return 1, instead of a nan.
Returns lhs/rhs, but treats arguments like symbols, so things like
        oo/oo return 1, instead of a nan.
Returns lhs / rhs but treats arguments like symbols so things like oo / oo return 1 instead of a nan .
def _combine_inverse(lhs, rhs):
        """
        Returns lhs/rhs, but treats arguments like symbols, so things like
        oo/oo return 1, instead of a nan.
        """
        if lhs == rhs:
            return S.One

        def check(l, r):
            if l.is_Float and r.is_comparable:
                # if both objects are added to 0 they will share the same "normalization"
                # and are more likely to compare the same. Since Add(foo, 0) will not allow
                # the 0 to pass, we use __add__ directly.
                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
def _combine_inverse ( lhs , rhs ) : if lhs == rhs : return S . One def check ( l , r ) : if l . is_Float and r . is_comparable : # if both objects are added to 0 they will share the same "normalization" # and are more likely to compare the same. Since Add(foo, 0) will not allow # the 0 to pass, we use __add__ directly. 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