x + \left(y - z\right) \cdot \left(t - x\right)
\left(x + \left(t \cdot y + t \cdot \left(-z\right)\right)\right) + \left(y - z\right) \cdot \left(-x\right)
double f(double x, double y, double z, double t) {
double r1005777 = x;
double r1005778 = y;
double r1005779 = z;
double r1005780 = r1005778 - r1005779;
double r1005781 = t;
double r1005782 = r1005781 - r1005777;
double r1005783 = r1005780 * r1005782;
double r1005784 = r1005777 + r1005783;
return r1005784;
}
double f(double x, double y, double z, double t) {
double r1005785 = x;
double r1005786 = t;
double r1005787 = y;
double r1005788 = r1005786 * r1005787;
double r1005789 = z;
double r1005790 = -r1005789;
double r1005791 = r1005786 * r1005790;
double r1005792 = r1005788 + r1005791;
double r1005793 = r1005785 + r1005792;
double r1005794 = r1005787 - r1005789;
double r1005795 = -r1005785;
double r1005796 = r1005794 * r1005795;
double r1005797 = r1005793 + r1005796;
return r1005797;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
rmApplied sub-neg0.0
Applied distribute-lft-in0.0
Applied associate-+r+0.0
Simplified0.0
rmApplied sub-neg0.0
Applied distribute-lft-in0.0
Final simplification0.0
herbie shell --seed 2019353
(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))))