x \cdot \left(1 - x \cdot y\right)
\left(1 - x \cdot y\right) \cdot x
double f(double x, double y) {
double r55221 = x;
double r55222 = 1.0;
double r55223 = y;
double r55224 = r55221 * r55223;
double r55225 = r55222 - r55224;
double r55226 = r55221 * r55225;
return r55226;
}
double f(double x, double y) {
double r55227 = 1.0;
double r55228 = x;
double r55229 = y;
double r55230 = r55228 * r55229;
double r55231 = r55227 - r55230;
double r55232 = r55231 * r55228;
return r55232;
}



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