Average Error: 33.5 → 33.5
Time: 17.9s
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(\log \left({\left(e^{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}\right)}^{\frac{1}{2}} \cdot {\left(e^{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}\right)}^{\frac{1}{2}}\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(\log \left({\left(e^{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}\right)}^{\frac{1}{2}} \cdot {\left(e^{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}\right)}^{\frac{1}{2}}\right)\right) \bmod a\right)\right|
double f(double a) {
        double r6141 = a;
        double r6142 = expm1(r6141);
        double r6143 = sin(r6142);
        double r6144 = expm1(r6143);
        double r6145 = atan(r6141);
        double r6146 = atan2(r6144, r6145);
        double r6147 = fmod(r6146, r6141);
        double r6148 = fabs(r6147);
        return r6148;
}

double f(double a) {
        double r6149 = a;
        double r6150 = expm1(r6149);
        double r6151 = sin(r6150);
        double r6152 = expm1(r6151);
        double r6153 = atan(r6149);
        double r6154 = atan2(r6152, r6153);
        double r6155 = exp(r6154);
        double r6156 = 0.5;
        double r6157 = pow(r6155, r6156);
        double r6158 = r6157 * r6157;
        double r6159 = log(r6158);
        double r6160 = fmod(r6159, r6149);
        double r6161 = fabs(r6160);
        return r6161;
}

Error

Bits error versus a

Derivation

  1. Initial program 33.5

    \[\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-log-exp33.6

    \[\leadsto \left|\left(\color{blue}{\left(\log \left(e^{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}\right)\right)} \bmod a\right)\right|\]
  4. Using strategy rm
  5. Applied add-sqr-sqrt33.5

    \[\leadsto \left|\left(\left(\log \color{blue}{\left(\sqrt{e^{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}} \cdot \sqrt{e^{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}}\right)}\right) \bmod a\right)\right|\]
  6. Simplified33.5

    \[\leadsto \left|\left(\left(\log \left(\color{blue}{{\left(e^{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}\right)}^{\frac{1}{2}}} \cdot \sqrt{e^{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}}\right)\right) \bmod a\right)\right|\]
  7. Simplified33.5

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

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

Reproduce

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