\frac{x \cdot \left(\frac{x}{y} + 1.0\right)}{x + 1.0}\frac{x}{\frac{1.0 + x}{1.0 + \frac{x}{y}}}double f(double x, double y) {
double r37567261 = x;
double r37567262 = y;
double r37567263 = r37567261 / r37567262;
double r37567264 = 1.0;
double r37567265 = r37567263 + r37567264;
double r37567266 = r37567261 * r37567265;
double r37567267 = r37567261 + r37567264;
double r37567268 = r37567266 / r37567267;
return r37567268;
}
double f(double x, double y) {
double r37567269 = x;
double r37567270 = 1.0;
double r37567271 = r37567270 + r37567269;
double r37567272 = y;
double r37567273 = r37567269 / r37567272;
double r37567274 = r37567270 + r37567273;
double r37567275 = r37567271 / r37567274;
double r37567276 = r37567269 / r37567275;
return r37567276;
}




Bits error versus x




Bits error versus y
Results
| Original | 8.6 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 8.6
rmApplied associate-/l*0.1
Final simplification0.1
herbie shell --seed 2019165
(FPCore (x y)
:name "Codec.Picture.Types:toneMapping from JuicyPixels-3.2.6.1"
:herbie-target
(* (/ x 1) (/ (+ (/ x y) 1.0) (+ x 1.0)))
(/ (* x (+ (/ x y) 1.0)) (+ x 1.0)))