code: def mean_approximate_logaddexp(op, model, guide, approx_vars):
      results = [model]
      for var in approx_vars:
          var_mean = Integrate(guide, var, var)
          results.append(Delta(var.name, var_mean))
      return reduce(ops.add, results)
  
imports: from collections import OrderedDict
  from functools import reduce, singledispatch
  from funsor.cnf import Contraction, GaussianMixture
  from funsor.delta import Delta
  from funsor.gaussian import Gaussian, _compute_offsets
  from funsor.instrument import debug_logged
  from funsor.integrate import Integrate
  from funsor.interpretations import DispatchedInterpretation
  from funsor.tensor import Tensor, align_tensor
  from funsor.terms import Approximate, Funsor
  from funsor.typing import deep_isinstance
  from .None import ops
label_desc: Use image node_id 2 for calling a global function with example usage: mean_approximate_logaddexp(op, model, guide, approx_vars) and returns: reduce