\frac{6.0 \cdot \left(x - 1.0\right)}{\left(x + 1.0\right) + 4.0 \cdot \sqrt{x}}\frac{x - 1.0}{4.0 \cdot \sqrt{x} + \left(x + 1.0\right)} \cdot 6.0double f(double x) {
double r39173307 = 6.0;
double r39173308 = x;
double r39173309 = 1.0;
double r39173310 = r39173308 - r39173309;
double r39173311 = r39173307 * r39173310;
double r39173312 = r39173308 + r39173309;
double r39173313 = 4.0;
double r39173314 = sqrt(r39173308);
double r39173315 = r39173313 * r39173314;
double r39173316 = r39173312 + r39173315;
double r39173317 = r39173311 / r39173316;
return r39173317;
}
double f(double x) {
double r39173318 = x;
double r39173319 = 1.0;
double r39173320 = r39173318 - r39173319;
double r39173321 = 4.0;
double r39173322 = sqrt(r39173318);
double r39173323 = r39173321 * r39173322;
double r39173324 = r39173318 + r39173319;
double r39173325 = r39173323 + r39173324;
double r39173326 = r39173320 / r39173325;
double r39173327 = 6.0;
double r39173328 = r39173326 * r39173327;
return r39173328;
}




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 2019168
(FPCore (x)
:name "Data.Approximate.Numerics:blog from approximate-0.2.2.1"
:herbie-target
(/ 6.0 (/ (+ (+ x 1.0) (* 4.0 (sqrt x))) (- x 1.0)))
(/ (* 6.0 (- x 1.0)) (+ (+ x 1.0) (* 4.0 (sqrt x)))))