x \cdot y + z \cdot \left(1 - y\right)
\mathsf{fma}\left(y, x - z, 1 \cdot z\right)double f(double x, double y, double z) {
double r27564142 = x;
double r27564143 = y;
double r27564144 = r27564142 * r27564143;
double r27564145 = z;
double r27564146 = 1.0;
double r27564147 = r27564146 - r27564143;
double r27564148 = r27564145 * r27564147;
double r27564149 = r27564144 + r27564148;
return r27564149;
}
double f(double x, double y, double z) {
double r27564150 = y;
double r27564151 = x;
double r27564152 = z;
double r27564153 = r27564151 - r27564152;
double r27564154 = 1.0;
double r27564155 = r27564154 * r27564152;
double r27564156 = fma(r27564150, r27564153, r27564155);
return r27564156;
}




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
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019172 +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))))