\cos^{-1} \left({\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\begin{array}{l}
\mathbf{if}\;a \le 1.542338768776221979718923094404481642848 \cdot 10^{-162}:\\
\;\;\;\;\cos^{-1} \left({\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}^{\left(2 \cdot \log \left(\sqrt[3]{e^{\mathsf{log1p}\left(a\right)}}\right) + \log \left(\sqrt[3]{e^{\mathsf{log1p}\left(a\right)}}\right)\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\cos^{-1} \left({\left(\log \left(e^{\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\\
\end{array}double f(double a) {
double r17806 = a;
double r17807 = cosh(r17806);
double r17808 = r17806 * r17806;
double r17809 = fmod(r17807, r17808);
double r17810 = log1p(r17806);
double r17811 = pow(r17809, r17810);
double r17812 = acos(r17811);
return r17812;
}
double f(double a) {
double r17813 = a;
double r17814 = 1.542338768776222e-162;
bool r17815 = r17813 <= r17814;
double r17816 = cosh(r17813);
double r17817 = r17813 * r17813;
double r17818 = fmod(r17816, r17817);
double r17819 = 2.0;
double r17820 = log1p(r17813);
double r17821 = exp(r17820);
double r17822 = cbrt(r17821);
double r17823 = log(r17822);
double r17824 = r17819 * r17823;
double r17825 = r17824 + r17823;
double r17826 = pow(r17818, r17825);
double r17827 = acos(r17826);
double r17828 = exp(r17818);
double r17829 = log(r17828);
double r17830 = pow(r17829, r17820);
double r17831 = acos(r17830);
double r17832 = r17815 ? r17827 : r17831;
return r17832;
}



Bits error versus a
if a < 1.542338768776222e-162Initial program 64.0
rmApplied add-log-exp61.3
rmApplied add-cube-cbrt61.3
Applied log-prod61.3
Simplified61.3
if 1.542338768776222e-162 < a Initial program 58.8
rmApplied add-log-exp56.9
Final simplification59.0
herbie shell --seed 2019325 +o rules:numerics
(FPCore (a)
:name "Random Jason Timeout Test 012"
:precision binary64
(acos (pow (fmod (cosh a) (* a a)) (log1p a))))