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 r77922 = x;
double r77923 = y;
double r77924 = z;
double r77925 = r77923 / r77924;
double r77926 = t;
double r77927 = r77925 * r77926;
double r77928 = r77927 / r77926;
double r77929 = r77922 * r77928;
return r77929;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r77930 = x;
double r77931 = y;
double r77932 = z;
double r77933 = r77931 / r77932;
double r77934 = r77930 * r77933;
return r77934;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if (/ y z) < -inf.0Initial program 64.0
Simplified64.0
rmApplied div-inv64.0
Applied associate-*r*0.3
if -inf.0 < (/ y z) < -4.471661983018054e-179 or 5.2143480045202775e-160 < (/ y z) < 8.142281339311981e+291Initial program 10.1
Simplified0.2
if -4.471661983018054e-179 < (/ y z) < 5.2143480045202775e-160 or 8.142281339311981e+291 < (/ y z) Initial program 20.5
Simplified13.3
rmApplied add-cube-cbrt13.6
Applied *-un-lft-identity13.6
Applied times-frac13.6
Applied associate-*r*3.6
Simplified3.6
rmApplied associate-*r/1.1
Simplified3.6
rmApplied frac-times1.4
Applied associate-/l/1.4
Simplified0.8
Final simplification6.3
herbie shell --seed 2019298
(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)))