x \cdot \frac{\frac{y}{z} \cdot t}{t}\frac{x \cdot y}{z}double f(double x, double y, double z, double t) {
double r93473 = x;
double r93474 = y;
double r93475 = z;
double r93476 = r93474 / r93475;
double r93477 = t;
double r93478 = r93476 * r93477;
double r93479 = r93478 / r93477;
double r93480 = r93473 * r93479;
return r93480;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r93481 = x;
double r93482 = y;
double r93483 = r93481 * r93482;
double r93484 = z;
double r93485 = r93483 / r93484;
return r93485;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if (/ y z) < -1.19966857532151e+150 or 2.848942305436544e+181 < (/ y z) Initial program 36.7
Simplified20.1
rmApplied add-cube-cbrt20.9
Applied *-un-lft-identity20.9
Applied times-frac20.9
Applied associate-*r*6.5
Simplified6.5
rmApplied *-un-lft-identity6.5
Applied associate-*l*6.5
Simplified2.3
if -1.19966857532151e+150 < (/ y z) < -2.898468428317233e-278 or 0.0 < (/ y z) < 2.848942305436544e+181Initial program 9.9
Simplified2.2
if -2.898468428317233e-278 < (/ y z) < 0.0Initial program 20.1
Simplified16.7
rmApplied div-inv16.7
Applied associate-*r*0.1
Final simplification6.5
herbie shell --seed 2019308
(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)))