\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 r581760 = x;
double r581761 = y;
double r581762 = r581760 / r581761;
double r581763 = 1.0;
double r581764 = r581762 + r581763;
double r581765 = r581760 * r581764;
double r581766 = r581760 + r581763;
double r581767 = r581765 / r581766;
return r581767;
}
double f(double x, double y) {
double r581768 = x;
double r581769 = 1.0;
double r581770 = r581768 + r581769;
double r581771 = y;
double r581772 = r581768 / r581771;
double r581773 = r581772 + r581769;
double r581774 = r581770 / r581773;
double r581775 = r581768 / r581774;
return r581775;
}




Bits error versus x




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