code: def test_use_funsor_interally_2():
      def gaussian_log_prob(white_vec, prec_sqrt, value):
          # Convert backend arrays -> to funsors.
          g = Gaussian(white_vec, prec_sqrt, OrderedDict(x=Reals[3]))
          value = to_funsor(value)
  
          # Operate on funsors.
          log_prob = g(x=value) - g.reduce(ops.logaddexp)
  
          # Convert funsors -> to backend array.
          return to_data(log_prob)
  
      prec_sqrt = randn(3, 3)
      data = dict(
          white_vec=randn(3), prec_sqrt=prec_sqrt, value=randn(3)
      )
      check_tracer(gaussian_log_prob, data)
  
imports: from collections import OrderedDict
  import pytest
  import funsor.ops
  from funsor.domains import Real, Reals
  from funsor.gaussian import Gaussian
  from funsor.interpretations import reflect
  from funsor.interpreter import reinterpret
  from funsor.op_factory import make_op
  from funsor.ops.tracer import trace_function
  from funsor.optimizer import apply_optimizer
  from funsor.sum_product import sum_product
  from funsor.tensor import Tensor
  from funsor.terms import to_data, to_funsor
  from funsor.testing import assert_close, randn
label_desc: Use image node_id 6 for calling a global function with example usage: test_use_funsor_interally_2() and returns: to_data