def _decomp_0_matrices(
    kak: cirq.KakDecomposition, atol: float = 1e-8
) -> tuple[Sequence[tuple[np.ndarray, np.ndarray]], complex]:
    """Returns the single-qubit matrices for the 0-SQRT_ISWAP decomposition.

    Assumes canonical x, y, z and (x, y, z) = (0, 0, 0) within tolerance.
    """
    # Pairs of single-qubit unitaries, SQRT_ISWAP between each is implied
    # Only a single pair of single-qubit unitaries is returned here so
    # _decomp_to_operations will not insert any sqrt-iSWAP gates in between
    return [
        (
            kak.single_qubit_operations_after[0] @ kak.single_qubit_operations_before[0],
            kak.single_qubit_operations_after[1] @ kak.single_qubit_operations_before[1],
        )
    ], kak.global_phase
Returns the single-qubit matrices for the 0-SQRT_ISWAP decomposition.

    Assumes canonical x, y, z and (x, y, z) = (0, 0, 0) within tolerance.
    
cirq-core/cirq/transformers/analytical_decompositions/two_qubit_to_sqrt_iswap.py