code: def eager_tensor_made_op(op, *args):
      name_to_dim = {}
      for arg in args:
          for k, v in reversed(arg.inputs.items()):
              if isinstance(v, BintType):
                  name_to_dim.setdefault(k, -1 - len(name_to_dim))
      dim_to_name = {dim: name for name, dim in name_to_dim.items()}
      try:
          raw_args = [
              to_data(arg, name_to_dim=name_to_dim) for arg in args
          ]
      except PatternMissingError:
          return None  # give up
      data = op(*raw_args)
      output = find_domain(op, *(arg.output for arg in args))
      return to_funsor(data, output, dim_to_name=dim_to_name)
  
file_path: funsor/funsor/op_factory.py
imports: import inspect
  import typing
  from funsor import interpreter
  from funsor.domains import BintType, Dependent, find_domain
  from funsor.interpretations import eager
  from funsor.interpreter import PatternMissingError
  from funsor.tensor import Tensor
  from funsor.terms import Binary, Number, Tuple, Unary, to_data, to_funsor
  from funsor.typing import deep_issubclass
  from funsor.util import as_callable
  from .None import ops
label_desc: Use image node_id 1 for calling a global function with example usage: eager_tensor_made_op(op) and returns: to_funsor, None