This one can be solved via trigonometric identities. We have
\( \cos(a - b) = \cos(a) \cos(b) + \sin(a) \sin(b) \)
If we can find a value \( b \) for which \( \cos(b) = \sin(b) \), then we can use division to make the right-hand side equal your "\( \mathrm{cxp}(a) \)". Solving the equation yields \( 1 = \frac{\sin(b)}{\cos(b)} = \tan(b) \), \( b = \arctan(1) = \frac{\pi}{4} \). Then, \( \cos(b) = \sin(b) = \frac{1}{\sqrt{2}} \), and
\( \mathrm{cxp}(x) = \sqrt{2} \cos\left(x - \frac{\pi}{4}\right) \).
Then, the inverse, the "circular logarithm", is given by
\( \mathrm{cln}(x) = \arccos\left(\frac{x}{\sqrt{2}}\right) + \frac{\pi}{4} \).
Of course, since \( \mathrm{cxp}(x) \) is not injective (i.e. not "one-to-one"), then this is actually a multivalued "function" (relation). But if we choose the principal branch of \( \arccos \), then the above will range in \( \left[\frac{\pi}{4}, \frac{5\pi}{4}\right] \), and the domain is \( \left[-\sqrt{2}, \sqrt{2}\right] \) if we interpret as a real-valued function of a real number. The circular logarithm will not return in \( [0, 2\pi) \) if taken as a single-valued branch, because \( \mathrm{cxp} \) is not injective over that interval.
\( \cos(a - b) = \cos(a) \cos(b) + \sin(a) \sin(b) \)
If we can find a value \( b \) for which \( \cos(b) = \sin(b) \), then we can use division to make the right-hand side equal your "\( \mathrm{cxp}(a) \)". Solving the equation yields \( 1 = \frac{\sin(b)}{\cos(b)} = \tan(b) \), \( b = \arctan(1) = \frac{\pi}{4} \). Then, \( \cos(b) = \sin(b) = \frac{1}{\sqrt{2}} \), and
\( \mathrm{cxp}(x) = \sqrt{2} \cos\left(x - \frac{\pi}{4}\right) \).
Then, the inverse, the "circular logarithm", is given by
\( \mathrm{cln}(x) = \arccos\left(\frac{x}{\sqrt{2}}\right) + \frac{\pi}{4} \).
Of course, since \( \mathrm{cxp}(x) \) is not injective (i.e. not "one-to-one"), then this is actually a multivalued "function" (relation). But if we choose the principal branch of \( \arccos \), then the above will range in \( \left[\frac{\pi}{4}, \frac{5\pi}{4}\right] \), and the domain is \( \left[-\sqrt{2}, \sqrt{2}\right] \) if we interpret as a real-valued function of a real number. The circular logarithm will not return in \( [0, 2\pi) \) if taken as a single-valued branch, because \( \mathrm{cxp} \) is not injective over that interval.

