\frac{6 \cdot \left(x - 1\right)}{\left(x + 1\right) + 4 \cdot \sqrt{x}}6 \cdot \frac{x - 1}{\left(x + 1\right) + 4 \cdot \sqrt{x}}double f(double x) {
double r658274 = 6.0;
double r658275 = x;
double r658276 = 1.0;
double r658277 = r658275 - r658276;
double r658278 = r658274 * r658277;
double r658279 = r658275 + r658276;
double r658280 = 4.0;
double r658281 = sqrt(r658275);
double r658282 = r658280 * r658281;
double r658283 = r658279 + r658282;
double r658284 = r658278 / r658283;
return r658284;
}
double f(double x) {
double r658285 = 6.0;
double r658286 = x;
double r658287 = 1.0;
double r658288 = r658286 - r658287;
double r658289 = r658286 + r658287;
double r658290 = 4.0;
double r658291 = sqrt(r658286);
double r658292 = r658290 * r658291;
double r658293 = r658289 + r658292;
double r658294 = r658288 / r658293;
double r658295 = r658285 * r658294;
return r658295;
}




Bits error versus x
Results
| Original | 0.2 |
|---|---|
| Target | 0.1 |
| Herbie | 0.0 |
Initial program 0.2
rmApplied *-un-lft-identity0.2
Applied times-frac0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019235
(FPCore (x)
:name "Data.Approximate.Numerics:blog from approximate-0.2.2.1"
:precision binary64
:herbie-target
(/ 6 (/ (+ (+ x 1) (* 4 (sqrt x))) (- x 1)))
(/ (* 6 (- x 1)) (+ (+ x 1) (* 4 (sqrt x)))))