def METHOD_NAME(self, scale, input_node_name, output_node_name, w_i):
    """Insert the Mul node after the activation before the weight node.
    Args:
        scale: smooth scale with the shape (ic,)
        input_node_name: the parent input node
        output_node_name: the concrete output weight node name
        w_i: distinguish between different output weight nodes on different branches when naming
    """
    from neural_compressor.adaptor.tf_utils.graph_util import GraphRewriterHelper as Helper
    node_suffix = str(w_i)
    mul_const_node = Helper.create_constant_node(input_node_name + "/scale_mul" + node_suffix, scale, tf.float32)
    mul_node = Helper.create_node(
        "Mul",
        input_node_name + "_mul" + node_suffix,
        [input_node_name + "/scale_mul" + node_suffix, input_node_name],
    )
    Helper.set_attr_dtype(mul_node, "T", dtypes.float32)
    self.mul_list.append(mul_node.name)
    self.g_analyzer.add_node(mul_node, input_node_name, [output_node_name])
    self.g_analyzer.add_node(mul_const_node, None, [input_node_name + "_mul" + node_suffix])