\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.4341891400844817 \cdot 10^{161} \lor \neg \left(\pi \cdot \ell \le 2.239791605529511 \cdot 10^{144}\right):\\
\;\;\;\;\pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{1}{\frac{F}{\sqrt[3]{1} \cdot \left(\pi \cdot \ell\right)} - \frac{1}{3} \cdot \frac{F \cdot \left(\pi \cdot \ell\right)}{\sqrt[3]{1}}}\\
\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt[3]{1}}{\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}\\
\end{array}double f(double F, double l) {
double r18968 = atan2(1.0, 0.0);
double r18969 = l;
double r18970 = r18968 * r18969;
double r18971 = 1.0;
double r18972 = F;
double r18973 = r18972 * r18972;
double r18974 = r18971 / r18973;
double r18975 = tan(r18970);
double r18976 = r18974 * r18975;
double r18977 = r18970 - r18976;
return r18977;
}
double f(double F, double l) {
double r18978 = atan2(1.0, 0.0);
double r18979 = l;
double r18980 = r18978 * r18979;
double r18981 = -1.4341891400844817e+161;
bool r18982 = r18980 <= r18981;
double r18983 = 2.239791605529511e+144;
bool r18984 = r18980 <= r18983;
double r18985 = !r18984;
bool r18986 = r18982 || r18985;
double r18987 = 1.0;
double r18988 = cbrt(r18987);
double r18989 = r18988 * r18988;
double r18990 = F;
double r18991 = r18989 / r18990;
double r18992 = 1.0;
double r18993 = r18988 * r18980;
double r18994 = r18990 / r18993;
double r18995 = 0.3333333333333333;
double r18996 = r18990 * r18980;
double r18997 = r18996 / r18988;
double r18998 = r18995 * r18997;
double r18999 = r18994 - r18998;
double r19000 = r18992 / r18999;
double r19001 = r18991 * r19000;
double r19002 = r18980 - r19001;
double r19003 = sin(r18980);
double r19004 = r19003 * r18988;
double r19005 = 0.041666666666666664;
double r19006 = 4.0;
double r19007 = pow(r18978, r19006);
double r19008 = r19005 * r19007;
double r19009 = pow(r18979, r19006);
double r19010 = 0.5;
double r19011 = 2.0;
double r19012 = pow(r18978, r19011);
double r19013 = pow(r18979, r19011);
double r19014 = r19012 * r19013;
double r19015 = r19010 * r19014;
double r19016 = r18992 - r19015;
double r19017 = fma(r19008, r19009, r19016);
double r19018 = r19017 * r18990;
double r19019 = r19004 / r19018;
double r19020 = r18991 * r19019;
double r19021 = r18980 - r19020;
double r19022 = r18986 ? r19002 : r19021;
return r19022;
}



Bits error versus F



Bits error versus l
if (* PI l) < -1.4341891400844817e+161 or 2.239791605529511e+144 < (* PI l) Initial program 19.4
rmApplied add-cube-cbrt19.4
Applied times-frac19.4
Applied associate-*l*19.4
Taylor expanded around inf 19.4
rmApplied clear-num19.4
Taylor expanded around 0 8.1
if -1.4341891400844817e+161 < (* PI l) < 2.239791605529511e+144Initial program 15.8
rmApplied add-cube-cbrt15.8
Applied times-frac15.9
Applied associate-*l*9.5
Taylor expanded around inf 9.4
Taylor expanded around 0 4.2
Simplified4.2
Final simplification5.2
herbie shell --seed 2020083 +o rules:numerics
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
:precision binary64
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))