\frac{x \cdot \left(y - z\right)}{t - z}x \cdot \frac{y - z}{t - z}double f(double x, double y, double z, double t) {
double r567099 = x;
double r567100 = y;
double r567101 = z;
double r567102 = r567100 - r567101;
double r567103 = r567099 * r567102;
double r567104 = t;
double r567105 = r567104 - r567101;
double r567106 = r567103 / r567105;
return r567106;
}
double f(double x, double y, double z, double t) {
double r567107 = x;
double r567108 = y;
double r567109 = z;
double r567110 = r567108 - r567109;
double r567111 = t;
double r567112 = r567111 - r567109;
double r567113 = r567110 / r567112;
double r567114 = r567107 * r567113;
return r567114;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 11.6 |
|---|---|
| Target | 2.1 |
| Herbie | 2.1 |
Initial program 11.6
rmApplied *-un-lft-identity11.6
Applied times-frac2.1
Simplified2.1
Final simplification2.1
herbie shell --seed 2020100
(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)))