Average Error: 33.6 → 33.6
Time: 23.1s
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 r10826 = a;
        double r10827 = expm1(r10826);
        double r10828 = sin(r10827);
        double r10829 = expm1(r10828);
        double r10830 = atan(r10826);
        double r10831 = atan2(r10829, r10830);
        double r10832 = fmod(r10831, r10826);
        double r10833 = fabs(r10832);
        return r10833;
}

double f(double a) {
        double r10834 = a;
        double r10835 = expm1(r10834);
        double r10836 = sin(r10835);
        double r10837 = expm1(r10836);
        double r10838 = atan(r10834);
        double r10839 = atan2(r10837, r10838);
        double r10840 = fmod(r10839, r10834);
        double r10841 = fabs(r10840);
        return r10841;
}

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)))