Average Error: 61.1 → 60.1
Time: 55.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 r1014713 = a;
        double r1014714 = cosh(r1014713);
        double r1014715 = r1014713 * r1014713;
        double r1014716 = fmod(r1014714, r1014715);
        double r1014717 = log1p(r1014713);
        double r1014718 = pow(r1014716, r1014717);
        double r1014719 = acos(r1014718);
        return r1014719;
}

double f(double a) {
        double r1014720 = a;
        double r1014721 = cosh(r1014720);
        double r1014722 = r1014720 * r1014720;
        double r1014723 = fmod(r1014721, r1014722);
        double r1014724 = exp(r1014723);
        double r1014725 = log(r1014724);
        double r1014726 = log1p(r1014720);
        double r1014727 = pow(r1014725, r1014726);
        double r1014728 = acos(r1014727);
        return r1014728;
}

Error

Bits error versus a

Derivation

  1. Initial program 61.1

    \[\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 2019172 +o rules:numerics
(FPCore (a)
  :name "Random Jason Timeout Test 012"
  (acos (pow (fmod (cosh a) (* a a)) (log1p a))))