Average Error: 61.1 → 60.1
Time: 56.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 r1247454 = a;
        double r1247455 = cosh(r1247454);
        double r1247456 = r1247454 * r1247454;
        double r1247457 = fmod(r1247455, r1247456);
        double r1247458 = log1p(r1247454);
        double r1247459 = pow(r1247457, r1247458);
        double r1247460 = acos(r1247459);
        return r1247460;
}

double f(double a) {
        double r1247461 = a;
        double r1247462 = cosh(r1247461);
        double r1247463 = r1247461 * r1247461;
        double r1247464 = fmod(r1247462, r1247463);
        double r1247465 = exp(r1247464);
        double r1247466 = log(r1247465);
        double r1247467 = log1p(r1247461);
        double r1247468 = pow(r1247466, r1247467);
        double r1247469 = acos(r1247468);
        return r1247469;
}

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))))