\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 r1192942 = x;
double r1192943 = y;
double r1192944 = r1192942 / r1192943;
double r1192945 = 1.0;
double r1192946 = r1192944 + r1192945;
double r1192947 = r1192942 * r1192946;
double r1192948 = r1192942 + r1192945;
double r1192949 = r1192947 / r1192948;
return r1192949;
}
double f(double x, double y) {
double r1192950 = x;
double r1192951 = 1.0;
double r1192952 = r1192950 + r1192951;
double r1192953 = y;
double r1192954 = r1192950 / r1192953;
double r1192955 = r1192954 + r1192951;
double r1192956 = r1192952 / r1192955;
double r1192957 = r1192950 / r1192956;
return r1192957;
}




Bits error versus x




Bits error versus y
Results
| Original | 9.0 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 9.0
rmApplied associate-/l*0.1
Final simplification0.1
herbie shell --seed 2020060 +o rules:numerics
(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)))