x \cdot \frac{\frac{y}{z} \cdot t}{t}\left(\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(\left(\sqrt[3]{x} \cdot \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right)\right) \cdot \frac{1}{\sqrt[3]{z} \cdot \sqrt[3]{z}}\right)\right) \cdot \frac{\left(\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}\right) \cdot \sqrt[3]{\sqrt[3]{y}}}{\sqrt[3]{z}}double code(double x, double y, double z, double t) {
return ((double) (x * ((double) (((double) (((double) (y / z)) * t)) / t))));
}
double code(double x, double y, double z, double t) {
return ((double) (((double) (((double) (((double) cbrt(x)) * ((double) cbrt(x)))) * ((double) (((double) (((double) cbrt(x)) * ((double) (((double) cbrt(y)) * ((double) cbrt(y)))))) * ((double) (1.0 / ((double) (((double) cbrt(z)) * ((double) cbrt(z)))))))))) * ((double) (((double) (((double) (((double) cbrt(((double) cbrt(y)))) * ((double) cbrt(((double) cbrt(y)))))) * ((double) cbrt(((double) cbrt(y)))))) / ((double) cbrt(z))))));
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 14.7
Simplified5.9
rmApplied add-cube-cbrt6.7
Applied add-cube-cbrt6.9
Applied times-frac6.9
Applied associate-*r*2.0
rmApplied add-cube-cbrt2.2
rmApplied add-cube-cbrt2.3
Applied associate-*l*2.3
rmApplied div-inv2.3
Applied associate-*r*1.6
Final simplification1.6
herbie shell --seed 2020122 +o rules:numerics
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
:precision binary64
(* x (/ (* (/ y z) t) t)))