code: def test_ubersum_collide_ok_3(impl):
      # The following is ok because x, y, and z can be independently contracted to w.
      #
      #      z {a,b}
      # x {a}   |   y {b}
      #      \  |  /
      #       \ | /
      #       w {}  <--- target
      a, b, c = 2, 3, 4
      w = torch.randn(c)
      x = torch.randn(a, c)
      y = torch.randn(b, c)
      z = torch.randn(a, b, c)
      impl("c,ac,bc,abc->", w, x, y, z, plates="ab", modulo_total=True)
  
imports: import itertools
  import numbers
  from collections import OrderedDict
  import opt_einsum
  import pytest
  import torch
  import pyro.ops.jit
  from pyro.distributions.util import logsumexp
  from pyro.ops.contract import _partition_terms, contract_tensor_tree, contract_to_tensor, einsum, naive_ubersum, ubersum
  from pyro.ops.einsum.adjoint import require_backward
  from pyro.ops.rings import LogRing
  from pyro.poutine.indep_messenger import CondIndepStackFrame
  from pyro.util import optional
  from tests.common import assert_equal
label_desc: Use image node_id 24 for calling a global function with example usage: test_ubersum_collide_ok_3(impl) without return types