\frac{6 \cdot \left(x - 1\right)}{\left(x + 1\right) + 4 \cdot \sqrt{x}}\frac{x - 1}{\left(1 + 4 \cdot \sqrt{x}\right) + x} \cdot 6double f(double x) {
double r43593804 = 6.0;
double r43593805 = x;
double r43593806 = 1.0;
double r43593807 = r43593805 - r43593806;
double r43593808 = r43593804 * r43593807;
double r43593809 = r43593805 + r43593806;
double r43593810 = 4.0;
double r43593811 = sqrt(r43593805);
double r43593812 = r43593810 * r43593811;
double r43593813 = r43593809 + r43593812;
double r43593814 = r43593808 / r43593813;
return r43593814;
}
double f(double x) {
double r43593815 = x;
double r43593816 = 1.0;
double r43593817 = r43593815 - r43593816;
double r43593818 = 4.0;
double r43593819 = sqrt(r43593815);
double r43593820 = r43593818 * r43593819;
double r43593821 = r43593816 + r43593820;
double r43593822 = r43593821 + r43593815;
double r43593823 = r43593817 / r43593822;
double r43593824 = 6.0;
double r43593825 = r43593823 * r43593824;
return r43593825;
}




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
rmApplied associate-+l+0.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)))))