x \cdot \left(1 - x \cdot y\right)
\left(1 - x \cdot y\right) \cdot x
double f(double x, double y) {
double r77697 = x;
double r77698 = 1.0;
double r77699 = y;
double r77700 = r77697 * r77699;
double r77701 = r77698 - r77700;
double r77702 = r77697 * r77701;
return r77702;
}
double f(double x, double y) {
double r77703 = 1.0;
double r77704 = x;
double r77705 = y;
double r77706 = r77704 * r77705;
double r77707 = r77703 - r77706;
double r77708 = r77707 * r77704;
return r77708;
}



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