\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 r513341 = x;
double r513342 = y;
double r513343 = r513341 / r513342;
double r513344 = 1.0;
double r513345 = r513343 + r513344;
double r513346 = r513341 * r513345;
double r513347 = r513341 + r513344;
double r513348 = r513346 / r513347;
return r513348;
}
double f(double x, double y) {
double r513349 = x;
double r513350 = 1.0;
double r513351 = r513349 + r513350;
double r513352 = y;
double r513353 = r513349 / r513352;
double r513354 = r513353 + r513350;
double r513355 = r513351 / r513354;
double r513356 = r513349 / r513355;
return r513356;
}




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 +o rules:numerics
(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)))