def _choose_pair_of_swaps(
        cls,
        mm: mapping_manager.MappingManager,
        two_qubit_ops_ints: Sequence[Sequence[QidIntPair]],
        timestep: int,
        lookahead_radius: int,
    ) -> tuple[QidIntPair, ...] | None:
        """Computes cost function with pairs of candidate swaps that act on disjoint qubits."""
        pair_sigma = _disjoint_nc2_combinations(
            cls._initial_candidate_swaps(mm, two_qubit_ops_ints[timestep])
        )
        return cls._choose_optimal_swap(
            mm, two_qubit_ops_ints, timestep, lookahead_radius, pair_sigma
        )
Computes cost function with pairs of candidate swaps that act on disjoint qubits.
cirq-core/cirq/transformers/routing/route_circuit_cqc.py