x \cdot \frac{\frac{y}{z} \cdot t}{t}x \cdot \frac{y}{z}double f(double x, double y, double z, double t) {
double r87082 = x;
double r87083 = y;
double r87084 = z;
double r87085 = r87083 / r87084;
double r87086 = t;
double r87087 = r87085 * r87086;
double r87088 = r87087 / r87086;
double r87089 = r87082 * r87088;
return r87089;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r87090 = x;
double r87091 = y;
double r87092 = z;
double r87093 = r87091 / r87092;
double r87094 = r87090 * r87093;
return r87094;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if (/ y z) < -inf.0 or -1.9001417427877727e-270 < (/ y z) < 1.9873965595470336e-307 or 1.0511610758752524e+156 < (/ y z) Initial program 27.6
Simplified21.5
rmApplied associate-*r/0.8
if -inf.0 < (/ y z) < -1.9001417427877727e-270 or 1.9873965595470336e-307 < (/ y z) < 1.0511610758752524e+156Initial program 8.6
Simplified0.2
Final simplification6.3
herbie shell --seed 2019303
(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)))