\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.513617681291804811551207555211495024682 \cdot 10^{155}:\\
\;\;\;\;\pi \cdot \ell - e^{\log \left(\frac{1}{F \cdot F}\right)} \cdot \tan \left(\pi \cdot \ell\right)\\
\mathbf{elif}\;\pi \cdot \ell \le 8.335452524306350229831998021618975263623 \cdot 10^{134}:\\
\;\;\;\;\pi \cdot \ell - \frac{\sqrt{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt{1}}{\mathsf{fma}\left({\pi}^{2} \cdot {\ell}^{2}, \frac{-1}{2}, \mathsf{fma}\left(\frac{1}{24}, {\pi}^{4} \cdot {\ell}^{4}, 1\right)\right) \cdot F}\\
\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \left(\sqrt[3]{\pi} \cdot \ell\right)\right)\\
\end{array}double f(double F, double l) {
double r24255 = atan2(1.0, 0.0);
double r24256 = l;
double r24257 = r24255 * r24256;
double r24258 = 1.0;
double r24259 = F;
double r24260 = r24259 * r24259;
double r24261 = r24258 / r24260;
double r24262 = tan(r24257);
double r24263 = r24261 * r24262;
double r24264 = r24257 - r24263;
return r24264;
}
double f(double F, double l) {
double r24265 = atan2(1.0, 0.0);
double r24266 = l;
double r24267 = r24265 * r24266;
double r24268 = -1.5136176812918048e+155;
bool r24269 = r24267 <= r24268;
double r24270 = 1.0;
double r24271 = F;
double r24272 = r24271 * r24271;
double r24273 = r24270 / r24272;
double r24274 = log(r24273);
double r24275 = exp(r24274);
double r24276 = tan(r24267);
double r24277 = r24275 * r24276;
double r24278 = r24267 - r24277;
double r24279 = 8.33545252430635e+134;
bool r24280 = r24267 <= r24279;
double r24281 = sqrt(r24270);
double r24282 = r24281 / r24271;
double r24283 = sin(r24267);
double r24284 = r24283 * r24281;
double r24285 = 2.0;
double r24286 = pow(r24265, r24285);
double r24287 = pow(r24266, r24285);
double r24288 = r24286 * r24287;
double r24289 = -0.5;
double r24290 = 0.041666666666666664;
double r24291 = 4.0;
double r24292 = pow(r24265, r24291);
double r24293 = pow(r24266, r24291);
double r24294 = r24292 * r24293;
double r24295 = 1.0;
double r24296 = fma(r24290, r24294, r24295);
double r24297 = fma(r24288, r24289, r24296);
double r24298 = r24297 * r24271;
double r24299 = r24284 / r24298;
double r24300 = r24282 * r24299;
double r24301 = r24267 - r24300;
double r24302 = cbrt(r24265);
double r24303 = r24302 * r24302;
double r24304 = r24302 * r24266;
double r24305 = r24303 * r24304;
double r24306 = tan(r24305);
double r24307 = r24273 * r24306;
double r24308 = r24267 - r24307;
double r24309 = r24280 ? r24301 : r24308;
double r24310 = r24269 ? r24278 : r24309;
return r24310;
}



Bits error versus F



Bits error versus l
if (* PI l) < -1.5136176812918048e+155Initial program 21.3
rmApplied add-exp-log42.8
Applied add-exp-log42.8
Applied prod-exp42.8
Applied add-exp-log42.8
Applied div-exp42.8
Simplified21.3
if -1.5136176812918048e+155 < (* PI l) < 8.33545252430635e+134Initial program 15.1
rmApplied add-sqr-sqrt15.1
Applied times-frac15.2
Applied associate-*l*9.0
Taylor expanded around inf 9.0
Taylor expanded around 0 3.6
Simplified3.6
if 8.33545252430635e+134 < (* PI l) Initial program 19.9
rmApplied add-cube-cbrt19.8
Applied associate-*l*19.9
Final simplification8.4
herbie shell --seed 2019326 +o rules:numerics
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
:precision binary64
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))