code: def _generate_dequant_linear_node_pattern(
      _dequant_per_channel_pattern,
      dtype=torch.float32,
      input_dim_exceeds_two=False,
  ):
      assert dtype in [torch.float32, torch.bfloat16]
      t_pattern = _generate_linear_t_pattern(
          _dequant_per_channel_pattern, dtype
      )
      dequant_linear_bias_pattern = _may_generate_pattern_with_reshape(
          CallFunction(
              aten.addmm.default,
              KeywordArg("b"),
              _may_generate_pattern_with_reshape(
                  _may_generate_pattern_with_dtype_convert(
                      dequantize_per_tensor_activation_pattern,
                      KeywordArg("autocast_act_dtype"),
                      dtype == torch.bfloat16,
                  ),
                  KeywordArg("act_reshape_size"),
                  input_dim_exceeds_two,
              ),
              t_pattern,
          ),
          KeywordArg("output_reshape_size"),
          input_dim_exceeds_two,
      )
      dequant_linear_no_bias_pattern = (
          _may_generate_pattern_with_reshape(
              CallFunction(
                  aten.mm.default,
                  _may_generate_pattern_with_reshape(
                      _may_generate_pattern_with_dtype_convert(
                          dequantize_per_tensor_activation_pattern,
                          KeywordArg("autocast_act_dtype"),
                          dtype == torch.bfloat16,
                      ),
                      KeywordArg("act_reshape_size"),
                      input_dim_exceeds_two,
                  ),
                  t_pattern,
              ),
              KeywordArg("output_reshape_size"),
              input_dim_exceeds_two,
          )
      )
      return dequant_linear_bias_pattern, dequant_linear_no_bias_pattern
  
imports: import copy
  import functools
  import itertools
  import math
  import operator
  from typing import Any, Tuple
  import torch
  from torch._dynamo.utils import counters
  from torch.fx.experimental.symbolic_shapes import has_free_symbols
  from ..lowering import lowerings, require_channels_last
  from ..pattern_matcher import Arg, CallFunction, filter_nodes, KeywordArg, ListOf, Match
  from ..utils import pad_listlike
  from .freezing_patterns import register_freezing_graph_pattern
  from .post_grad import register_lowering_pattern
label_desc: Use image node_id 35 for calling a global function with example usage: _generate_dequant_linear_node_pattern(_dequant_per_channel_pattern, dtype, input_dim_exceeds_two) and returns: dequant_linear_bias_pattern,  dequant_linear_no_bias_pattern