x + \left(y - z\right) \cdot \left(t - x\right)
\left(y - z\right) \cdot \left(-x\right) + \left(\left(y - z\right) \cdot t + x\right)
double f(double x, double y, double z, double t) {
double r43234910 = x;
double r43234911 = y;
double r43234912 = z;
double r43234913 = r43234911 - r43234912;
double r43234914 = t;
double r43234915 = r43234914 - r43234910;
double r43234916 = r43234913 * r43234915;
double r43234917 = r43234910 + r43234916;
return r43234917;
}
double f(double x, double y, double z, double t) {
double r43234918 = y;
double r43234919 = z;
double r43234920 = r43234918 - r43234919;
double r43234921 = x;
double r43234922 = -r43234921;
double r43234923 = r43234920 * r43234922;
double r43234924 = t;
double r43234925 = r43234920 * r43234924;
double r43234926 = r43234925 + r43234921;
double r43234927 = r43234923 + r43234926;
return r43234927;
}




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
Final simplification0.0
herbie shell --seed 2019169
(FPCore (x y z t)
:name "Data.Metrics.Snapshot:quantile from metrics-0.3.0.2"
:herbie-target
(+ x (+ (* t (- y z)) (* (- x) (- y z))))
(+ x (* (- y z) (- t x))))