x + \left(y - z\right) \cdot \left(t - x\right)
\mathsf{fma}\left(t - x, y - z, x\right)double f(double x, double y, double z, double t) {
double r835827 = x;
double r835828 = y;
double r835829 = z;
double r835830 = r835828 - r835829;
double r835831 = t;
double r835832 = r835831 - r835827;
double r835833 = r835830 * r835832;
double r835834 = r835827 + r835833;
return r835834;
}
double f(double x, double y, double z, double t) {
double r835835 = t;
double r835836 = x;
double r835837 = r835835 - r835836;
double r835838 = y;
double r835839 = z;
double r835840 = r835838 - r835839;
double r835841 = fma(r835837, r835840, r835836);
return r835841;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020027 +o rules:numerics
(FPCore (x y z t)
:name "Data.Metrics.Snapshot:quantile from metrics-0.3.0.2"
:precision binary64
:herbie-target
(+ x (+ (* t (- y z)) (* (- x) (- y z))))
(+ x (* (- y z) (- t x))))