Average Error: 33.6 → 33.6
Time: 25.3s
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 r7586 = a;
        double r7587 = expm1(r7586);
        double r7588 = sin(r7587);
        double r7589 = expm1(r7588);
        double r7590 = atan(r7586);
        double r7591 = atan2(r7589, r7590);
        double r7592 = fmod(r7591, r7586);
        double r7593 = fabs(r7592);
        return r7593;
}

double f(double a) {
        double r7594 = a;
        double r7595 = expm1(r7594);
        double r7596 = sin(r7595);
        double r7597 = expm1(r7596);
        double r7598 = atan(r7594);
        double r7599 = atan2(r7597, r7598);
        double r7600 = fmod(r7599, r7594);
        double r7601 = fabs(r7600);
        return r7601;
}

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