\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.150823016260797203203966503119759181491 \cdot 10^{155}:\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(\frac{1}{F} \cdot \tan \left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \sqrt[3]{\pi \cdot \ell}\right)\right)\\
\mathbf{elif}\;\pi \cdot \ell \le 7.889486279098064950412660573607028329358 \cdot 10^{138}:\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \frac{1 \cdot \sin \left(\pi \cdot \ell\right)}{F \cdot \mathsf{fma}\left(\frac{1}{24} \cdot {\pi}^{4}, {\ell}^{4}, 1 - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - e^{\log \left(\frac{1}{F \cdot F}\right)} \cdot \tan \left(\pi \cdot \ell\right)\\
\end{array}double f(double F, double l) {
double r16439 = atan2(1.0, 0.0);
double r16440 = l;
double r16441 = r16439 * r16440;
double r16442 = 1.0;
double r16443 = F;
double r16444 = r16443 * r16443;
double r16445 = r16442 / r16444;
double r16446 = tan(r16441);
double r16447 = r16445 * r16446;
double r16448 = r16441 - r16447;
return r16448;
}
double f(double F, double l) {
double r16449 = atan2(1.0, 0.0);
double r16450 = l;
double r16451 = r16449 * r16450;
double r16452 = -1.1508230162607972e+155;
bool r16453 = r16451 <= r16452;
double r16454 = 1.0;
double r16455 = F;
double r16456 = r16454 / r16455;
double r16457 = 1.0;
double r16458 = r16457 / r16455;
double r16459 = cbrt(r16451);
double r16460 = r16459 * r16459;
double r16461 = r16460 * r16459;
double r16462 = tan(r16461);
double r16463 = r16458 * r16462;
double r16464 = r16456 * r16463;
double r16465 = r16451 - r16464;
double r16466 = 7.889486279098065e+138;
bool r16467 = r16451 <= r16466;
double r16468 = sin(r16451);
double r16469 = r16457 * r16468;
double r16470 = 0.041666666666666664;
double r16471 = 4.0;
double r16472 = pow(r16449, r16471);
double r16473 = r16470 * r16472;
double r16474 = pow(r16450, r16471);
double r16475 = 0.5;
double r16476 = 2.0;
double r16477 = pow(r16449, r16476);
double r16478 = pow(r16450, r16476);
double r16479 = r16477 * r16478;
double r16480 = r16475 * r16479;
double r16481 = r16454 - r16480;
double r16482 = fma(r16473, r16474, r16481);
double r16483 = r16455 * r16482;
double r16484 = r16469 / r16483;
double r16485 = r16456 * r16484;
double r16486 = r16451 - r16485;
double r16487 = r16455 * r16455;
double r16488 = r16457 / r16487;
double r16489 = log(r16488);
double r16490 = exp(r16489);
double r16491 = tan(r16451);
double r16492 = r16490 * r16491;
double r16493 = r16451 - r16492;
double r16494 = r16467 ? r16486 : r16493;
double r16495 = r16453 ? r16465 : r16494;
return r16495;
}



Bits error versus F



Bits error versus l
if (* PI l) < -1.1508230162607972e+155Initial program 19.5
rmApplied *-un-lft-identity19.5
Applied times-frac19.5
Applied associate-*l*19.5
rmApplied add-cube-cbrt19.4
if -1.1508230162607972e+155 < (* PI l) < 7.889486279098065e+138Initial program 16.2
rmApplied *-un-lft-identity16.2
Applied times-frac16.3
Applied associate-*l*10.0
rmApplied tan-quot10.0
Applied frac-times10.0
Taylor expanded around 0 4.2
Simplified4.2
if 7.889486279098065e+138 < (* PI l) Initial program 21.3
rmApplied add-exp-log42.6
Applied add-exp-log42.6
Applied prod-exp42.6
Applied add-exp-log42.6
Applied div-exp42.6
Simplified21.3
Final simplification8.9
herbie shell --seed 2019354 +o rules:numerics
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
:precision binary64
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))