\cos^{-1} \left({\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\frac{\mathsf{fma}\left(-1, {\left(\sqrt[3]{\sin^{-1} \left({\left(e^{\log \left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)}\right)}^{6}, \frac{\pi \cdot \pi}{4}\right)}{\mathsf{fma}\left(\frac{1}{2}, \pi, \sin^{-1} \left({\left(\left(\cosh a\right) \bmod \left({a}^{2}\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\right)}double f(double a) {
double r6052 = a;
double r6053 = cosh(r6052);
double r6054 = r6052 * r6052;
double r6055 = fmod(r6053, r6054);
double r6056 = log1p(r6052);
double r6057 = pow(r6055, r6056);
double r6058 = acos(r6057);
return r6058;
}
double f(double a) {
double r6059 = 1.0;
double r6060 = -r6059;
double r6061 = a;
double r6062 = cosh(r6061);
double r6063 = r6061 * r6061;
double r6064 = fmod(r6062, r6063);
double r6065 = log(r6064);
double r6066 = exp(r6065);
double r6067 = log1p(r6061);
double r6068 = pow(r6066, r6067);
double r6069 = asin(r6068);
double r6070 = cbrt(r6069);
double r6071 = 6.0;
double r6072 = pow(r6070, r6071);
double r6073 = atan2(1.0, 0.0);
double r6074 = r6073 * r6073;
double r6075 = 4.0;
double r6076 = r6074 / r6075;
double r6077 = fma(r6060, r6072, r6076);
double r6078 = 0.5;
double r6079 = 2.0;
double r6080 = pow(r6061, r6079);
double r6081 = fmod(r6062, r6080);
double r6082 = pow(r6081, r6067);
double r6083 = asin(r6082);
double r6084 = fma(r6078, r6073, r6083);
double r6085 = r6077 / r6084;
return r6085;
}



Bits error versus a
Initial program 61.1
rmApplied add-log-exp60.2
rmApplied acos-asin60.2
rmApplied flip--60.2
Simplified60.2
Simplified60.2
rmApplied add-exp-log60.2
Simplified59.3
Final simplification59.3
herbie shell --seed 2020024 +o rules:numerics
(FPCore (a)
:name "Random Jason Timeout Test 012"
:precision binary64
(acos (pow (fmod (cosh a) (* a a)) (log1p a))))