\frac{x \cdot \left(\frac{x}{y} + 1\right)}{x + 1}\left(\frac{x}{y} + 1\right) \cdot \frac{x}{x + 1}double f(double x, double y) {
double r727483 = x;
double r727484 = y;
double r727485 = r727483 / r727484;
double r727486 = 1.0;
double r727487 = r727485 + r727486;
double r727488 = r727483 * r727487;
double r727489 = r727483 + r727486;
double r727490 = r727488 / r727489;
return r727490;
}
double f(double x, double y) {
double r727491 = x;
double r727492 = y;
double r727493 = r727491 / r727492;
double r727494 = 1.0;
double r727495 = r727493 + r727494;
double r727496 = r727491 + r727494;
double r727497 = r727491 / r727496;
double r727498 = r727495 * r727497;
return r727498;
}




Bits error versus x




Bits error versus y
Results
| Original | 9.0 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 9.0
Simplified0.2
rmApplied div-inv0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019179 +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)))