Average Error: 33.6 → 33.6
Time: 18.3s
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 r19614 = a;
        double r19615 = expm1(r19614);
        double r19616 = sin(r19615);
        double r19617 = expm1(r19616);
        double r19618 = atan(r19614);
        double r19619 = atan2(r19617, r19618);
        double r19620 = fmod(r19619, r19614);
        double r19621 = fabs(r19620);
        return r19621;
}

double f(double a) {
        double r19622 = a;
        double r19623 = expm1(r19622);
        double r19624 = sin(r19623);
        double r19625 = expm1(r19624);
        double r19626 = atan(r19622);
        double r19627 = atan2(r19625, r19626);
        double r19628 = fmod(r19627, r19622);
        double r19629 = fabs(r19628);
        return r19629;
}

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

    \[\leadsto \left|\left(\left(\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \color{blue}{\left(\left(\sqrt[3]{\mathsf{expm1}\left(a\right)} \cdot \sqrt[3]{\mathsf{expm1}\left(a\right)}\right) \cdot \sqrt[3]{\mathsf{expm1}\left(a\right)}\right)}\right)}{\tan^{-1} a}\right) \bmod a\right)\right|\]
  4. Taylor expanded around 0 33.6

    \[\leadsto \left|\color{blue}{\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|\]
  5. 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 2020001 +o rules:numerics
(FPCore (a)
  :name "Random Jason Timeout Test 006"
  :precision binary64
  (fabs (fmod (atan2 (expm1 (sin (expm1 a))) (atan a)) a)))