\frac{x \cdot \left(\frac{x}{y} + 1\right)}{x + 1}\frac{x}{\frac{1 + x}{1 + \frac{x}{y}}}double f(double x, double y) {
double r45757323 = x;
double r45757324 = y;
double r45757325 = r45757323 / r45757324;
double r45757326 = 1.0;
double r45757327 = r45757325 + r45757326;
double r45757328 = r45757323 * r45757327;
double r45757329 = r45757323 + r45757326;
double r45757330 = r45757328 / r45757329;
return r45757330;
}
double f(double x, double y) {
double r45757331 = x;
double r45757332 = 1.0;
double r45757333 = r45757332 + r45757331;
double r45757334 = y;
double r45757335 = r45757331 / r45757334;
double r45757336 = r45757332 + r45757335;
double r45757337 = r45757333 / r45757336;
double r45757338 = r45757331 / r45757337;
return r45757338;
}




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