There are (at least) two conventions for single-qubit, arbitrary-angle Z rotations in quantum computing, which I will call Rz(theta) and Z^t.
$$ R_Z(\theta) = \exp(-i \theta Z/2) = \mathrm{diag}(e^{-i \theta/2}, e^{i \theta/2}) \\ Z^t = \mathrm{diag}(1, (-1)^t) = \mathrm{diag}(1, e^{i \pi t}). $$
In Cirq, these are Rz and ZPowGate. In OpenQASM3 these are rz and p "phase". They are related by a global phase
$$ R_Z(\theta) = e^{-i \theta/2} Z^{\theta / \pi}. $$
Global phase doesn't matter until you start controlling operations, so Controlled(Z^t) is not the same as Controlled(Rz(t/pi)).
When doing lattice surgery on the surface code, arbitrary-angle rotations are very expensive; so I'd like to find compilations of C(Z^t) and C(Rz(t/pi)) that minimize the number of uncontrolled, arbitrary-angle rotations.
A circuit for C(Z^t) using one arbitrary-angle rotation is given in https://arxiv.org/abs/1204.0567, figure 8. Is there an earlier reference that contains this circuit identity?
You can do C(Rz(t/pi)) with two arbitrary-angle rotations, e.g. https://docs.pennylane.ai/en/stable/code/api/pennylane.CRZ.html#pennylane.CRZ.compute_decomposition. Is there a reference for this circuit identity I can cite?
Is there a way to do C(Rz) with only one arbitrary-angle rotation?
or alternatively...
Is it possible to prove that you need two arbitrary-angle rotations to implement C(Rz)?