x \cdot y + z \cdot \left(1 - y\right)
y \cdot \left(x - z\right) + 1 \cdot z
double f(double x, double y, double z) {
double r455691 = x;
double r455692 = y;
double r455693 = r455691 * r455692;
double r455694 = z;
double r455695 = 1.0;
double r455696 = r455695 - r455692;
double r455697 = r455694 * r455696;
double r455698 = r455693 + r455697;
return r455698;
}
double f(double x, double y, double z) {
double r455699 = y;
double r455700 = x;
double r455701 = z;
double r455702 = r455700 - r455701;
double r455703 = r455699 * r455702;
double r455704 = 1.0;
double r455705 = r455704 * r455701;
double r455706 = r455703 + r455705;
return r455706;
}




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
rmApplied sub-neg0.0
Applied distribute-rgt-in0.0
Applied associate-+r+0.0
Simplified0.0
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019306
(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))))