\frac{x \cdot \left(\frac{x}{y} + 1\right)}{x + 1}\frac{x}{\frac{x + 1}{\frac{x}{y} + 1}}double f(double x, double y) {
double r788429 = x;
double r788430 = y;
double r788431 = r788429 / r788430;
double r788432 = 1.0;
double r788433 = r788431 + r788432;
double r788434 = r788429 * r788433;
double r788435 = r788429 + r788432;
double r788436 = r788434 / r788435;
return r788436;
}
double f(double x, double y) {
double r788437 = x;
double r788438 = 1.0;
double r788439 = r788437 + r788438;
double r788440 = y;
double r788441 = r788437 / r788440;
double r788442 = r788441 + r788438;
double r788443 = r788439 / r788442;
double r788444 = r788437 / r788443;
return r788444;
}




Bits error versus x




Bits error versus y
Results
| Original | 9.3 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 9.3
rmApplied associate-/l*0.1
Final simplification0.1
herbie shell --seed 2019303
(FPCore (x y)
:name "Codec.Picture.Types:toneMapping from JuicyPixels-3.2.6.1"
:precision binary64
:herbie-target
(* (/ x 1) (/ (+ (/ x y) 1) (+ x 1)))
(/ (* x (+ (/ x y) 1)) (+ x 1)))