Average Error: 33.8 → 33.8
Time: 16.8s
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 r7757 = a;
        double r7758 = expm1(r7757);
        double r7759 = sin(r7758);
        double r7760 = expm1(r7759);
        double r7761 = atan(r7757);
        double r7762 = atan2(r7760, r7761);
        double r7763 = fmod(r7762, r7757);
        double r7764 = fabs(r7763);
        return r7764;
}

double f(double a) {
        double r7765 = a;
        double r7766 = expm1(r7765);
        double r7767 = sin(r7766);
        double r7768 = expm1(r7767);
        double r7769 = atan(r7765);
        double r7770 = atan2(r7768, r7769);
        double r7771 = fmod(r7770, r7765);
        double r7772 = fabs(r7771);
        return r7772;
}

Error

Bits error versus a

Derivation

  1. Initial program 33.8

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

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