\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\begin{array}{l}
\mathbf{if}\;\pi \cdot \ell \le -4.146557747932015701654867671650405179036 \cdot 10^{155}:\\
\;\;\;\;\pi \cdot \ell - \left(\left(\frac{1}{F \cdot F}\right)\right) \cdot \tan \left(\pi \cdot \ell\right)\\
\mathbf{elif}\;\pi \cdot \ell \le 3.453486448446354706757533974773779608006 \cdot 10^{141}:\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F \cdot \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)} \cdot \frac{\sin \left(\pi \cdot \ell\right)}{F}\\
\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \left(\left(\frac{1}{F \cdot F}\right)\right) \cdot \tan \left(\pi \cdot \ell\right)\\
\end{array}double f(double F, double l) {
double r733123 = atan2(1.0, 0.0);
double r733124 = l;
double r733125 = r733123 * r733124;
double r733126 = 1.0;
double r733127 = F;
double r733128 = r733127 * r733127;
double r733129 = r733126 / r733128;
double r733130 = tan(r733125);
double r733131 = r733129 * r733130;
double r733132 = r733125 - r733131;
return r733132;
}
double f(double F, double l) {
double r733133 = atan2(1.0, 0.0);
double r733134 = l;
double r733135 = r733133 * r733134;
double r733136 = -4.1465577479320157e+155;
bool r733137 = r733135 <= r733136;
double r733138 = 1.0;
double r733139 = F;
double r733140 = r733139 * r733139;
double r733141 = r733138 / r733140;
double r733142 = /* ERROR: no posit support in C */;
double r733143 = /* ERROR: no posit support in C */;
double r733144 = tan(r733135);
double r733145 = r733143 * r733144;
double r733146 = r733135 - r733145;
double r733147 = 3.453486448446355e+141;
bool r733148 = r733135 <= r733147;
double r733149 = 0.041666666666666664;
double r733150 = r733135 * r733135;
double r733151 = r733150 * r733150;
double r733152 = -0.5;
double r733153 = 1.0;
double r733154 = fma(r733150, r733152, r733153);
double r733155 = fma(r733149, r733151, r733154);
double r733156 = r733139 * r733155;
double r733157 = r733138 / r733156;
double r733158 = sin(r733135);
double r733159 = r733158 / r733139;
double r733160 = r733157 * r733159;
double r733161 = r733135 - r733160;
double r733162 = r733148 ? r733161 : r733146;
double r733163 = r733137 ? r733146 : r733162;
return r733163;
}



Bits error versus F



Bits error versus l
if (* PI l) < -4.1465577479320157e+155 or 3.453486448446355e+141 < (* PI l) Initial program 21.1
rmApplied insert-posit1616.7
if -4.1465577479320157e+155 < (* PI l) < 3.453486448446355e+141Initial program 15.9
Taylor expanded around inf 15.6
Simplified9.8
rmApplied add-cube-cbrt9.8
Applied associate-*r*9.8
Taylor expanded around 0 4.3
Simplified4.3
Final simplification7.7
herbie shell --seed 2019168 +o rules:numerics
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
(- (* PI l) (* (/ 1.0 (* F F)) (tan (* PI l)))))