\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 r32958129 = x;
double r32958130 = y;
double r32958131 = z;
double r32958132 = r32958130 - r32958131;
double r32958133 = r32958129 * r32958132;
double r32958134 = t;
double r32958135 = r32958134 - r32958131;
double r32958136 = r32958133 / r32958135;
return r32958136;
}
double f(double x, double y, double z, double t) {
double r32958137 = x;
double r32958138 = y;
double r32958139 = z;
double r32958140 = r32958138 - r32958139;
double r32958141 = t;
double r32958142 = r32958141 - r32958139;
double r32958143 = r32958140 / r32958142;
double r32958144 = r32958137 * r32958143;
return r32958144;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 11.8 |
|---|---|
| Target | 2.1 |
| Herbie | 2.2 |
Initial program 11.8
rmApplied *-un-lft-identity11.8
Applied times-frac2.2
Simplified2.2
Final simplification2.2
herbie shell --seed 2019168
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Plot.AreaSpots:renderAreaSpots4D from Chart-1.5.3"
:herbie-target
(/ x (/ (- t z) (- y z)))
(/ (* x (- y z)) (- t z)))