x \cdot \left(1 - x \cdot y\right)
x \cdot 1 + \left(y \cdot x\right) \cdot \left(-x\right)
double f(double x, double y) {
double r56270 = x;
double r56271 = 1.0;
double r56272 = y;
double r56273 = r56270 * r56272;
double r56274 = r56271 - r56273;
double r56275 = r56270 * r56274;
return r56275;
}
double f(double x, double y) {
double r56276 = x;
double r56277 = 1.0;
double r56278 = r56276 * r56277;
double r56279 = y;
double r56280 = r56279 * r56276;
double r56281 = -r56276;
double r56282 = r56280 * r56281;
double r56283 = r56278 + r56282;
return r56283;
}



Bits error versus x



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