\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 r900721 = x;
double r900722 = y;
double r900723 = r900721 / r900722;
double r900724 = 1.0;
double r900725 = r900723 + r900724;
double r900726 = r900721 * r900725;
double r900727 = r900721 + r900724;
double r900728 = r900726 / r900727;
return r900728;
}
double f(double x, double y) {
double r900729 = x;
double r900730 = 1.0;
double r900731 = r900729 + r900730;
double r900732 = y;
double r900733 = r900729 / r900732;
double r900734 = r900733 + r900730;
double r900735 = r900731 / r900734;
double r900736 = r900729 / r900735;
return r900736;
}




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 2020001
(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)))