class_docstr: Ufunc or elementwise kernel with types.
      
code: def emit_code(self):
      _fusion_thread_local.check_not_runtime()
  
      declaration, s1 = self._emit_declaration(
          self.params, self.in_params
      )
      operation = [op.emit_call_code() for op in self.ops]
      after_operation, s2 = self._emit_after_operation(self.out_params)
      index_name = "i"
      indexed_array = s1 + s2
      indexer_name = next(iter(indexed_array)).indexer_name
      indexer_setup = self._emit_set_index(indexed_array, index_name)
  
      return _codeblock.CodeBlock(
          "CUPY_FOR({}, {}.size())".format(index_name, indexer_name),
          indexer_setup + declaration + operation + after_operation,
      )
  
imports: import string
  import numpy
  from cupy._core import _codeblock
  from cupy._core._fusion_variable import _TraceVariable
  from cupy._core._fusion_variable import _TraceArray
  from cupy._core._fusion_variable import _VariableSet
  from cupy._core import _fusion_thread_local
  from cupy._core import _kernel
  from cupy._core import _reduction
  from cupy._core._scalar import get_typename
label_desc: Use image node_id 6 for calling the _ElementwiseTraceOp obj's underlying member method code with example usage: obj.emit_code() and returns: _codeblock