\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\pi \cdot \ell - \frac{1}{F} \cdot \left(\frac{1}{F} \cdot \left(\left(\sqrt[3]{\tan \left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \left(\sqrt[3]{\pi} \cdot \ell\right)\right)} \cdot \sqrt[3]{\tan \left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \left(\sqrt[3]{\pi} \cdot \ell\right)\right)}\right) \cdot \sqrt[3]{\tan \left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \left(\sqrt[3]{\pi} \cdot \ell\right)\right)}\right)\right)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) {
return ((((double) M_PI) * l) - ((1.0 / F) * ((1.0 / F) * ((cbrt(tan(((cbrt(((double) M_PI)) * cbrt(((double) M_PI))) * (cbrt(((double) M_PI)) * l)))) * cbrt(tan(((cbrt(((double) M_PI)) * cbrt(((double) M_PI))) * (cbrt(((double) M_PI)) * l))))) * cbrt(tan(((cbrt(((double) M_PI)) * cbrt(((double) M_PI))) * (cbrt(((double) M_PI)) * l))))))));
}



Bits error versus F



Bits error versus l
Results
Initial program 16.4
rmApplied *-un-lft-identity16.4
Applied times-frac16.4
Applied associate-*l*12.4
rmApplied add-cube-cbrt12.6
Applied associate-*l*12.6
rmApplied add-cube-cbrt12.7
Final simplification12.7
herbie shell --seed 2020049 +o rules:numerics
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
:precision binary64
(- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))