\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.3614300485963869 \cdot 10^{155} \lor \neg \left(\pi \cdot \ell \le 3.5842679016593094 \cdot 10^{146}\right):\\
\;\;\;\;\pi \cdot \ell - \left(\sqrt[3]{\frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)} \cdot \sqrt[3]{\frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)}\right) \cdot \sqrt[3]{\frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)}\\
\mathbf{else}:\\
\;\;\;\;\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)\\
\end{array}double f(double F, double l) {
double r12744 = atan2(1.0, 0.0);
double r12745 = l;
double r12746 = r12744 * r12745;
double r12747 = 1.0;
double r12748 = F;
double r12749 = r12748 * r12748;
double r12750 = r12747 / r12749;
double r12751 = tan(r12746);
double r12752 = r12750 * r12751;
double r12753 = r12746 - r12752;
return r12753;
}
double f(double F, double l) {
double r12754 = atan2(1.0, 0.0);
double r12755 = l;
double r12756 = r12754 * r12755;
double r12757 = -1.361430048596387e+155;
bool r12758 = r12756 <= r12757;
double r12759 = 3.5842679016593094e+146;
bool r12760 = r12756 <= r12759;
double r12761 = !r12760;
bool r12762 = r12758 || r12761;
double r12763 = 1.0;
double r12764 = F;
double r12765 = r12764 * r12764;
double r12766 = r12763 / r12765;
double r12767 = tan(r12756);
double r12768 = r12766 * r12767;
double r12769 = cbrt(r12768);
double r12770 = r12769 * r12769;
double r12771 = r12770 * r12769;
double r12772 = r12756 - r12771;
double r12773 = 1.0;
double r12774 = r12773 / r12764;
double r12775 = sin(r12756);
double r12776 = 0.041666666666666664;
double r12777 = 4.0;
double r12778 = pow(r12754, r12777);
double r12779 = r12776 * r12778;
double r12780 = pow(r12755, r12777);
double r12781 = 0.5;
double r12782 = 2.0;
double r12783 = pow(r12754, r12782);
double r12784 = pow(r12755, r12782);
double r12785 = r12783 * r12784;
double r12786 = r12781 * r12785;
double r12787 = r12773 - r12786;
double r12788 = fma(r12779, r12780, r12787);
double r12789 = r12788 * r12764;
double r12790 = r12775 / r12789;
double r12791 = r12763 * r12790;
double r12792 = r12774 * r12791;
double r12793 = r12756 - r12792;
double r12794 = r12762 ? r12772 : r12793;
return r12794;
}



Bits error versus F



Bits error versus l
if (* PI l) < -1.361430048596387e+155 or 3.5842679016593094e+146 < (* PI l) Initial program 20.1
rmApplied add-cube-cbrt20.1
if -1.361430048596387e+155 < (* PI l) < 3.5842679016593094e+146Initial program 15.5
rmApplied *-un-lft-identity15.5
Applied times-frac15.6
Applied associate-*l*9.5
Taylor expanded around inf 9.5
Taylor expanded around 0 4.1
Simplified4.1
Final simplification8.4
herbie shell --seed 2020064 +o rules:numerics
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
:precision binary64
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))