Average Error: 60.5 → 59.5
Time: 53.4s
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 r1196188 = a;
        double r1196189 = cosh(r1196188);
        double r1196190 = r1196188 * r1196188;
        double r1196191 = fmod(r1196189, r1196190);
        double r1196192 = log1p(r1196188);
        double r1196193 = pow(r1196191, r1196192);
        double r1196194 = acos(r1196193);
        return r1196194;
}

double f(double a) {
        double r1196195 = a;
        double r1196196 = cosh(r1196195);
        double r1196197 = r1196195 * r1196195;
        double r1196198 = fmod(r1196196, r1196197);
        double r1196199 = exp(r1196198);
        double r1196200 = log(r1196199);
        double r1196201 = log1p(r1196195);
        double r1196202 = pow(r1196200, r1196201);
        double r1196203 = acos(r1196202);
        return r1196203;
}

Error

Bits error versus a

Derivation

  1. Initial program 60.5

    \[\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-exp59.5

    \[\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 simplification59.5

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