\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\begin{array}{l}
\mathbf{if}\;\pi \cdot \ell \le -6.329011492119437021952109634828818118288 \cdot 10^{159}:\\
\;\;\;\;\pi \cdot \ell - \frac{\sqrt{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt{1}}{\cos \left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \left(\left(\sqrt[3]{\sqrt[3]{\pi \cdot \ell}} \cdot \sqrt[3]{\sqrt[3]{\pi \cdot \ell}}\right) \cdot \sqrt[3]{\sqrt[3]{\pi \cdot \ell}}\right)\right) \cdot F}\\
\mathbf{elif}\;\pi \cdot \ell \le 7.515140750009139392686817039051963899626 \cdot 10^{135}:\\
\;\;\;\;\pi \cdot \ell - \frac{\sqrt{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt{1}}{\mathsf{fma}\left(\left(\pi \cdot \ell\right) \cdot \left(\pi \cdot \ell\right), \frac{-1}{2}, \mathsf{fma}\left(\frac{1}{24}, {\pi}^{4} \cdot {\ell}^{4}, 1\right)\right) \cdot F}\\
\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \frac{\sqrt{1}}{F} \cdot \left(\frac{\sqrt{1}}{F} \cdot \tan \left(\mathsf{expm1}\left(\mathsf{log1p}\left(\pi \cdot \ell\right)\right)\right)\right)\\
\end{array}double f(double F, double l) {
double r28617 = atan2(1.0, 0.0);
double r28618 = l;
double r28619 = r28617 * r28618;
double r28620 = 1.0;
double r28621 = F;
double r28622 = r28621 * r28621;
double r28623 = r28620 / r28622;
double r28624 = tan(r28619);
double r28625 = r28623 * r28624;
double r28626 = r28619 - r28625;
return r28626;
}
double f(double F, double l) {
double r28627 = atan2(1.0, 0.0);
double r28628 = l;
double r28629 = r28627 * r28628;
double r28630 = -6.329011492119437e+159;
bool r28631 = r28629 <= r28630;
double r28632 = 1.0;
double r28633 = sqrt(r28632);
double r28634 = F;
double r28635 = r28633 / r28634;
double r28636 = sin(r28629);
double r28637 = r28636 * r28633;
double r28638 = cbrt(r28629);
double r28639 = r28638 * r28638;
double r28640 = cbrt(r28638);
double r28641 = r28640 * r28640;
double r28642 = r28641 * r28640;
double r28643 = r28639 * r28642;
double r28644 = cos(r28643);
double r28645 = r28644 * r28634;
double r28646 = r28637 / r28645;
double r28647 = r28635 * r28646;
double r28648 = r28629 - r28647;
double r28649 = 7.51514075000914e+135;
bool r28650 = r28629 <= r28649;
double r28651 = r28629 * r28629;
double r28652 = -0.5;
double r28653 = 0.041666666666666664;
double r28654 = 4.0;
double r28655 = pow(r28627, r28654);
double r28656 = pow(r28628, r28654);
double r28657 = r28655 * r28656;
double r28658 = 1.0;
double r28659 = fma(r28653, r28657, r28658);
double r28660 = fma(r28651, r28652, r28659);
double r28661 = r28660 * r28634;
double r28662 = r28637 / r28661;
double r28663 = r28635 * r28662;
double r28664 = r28629 - r28663;
double r28665 = log1p(r28629);
double r28666 = expm1(r28665);
double r28667 = tan(r28666);
double r28668 = r28635 * r28667;
double r28669 = r28635 * r28668;
double r28670 = r28629 - r28669;
double r28671 = r28650 ? r28664 : r28670;
double r28672 = r28631 ? r28648 : r28671;
return r28672;
}



Bits error versus F



Bits error versus l
if (* PI l) < -6.329011492119437e+159Initial program 18.4
rmApplied add-sqr-sqrt18.4
Applied times-frac18.4
Applied associate-*l*18.4
rmApplied tan-quot18.4
Applied frac-times18.4
Simplified18.4
Simplified18.4
rmApplied add-cube-cbrt18.5
rmApplied add-cube-cbrt18.4
if -6.329011492119437e+159 < (* PI l) < 7.51514075000914e+135Initial program 14.8
rmApplied add-sqr-sqrt14.8
Applied times-frac14.8
Applied associate-*l*9.4
rmApplied tan-quot9.4
Applied frac-times9.3
Simplified9.3
Simplified9.3
Taylor expanded around 0 4.4
Simplified4.4
if 7.51514075000914e+135 < (* PI l) Initial program 20.9
rmApplied add-sqr-sqrt20.9
Applied times-frac20.9
Applied associate-*l*20.9
rmApplied expm1-log1p-u20.9
Final simplification8.7
herbie shell --seed 2019209 +o rules:numerics
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
:precision binary64
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))