\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 r857699 = x;
double r857700 = y;
double r857701 = r857699 / r857700;
double r857702 = 1.0;
double r857703 = r857701 + r857702;
double r857704 = r857699 * r857703;
double r857705 = r857699 + r857702;
double r857706 = r857704 / r857705;
return r857706;
}
double f(double x, double y) {
double r857707 = x;
double r857708 = 1.0;
double r857709 = r857707 + r857708;
double r857710 = y;
double r857711 = r857707 / r857710;
double r857712 = r857711 + r857708;
double r857713 = r857709 / r857712;
double r857714 = r857707 / r857713;
return r857714;
}




Bits error versus x




Bits error versus y
Results
| Original | 9.4 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 9.4
rmApplied associate-/l*0.1
Final simplification0.1
herbie shell --seed 2020045
(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)))