\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 r561830 = x;
double r561831 = y;
double r561832 = r561830 / r561831;
double r561833 = 1.0;
double r561834 = r561832 + r561833;
double r561835 = r561830 * r561834;
double r561836 = r561830 + r561833;
double r561837 = r561835 / r561836;
return r561837;
}
double f(double x, double y) {
double r561838 = x;
double r561839 = 1.0;
double r561840 = r561838 + r561839;
double r561841 = y;
double r561842 = r561838 / r561841;
double r561843 = r561842 + r561839;
double r561844 = r561840 / r561843;
double r561845 = r561838 / r561844;
return r561845;
}




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