x \cdot \left(1.0 - x \cdot y\right)
x \cdot 1.0 + \left(-y \cdot x\right) \cdot x
double f(double x, double y) {
double r726463 = x;
double r726464 = 1.0;
double r726465 = y;
double r726466 = r726463 * r726465;
double r726467 = r726464 - r726466;
double r726468 = r726463 * r726467;
return r726468;
}
double f(double x, double y) {
double r726469 = x;
double r726470 = 1.0;
double r726471 = r726469 * r726470;
double r726472 = y;
double r726473 = r726472 * r726469;
double r726474 = -r726473;
double r726475 = r726474 * r726469;
double r726476 = r726471 + r726475;
return r726476;
}



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 2019156 +o rules:numerics
(FPCore (x y)
:name "Numeric.SpecFunctions:log1p from math-functions-0.1.5.2, A"
(* x (- 1.0 (* x y))))