\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 r861501 = 1.0;
double r861502 = x;
double r861503 = r861501 - r861502;
double r861504 = y;
double r861505 = r861503 * r861504;
double r861506 = z;
double r861507 = r861502 * r861506;
double r861508 = r861505 + r861507;
return r861508;
}
double f(double x, double y, double z) {
double r861509 = 1.0;
double r861510 = x;
double r861511 = r861509 - r861510;
double r861512 = y;
double r861513 = z;
double r861514 = r861510 * r861513;
double r861515 = fma(r861511, r861512, r861514);
return r861515;
}




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 2020018 +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)))