\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)
\begin{array}{l}
t_0 := \sqrt{\sqrt{\pi}}\\
\pi \cdot \ell - \frac{\frac{\tan \left(\sqrt{\pi} \cdot \left(t_0 \cdot \left(\ell \cdot t_0\right)\right)\right)}{F}}{F}
\end{array}
(FPCore (F l) :precision binary64 (- (* PI l) (* (/ 1.0 (* F F)) (tan (* PI l)))))
(FPCore (F l) :precision binary64 (let* ((t_0 (sqrt (sqrt PI)))) (- (* PI l) (/ (/ (tan (* (sqrt PI) (* t_0 (* l t_0)))) F) F))))
double code(double F, double l) {
return (((double) M_PI) * l) - ((1.0 / (F * F)) * tan(((double) M_PI) * l));
}
double code(double F, double l) {
double t_0 = sqrt(sqrt((double) M_PI));
return (((double) M_PI) * l) - ((tan(sqrt((double) M_PI) * (t_0 * (l * t_0))) / F) / F);
}



Bits error versus F



Bits error versus l
Results
Initial program 16.6
Simplified16.3
Applied associate-/r*_binary6412.4
Applied add-sqr-sqrt_binary6412.6
Applied associate-*l*_binary6412.6
Applied add-sqr-sqrt_binary6412.5
Applied associate-*l*_binary6412.5
Final simplification12.5
herbie shell --seed 2021215
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
:precision binary64
(- (* PI l) (* (/ 1.0 (* F F)) (tan (* PI l)))))