\left(1 - x\right) \cdot y + x \cdot z
\mathsf{fma}\left(1 - x, y, x \cdot z\right)double f(double x, double y, double z) {
double r901014 = 1.0;
double r901015 = x;
double r901016 = r901014 - r901015;
double r901017 = y;
double r901018 = r901016 * r901017;
double r901019 = z;
double r901020 = r901015 * r901019;
double r901021 = r901018 + r901020;
return r901021;
}
double f(double x, double y, double z) {
double r901022 = 1.0;
double r901023 = x;
double r901024 = r901022 - r901023;
double r901025 = y;
double r901026 = z;
double r901027 = r901023 * r901026;
double r901028 = fma(r901024, r901025, r901027);
return r901028;
}




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 2019351 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.Color.HSV:lerp from diagrams-contrib-1.3.0.5"
:precision binary64
:herbie-target
(- y (* x (- y z)))
(+ (* (- 1 x) y) (* x z)))