Average Error: 34.0 → 33.7
Time: 28.5s
Precision: 64
\[\left(\left(\cosh c\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)\]
\[\left(\left(\cosh c\right) \bmod \left(\left(\sqrt[3]{\mathsf{log1p}\left(a\right)} \cdot \left(\left(\sqrt[3]{\sqrt[3]{\mathsf{log1p}\left(a\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{log1p}\left(a\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{log1p}\left(a\right)}}\right)\right) \cdot \sqrt[3]{\mathsf{log1p}\left(a\right)}\right)\right)\]
\left(\left(\cosh c\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)
\left(\left(\cosh c\right) \bmod \left(\left(\sqrt[3]{\mathsf{log1p}\left(a\right)} \cdot \left(\left(\sqrt[3]{\sqrt[3]{\mathsf{log1p}\left(a\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{log1p}\left(a\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{log1p}\left(a\right)}}\right)\right) \cdot \sqrt[3]{\mathsf{log1p}\left(a\right)}\right)\right)
double f(double a, double c) {
        double r22114 = c;
        double r22115 = cosh(r22114);
        double r22116 = a;
        double r22117 = log1p(r22116);
        double r22118 = fmod(r22115, r22117);
        return r22118;
}

double f(double a, double c) {
        double r22119 = c;
        double r22120 = cosh(r22119);
        double r22121 = a;
        double r22122 = log1p(r22121);
        double r22123 = cbrt(r22122);
        double r22124 = cbrt(r22123);
        double r22125 = r22124 * r22124;
        double r22126 = r22125 * r22124;
        double r22127 = r22123 * r22126;
        double r22128 = r22127 * r22123;
        double r22129 = fmod(r22120, r22128);
        return r22129;
}

Error

Bits error versus a

Bits error versus c

Derivation

  1. Initial program 34.0

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

    \[\leadsto \left(\left(\cosh c\right) \bmod \color{blue}{\left(\left(\sqrt[3]{\mathsf{log1p}\left(a\right)} \cdot \sqrt[3]{\mathsf{log1p}\left(a\right)}\right) \cdot \sqrt[3]{\mathsf{log1p}\left(a\right)}\right)}\right)\]
  4. Using strategy rm
  5. Applied add-cube-cbrt33.7

    \[\leadsto \left(\left(\cosh c\right) \bmod \left(\left(\sqrt[3]{\mathsf{log1p}\left(a\right)} \cdot \color{blue}{\left(\left(\sqrt[3]{\sqrt[3]{\mathsf{log1p}\left(a\right)}} \cdot \sqrt[3]{\sqrt[3]{\mathsf{log1p}\left(a\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\mathsf{log1p}\left(a\right)}}\right)}\right) \cdot \sqrt[3]{\mathsf{log1p}\left(a\right)}\right)\right)\]
  6. Final simplification33.7

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

Reproduce

herbie shell --seed 2019315 
(FPCore (a c)
  :name "Random Jason Timeout Test 004"
  :precision binary64
  (fmod (cosh c) (log1p a)))