x \cdot y + z \cdot \left(1 - y\right)
x \cdot y + z \cdot \left(1 - y\right)
double f(double x, double y, double z) {
double r506675 = x;
double r506676 = y;
double r506677 = r506675 * r506676;
double r506678 = z;
double r506679 = 1.0;
double r506680 = r506679 - r506676;
double r506681 = r506678 * r506680;
double r506682 = r506677 + r506681;
return r506682;
}
double f(double x, double y, double z) {
double r506683 = x;
double r506684 = y;
double r506685 = r506683 * r506684;
double r506686 = z;
double r506687 = 1.0;
double r506688 = r506687 - r506684;
double r506689 = r506686 * r506688;
double r506690 = r506685 + r506689;
return r506690;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019208 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.TwoD.Segment:bezierClip from diagrams-lib-1.3.0.3"
:precision binary64
:herbie-target
(- z (* (- z x) y))
(+ (* x y) (* z (- 1 y))))