Average Error: 33.6 → 33.6
Time: 24.0s
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 r11609 = a;
        double r11610 = expm1(r11609);
        double r11611 = sin(r11610);
        double r11612 = expm1(r11611);
        double r11613 = atan(r11609);
        double r11614 = atan2(r11612, r11613);
        double r11615 = fmod(r11614, r11609);
        double r11616 = fabs(r11615);
        return r11616;
}

double f(double a) {
        double r11617 = a;
        double r11618 = expm1(r11617);
        double r11619 = sin(r11618);
        double r11620 = expm1(r11619);
        double r11621 = atan(r11617);
        double r11622 = atan2(r11620, r11621);
        double r11623 = fmod(r11622, r11617);
        double r11624 = fabs(r11623);
        return r11624;
}

Error

Bits error versus a

Derivation

  1. Initial program 33.6

    \[\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.6

    \[\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 2020047 
(FPCore (a)
  :name "Random Jason Timeout Test 006"
  :precision binary64
  (fabs (fmod (atan2 (expm1 (sin (expm1 a))) (atan a)) a)))