\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 r570874 = x;
double r570875 = y;
double r570876 = r570874 / r570875;
double r570877 = 1.0;
double r570878 = r570876 + r570877;
double r570879 = r570874 * r570878;
double r570880 = r570874 + r570877;
double r570881 = r570879 / r570880;
return r570881;
}
double f(double x, double y) {
double r570882 = x;
double r570883 = 1.0;
double r570884 = r570882 + r570883;
double r570885 = y;
double r570886 = r570882 / r570885;
double r570887 = r570886 + r570883;
double r570888 = r570884 / r570887;
double r570889 = r570882 / r570888;
return r570889;
}




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 2019212
(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)))