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 r778564 = x;
double r778565 = y;
double r778566 = r778564 * r778565;
double r778567 = z;
double r778568 = 1.0;
double r778569 = r778568 - r778565;
double r778570 = r778567 * r778569;
double r778571 = r778566 + r778570;
return r778571;
}
double f(double x, double y, double z) {
double r778572 = x;
double r778573 = y;
double r778574 = r778572 * r778573;
double r778575 = z;
double r778576 = 1.0;
double r778577 = r778576 - r778573;
double r778578 = r778575 * r778577;
double r778579 = r778574 + r778578;
return r778579;
}




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 2020046
(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))))