Average Error: 33.8 → 33.8
Time: 20.7s
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{\left(\sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)} \cdot \sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}\right) \cdot \sqrt[3]{\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{\left(\sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)} \cdot \sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}\right) \cdot \sqrt[3]{\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 r21390 = a;
        double r21391 = expm1(r21390);
        double r21392 = sin(r21391);
        double r21393 = expm1(r21392);
        double r21394 = atan(r21390);
        double r21395 = atan2(r21393, r21394);
        double r21396 = fmod(r21395, r21390);
        double r21397 = fabs(r21396);
        return r21397;
}

double f(double a) {
        double r21398 = a;
        double r21399 = expm1(r21398);
        double r21400 = sin(r21399);
        double r21401 = expm1(r21400);
        double r21402 = cbrt(r21401);
        double r21403 = r21402 * r21402;
        double r21404 = r21403 * r21402;
        double r21405 = atan(r21398);
        double r21406 = atan2(r21404, r21405);
        double r21407 = fmod(r21406, r21398);
        double r21408 = fabs(r21407);
        return r21408;
}

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. Using strategy rm
  3. Applied add-cube-cbrt33.8

    \[\leadsto \left|\left(\left(\tan^{-1}_* \frac{\color{blue}{\left(\sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)} \cdot \sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}\right) \cdot \sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}}}{\tan^{-1} a}\right) \bmod a\right)\right|\]
  4. Final simplification33.8

    \[\leadsto \left|\left(\left(\tan^{-1}_* \frac{\left(\sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)} \cdot \sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}\right) \cdot \sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}}{\tan^{-1} a}\right) \bmod a\right)\right|\]

Reproduce

herbie shell --seed 2020100 +o rules:numerics
(FPCore (a)
  :name "Random Jason Timeout Test 006"
  :precision binary64
  (fabs (fmod (atan2 (expm1 (sin (expm1 a))) (atan a)) a)))