\frac{6 \cdot \left(x - 1\right)}{\left(x + 1\right) + 4 \cdot \sqrt{x}}\frac{x - 1}{-\left(\left(4 \cdot \sqrt{x} + x\right) + 1\right)} \cdot \left(-6\right)double f(double x) {
double r759826 = 6.0;
double r759827 = x;
double r759828 = 1.0;
double r759829 = r759827 - r759828;
double r759830 = r759826 * r759829;
double r759831 = r759827 + r759828;
double r759832 = 4.0;
double r759833 = sqrt(r759827);
double r759834 = r759832 * r759833;
double r759835 = r759831 + r759834;
double r759836 = r759830 / r759835;
return r759836;
}
double f(double x) {
double r759837 = x;
double r759838 = 1.0;
double r759839 = r759837 - r759838;
double r759840 = 4.0;
double r759841 = sqrt(r759837);
double r759842 = r759840 * r759841;
double r759843 = r759842 + r759837;
double r759844 = r759843 + r759838;
double r759845 = -r759844;
double r759846 = r759839 / r759845;
double r759847 = 6.0;
double r759848 = -r759847;
double r759849 = r759846 * r759848;
return r759849;
}




Bits error versus x
Results
| Original | 0.2 |
|---|---|
| Target | 0.1 |
| Herbie | 0.0 |
Initial program 0.2
Simplified0.0
rmApplied *-un-lft-identity0.0
rmApplied frac-2neg0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019179
(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)))))