x \cdot \left(1 - x \cdot y\right)
\left(1 - x \cdot y\right) \cdot x
double f(double x, double y) {
double r59942 = x;
double r59943 = 1.0;
double r59944 = y;
double r59945 = r59942 * r59944;
double r59946 = r59943 - r59945;
double r59947 = r59942 * r59946;
return r59947;
}
double f(double x, double y) {
double r59948 = 1.0;
double r59949 = x;
double r59950 = y;
double r59951 = r59949 * r59950;
double r59952 = r59948 - r59951;
double r59953 = r59952 * r59949;
return r59953;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.1
rmApplied sub-neg0.1
Applied distribute-lft-in0.1
Final simplification0.1
herbie shell --seed 2019304
(FPCore (x y)
:name "Numeric.SpecFunctions:log1p from math-functions-0.1.5.2, A"
:precision binary64
(* x (- 1 (* x y))))