\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 r54327088 = x;
double r54327089 = y;
double r54327090 = r54327088 / r54327089;
double r54327091 = 1.0;
double r54327092 = r54327090 + r54327091;
double r54327093 = r54327088 * r54327092;
double r54327094 = r54327088 + r54327091;
double r54327095 = r54327093 / r54327094;
return r54327095;
}
double f(double x, double y) {
double r54327096 = x;
double r54327097 = 1.0;
double r54327098 = r54327096 + r54327097;
double r54327099 = y;
double r54327100 = r54327096 / r54327099;
double r54327101 = r54327100 + r54327097;
double r54327102 = r54327098 / r54327101;
double r54327103 = r54327096 / r54327102;
return r54327103;
}




Bits error versus x




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