code: def _lower_complex_real(op: Operation):
      complex_input: ComplexVar = op.data
      # Use an identity op to avoid the block's input name inconsistency issue. If we directly use
      # complex_input.real, the var's name could be inconsistent with the block's input name.
      result = mb.identity(x=complex_input.real, before_op=op)
      return result
  
imports: import functools
  from typing import Callable, Dict, Optional, Tuple
  import numpy
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil import types
  from coremltools.converters.mil.mil.operation import Operation
  from coremltools.converters.mil.mil.ops.defs.complex_dialect_ops import fft_canonicalize_length_dim, fft_canonicalize_shapes_dims
  from coremltools.converters.mil.mil.passes.graph_pass import AbstractGraphPass
  from coremltools.converters.mil.mil.passes.helper import block_context_manager
  from coremltools.converters.mil.mil.passes.pass_registry import register_pass
  from coremltools.converters.mil.mil.var import ComplexVar, Var
label_desc: Use image node_id 9 for calling a global function with example usage: _lower_complex_real(op) and returns: result