\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.659932407972988 \cdot 10^{+22}:\\
\;\;\;\;\pi \cdot \ell - \frac{\left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\right)}{F}\\
\mathbf{elif}\;\pi \cdot \ell \le 1.3394936946479616 \cdot 10^{-06}:\\
\;\;\;\;\pi \cdot \ell - \frac{\frac{\tan \left(\pi \cdot \ell\right)}{\sqrt[3]{F}} \cdot \frac{1}{\sqrt[3]{F} \cdot \sqrt[3]{F}}}{F}\\
\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \frac{\left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\right)}{F}\\
\end{array}double f(double F, double l) {
double r914207 = atan2(1.0, 0.0);
double r914208 = l;
double r914209 = r914207 * r914208;
double r914210 = 1.0;
double r914211 = F;
double r914212 = r914211 * r914211;
double r914213 = r914210 / r914212;
double r914214 = tan(r914209);
double r914215 = r914213 * r914214;
double r914216 = r914209 - r914215;
return r914216;
}
double f(double F, double l) {
double r914217 = atan2(1.0, 0.0);
double r914218 = l;
double r914219 = r914217 * r914218;
double r914220 = -8.659932407972988e+22;
bool r914221 = r914219 <= r914220;
double r914222 = tan(r914219);
double r914223 = F;
double r914224 = r914222 / r914223;
double r914225 = /* ERROR: no posit support in C */;
double r914226 = /* ERROR: no posit support in C */;
double r914227 = r914226 / r914223;
double r914228 = r914219 - r914227;
double r914229 = 1.3394936946479616e-06;
bool r914230 = r914219 <= r914229;
double r914231 = cbrt(r914223);
double r914232 = r914222 / r914231;
double r914233 = 1.0;
double r914234 = r914231 * r914231;
double r914235 = r914233 / r914234;
double r914236 = r914232 * r914235;
double r914237 = r914236 / r914223;
double r914238 = r914219 - r914237;
double r914239 = r914230 ? r914238 : r914228;
double r914240 = r914221 ? r914228 : r914239;
return r914240;
}



Bits error versus F



Bits error versus l
if (* PI l) < -8.659932407972988e+22 or 1.3394936946479616e-06 < (* PI l) Initial program 23.5
Simplified23.5
rmApplied associate-/r*23.5
rmApplied insert-posit1616.4
if -8.659932407972988e+22 < (* PI l) < 1.3394936946479616e-06Initial program 9.1
Simplified8.5
rmApplied associate-/r*0.9
rmApplied add-cube-cbrt1.3
Applied *-un-lft-identity1.3
Applied times-frac1.3
Final simplification9.1
herbie shell --seed 2019158
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))