Average Error: 33.5 → 33.5
Time: 17.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(\log \left(\sqrt{e^{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}}\right) + \log \left(\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|\]
\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(\sqrt{e^{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}}\right) + \log \left(\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|
double f(double a) {
        double r8262 = a;
        double r8263 = expm1(r8262);
        double r8264 = sin(r8263);
        double r8265 = expm1(r8264);
        double r8266 = atan(r8262);
        double r8267 = atan2(r8265, r8266);
        double r8268 = fmod(r8267, r8262);
        double r8269 = fabs(r8268);
        return r8269;
}

double f(double a) {
        double r8270 = a;
        double r8271 = expm1(r8270);
        double r8272 = sin(r8271);
        double r8273 = expm1(r8272);
        double r8274 = atan(r8270);
        double r8275 = atan2(r8273, r8274);
        double r8276 = exp(r8275);
        double r8277 = sqrt(r8276);
        double r8278 = log(r8277);
        double r8279 = r8278 + r8278;
        double r8280 = fmod(r8279, r8270);
        double r8281 = fabs(r8280);
        return r8281;
}

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. Applied log-prod33.5

    \[\leadsto \left|\left(\color{blue}{\left(\log \left(\sqrt{e^{\tan^{-1}_* \frac{\mathsf{expm1}\left(\sin \left(\mathsf{expm1}\left(a\right)\right)\right)}{\tan^{-1} a}}}\right) + \log \left(\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. Final simplification33.5

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

Reproduce

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