def _z_angles(old: ops.PhasedFSimGate, new: ops.PhasedFSimGate) -> tuple[float, float, float]:
    """Computes a set of possible 3 z-phases that result in the change in gamma, zeta, and chi."""
    # This procedure is the inverse of PhasedFSimGate.from_fsim_rz
    delta_gamma = new.gamma - old.gamma
    delta_zeta = new.zeta - old.zeta
    delta_chi = new.chi - old.chi
    return (-delta_gamma + delta_chi, -delta_gamma - delta_zeta, delta_zeta - delta_chi)
Computes a set of possible 3 z-phases that result in the change in gamma, zeta, and chi.
cirq-core/cirq/experiments/z_phase_calibration.py