Average Error: 61.0 → 60.1
Time: 57.0s
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 r13789 = a;
        double r13790 = cosh(r13789);
        double r13791 = r13789 * r13789;
        double r13792 = fmod(r13790, r13791);
        double r13793 = log1p(r13789);
        double r13794 = pow(r13792, r13793);
        double r13795 = acos(r13794);
        return r13795;
}

double f(double a) {
        double r13796 = a;
        double r13797 = cosh(r13796);
        double r13798 = r13796 * r13796;
        double r13799 = fmod(r13797, r13798);
        double r13800 = exp(r13799);
        double r13801 = log(r13800);
        double r13802 = log1p(r13796);
        double r13803 = pow(r13801, r13802);
        double r13804 = acos(r13803);
        return r13804;
}

Error

Bits error versus a

Derivation

  1. Initial program 61.0

    \[\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.1

    \[\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.1

    \[\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 2019306 
(FPCore (a)
  :name "Random Jason Timeout Test 012"
  :precision binary64
  (acos (pow (fmod (cosh a) (* a a)) (log1p a))))