code: def test_partial_sum_product_batch_1():
      factor = random_gaussian(
          OrderedDict(i=Bint[2], j=Bint[2], x=Real)
      )
      actual = sum_product(
          ops.logaddexp,
          ops.add,
          [factor],
          eliminate=frozenset("ix"),
          plates=frozenset("ij"),
      )
      assert actual.inputs == OrderedDict(j=Bint[2])
  
imports: import os
  import re
  from collections import OrderedDict
  from functools import partial, reduce
  import pytest
  import funsor.ops
  from funsor.domains import Bint, Real, Reals
  from funsor.interpretations import compress_gaussians, eager, eager_or_die, lazy, moment_matching, reflect
  from funsor.interpreter import reinterpret
  from funsor.optimizer import apply_optimizer
  from funsor.sum_product import MarkovProduct, _partition, dynamic_partial_sum_product, mixed_sequential_sum_product, modified_partial_sum_product, naive_sarkka_bilmes_product, naive_sequential_sum_product, partial_sum_product, partial_unroll, sarkka_bilmes_product, sequential_sum_product, sum_product
  from funsor.tensor import Tensor, get_default_prototype
  from funsor.terms import Cat, Variable
  from funsor.testing import assert_close, random_gaussian, random_tensor
  from funsor.util import get_backend
label_desc: Use image node_id 3 for calling a global function with example usage: test_partial_sum_product_batch_1() without return types