double code(double t, double l, double k) {
return ((double) (2.0 / ((double) (((double) (((double) (((double) (((double) pow(t, 3.0)) / ((double) (l * l)))) * ((double) sin(k)))) * ((double) tan(k)))) * ((double) (((double) (1.0 + ((double) pow(((double) (k / t)), 2.0)))) + 1.0))))));
}
double code(double t, double l, double k) {
return ((double) (2.0 / ((double) (((double) (((double) (1.0 + ((double) (1.0 + ((double) pow(((double) (k / t)), 2.0)))))) * ((double) (((double) (((double) cbrt(((double) pow(((double) cbrt(t)), 3.0)))) * ((double) cbrt(((double) pow(((double) cbrt(t)), 3.0)))))) * ((double) (((double) (((double) cbrt(((double) pow(((double) cbrt(t)), 3.0)))) * ((double) (((double) (((double) pow(((double) cbrt(t)), 3.0)) / l)) * ((double) sin(k)))))) * ((double) tan(k)))))))) / ((double) (((double) cbrt(((double) (l / ((double) pow(((double) cbrt(t)), 3.0)))))) * ((double) (((double) cbrt(((double) (l / ((double) pow(((double) cbrt(t)), 3.0)))))) * ((double) cbrt(((double) (l / ((double) pow(((double) cbrt(t)), 3.0))))))))))))));
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
Initial program 32.2
rmApplied add-cube-cbrt32.3
Applied unpow-prod-down32.3
Applied times-frac25.3
Applied associate-*l*23.6
rmApplied unpow-prod-down23.6
Applied associate-/l*17.9
rmApplied add-cube-cbrt17.9
Applied add-cube-cbrt18.0
Applied times-frac18.0
Applied associate-*l*17.1
Simplified17.1
rmApplied associate-*r/17.1
Applied frac-times17.1
Applied associate-*l/15.9
Applied associate-*l/14.3
Simplified15.4
Final simplification15.4
herbie shell --seed 2020180
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10+)"
:precision binary64
(/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))