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 r545431 = x;
double r545432 = y;
double r545433 = r545431 * r545432;
double r545434 = z;
double r545435 = 1.0;
double r545436 = r545435 - r545432;
double r545437 = r545434 * r545436;
double r545438 = r545433 + r545437;
return r545438;
}
double f(double x, double y, double z) {
double r545439 = x;
double r545440 = y;
double r545441 = r545439 * r545440;
double r545442 = z;
double r545443 = 1.0;
double r545444 = r545443 - r545440;
double r545445 = r545442 * r545444;
double r545446 = r545441 + r545445;
return r545446;
}




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