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 r25787148 = x;
double r25787149 = y;
double r25787150 = r25787148 * r25787149;
double r25787151 = z;
double r25787152 = 1.0;
double r25787153 = r25787152 - r25787149;
double r25787154 = r25787151 * r25787153;
double r25787155 = r25787150 + r25787154;
return r25787155;
}
double f(double x, double y, double z) {
double r25787156 = x;
double r25787157 = y;
double r25787158 = r25787156 * r25787157;
double r25787159 = z;
double r25787160 = 1.0;
double r25787161 = r25787160 - r25787157;
double r25787162 = r25787159 * r25787161;
double r25787163 = r25787158 + r25787162;
return r25787163;
}




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