Average Error: 61.3 → 60.4
Time: 58.1s
Precision: 64
\[\cos^{-1} \left({\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\]
\[\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)\]
\cos^{-1} \left({\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)
\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)
double f(double a) {
        double r16609 = a;
        double r16610 = cosh(r16609);
        double r16611 = r16609 * r16609;
        double r16612 = fmod(r16610, r16611);
        double r16613 = log1p(r16609);
        double r16614 = pow(r16612, r16613);
        double r16615 = acos(r16614);
        return r16615;
}

double f(double a) {
        double r16616 = a;
        double r16617 = cosh(r16616);
        double r16618 = r16616 * r16616;
        double r16619 = fmod(r16617, r16618);
        double r16620 = exp(r16619);
        double r16621 = log(r16620);
        double r16622 = log1p(r16616);
        double r16623 = pow(r16621, r16622);
        double r16624 = acos(r16623);
        return r16624;
}

Error

Bits error versus a

Derivation

  1. Initial program 61.3

    \[\cos^{-1} \left({\left(\left(\cosh a\right) \bmod \left(a \cdot a\right)\right)}^{\left(\mathsf{log1p}\left(a\right)\right)}\right)\]
  2. Using strategy rm
  3. Applied add-log-exp60.4

    \[\leadsto \cos^{-1} \left({\color{blue}{\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)\]
  4. Final simplification60.4

    \[\leadsto \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)\]

Reproduce

herbie shell --seed 2019198 
(FPCore (a)
  :name "Random Jason Timeout Test 012"
  (acos (pow (fmod (cosh a) (* a a)) (log1p a))))