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 r895633 = x;
double r895634 = y;
double r895635 = r895633 * r895634;
double r895636 = z;
double r895637 = 1.0;
double r895638 = r895637 - r895634;
double r895639 = r895636 * r895638;
double r895640 = r895635 + r895639;
return r895640;
}
double f(double x, double y, double z) {
double r895641 = x;
double r895642 = y;
double r895643 = r895641 * r895642;
double r895644 = z;
double r895645 = 1.0;
double r895646 = r895645 - r895642;
double r895647 = r895644 * r895646;
double r895648 = r895643 + r895647;
return r895648;
}




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