\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\begin{array}{l}
\mathbf{if}\;\pi \cdot \ell \le -2.7948604358709023 \cdot 10^{+18}:\\
\;\;\;\;\pi \cdot \ell - \left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F \cdot F}\right)\right)\\
\mathbf{elif}\;\pi \cdot \ell \le 34381156308810.098:\\
\;\;\;\;\pi \cdot \ell - \frac{\frac{\frac{\sin \left(\sqrt{\pi} \cdot \left(\left(\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}\right) \cdot \ell\right)\right)}{F}}{F}}{\cos \left(\pi \cdot \ell\right)}\\
\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F \cdot F}\right)\right)\\
\end{array}double f(double F, double l) {
double r329346 = atan2(1.0, 0.0);
double r329347 = l;
double r329348 = r329346 * r329347;
double r329349 = 1.0;
double r329350 = F;
double r329351 = r329350 * r329350;
double r329352 = r329349 / r329351;
double r329353 = tan(r329348);
double r329354 = r329352 * r329353;
double r329355 = r329348 - r329354;
return r329355;
}
double f(double F, double l) {
double r329356 = atan2(1.0, 0.0);
double r329357 = l;
double r329358 = r329356 * r329357;
double r329359 = -2.7948604358709023e+18;
bool r329360 = r329358 <= r329359;
double r329361 = tan(r329358);
double r329362 = F;
double r329363 = r329362 * r329362;
double r329364 = r329361 / r329363;
double r329365 = /* ERROR: no posit support in C */;
double r329366 = /* ERROR: no posit support in C */;
double r329367 = r329358 - r329366;
double r329368 = 34381156308810.098;
bool r329369 = r329358 <= r329368;
double r329370 = sqrt(r329356);
double r329371 = sqrt(r329370);
double r329372 = r329371 * r329371;
double r329373 = r329372 * r329357;
double r329374 = r329370 * r329373;
double r329375 = sin(r329374);
double r329376 = r329375 / r329362;
double r329377 = r329376 / r329362;
double r329378 = cos(r329358);
double r329379 = r329377 / r329378;
double r329380 = r329358 - r329379;
double r329381 = r329369 ? r329380 : r329367;
double r329382 = r329360 ? r329367 : r329381;
return r329382;
}



Bits error versus F



Bits error versus l
if (* PI l) < -2.7948604358709023e+18 or 34381156308810.098 < (* PI l) Initial program 23.3
Simplified23.3
rmApplied insert-posit1615.6
if -2.7948604358709023e+18 < (* PI l) < 34381156308810.098Initial program 9.2
Simplified8.6
Taylor expanded around inf 8.6
Simplified0.7
rmApplied add-sqr-sqrt1.0
Applied associate-*l*0.9
rmApplied add-sqr-sqrt0.9
Applied sqrt-prod0.7
Final simplification8.3
herbie shell --seed 2019156 +o rules:numerics
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))