code: def _swappable_ops(op1, op2, wire_map: dict = None) -> bool:
      """Boolean expression that indicates if op1 and op2 don't have intersecting wires and if they
      should be swapped when sorting them by wire values.
  
      Args:
          op1 (.Operator): First operator.
          op2 (.Operator): Second operator.
          wire_map (dict): Dictionary containing the wire values as keys and its indexes as values.
              Defaults to None.
  
      Returns:
          bool: True if operators should be swapped, False otherwise.
      """
      wires1 = op1.wires
      wires2 = op2.wires
      if wire_map is not None:
          wires1 = wires1.map(wire_map)
          wires2 = wires2.map(wire_map)
      wires1 = set(wires1)
      wires2 = set(wires2)
      # compare strings of wire labels so that we can compare arbitrary wire labels like 0 and "a"
      return (
          False
          if wires1 & wires2
          else str(wires1.pop()) > str(wires2.pop())
      )
  
imports: import itertools
  from copy import copy
  from functools import reduce, wraps
  from itertools import combinations
  from typing import List, Tuple, Union
  from scipy.sparse import kron
  import pennylane
  from pennylane import math
  from pennylane.operation import Operator
  from pennylane.ops.op_math.pow import Pow
  from pennylane.ops.op_math.sprod import SProd
  from pennylane.ops.op_math.sum import Sum
  from pennylane.ops.qubit import Hamiltonian
  from pennylane.ops.qubit.non_parametric_ops import PauliX, PauliY, PauliZ
  from pennylane.queuing import QueuingManager
  from pennylane.typing import TensorLike
  from pennylane.wires import Wires
  from .composite import CompositeOp
label_desc: Use image node_id 2 for calling a global function with example usage: _swappable_ops(op1, op2, wire_map) and returns: unknown