\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 r756481 = x;
double r756482 = y;
double r756483 = r756481 / r756482;
double r756484 = 1.0;
double r756485 = r756483 + r756484;
double r756486 = r756481 * r756485;
double r756487 = r756481 + r756484;
double r756488 = r756486 / r756487;
return r756488;
}
double f(double x, double y) {
double r756489 = x;
double r756490 = 1.0;
double r756491 = r756489 + r756490;
double r756492 = y;
double r756493 = r756489 / r756492;
double r756494 = r756493 + r756490;
double r756495 = r756491 / r756494;
double r756496 = r756489 / r756495;
return r756496;
}




Bits error versus x




Bits error versus y
Results
| Original | 9.4 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 9.4
rmApplied associate-/l*0.1
Final simplification0.1
herbie shell --seed 2020002
(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)))