Average Error: 33.4 → 33.5
Time: 40.4s
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{\sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)} \cdot \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)}{\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{\sqrt[3]{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)} \cdot \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)}{\tan^{-1} a}\right) \bmod a\right)\right|
double f(double a) {
        double r21721 = a;
        double r21722 = expm1(r21721);
        double r21723 = sin(r21722);
        double r21724 = expm1(r21723);
        double r21725 = atan(r21721);
        double r21726 = atan2(r21724, r21725);
        double r21727 = fmod(r21726, r21721);
        double r21728 = fabs(r21727);
        return r21728;
}

double f(double a) {
        double r21729 = a;
        double r21730 = expm1(r21729);
        double r21731 = sin(r21730);
        double r21732 = expm1(r21731);
        double r21733 = cbrt(r21732);
        double r21734 = r21733 * r21733;
        double r21735 = r21733 * r21734;
        double r21736 = atan(r21729);
        double r21737 = atan2(r21735, r21736);
        double r21738 = fmod(r21737, r21729);
        double r21739 = fabs(r21738);
        return r21739;
}

Error

Bits error versus a

Derivation

  1. Initial program 33.4

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

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

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

Reproduce

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