code: def _normal_order_terms(expr, recursive_limit=10, _recursive_depth=0):
      """
      Helper function for normal_order: look through each term in an addition
      expression and call _normal_order_factor to perform the normal ordering
      on the factors.
      """
  
      new_terms = []
      for term in expr.args:
          if isinstance(term, Mul):
              new_term = _normal_order_factor(
                  term,
                  recursive_limit=recursive_limit,
                  _recursive_depth=_recursive_depth,
              )
              new_terms.append(new_term)
          else:
              new_terms.append(term)
  
      return Add(*new_terms)
  
file_path: sympy/sympy/physics/quantum/operatorordering.py
imports: import warnings
  from sympy.core.add import Add
  from sympy.core.mul import Mul
  from sympy.core.numbers import Integer
  from sympy.core.power import Pow
  from sympy.physics.quantum import Commutator, AntiCommutator
  from sympy.physics.quantum.boson import BosonOp
  from sympy.physics.quantum.fermion import FermionOp
label_desc: Use image node_id 6 for calling a global function with example usage: _normal_order_terms(expr, recursive_limit, _recursive_depth) and returns: Add