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 r35628639 = x;
double r35628640 = y;
double r35628641 = r35628639 * r35628640;
double r35628642 = z;
double r35628643 = 1.0;
double r35628644 = r35628643 - r35628640;
double r35628645 = r35628642 * r35628644;
double r35628646 = r35628641 + r35628645;
return r35628646;
}
double f(double x, double y, double z) {
double r35628647 = x;
double r35628648 = y;
double r35628649 = r35628647 * r35628648;
double r35628650 = z;
double r35628651 = 1.0;
double r35628652 = r35628651 - r35628648;
double r35628653 = r35628650 * r35628652;
double r35628654 = r35628649 + r35628653;
return r35628654;
}




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 2019171
(FPCore (x y z)
:name "Diagrams.TwoD.Segment:bezierClip from diagrams-lib-1.3.0.3"
:herbie-target
(- z (* (- z x) y))
(+ (* x y) (* z (- 1.0 y))))