\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\begin{array}{l}
\mathbf{if}\;\pi \cdot \ell \le -9.285544385226371 \cdot 10^{+16}:\\
\;\;\;\;\pi \cdot \ell - \left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\right) \cdot \frac{1}{F}\\
\mathbf{elif}\;\pi \cdot \ell \le 28393.849854159114:\\
\;\;\;\;\pi \cdot \ell - \frac{\tan \left(\pi \cdot \ell\right)}{F} \cdot \frac{1}{F}\\
\mathbf{elif}\;\pi \cdot \ell \le 2.4253442475351736 \cdot 10^{+118}:\\
\;\;\;\;\pi \cdot \ell - \left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F \cdot F}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\right) \cdot \frac{1}{F}\\
\end{array}double f(double F, double l) {
double r950220 = atan2(1.0, 0.0);
double r950221 = l;
double r950222 = r950220 * r950221;
double r950223 = 1.0;
double r950224 = F;
double r950225 = r950224 * r950224;
double r950226 = r950223 / r950225;
double r950227 = tan(r950222);
double r950228 = r950226 * r950227;
double r950229 = r950222 - r950228;
return r950229;
}
double f(double F, double l) {
double r950230 = atan2(1.0, 0.0);
double r950231 = l;
double r950232 = r950230 * r950231;
double r950233 = -9.285544385226371e+16;
bool r950234 = r950232 <= r950233;
double r950235 = tan(r950232);
double r950236 = F;
double r950237 = r950235 / r950236;
double r950238 = /* ERROR: no posit support in C */;
double r950239 = /* ERROR: no posit support in C */;
double r950240 = 1.0;
double r950241 = r950240 / r950236;
double r950242 = r950239 * r950241;
double r950243 = r950232 - r950242;
double r950244 = 28393.849854159114;
bool r950245 = r950232 <= r950244;
double r950246 = r950237 * r950241;
double r950247 = r950232 - r950246;
double r950248 = 2.4253442475351736e+118;
bool r950249 = r950232 <= r950248;
double r950250 = r950236 * r950236;
double r950251 = r950235 / r950250;
double r950252 = /* ERROR: no posit support in C */;
double r950253 = /* ERROR: no posit support in C */;
double r950254 = r950232 - r950253;
double r950255 = r950249 ? r950254 : r950243;
double r950256 = r950245 ? r950247 : r950255;
double r950257 = r950234 ? r950243 : r950256;
return r950257;
}



Bits error versus F



Bits error versus l
if (* PI l) < -9.285544385226371e+16 or 2.4253442475351736e+118 < (* PI l) Initial program 21.2
Simplified21.2
rmApplied *-un-lft-identity21.2
Applied times-frac21.2
rmApplied insert-posit1613.8
if -9.285544385226371e+16 < (* PI l) < 28393.849854159114Initial program 9.1
Simplified8.7
rmApplied *-un-lft-identity8.7
Applied times-frac0.6
if 28393.849854159114 < (* PI l) < 2.4253442475351736e+118Initial program 27.0
Simplified27.0
rmApplied insert-posit1616.6
Final simplification7.6
herbie shell --seed 2019162
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))