\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 r801723 = 6.0;
double r801724 = x;
double r801725 = 1.0;
double r801726 = r801724 - r801725;
double r801727 = r801723 * r801726;
double r801728 = r801724 + r801725;
double r801729 = 4.0;
double r801730 = sqrt(r801724);
double r801731 = r801729 * r801730;
double r801732 = r801728 + r801731;
double r801733 = r801727 / r801732;
return r801733;
}
double f(double x) {
double r801734 = 6.0;
double r801735 = x;
double r801736 = 1.0;
double r801737 = r801735 - r801736;
double r801738 = r801735 + r801736;
double r801739 = 4.0;
double r801740 = sqrt(r801735);
double r801741 = r801739 * r801740;
double r801742 = r801738 + r801741;
double r801743 = r801737 / r801742;
double r801744 = r801734 * r801743;
return r801744;
}




Bits error versus x
Results
| Original | 0.3 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.3
rmApplied *-un-lft-identity0.3
Applied times-frac0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020081
(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)))))