docs: def _double_cross_over_cz(op: ops.Operation,
                            state: _OptimizerState) -> None:
      """Crosses two W flips over a partial CZ.
  
      [Where W(a) is shorthand for PhasedX(phase_exponent=a).]
  
      Uses the following identity:
  
          ───W(a)───@─────
                    │
          ───W(b)───@^t───
  
  
          ≡ ──────────@────────────W(a)───
                      │                     (single-cross top W over CZ)
            ───W(b)───@^-t─────────Z^t────
  
  
          ≡ ──────────@─────Z^-t───W(a)───
                      │                     (single-cross bottom W over CZ)
            ──────────@^t───W(b)───Z^t────
  
  
          ≡ ──────────@─────W(a)───Z^t────
                      │                     (flip over Z^-t)
            ──────────@^t───W(b)───Z^t────
  
  
          ≡ ──────────@─────W(a+t/2)──────
                      │                     (absorb Zs into Ws)
            ──────────@^t───W(b+t/2)──────
  
          ≡ ───@─────W(a+t/2)───
               │
            ───@^t───W(b+t/2)───
      """
      t = cast(float, _try_get_known_cz_half_turns(op))
      for q in op.qubits:
          state.held_w_phases[q] = cast(float, state.held_w_phases[q]) + t / 2