\frac{x \cdot \left(\frac{x}{y} + 1\right)}{x + 1}\frac{x}{\frac{1 + x}{1 + \frac{x}{y}}}double f(double x, double y) {
double r42406423 = x;
double r42406424 = y;
double r42406425 = r42406423 / r42406424;
double r42406426 = 1.0;
double r42406427 = r42406425 + r42406426;
double r42406428 = r42406423 * r42406427;
double r42406429 = r42406423 + r42406426;
double r42406430 = r42406428 / r42406429;
return r42406430;
}
double f(double x, double y) {
double r42406431 = x;
double r42406432 = 1.0;
double r42406433 = r42406432 + r42406431;
double r42406434 = y;
double r42406435 = r42406431 / r42406434;
double r42406436 = r42406432 + r42406435;
double r42406437 = r42406433 / r42406436;
double r42406438 = r42406431 / r42406437;
return r42406438;
}




Bits error versus x




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