\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 r929189 = 6.0;
double r929190 = x;
double r929191 = 1.0;
double r929192 = r929190 - r929191;
double r929193 = r929189 * r929192;
double r929194 = r929190 + r929191;
double r929195 = 4.0;
double r929196 = sqrt(r929190);
double r929197 = r929195 * r929196;
double r929198 = r929194 + r929197;
double r929199 = r929193 / r929198;
return r929199;
}
double f(double x) {
double r929200 = 6.0;
double r929201 = x;
double r929202 = 1.0;
double r929203 = r929201 - r929202;
double r929204 = r929201 + r929202;
double r929205 = 4.0;
double r929206 = sqrt(r929201);
double r929207 = r929205 * r929206;
double r929208 = r929204 + r929207;
double r929209 = r929203 / r929208;
double r929210 = r929200 * r929209;
return r929210;
}




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