\left(1 - x\right) \cdot y + x \cdot z
\mathsf{fma}\left(x, z, \left(1 - x\right) \cdot y\right)double f(double x, double y, double z) {
double r47647354 = 1.0;
double r47647355 = x;
double r47647356 = r47647354 - r47647355;
double r47647357 = y;
double r47647358 = r47647356 * r47647357;
double r47647359 = z;
double r47647360 = r47647355 * r47647359;
double r47647361 = r47647358 + r47647360;
return r47647361;
}
double f(double x, double y, double z) {
double r47647362 = x;
double r47647363 = z;
double r47647364 = 1.0;
double r47647365 = r47647364 - r47647362;
double r47647366 = y;
double r47647367 = r47647365 * r47647366;
double r47647368 = fma(r47647362, r47647363, r47647367);
return r47647368;
}




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 add-sqr-sqrt32.2
rmApplied *-un-lft-identity32.2
Applied sqrt-prod32.2
Applied *-un-lft-identity32.2
Applied sqrt-prod32.2
Applied swap-sqr32.2
Simplified32.2
Simplified0.0
Final simplification0.0
herbie shell --seed 2019174 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.Color.HSV:lerp from diagrams-contrib-1.3.0.5"
:herbie-target
(- y (* x (- y z)))
(+ (* (- 1.0 x) y) (* x z)))