Average Error: 34.2 → 34.2
Time: 1.8m
Precision: 64
\[\left(\left(\cosh c\right) \bmod \left(\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(\mathsf{log1p}\left(a\right)\right)\right)
\left(\left(\cosh c\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)
double f(double a, double c) {
        double r1268997 = c;
        double r1268998 = cosh(r1268997);
        double r1268999 = a;
        double r1269000 = log1p(r1268999);
        double r1269001 = fmod(r1268998, r1269000);
        return r1269001;
}

double f(double a, double c) {
        double r1269002 = c;
        double r1269003 = cosh(r1269002);
        double r1269004 = a;
        double r1269005 = log1p(r1269004);
        double r1269006 = fmod(r1269003, r1269005);
        return r1269006;
}

Error

Bits error versus a

Bits error versus c

Derivation

  1. Initial program 34.2

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

    \[\leadsto \color{blue}{e^{\log \left(\left(\cosh c\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)}}\]
  4. Using strategy rm
  5. Applied pow134.2

    \[\leadsto e^{\log \color{blue}{\left({\left(\left(\cosh c\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)}^{1}\right)}}\]
  6. Applied log-pow34.2

    \[\leadsto e^{\color{blue}{1 \cdot \log \left(\left(\cosh c\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)}}\]
  7. Applied exp-prod34.2

    \[\leadsto \color{blue}{{\left(e^{1}\right)}^{\left(\log \left(\left(\cosh c\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)\right)}}\]
  8. Simplified34.2

    \[\leadsto {\color{blue}{e}}^{\left(\log \left(\left(\cosh c\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)\right)}\]
  9. Taylor expanded around 0 34.2

    \[\leadsto \color{blue}{\left(\left(\cosh c\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)}\]
  10. Final simplification34.2

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

Reproduce

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