x + \left(y - z\right) \cdot \left(t - x\right)
\left(\left(z \cdot x + \left(-x\right) \cdot y\right) + \left(t \cdot y + \left(-t\right) \cdot z\right)\right) + x
double f(double x, double y, double z, double t) {
double r40090771 = x;
double r40090772 = y;
double r40090773 = z;
double r40090774 = r40090772 - r40090773;
double r40090775 = t;
double r40090776 = r40090775 - r40090771;
double r40090777 = r40090774 * r40090776;
double r40090778 = r40090771 + r40090777;
return r40090778;
}
double f(double x, double y, double z, double t) {
double r40090779 = z;
double r40090780 = x;
double r40090781 = r40090779 * r40090780;
double r40090782 = -r40090780;
double r40090783 = y;
double r40090784 = r40090782 * r40090783;
double r40090785 = r40090781 + r40090784;
double r40090786 = t;
double r40090787 = r40090786 * r40090783;
double r40090788 = -r40090786;
double r40090789 = r40090788 * r40090779;
double r40090790 = r40090787 + r40090789;
double r40090791 = r40090785 + r40090790;
double r40090792 = r40090791 + r40090780;
return r40090792;
}




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-rgt-in0.0
rmApplied sub-neg0.0
Applied distribute-rgt-in0.0
Simplified0.0
rmApplied sub-neg0.0
Applied distribute-rgt-in0.0
Final simplification0.0
herbie shell --seed 2019172
(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))))