\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.209957826214302 \cdot 10^{+27}:\\
\;\;\;\;\pi \cdot \ell - \left(\left(\frac{\frac{\tan \left(\pi \cdot \ell\right)}{F}}{F}\right)\right)\\
\mathbf{elif}\;\pi \cdot \ell \le 16098.617820048517:\\
\;\;\;\;\pi \cdot \ell - \frac{\frac{\frac{\sin \left(\pi \cdot \ell\right)}{F}}{F}}{\mathsf{fma}\left(\frac{1}{24}, \left(\left(\pi \cdot \ell\right) \cdot \left(\pi \cdot \ell\right)\right) \cdot \left(\left(\pi \cdot \ell\right) \cdot \left(\pi \cdot \ell\right)\right), \mathsf{fma}\left(\left(\pi \cdot \ell\right) \cdot \left(\pi \cdot \ell\right), \frac{-1}{2}, 1\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \left(\left(\frac{\frac{\tan \left(\pi \cdot \ell\right)}{F}}{F}\right)\right)\\
\end{array}double f(double F, double l) {
double r332427 = atan2(1.0, 0.0);
double r332428 = l;
double r332429 = r332427 * r332428;
double r332430 = 1.0;
double r332431 = F;
double r332432 = r332431 * r332431;
double r332433 = r332430 / r332432;
double r332434 = tan(r332429);
double r332435 = r332433 * r332434;
double r332436 = r332429 - r332435;
return r332436;
}
double f(double F, double l) {
double r332437 = atan2(1.0, 0.0);
double r332438 = l;
double r332439 = r332437 * r332438;
double r332440 = -2.209957826214302e+27;
bool r332441 = r332439 <= r332440;
double r332442 = tan(r332439);
double r332443 = F;
double r332444 = r332442 / r332443;
double r332445 = r332444 / r332443;
double r332446 = /* ERROR: no posit support in C */;
double r332447 = /* ERROR: no posit support in C */;
double r332448 = r332439 - r332447;
double r332449 = 16098.617820048517;
bool r332450 = r332439 <= r332449;
double r332451 = sin(r332439);
double r332452 = r332451 / r332443;
double r332453 = r332452 / r332443;
double r332454 = 0.041666666666666664;
double r332455 = r332439 * r332439;
double r332456 = r332455 * r332455;
double r332457 = -0.5;
double r332458 = 1.0;
double r332459 = fma(r332455, r332457, r332458);
double r332460 = fma(r332454, r332456, r332459);
double r332461 = r332453 / r332460;
double r332462 = r332439 - r332461;
double r332463 = r332450 ? r332462 : r332448;
double r332464 = r332441 ? r332448 : r332463;
return r332464;
}



Bits error versus F



Bits error versus l
if (* PI l) < -2.209957826214302e+27 or 16098.617820048517 < (* PI l) Initial program 23.3
Simplified23.3
rmApplied *-un-lft-identity23.3
Applied times-frac23.3
rmApplied insert-posit1616.1
Simplified16.1
if -2.209957826214302e+27 < (* PI l) < 16098.617820048517Initial program 9.1
Simplified8.5
Taylor expanded around inf 8.5
Simplified1.2
rmApplied insert-posit161.5
Taylor expanded around 0 1.5
Simplified1.5
Final simplification8.9
herbie shell --seed 2019153 +o rules:numerics
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))