Average Error: 33.5 → 33.5
Time: 1.5m
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 r16682 = a;
        double r16683 = expm1(r16682);
        double r16684 = sin(r16683);
        double r16685 = expm1(r16684);
        double r16686 = atan(r16682);
        double r16687 = atan2(r16685, r16686);
        double r16688 = fmod(r16687, r16682);
        double r16689 = fabs(r16688);
        return r16689;
}

double f(double a) {
        double r16690 = a;
        double r16691 = expm1(r16690);
        double r16692 = sin(r16691);
        double r16693 = expm1(r16692);
        double r16694 = atan(r16690);
        double r16695 = atan2(r16693, r16694);
        double r16696 = fmod(r16695, r16690);
        double r16697 = fabs(r16696);
        return r16697;
}

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