code: def concatenate_rewrite(ref_call, new_args, ctx):
      """Rewrite function for concatenate"""
      if quantize_context().check_to_skip(ref_call):
          return None
  
      input_tuple = new_args[0]
      expr_list = [_get_expr_kind(x)[0] for x in input_tuple]
      kind_list = [_get_expr_kind(x)[1] for x in input_tuple]
  
      # make sure the inputs of concatenate are all normal
      # expression or annotate expression
      if all([k is None for k in kind_list]):
          return None
      for i, k in enumerate(kind_list):
          if k is None:
              expr_list[i] = attach_simulated_quantize(
                  expr_list[i], QAnnotateKind.ACTIVATION
              )
      expr = _forward_op(ref_call, [_expr.Tuple(expr_list)])
      return QAnnotateExpr(expr, QAnnotateKind.ACTIVATION)
  
imports: import warnings
  from tvm import topi
  import tvm._ffi
  from tvm.relay.op import op
  from ..None import expr
  from ..None import analysis
  from ..None import op
  from .None import _quantize
  from .quantize import QAnnotateKind, current_qconfig, quantize_context
  from .quantize import _forward_op
label_desc: Use image node_id 15 for calling a global function with example usage: concatenate_rewrite(ref_call, new_args, ctx) and returns: QAnnotateExpr, None, None