\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 r1109240 = x;
double r1109241 = y;
double r1109242 = r1109240 / r1109241;
double r1109243 = 1.0;
double r1109244 = r1109242 + r1109243;
double r1109245 = r1109240 * r1109244;
double r1109246 = r1109240 + r1109243;
double r1109247 = r1109245 / r1109246;
return r1109247;
}
double f(double x, double y) {
double r1109248 = x;
double r1109249 = 1.0;
double r1109250 = r1109248 + r1109249;
double r1109251 = y;
double r1109252 = r1109248 / r1109251;
double r1109253 = r1109252 + r1109249;
double r1109254 = r1109250 / r1109253;
double r1109255 = r1109248 / r1109254;
return r1109255;
}




Bits error versus x




Bits error versus y
Results
| Original | 9.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 9.1
rmApplied associate-/l*0.1
Final simplification0.1
herbie shell --seed 2019351 +o rules:numerics
(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)))