\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\begin{array}{l}
\mathbf{if}\;\pi \cdot \ell \le -8.757979863708946505416534410315933795511 \cdot 10^{154}:\\
\;\;\;\;\pi \cdot \ell - \tan \left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \left(\ell \cdot \sqrt[3]{\pi}\right)\right) \cdot \frac{1}{F \cdot F}\\
\mathbf{elif}\;\pi \cdot \ell \le 3.05190989949100331550401816924217866895 \cdot 10^{135}:\\
\;\;\;\;\pi \cdot \ell - \frac{\frac{\sin \left(\pi \cdot \ell\right)}{F} \cdot \frac{1}{F}}{\mathsf{fma}\left(\frac{-1}{2}, \left(\pi \cdot \ell\right) \cdot \left(\pi \cdot \ell\right), \mathsf{fma}\left(\frac{1}{24}, \left(\left(\pi \cdot \ell\right) \cdot \left(\pi \cdot \ell\right)\right) \cdot \left(\left(\pi \cdot \ell\right) \cdot \left(\pi \cdot \ell\right)\right), 1\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \tan \left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \left(\ell \cdot \sqrt[3]{\pi}\right)\right) \cdot \frac{1}{F \cdot F}\\
\end{array}double f(double F, double l) {
double r671518 = atan2(1.0, 0.0);
double r671519 = l;
double r671520 = r671518 * r671519;
double r671521 = 1.0;
double r671522 = F;
double r671523 = r671522 * r671522;
double r671524 = r671521 / r671523;
double r671525 = tan(r671520);
double r671526 = r671524 * r671525;
double r671527 = r671520 - r671526;
return r671527;
}
double f(double F, double l) {
double r671528 = atan2(1.0, 0.0);
double r671529 = l;
double r671530 = r671528 * r671529;
double r671531 = -8.757979863708947e+154;
bool r671532 = r671530 <= r671531;
double r671533 = cbrt(r671528);
double r671534 = r671533 * r671533;
double r671535 = r671529 * r671533;
double r671536 = r671534 * r671535;
double r671537 = tan(r671536);
double r671538 = 1.0;
double r671539 = F;
double r671540 = r671539 * r671539;
double r671541 = r671538 / r671540;
double r671542 = r671537 * r671541;
double r671543 = r671530 - r671542;
double r671544 = 3.051909899491003e+135;
bool r671545 = r671530 <= r671544;
double r671546 = sin(r671530);
double r671547 = r671546 / r671539;
double r671548 = r671538 / r671539;
double r671549 = r671547 * r671548;
double r671550 = -0.5;
double r671551 = r671530 * r671530;
double r671552 = 0.041666666666666664;
double r671553 = r671551 * r671551;
double r671554 = 1.0;
double r671555 = fma(r671552, r671553, r671554);
double r671556 = fma(r671550, r671551, r671555);
double r671557 = r671549 / r671556;
double r671558 = r671530 - r671557;
double r671559 = r671545 ? r671558 : r671543;
double r671560 = r671532 ? r671543 : r671559;
return r671560;
}



Bits error versus F



Bits error versus l
if (* PI l) < -8.757979863708947e+154 or 3.051909899491003e+135 < (* PI l) Initial program 20.7
rmApplied add-cube-cbrt20.7
Applied associate-*l*20.7
if -8.757979863708947e+154 < (* PI l) < 3.051909899491003e+135Initial program 15.3
Taylor expanded around inf 15.0
Simplified9.2
Taylor expanded around 0 6.5
Simplified6.5
Final simplification10.5
herbie shell --seed 2019171 +o rules:numerics
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
(- (* PI l) (* (/ 1.0 (* F F)) (tan (* PI l)))))