\frac{x \cdot \left(y - z\right)}{t - z}\frac{x \cdot \left(y - z\right)}{t - z}double f(double x, double y, double z, double t) {
double r444405 = x;
double r444406 = y;
double r444407 = z;
double r444408 = r444406 - r444407;
double r444409 = r444405 * r444408;
double r444410 = t;
double r444411 = r444410 - r444407;
double r444412 = r444409 / r444411;
return r444412;
}
double f(double x, double y, double z, double t) {
double r444413 = x;
double r444414 = y;
double r444415 = z;
double r444416 = r444414 - r444415;
double r444417 = r444413 * r444416;
double r444418 = t;
double r444419 = r444418 - r444415;
double r444420 = r444417 / r444419;
return r444420;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 11.3 |
|---|---|
| Target | 2.2 |
| Herbie | 11.3 |
Initial program 11.3
rmApplied *-un-lft-identity11.3
Applied times-frac2.1
Simplified2.1
rmApplied add-cube-cbrt3.2
Applied add-cube-cbrt2.9
Applied times-frac2.9
Applied associate-*r*1.1
Final simplification11.3
herbie shell --seed 2019291
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Plot.AreaSpots:renderAreaSpots4D from Chart-1.5.3"
:precision binary64
:herbie-target
(/ x (/ (- t z) (- y z)))
(/ (* x (- y z)) (- t z)))