Average Error: 34.7 → 34.8
Time: 15.1s
Precision: 64
\[\left(\left(\cosh c\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)\]
\[e^{\left(\sqrt[3]{\log \left(\left(\mathsf{expm1}\left(\sqrt{\mathsf{log1p}\left(\cosh c\right)} \cdot \sqrt{\mathsf{log1p}\left(\cosh c\right)}\right)\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)} \cdot \sqrt[3]{\log \left(\left(\mathsf{expm1}\left(\sqrt{\mathsf{log1p}\left(\cosh c\right)} \cdot \sqrt{\mathsf{log1p}\left(\cosh c\right)}\right)\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)}\right) \cdot \sqrt[3]{\log \left(\left(\mathsf{expm1}\left(\sqrt{\mathsf{log1p}\left(\cosh c\right)} \cdot \sqrt{\mathsf{log1p}\left(\cosh c\right)}\right)\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)}}\]
\left(\left(\cosh c\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)
e^{\left(\sqrt[3]{\log \left(\left(\mathsf{expm1}\left(\sqrt{\mathsf{log1p}\left(\cosh c\right)} \cdot \sqrt{\mathsf{log1p}\left(\cosh c\right)}\right)\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)} \cdot \sqrt[3]{\log \left(\left(\mathsf{expm1}\left(\sqrt{\mathsf{log1p}\left(\cosh c\right)} \cdot \sqrt{\mathsf{log1p}\left(\cosh c\right)}\right)\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)}\right) \cdot \sqrt[3]{\log \left(\left(\mathsf{expm1}\left(\sqrt{\mathsf{log1p}\left(\cosh c\right)} \cdot \sqrt{\mathsf{log1p}\left(\cosh c\right)}\right)\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)}}
double f(double a, double c) {
        double r20540 = c;
        double r20541 = cosh(r20540);
        double r20542 = a;
        double r20543 = log1p(r20542);
        double r20544 = fmod(r20541, r20543);
        return r20544;
}

double f(double a, double c) {
        double r20545 = c;
        double r20546 = cosh(r20545);
        double r20547 = log1p(r20546);
        double r20548 = sqrt(r20547);
        double r20549 = r20548 * r20548;
        double r20550 = expm1(r20549);
        double r20551 = a;
        double r20552 = log1p(r20551);
        double r20553 = fmod(r20550, r20552);
        double r20554 = log(r20553);
        double r20555 = cbrt(r20554);
        double r20556 = r20555 * r20555;
        double r20557 = r20556 * r20555;
        double r20558 = exp(r20557);
        return r20558;
}

Error

Bits error versus a

Bits error versus c

Derivation

  1. Initial program 34.7

    \[\left(\left(\cosh c\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)\]
  2. Using strategy rm
  3. Applied expm1-log1p-u34.7

    \[\leadsto \left(\color{blue}{\left(\mathsf{expm1}\left(\mathsf{log1p}\left(\cosh c\right)\right)\right)} \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)\]
  4. Using strategy rm
  5. Applied add-sqr-sqrt34.8

    \[\leadsto \left(\left(\mathsf{expm1}\left(\color{blue}{\sqrt{\mathsf{log1p}\left(\cosh c\right)} \cdot \sqrt{\mathsf{log1p}\left(\cosh c\right)}}\right)\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)\]
  6. Using strategy rm
  7. Applied add-exp-log34.8

    \[\leadsto \color{blue}{e^{\log \left(\left(\mathsf{expm1}\left(\sqrt{\mathsf{log1p}\left(\cosh c\right)} \cdot \sqrt{\mathsf{log1p}\left(\cosh c\right)}\right)\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)}}\]
  8. Using strategy rm
  9. Applied add-cube-cbrt34.8

    \[\leadsto e^{\color{blue}{\left(\sqrt[3]{\log \left(\left(\mathsf{expm1}\left(\sqrt{\mathsf{log1p}\left(\cosh c\right)} \cdot \sqrt{\mathsf{log1p}\left(\cosh c\right)}\right)\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)} \cdot \sqrt[3]{\log \left(\left(\mathsf{expm1}\left(\sqrt{\mathsf{log1p}\left(\cosh c\right)} \cdot \sqrt{\mathsf{log1p}\left(\cosh c\right)}\right)\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)}\right) \cdot \sqrt[3]{\log \left(\left(\mathsf{expm1}\left(\sqrt{\mathsf{log1p}\left(\cosh c\right)} \cdot \sqrt{\mathsf{log1p}\left(\cosh c\right)}\right)\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)}}}\]
  10. Final simplification34.8

    \[\leadsto e^{\left(\sqrt[3]{\log \left(\left(\mathsf{expm1}\left(\sqrt{\mathsf{log1p}\left(\cosh c\right)} \cdot \sqrt{\mathsf{log1p}\left(\cosh c\right)}\right)\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)} \cdot \sqrt[3]{\log \left(\left(\mathsf{expm1}\left(\sqrt{\mathsf{log1p}\left(\cosh c\right)} \cdot \sqrt{\mathsf{log1p}\left(\cosh c\right)}\right)\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)}\right) \cdot \sqrt[3]{\log \left(\left(\mathsf{expm1}\left(\sqrt{\mathsf{log1p}\left(\cosh c\right)} \cdot \sqrt{\mathsf{log1p}\left(\cosh c\right)}\right)\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)}}\]

Reproduce

herbie shell --seed 2019362 +o rules:numerics
(FPCore (a c)
  :name "Random Jason Timeout Test 004"
  :precision binary64
  (fmod (cosh c) (log1p a)))