code: def register_unary_qnn(op_name, op):
      """Rewrite a unary op"""
  
      def unary(expr, type_map):
          arg = expr.args[0]
          x_t = type_map[arg]
          out_t = type_map[expr]
          out = op(
              arg,
              x_t.scale,
              x_t.zero_point,
              out_t.scale,
              out_t.zero_point,
          )
          return [out, out_t]
  
      return register_fake_quantization_to_integer(op_name, unary)
  
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 28 for calling a global function with example usage: register_unary_qnn(op_name, op) and returns: register_fake_quantization_to_integer, list