code: def mul_partition_generic(ref_call, new_args, ctx):
      """Rewrite function for ewise mul for partition for generic devices"""
      lhs_cond, lhs = partition_expr_check(new_args[0])
      rhs_cond, rhs = partition_expr_check(new_args[1])
  
      if lhs_cond:
          # introduced by bn: multiply(out, scale)
          lhs = new_args[0].realize()
          return QPartitionExpr(_forward_op(ref_call, [lhs, rhs]))
  
      if rhs_cond:
          # introduced by efficientnet
          rhs = new_args[1].realize()
          return QPartitionExpr(_forward_op(ref_call, [lhs, rhs]))
  
      if not lhs_cond and not rhs_cond:
          # trivial case
          return None
  
      raise ValueError
  
file_path: tvm/python/tvm/relay/quantize/_partition.py
imports: import tvm
  from ..None import expr
  from ..None import analysis
  from .None import _quantize
  from .quantize import _forward_op
label_desc: Use image node_id 6 for calling a global function with example usage: mul_partition_generic(ref_call, new_args, ctx) and returns: QPartitionExpr, QPartitionExpr, None