Average Error: 33.5 → 33.5
Time: 29.4s
Precision: 64
\[\left|\left(\left(\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}\right) \bmod a\right)\right|\]
\[\left|\left(\left(\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}\right) \bmod a\right)\right|\]
\left|\left(\left(\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}\right) \bmod a\right)\right|
\left|\left(\left(\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}\right) \bmod a\right)\right|
double f(double a) {
        double r13393 = a;
        double r13394 = expm1(r13393);
        double r13395 = sin(r13394);
        double r13396 = expm1(r13395);
        double r13397 = atan(r13393);
        double r13398 = atan2(r13396, r13397);
        double r13399 = fmod(r13398, r13393);
        double r13400 = fabs(r13399);
        return r13400;
}

double f(double a) {
        double r13401 = a;
        double r13402 = expm1(r13401);
        double r13403 = sin(r13402);
        double r13404 = expm1(r13403);
        double r13405 = atan(r13401);
        double r13406 = atan2(r13404, r13405);
        double r13407 = fmod(r13406, r13401);
        double r13408 = fabs(r13407);
        return r13408;
}

Error

Bits error versus a

Derivation

  1. Initial program 33.5

    \[\left|\left(\left(\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}\right) \bmod a\right)\right|\]
  2. Final simplification33.5

    \[\leadsto \left|\left(\left(\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}\right) \bmod a\right)\right|\]

Reproduce

herbie shell --seed 2019315 
(FPCore (a)
  :name "Random Jason Timeout Test 006"
  :precision binary64
  (fabs (fmod (atan2 (expm1 (sin (expm1 a))) (atan a)) a)))