x \cdot \left(1 - x \cdot y\right)
x \cdot 1 + x \cdot \left(-x \cdot y\right)
double f(double x, double y) {
double r55607 = x;
double r55608 = 1.0;
double r55609 = y;
double r55610 = r55607 * r55609;
double r55611 = r55608 - r55610;
double r55612 = r55607 * r55611;
return r55612;
}
double f(double x, double y) {
double r55613 = x;
double r55614 = 1.0;
double r55615 = r55613 * r55614;
double r55616 = y;
double r55617 = r55613 * r55616;
double r55618 = -r55617;
double r55619 = r55613 * r55618;
double r55620 = r55615 + r55619;
return r55620;
}



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 2019354
(FPCore (x y)
:name "Numeric.SpecFunctions:log1p from math-functions-0.1.5.2, A"
:precision binary64
(* x (- 1 (* x y))))