\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 r499951 = x;
double r499952 = y;
double r499953 = z;
double r499954 = r499952 - r499953;
double r499955 = r499951 * r499954;
double r499956 = t;
double r499957 = r499956 - r499953;
double r499958 = r499955 / r499957;
return r499958;
}
double f(double x, double y, double z, double t) {
double r499959 = x;
double r499960 = y;
double r499961 = z;
double r499962 = r499960 - r499961;
double r499963 = t;
double r499964 = r499963 - r499961;
double r499965 = r499962 / r499964;
double r499966 = r499959 * r499965;
return r499966;
}




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.0 |
Initial program 11.8
rmApplied *-un-lft-identity11.8
Applied times-frac2.0
Simplified2.0
Final simplification2.0
herbie shell --seed 2019351 +o rules:numerics
(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)))