\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\begin{array}{l}
\mathbf{if}\;\pi \cdot \ell \le -1.345098993986227768112822472122543299926 \cdot 10^{156} \lor \neg \left(\pi \cdot \ell \le 3.603031496726221099383360975990552251809 \cdot 10^{145}\right):\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \frac{1 \cdot \sin \left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \sqrt[3]{\pi \cdot \ell}\right)}{\cos \left(\pi \cdot \ell\right) \cdot F}\\
\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \frac{1 \cdot \sin \left(\pi \cdot \ell\right)}{\mathsf{fma}\left({\pi}^{2} \cdot {\ell}^{2}, \frac{-1}{2}, \mathsf{fma}\left(\frac{1}{24}, {\pi}^{4} \cdot {\ell}^{4}, 1\right)\right) \cdot F}\\
\end{array}double f(double F, double l) {
double r25488 = atan2(1.0, 0.0);
double r25489 = l;
double r25490 = r25488 * r25489;
double r25491 = 1.0;
double r25492 = F;
double r25493 = r25492 * r25492;
double r25494 = r25491 / r25493;
double r25495 = tan(r25490);
double r25496 = r25494 * r25495;
double r25497 = r25490 - r25496;
return r25497;
}
double f(double F, double l) {
double r25498 = atan2(1.0, 0.0);
double r25499 = l;
double r25500 = r25498 * r25499;
double r25501 = -1.3450989939862278e+156;
bool r25502 = r25500 <= r25501;
double r25503 = 3.603031496726221e+145;
bool r25504 = r25500 <= r25503;
double r25505 = !r25504;
bool r25506 = r25502 || r25505;
double r25507 = 1.0;
double r25508 = F;
double r25509 = r25507 / r25508;
double r25510 = 1.0;
double r25511 = cbrt(r25500);
double r25512 = r25511 * r25511;
double r25513 = r25512 * r25511;
double r25514 = sin(r25513);
double r25515 = r25510 * r25514;
double r25516 = cos(r25500);
double r25517 = r25516 * r25508;
double r25518 = r25515 / r25517;
double r25519 = r25509 * r25518;
double r25520 = r25500 - r25519;
double r25521 = sin(r25500);
double r25522 = r25510 * r25521;
double r25523 = 2.0;
double r25524 = pow(r25498, r25523);
double r25525 = pow(r25499, r25523);
double r25526 = r25524 * r25525;
double r25527 = -0.5;
double r25528 = 0.041666666666666664;
double r25529 = 4.0;
double r25530 = pow(r25498, r25529);
double r25531 = pow(r25499, r25529);
double r25532 = r25530 * r25531;
double r25533 = fma(r25528, r25532, r25507);
double r25534 = fma(r25526, r25527, r25533);
double r25535 = r25534 * r25508;
double r25536 = r25522 / r25535;
double r25537 = r25509 * r25536;
double r25538 = r25500 - r25537;
double r25539 = r25506 ? r25520 : r25538;
return r25539;
}



Bits error versus F



Bits error versus l
if (* PI l) < -1.3450989939862278e+156 or 3.603031496726221e+145 < (* PI l) Initial program 20.4
rmApplied *-un-lft-identity20.4
Applied times-frac20.4
Applied associate-*l*20.4
rmApplied tan-quot20.4
Applied frac-times20.4
Simplified20.4
rmApplied add-cube-cbrt20.4
if -1.3450989939862278e+156 < (* PI l) < 3.603031496726221e+145Initial program 14.9
rmApplied *-un-lft-identity14.9
Applied times-frac14.9
Applied associate-*l*9.2
rmApplied tan-quot9.2
Applied frac-times9.2
Simplified9.2
Taylor expanded around 0 4.0
Simplified4.0
Final simplification8.5
herbie shell --seed 2019212 +o rules:numerics
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
:precision binary64
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))