x \cdot y + \left(1 - x\right) \cdot z
\mathsf{fma}\left(y, x, 1 \cdot \left(z - x \cdot z\right)\right)double f(double x, double y, double z) {
double r173945 = x;
double r173946 = y;
double r173947 = r173945 * r173946;
double r173948 = 1.0;
double r173949 = r173948 - r173945;
double r173950 = z;
double r173951 = r173949 * r173950;
double r173952 = r173947 + r173951;
return r173952;
}
double f(double x, double y, double z) {
double r173953 = y;
double r173954 = x;
double r173955 = 1.0;
double r173956 = z;
double r173957 = r173954 * r173956;
double r173958 = r173956 - r173957;
double r173959 = r173955 * r173958;
double r173960 = fma(r173953, r173954, r173959);
return r173960;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.0
Simplified0.0
rmApplied flip--7.6
Applied associate-*l/9.8
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020018 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.Backend.Rasterific:$crender from diagrams-rasterific-1.3.1.3"
:precision binary64
(+ (* x y) (* (- 1 x) z)))