x \cdot y + z \cdot \left(1 - y\right)
\mathsf{fma}\left(x, y, z \cdot \left(1 - y\right)\right)double f(double x, double y, double z) {
double r40293042 = x;
double r40293043 = y;
double r40293044 = r40293042 * r40293043;
double r40293045 = z;
double r40293046 = 1.0;
double r40293047 = r40293046 - r40293043;
double r40293048 = r40293045 * r40293047;
double r40293049 = r40293044 + r40293048;
return r40293049;
}
double f(double x, double y, double z) {
double r40293050 = x;
double r40293051 = y;
double r40293052 = z;
double r40293053 = 1.0;
double r40293054 = r40293053 - r40293051;
double r40293055 = r40293052 * r40293054;
double r40293056 = fma(r40293050, r40293051, r40293055);
return r40293056;
}




Bits error versus x




Bits error versus y




Bits error versus z
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019174 +o rules:numerics
(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))))