\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 r921096 = 6.0;
double r921097 = x;
double r921098 = 1.0;
double r921099 = r921097 - r921098;
double r921100 = r921096 * r921099;
double r921101 = r921097 + r921098;
double r921102 = 4.0;
double r921103 = sqrt(r921097);
double r921104 = r921102 * r921103;
double r921105 = r921101 + r921104;
double r921106 = r921100 / r921105;
return r921106;
}
double f(double x) {
double r921107 = 6.0;
double r921108 = x;
double r921109 = 1.0;
double r921110 = r921108 - r921109;
double r921111 = r921108 + r921109;
double r921112 = 4.0;
double r921113 = sqrt(r921108);
double r921114 = r921112 * r921113;
double r921115 = r921111 + r921114;
double r921116 = r921110 / r921115;
double r921117 = r921107 * r921116;
return r921117;
}




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