code: def _get_binary_op_configs(
      dtype_configs: List[DTypeConfig],
  ) -> List[BackendPatternConfig]:
      binary_op_configs: List[BackendPatternConfig] = []
      num_tensor_args_to_observation_type_mapping = {
          # TODO: this is not used right now since we have extra check in prepare
          # will need to change this to NO_OBSERVER later after we implemented
          # Tensor dtype inference properly
          0: ObservationType.OUTPUT_USE_DIFFERENT_OBSERVER_AS_INPUT,
          1: ObservationType.OUTPUT_SHARE_OBSERVER_WITH_INPUT,
          2: ObservationType.OUTPUT_USE_DIFFERENT_OBSERVER_AS_INPUT,
      }
      for op_with_quantized_bop_scalar_variant in [
          operator.add,
          torch.add,
          operator.mul,
          torch.mul,
      ]:
          bop_patterns = [
              (op_with_quantized_bop_scalar_variant, nn.ReLU),
              (op_with_quantized_bop_scalar_variant, F.relu),
              (op_with_quantized_bop_scalar_variant, torch.relu),
              op_with_quantized_bop_scalar_variant,
          ]
          for bop_pattern in bop_patterns:
              binary_op_configs.append(
                  BackendPatternConfig(bop_pattern)
                  .set_dtype_configs(dtype_configs)  # noqa: E131
                  ._set_num_tensor_args_to_observation_type(
                      num_tensor_args_to_observation_type_mapping
                  )
              )
      # matmul
      binary_op_configs.append(
          BackendPatternConfig(torch.matmul).set_dtype_configs(
              dtype_configs
          )  # noqa: E131
      )
      return binary_op_configs
  
imports: import copy
  import operator
  import torch
  import torch.nn.functional
  import torch.nn
  import torch.ao.nn.intrinsic
  import torch.ao.nn.intrinsic.qat
  import torch.ao.nn.qat
  import torch.ao.nn.quantized.reference
  from collections import namedtuple
  from typing import Callable, Dict, List, Union
  from .backend_config import BackendPatternConfig, DTypeConfig, DTypeWithConstraints, ObservationType
  from ..fuser_method_mappings import _sequential_wrapper2, fuse_conv_bn, fuse_conv_bn_relu, fuse_linear_bn, fuse_convtranspose_bn
label_desc: Use image node_id 1 for calling a global function with example usage: _get_binary_op_configs(dtype_configs) and returns: binary_op_configs