code: def rebuild(expr):
      """Rebuild a SymPy tree.
  
      Explanation
      ===========
  
      This function recursively calls constructors in the expression tree.
      This forces canonicalization and removes ugliness introduced by the use of
      Basic.__new__
      """
      if expr.is_Atom:
          return expr
      else:
          return expr.func(*list(map(rebuild, expr.args)))
  
file_path: sympy/sympy/strategies/rl.py
imports: from sympy.utilities.iterables import sift
  from .util import new
label_desc: Use image node_id 8 for calling a global function with example usage: rebuild(expr) and returns: expr, expr