\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\begin{array}{l}
\mathbf{if}\;\pi \cdot \ell \le -1.9372357391859827 \cdot 10^{+207}:\\
\;\;\;\;\pi \cdot \ell - \frac{\left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\right)}{F}\\
\mathbf{elif}\;\pi \cdot \ell \le -1.2977109214087882 \cdot 10^{+23}:\\
\;\;\;\;\pi \cdot \ell - \left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F \cdot F}\right)\right)\\
\mathbf{elif}\;\pi \cdot \ell \le 1.542584206713776 \cdot 10^{-34}:\\
\;\;\;\;\pi \cdot \ell - \frac{\frac{1}{\frac{F}{\tan \left(\pi \cdot \ell\right)}}}{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 r403036 = atan2(1.0, 0.0);
double r403037 = l;
double r403038 = r403036 * r403037;
double r403039 = 1.0;
double r403040 = F;
double r403041 = r403040 * r403040;
double r403042 = r403039 / r403041;
double r403043 = tan(r403038);
double r403044 = r403042 * r403043;
double r403045 = r403038 - r403044;
return r403045;
}
double f(double F, double l) {
double r403046 = atan2(1.0, 0.0);
double r403047 = l;
double r403048 = r403046 * r403047;
double r403049 = -1.9372357391859827e+207;
bool r403050 = r403048 <= r403049;
double r403051 = tan(r403048);
double r403052 = F;
double r403053 = r403051 / r403052;
double r403054 = /* ERROR: no posit support in C */;
double r403055 = /* ERROR: no posit support in C */;
double r403056 = r403055 / r403052;
double r403057 = r403048 - r403056;
double r403058 = -1.2977109214087882e+23;
bool r403059 = r403048 <= r403058;
double r403060 = r403052 * r403052;
double r403061 = r403051 / r403060;
double r403062 = /* ERROR: no posit support in C */;
double r403063 = /* ERROR: no posit support in C */;
double r403064 = r403048 - r403063;
double r403065 = 1.542584206713776e-34;
bool r403066 = r403048 <= r403065;
double r403067 = 1.0;
double r403068 = r403052 / r403051;
double r403069 = r403067 / r403068;
double r403070 = r403069 / r403052;
double r403071 = r403048 - r403070;
double r403072 = r403066 ? r403071 : r403057;
double r403073 = r403059 ? r403064 : r403072;
double r403074 = r403050 ? r403057 : r403073;
return r403074;
}



Bits error versus F



Bits error versus l
if (* PI l) < -1.9372357391859827e+207 or 1.542584206713776e-34 < (* PI l) Initial program 21.0
Simplified21.0
rmApplied associate-/r*20.9
rmApplied insert-posit1614.6
if -1.9372357391859827e+207 < (* PI l) < -1.2977109214087882e+23Initial program 25.4
Simplified25.4
rmApplied insert-posit1614.5
if -1.2977109214087882e+23 < (* PI l) < 1.542584206713776e-34Initial program 9.4
Simplified8.8
rmApplied associate-/r*1.0
rmApplied clear-num1.0
Final simplification8.3
herbie shell --seed 2019153
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))