Average Error: 16.4 → 9.2
Time: 8.6s
Precision: 64
\[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\begin{array}{l} \mathbf{if}\;\pi \cdot \ell \le -5.229943255210993702040420524981676341617 \cdot 10^{158}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\sqrt{\pi} \cdot \left(\sqrt{\pi} \cdot \ell\right)\right) \cdot F}\right)\\ \mathbf{elif}\;\pi \cdot \ell \le 1.570116288117577749110006291473035572901 \cdot 10^{117}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\mathsf{fma}\left(\frac{1}{24} \cdot {\pi}^{4}, {\ell}^{4}, 1 - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right) \cdot F}\right)\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \sqrt[3]{\pi \cdot \ell}\right)\\ \end{array}\]
\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)
\begin{array}{l}
\mathbf{if}\;\pi \cdot \ell \le -5.229943255210993702040420524981676341617 \cdot 10^{158}:\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\sqrt{\pi} \cdot \left(\sqrt{\pi} \cdot \ell\right)\right) \cdot F}\right)\\

\mathbf{elif}\;\pi \cdot \ell \le 1.570116288117577749110006291473035572901 \cdot 10^{117}:\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\mathsf{fma}\left(\frac{1}{24} \cdot {\pi}^{4}, {\ell}^{4}, 1 - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right) \cdot F}\right)\\

\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \sqrt[3]{\pi \cdot \ell}\right)\\

\end{array}
double f(double F, double l) {
        double r14323 = atan2(1.0, 0.0);
        double r14324 = l;
        double r14325 = r14323 * r14324;
        double r14326 = 1.0;
        double r14327 = F;
        double r14328 = r14327 * r14327;
        double r14329 = r14326 / r14328;
        double r14330 = tan(r14325);
        double r14331 = r14329 * r14330;
        double r14332 = r14325 - r14331;
        return r14332;
}

double f(double F, double l) {
        double r14333 = atan2(1.0, 0.0);
        double r14334 = l;
        double r14335 = r14333 * r14334;
        double r14336 = -5.229943255210994e+158;
        bool r14337 = r14335 <= r14336;
        double r14338 = 1.0;
        double r14339 = F;
        double r14340 = r14338 / r14339;
        double r14341 = 1.0;
        double r14342 = sin(r14335);
        double r14343 = sqrt(r14333);
        double r14344 = r14343 * r14334;
        double r14345 = r14343 * r14344;
        double r14346 = cos(r14345);
        double r14347 = r14346 * r14339;
        double r14348 = r14342 / r14347;
        double r14349 = r14341 * r14348;
        double r14350 = r14340 * r14349;
        double r14351 = r14335 - r14350;
        double r14352 = 1.5701162881175777e+117;
        bool r14353 = r14335 <= r14352;
        double r14354 = 0.041666666666666664;
        double r14355 = 4.0;
        double r14356 = pow(r14333, r14355);
        double r14357 = r14354 * r14356;
        double r14358 = pow(r14334, r14355);
        double r14359 = 0.5;
        double r14360 = 2.0;
        double r14361 = pow(r14333, r14360);
        double r14362 = pow(r14334, r14360);
        double r14363 = r14361 * r14362;
        double r14364 = r14359 * r14363;
        double r14365 = r14338 - r14364;
        double r14366 = fma(r14357, r14358, r14365);
        double r14367 = r14366 * r14339;
        double r14368 = r14342 / r14367;
        double r14369 = r14341 * r14368;
        double r14370 = r14340 * r14369;
        double r14371 = r14335 - r14370;
        double r14372 = r14339 * r14339;
        double r14373 = r14341 / r14372;
        double r14374 = cbrt(r14335);
        double r14375 = r14374 * r14374;
        double r14376 = r14375 * r14374;
        double r14377 = tan(r14376);
        double r14378 = r14373 * r14377;
        double r14379 = r14335 - r14378;
        double r14380 = r14353 ? r14371 : r14379;
        double r14381 = r14337 ? r14351 : r14380;
        return r14381;
}

Error

Bits error versus F

Bits error versus l

Derivation

  1. Split input into 3 regimes
  2. if (* PI l) < -5.229943255210994e+158

    1. Initial program 20.5

      \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    2. Using strategy rm
    3. Applied *-un-lft-identity20.5

      \[\leadsto \pi \cdot \ell - \frac{\color{blue}{1 \cdot 1}}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    4. Applied times-frac20.5

      \[\leadsto \pi \cdot \ell - \color{blue}{\left(\frac{1}{F} \cdot \frac{1}{F}\right)} \cdot \tan \left(\pi \cdot \ell\right)\]
    5. Applied associate-*l*20.5

      \[\leadsto \pi \cdot \ell - \color{blue}{\frac{1}{F} \cdot \left(\frac{1}{F} \cdot \tan \left(\pi \cdot \ell\right)\right)}\]
    6. Taylor expanded around inf 20.5

      \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \color{blue}{\left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right) \cdot F}\right)}\]
    7. Using strategy rm
    8. Applied add-sqr-sqrt20.6

      \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\color{blue}{\left(\sqrt{\pi} \cdot \sqrt{\pi}\right)} \cdot \ell\right) \cdot F}\right)\]
    9. Applied associate-*l*20.6

      \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \color{blue}{\left(\sqrt{\pi} \cdot \left(\sqrt{\pi} \cdot \ell\right)\right)} \cdot F}\right)\]

    if -5.229943255210994e+158 < (* PI l) < 1.5701162881175777e+117

    1. Initial program 14.3

      \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    2. Using strategy rm
    3. Applied *-un-lft-identity14.3

      \[\leadsto \pi \cdot \ell - \frac{\color{blue}{1 \cdot 1}}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    4. Applied times-frac14.4

      \[\leadsto \pi \cdot \ell - \color{blue}{\left(\frac{1}{F} \cdot \frac{1}{F}\right)} \cdot \tan \left(\pi \cdot \ell\right)\]
    5. Applied associate-*l*8.6

      \[\leadsto \pi \cdot \ell - \color{blue}{\frac{1}{F} \cdot \left(\frac{1}{F} \cdot \tan \left(\pi \cdot \ell\right)\right)}\]
    6. Taylor expanded around inf 8.6

      \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \color{blue}{\left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right) \cdot F}\right)}\]
    7. Taylor expanded around 0 4.1

      \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\color{blue}{\left(\left(\frac{1}{24} \cdot \left({\pi}^{4} \cdot {\ell}^{4}\right) + 1\right) - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right)} \cdot F}\right)\]
    8. Simplified4.1

      \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\color{blue}{\mathsf{fma}\left(\frac{1}{24} \cdot {\pi}^{4}, {\ell}^{4}, 1 - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right)} \cdot F}\right)\]

    if 1.5701162881175777e+117 < (* PI l)

    1. Initial program 21.6

      \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    2. Using strategy rm
    3. Applied add-cube-cbrt21.6

      \[\leadsto \pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \color{blue}{\left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \sqrt[3]{\pi \cdot \ell}\right)}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification9.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;\pi \cdot \ell \le -5.229943255210993702040420524981676341617 \cdot 10^{158}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\sqrt{\pi} \cdot \left(\sqrt{\pi} \cdot \ell\right)\right) \cdot F}\right)\\ \mathbf{elif}\;\pi \cdot \ell \le 1.570116288117577749110006291473035572901 \cdot 10^{117}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\mathsf{fma}\left(\frac{1}{24} \cdot {\pi}^{4}, {\ell}^{4}, 1 - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right) \cdot F}\right)\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \sqrt[3]{\pi \cdot \ell}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019353 +o rules:numerics
(FPCore (F l)
  :name "VandenBroeck and Keller, Equation (6)"
  :precision binary64
  (- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))