\frac{6.0 \cdot \left(x - 1.0\right)}{\left(x + 1.0\right) + 4.0 \cdot \sqrt{x}}\frac{6.0}{\frac{\left(x + 1.0\right) + 4.0 \cdot \sqrt{x}}{x - 1.0}}double f(double x) {
double r36361210 = 6.0;
double r36361211 = x;
double r36361212 = 1.0;
double r36361213 = r36361211 - r36361212;
double r36361214 = r36361210 * r36361213;
double r36361215 = r36361211 + r36361212;
double r36361216 = 4.0;
double r36361217 = sqrt(r36361211);
double r36361218 = r36361216 * r36361217;
double r36361219 = r36361215 + r36361218;
double r36361220 = r36361214 / r36361219;
return r36361220;
}
double f(double x) {
double r36361221 = 6.0;
double r36361222 = x;
double r36361223 = 1.0;
double r36361224 = r36361222 + r36361223;
double r36361225 = 4.0;
double r36361226 = sqrt(r36361222);
double r36361227 = r36361225 * r36361226;
double r36361228 = r36361224 + r36361227;
double r36361229 = r36361222 - r36361223;
double r36361230 = r36361228 / r36361229;
double r36361231 = r36361221 / r36361230;
return r36361231;
}




Bits error versus x
Results
| Original | 0.2 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.2
rmApplied associate-/l*0.0
Final simplification0.0
herbie shell --seed 2019165
(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)))))