\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\pi \cdot \ell - \frac{1}{F} \cdot \left(\tan \left(\left(\pi \cdot \left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right)\right) \cdot \left(\sqrt[3]{\sqrt[3]{\ell}} \cdot \left(\sqrt[3]{\sqrt[3]{\ell}} \cdot \sqrt[3]{\sqrt[3]{\ell}}\right)\right)\right) \cdot \frac{1}{F}\right)(FPCore (F l) :precision binary64 (- (* PI l) (* (/ 1.0 (* F F)) (tan (* PI l)))))
(FPCore (F l)
:precision binary64
(-
(* PI l)
(*
(/ 1.0 F)
(*
(tan
(*
(* PI (* (cbrt l) (cbrt l)))
(* (cbrt (cbrt l)) (* (cbrt (cbrt l)) (cbrt (cbrt l))))))
(/ 1.0 F)))))double code(double F, double l) {
return ((double) (((double) (((double) M_PI) * l)) - ((double) ((1.0 / ((double) (F * F))) * ((double) tan(((double) (((double) M_PI) * l))))))));
}
double code(double F, double l) {
return ((double) (((double) (((double) M_PI) * l)) - ((double) ((1.0 / F) * ((double) (((double) tan(((double) (((double) (((double) M_PI) * ((double) (((double) cbrt(l)) * ((double) cbrt(l)))))) * ((double) (((double) cbrt(((double) cbrt(l)))) * ((double) (((double) cbrt(((double) cbrt(l)))) * ((double) cbrt(((double) cbrt(l)))))))))))) * (1.0 / F)))))));
}



Bits error versus F



Bits error versus l
Results
Initial program 16.8
rmApplied *-un-lft-identity_binary6416.8
Applied times-frac_binary6416.8
Applied associate-*l*_binary6412.3
Simplified12.3
rmApplied add-cube-cbrt_binary6412.5
Applied associate-*r*_binary6412.5
rmApplied add-cube-cbrt_binary6412.6
Final simplification12.6
herbie shell --seed 2020205
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
:precision binary64
(- (* PI l) (* (/ 1.0 (* F F)) (tan (* PI l)))))