\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 r43780017 = 6.0;
double r43780018 = x;
double r43780019 = 1.0;
double r43780020 = r43780018 - r43780019;
double r43780021 = r43780017 * r43780020;
double r43780022 = r43780018 + r43780019;
double r43780023 = 4.0;
double r43780024 = sqrt(r43780018);
double r43780025 = r43780023 * r43780024;
double r43780026 = r43780022 + r43780025;
double r43780027 = r43780021 / r43780026;
return r43780027;
}
double f(double x) {
double r43780028 = 6.0;
double r43780029 = x;
double r43780030 = 1.0;
double r43780031 = r43780029 + r43780030;
double r43780032 = 4.0;
double r43780033 = sqrt(r43780029);
double r43780034 = r43780032 * r43780033;
double r43780035 = r43780031 + r43780034;
double r43780036 = r43780029 - r43780030;
double r43780037 = r43780035 / r43780036;
double r43780038 = r43780028 / r43780037;
return r43780038;
}




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