\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{\tan \left(\pi \cdot \ell\right)}{F \cdot 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{\tan \left(\pi \cdot \ell\right)}{F \cdot F}\right)\right)\\
\end{array}double f(double F, double l) {
double r338541 = atan2(1.0, 0.0);
double r338542 = l;
double r338543 = r338541 * r338542;
double r338544 = 1.0;
double r338545 = F;
double r338546 = r338545 * r338545;
double r338547 = r338544 / r338546;
double r338548 = tan(r338543);
double r338549 = r338547 * r338548;
double r338550 = r338543 - r338549;
return r338550;
}
double f(double F, double l) {
double r338551 = atan2(1.0, 0.0);
double r338552 = l;
double r338553 = r338551 * r338552;
double r338554 = -2.209957826214302e+27;
bool r338555 = r338553 <= r338554;
double r338556 = tan(r338553);
double r338557 = F;
double r338558 = r338557 * r338557;
double r338559 = r338556 / r338558;
double r338560 = /* ERROR: no posit support in C */;
double r338561 = /* ERROR: no posit support in C */;
double r338562 = r338553 - r338561;
double r338563 = 16098.617820048517;
bool r338564 = r338553 <= r338563;
double r338565 = sin(r338553);
double r338566 = r338565 / r338557;
double r338567 = r338566 / r338557;
double r338568 = 0.041666666666666664;
double r338569 = r338553 * r338553;
double r338570 = r338569 * r338569;
double r338571 = -0.5;
double r338572 = 1.0;
double r338573 = fma(r338569, r338571, r338572);
double r338574 = fma(r338568, r338570, r338573);
double r338575 = r338567 / r338574;
double r338576 = r338553 - r338575;
double r338577 = r338564 ? r338576 : r338562;
double r338578 = r338555 ? r338562 : r338577;
return r338578;
}



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 insert-posit1616.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)))))