\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 r743377 = 6.0;
double r743378 = x;
double r743379 = 1.0;
double r743380 = r743378 - r743379;
double r743381 = r743377 * r743380;
double r743382 = r743378 + r743379;
double r743383 = 4.0;
double r743384 = sqrt(r743378);
double r743385 = r743383 * r743384;
double r743386 = r743382 + r743385;
double r743387 = r743381 / r743386;
return r743387;
}
double f(double x) {
double r743388 = 6.0;
double r743389 = x;
double r743390 = 1.0;
double r743391 = r743389 - r743390;
double r743392 = r743389 + r743390;
double r743393 = 4.0;
double r743394 = sqrt(r743389);
double r743395 = r743393 * r743394;
double r743396 = r743392 + r743395;
double r743397 = r743391 / r743396;
double r743398 = r743388 * r743397;
return r743398;
}




Bits error versus x
Results
| Original | 0.2 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.2
rmApplied *-un-lft-identity0.2
Applied times-frac0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020003
(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)))))