\frac{x \cdot \left(\frac{x}{y} + 1\right)}{x + 1}\frac{x}{x + 1} \cdot \frac{x}{y} + \frac{x}{x + 1} \cdot 1double f(double x, double y) {
double r849030 = x;
double r849031 = y;
double r849032 = r849030 / r849031;
double r849033 = 1.0;
double r849034 = r849032 + r849033;
double r849035 = r849030 * r849034;
double r849036 = r849030 + r849033;
double r849037 = r849035 / r849036;
return r849037;
}
double f(double x, double y) {
double r849038 = x;
double r849039 = 1.0;
double r849040 = r849038 + r849039;
double r849041 = r849038 / r849040;
double r849042 = y;
double r849043 = r849038 / r849042;
double r849044 = r849041 * r849043;
double r849045 = r849041 * r849039;
double r849046 = r849044 + r849045;
return r849046;
}




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
rmApplied associate-/r/0.1
rmApplied distribute-lft-in0.1
Final simplification0.1
herbie shell --seed 2020047
(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)))