Average Error: 33.6 → 33.6
Time: 34.5s
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 r12442 = a;
        double r12443 = expm1(r12442);
        double r12444 = sin(r12443);
        double r12445 = expm1(r12444);
        double r12446 = atan(r12442);
        double r12447 = atan2(r12445, r12446);
        double r12448 = fmod(r12447, r12442);
        double r12449 = fabs(r12448);
        return r12449;
}

double f(double a) {
        double r12450 = a;
        double r12451 = expm1(r12450);
        double r12452 = sin(r12451);
        double r12453 = expm1(r12452);
        double r12454 = atan(r12450);
        double r12455 = atan2(r12453, r12454);
        double r12456 = fmod(r12455, r12450);
        double r12457 = fabs(r12456);
        return r12457;
}

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