\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 Error: 16.8 bits
rmApplied *-un-lft-identityError: 16.8 bits
Applied times-fracError: 16.8 bits
Applied associate-*l*Error: 12.3 bits
SimplifiedError: 12.3 bits
rmApplied add-cube-cbrtError: 12.5 bits
Applied associate-*r*Error: 12.5 bits
rmApplied add-cube-cbrtError: 12.6 bits
Final simplificationError: 12.6 bits
herbie shell --seed 2020205
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
:precision binary64
(- (* PI l) (* (/ 1.0 (* F F)) (tan (* PI l)))))