code: def split(expr, type_map):
      """Rewrite a split op"""
      arg = expr.args[0]
      t = type_map[arg]
      attrs = {**expr.attrs}
      if isinstance(attrs["indices_or_sections"], tvm.tir.IntImm):
          num_split = attrs["indices_or_sections"].value
          attrs["indices_or_sections"] = num_split
      else:
          num_split = len(attrs["indices_or_sections"]) + 1
      return [expr, TupleAffineType([t] * num_split)]
  
imports: import numpy
  import tvm
  from tvm import relay
  from tvm.ir import TensorAffineType, TupleAffineType
  from tvm.relay.qnn.op import canonicalizations
  from tvm.tir import bijective_layout
  from ..op import register_fake_quantization_to_integer, register_optional_fake_quantization_to_integer
label_desc: Use image node_id 19 for calling a global function with example usage: split(expr, type_map) and returns: list