x \cdot y + z \cdot \left(1 - y\right)
\mathsf{fma}\left(x, y, z \cdot 1 + \left(-y\right) \cdot z\right)double f(double x, double y, double z) {
double r362823 = x;
double r362824 = y;
double r362825 = r362823 * r362824;
double r362826 = z;
double r362827 = 1.0;
double r362828 = r362827 - r362824;
double r362829 = r362826 * r362828;
double r362830 = r362825 + r362829;
return r362830;
}
double f(double x, double y, double z) {
double r362831 = x;
double r362832 = y;
double r362833 = z;
double r362834 = 1.0;
double r362835 = r362833 * r362834;
double r362836 = -r362832;
double r362837 = r362836 * r362833;
double r362838 = r362835 + r362837;
double r362839 = fma(r362831, r362832, r362838);
return r362839;
}




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
rmApplied sub-neg0.0
Applied distribute-lft-in0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019326 +o rules:numerics
(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))))