\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 r565926 = x;
double r565927 = y;
double r565928 = r565926 / r565927;
double r565929 = 1.0;
double r565930 = r565928 + r565929;
double r565931 = r565926 * r565930;
double r565932 = r565926 + r565929;
double r565933 = r565931 / r565932;
return r565933;
}
double f(double x, double y) {
double r565934 = x;
double r565935 = 1.0;
double r565936 = r565934 + r565935;
double r565937 = y;
double r565938 = r565934 / r565937;
double r565939 = r565938 + r565935;
double r565940 = r565936 / r565939;
double r565941 = r565934 / r565940;
return r565941;
}




Bits error versus x




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