x \cdot y + \left(1.0 - x\right) \cdot z
\mathsf{fma}\left(1.0 - x, z, x \cdot y\right)double f(double x, double y, double z) {
double r8536783 = x;
double r8536784 = y;
double r8536785 = r8536783 * r8536784;
double r8536786 = 1.0;
double r8536787 = r8536786 - r8536783;
double r8536788 = z;
double r8536789 = r8536787 * r8536788;
double r8536790 = r8536785 + r8536789;
return r8536790;
}
double f(double x, double y, double z) {
double r8536791 = 1.0;
double r8536792 = x;
double r8536793 = r8536791 - r8536792;
double r8536794 = z;
double r8536795 = y;
double r8536796 = r8536792 * r8536795;
double r8536797 = fma(r8536793, r8536794, r8536796);
return r8536797;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019164 +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)))