Average Error: 33.3 → 33.4
Time: 42.0s
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(\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt[3]{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}\right)\right) \cdot \left(\sqrt[3]{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}} \cdot \sqrt[3]{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}\right)\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(\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt[3]{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}\right)\right) \cdot \left(\sqrt[3]{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}} \cdot \sqrt[3]{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}\right)\right) \bmod a\right)\right|
double f(double a) {
        double r26508 = a;
        double r26509 = expm1(r26508);
        double r26510 = sin(r26509);
        double r26511 = expm1(r26510);
        double r26512 = atan(r26508);
        double r26513 = atan2(r26511, r26512);
        double r26514 = fmod(r26513, r26508);
        double r26515 = fabs(r26514);
        return r26515;
}

double f(double a) {
        double r26516 = a;
        double r26517 = expm1(r26516);
        double r26518 = sin(r26517);
        double r26519 = expm1(r26518);
        double r26520 = atan(r26516);
        double r26521 = atan2(r26519, r26520);
        double r26522 = cbrt(r26521);
        double r26523 = expm1(r26522);
        double r26524 = log1p(r26523);
        double r26525 = r26522 * r26522;
        double r26526 = r26524 * r26525;
        double r26527 = fmod(r26526, r26516);
        double r26528 = fabs(r26527);
        return r26528;
}

Error

Bits error versus a

Derivation

  1. Initial program 33.3

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

    \[\leadsto \left|\left(\color{blue}{\left(\left(\sqrt[3]{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}} \cdot \sqrt[3]{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}\right) \cdot \sqrt[3]{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}\right)} \bmod a\right)\right|\]
  4. Using strategy rm
  5. Applied log1p-expm1-u33.4

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

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

Reproduce

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