\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\pi \cdot \ell + 1 \cdot \frac{\frac{-1}{F}}{\frac{F}{\pi \cdot \ell} + \pi \cdot \left(\ell \cdot \left(F \cdot -0.3333333333333333\right)\right)}(FPCore (F l) :precision binary64 (- (* PI l) (* (/ 1.0 (* F F)) (tan (* PI l)))))
(FPCore (F l) :precision binary64 (+ (* PI l) (* 1.0 (/ (/ -1.0 F) (+ (/ F (* PI l)) (* PI (* l (* F -0.3333333333333333))))))))
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 * ((-1.0 / F) / ((double) ((F / ((double) (((double) M_PI) * l))) + ((double) (((double) M_PI) * ((double) (l * ((double) (F * -0.3333333333333333)))))))))))));
}



Bits error versus F



Bits error versus l
Results
Initial program Error: 16.1 bits
SimplifiedError: 15.8 bits
rmApplied clear-numError: 15.9 bits
SimplifiedError: 11.9 bits
rmApplied associate-/r*Error: 11.9 bits
Taylor expanded around 0 Error: 8.3 bits
SimplifiedError: 8.3 bits
Final simplificationError: 8.3 bits
herbie shell --seed 2020204
(FPCore (F l)
:name "VandenBroeck and Keller, Equation (6)"
:precision binary64
(- (* PI l) (* (/ 1.0 (* F F)) (tan (* PI l)))))