cirq.sim.simulator.split_into_matching_protocol_then_general

Splits the circuit into a matching prefix and non-matching suffix.

The splitting happens in a per-qubit fashion. A non-matching operation on qubit A will cause later operations on A to be part of the non-matching suffix, but later operations on other qubits will continue to be put into the matching part (as long as those qubits have had no non-matching operation up to that point).