(expr, x)
return innermost
Find numbers a such that a linear substitution x --> x+a would
    (hopefully) simplify expr.

    >>> from sympy.integrals.meijerint import _find_splitting_points as fsp
    >>> from sympy import sin
    >>> from sympy.abc import a, x
    >>> fsp(x, x)
    set([0])
    >>> fsp((x-1)**3, x)
    set([1])
    >>> fsp(sin(x+3)*x, x)
    set([-3, 0])
Find numbers a such that a linear substitution x --> x+a would
    (hopefully) simplify expr.
Find numbers a such that a linear substitution x -- > x + a would ( hopefully ) simplify expr .
def _find_splitting_points(expr, x):
    """
    Find numbers a such that a linear substitution x --> x+a would
    (hopefully) simplify expr.

    >>> from sympy.integrals.meijerint import _find_splitting_points as fsp
    >>> from sympy import sin
    >>> from sympy.abc import a, x
    >>> fsp(x, x)
    set([0])
    >>> fsp((x-1)**3, x)
    set([1])
    >>> fsp(sin(x+3)*x, x)
    set([-3, 0])
    """
    from sympy import Tuple
    p, q = [Wild(n, exclude=[x]) for n in 'pq']

    def compute_innermost(expr, res):
        if not isinstance(expr, Expr):
            return
        m = expr.match(p*x + q)
        if m and m[p] != 0:
            res.add(-m[q]/m[p])
            return
        if expr.is_Atom:
            return
        for arg in expr.args:
            compute_innermost(arg, res)
    innermost = set()
    compute_innermost(expr, innermost)
    return innermost
def _find_splitting_points ( expr , x ) : from sympy import Tuple p , q = [ Wild ( n , exclude = [ x ] ) for n in 'pq' ] def compute_innermost ( expr , res ) : if not isinstance ( expr , Expr ) : return m = expr . match ( p * x + q ) if m and m [ p ] != 0 : res . add ( - m [ q ] / m [ p ] ) return if expr . is_Atom : return for arg in expr . args : compute_innermost ( arg , res ) innermost = set ( ) compute_innermost ( expr , innermost ) return innermost