Average Error: 34.9 → 34.9
Time: 13.6s
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 r9065 = c;
        double r9066 = cosh(r9065);
        double r9067 = a;
        double r9068 = log1p(r9067);
        double r9069 = fmod(r9066, r9068);
        return r9069;
}

double f(double a, double c) {
        double r9070 = c;
        double r9071 = cosh(r9070);
        double r9072 = a;
        double r9073 = log1p(r9072);
        double r9074 = fmod(r9071, r9073);
        return r9074;
}

Error

Bits error versus a

Bits error versus c

Derivation

  1. Initial program 34.9

    \[\left(\left(\cosh c\right) \bmod \left(\mathsf{log1p}\left(a\right)\right)\right)\]
  2. Final simplification34.9

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

Reproduce

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