x \cdot y + \left(1 - x\right) \cdot z
\mathsf{fma}\left(x, y, z \cdot \left(-x\right) + 1 \cdot z\right)double f(double x, double y, double z) {
double r9403626 = x;
double r9403627 = y;
double r9403628 = r9403626 * r9403627;
double r9403629 = 1.0;
double r9403630 = r9403629 - r9403626;
double r9403631 = z;
double r9403632 = r9403630 * r9403631;
double r9403633 = r9403628 + r9403632;
return r9403633;
}
double f(double x, double y, double z) {
double r9403634 = x;
double r9403635 = y;
double r9403636 = z;
double r9403637 = -r9403634;
double r9403638 = r9403636 * r9403637;
double r9403639 = 1.0;
double r9403640 = r9403639 * r9403636;
double r9403641 = r9403638 + r9403640;
double r9403642 = fma(r9403634, r9403635, r9403641);
return r9403642;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.0
Simplified0.0
rmApplied sub-neg0.0
Applied distribute-rgt-in0.0
Final simplification0.0
herbie shell --seed 2019174 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.Backend.Rasterific:$crender from diagrams-rasterific-1.3.1.3"
(+ (* x y) (* (- 1.0 x) z)))