code: def _find_domain_einsum(op, operands):
      equation = op.defaults["equation"]
      ein_inputs, ein_output = equation.split("->")
      ein_inputs = ein_inputs.split(",")
      size_dict = {}
      for ein_input, x in zip(ein_inputs, operands):
          assert x.dtype == "real"
          assert len(ein_input) == len(x.shape)
          for name, size in zip(ein_input, x.shape):
              other_size = size_dict.setdefault(name, size)
              if other_size != size:
                  raise ValueError(
                      "Size mismatch at {}: {} vs {}".format(
                          name, size, other_size
                      )
                  )
      return Reals[tuple(size_dict[d] for d in ein_output)]
  
imports: import copyreg
  import functools
  import inspect
  import operator
  import warnings
  from functools import reduce
  from weakref import WeakValueDictionary
  import funsor.ops
  from funsor.ops.builtin import parse_ellipsis, parse_slice
  from funsor.util import broadcast_shape, get_backend, get_tracing_state, quote
label_desc: Use image node_id 22 for calling a global function with example usage: _find_domain_einsum(op, operands) and returns: Reals