\left(1 - x\right) \cdot y + x \cdot z
\mathsf{fma}\left(y, 1 - x, z \cdot x\right)double f(double x, double y, double z) {
double r28303120 = 1.0;
double r28303121 = x;
double r28303122 = r28303120 - r28303121;
double r28303123 = y;
double r28303124 = r28303122 * r28303123;
double r28303125 = z;
double r28303126 = r28303121 * r28303125;
double r28303127 = r28303124 + r28303126;
return r28303127;
}
double f(double x, double y, double z) {
double r28303128 = y;
double r28303129 = 1.0;
double r28303130 = x;
double r28303131 = r28303129 - r28303130;
double r28303132 = z;
double r28303133 = r28303132 * r28303130;
double r28303134 = fma(r28303128, r28303131, r28303133);
return r28303134;
}




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