\frac{6.0 \cdot \left(x - 1.0\right)}{\left(x + 1.0\right) + 4.0 \cdot \sqrt{x}}\left(\sqrt[3]{\sqrt[3]{\frac{\left(x - 1.0\right) \cdot 6.0}{\left(x + 1.0\right) + \sqrt{x} \cdot 4.0} \cdot \left(\frac{\left(x - 1.0\right) \cdot 6.0}{\left(x + 1.0\right) + \sqrt{x} \cdot 4.0} \cdot \frac{\left(x - 1.0\right) \cdot 6.0}{\left(x + 1.0\right) + \sqrt{x} \cdot 4.0}\right)}} \cdot \sqrt[3]{\sqrt[3]{\frac{\left(x - 1.0\right) \cdot 6.0}{\left(x + 1.0\right) + \sqrt{x} \cdot 4.0} \cdot \left(\frac{\left(x - 1.0\right) \cdot 6.0}{\left(x + 1.0\right) + \sqrt{x} \cdot 4.0} \cdot \frac{\left(x - 1.0\right) \cdot 6.0}{\left(x + 1.0\right) + \sqrt{x} \cdot 4.0}\right)}}\right) \cdot \sqrt[3]{\sqrt[3]{\frac{\left(x - 1.0\right) \cdot 6.0}{\left(x + 1.0\right) + \sqrt{x} \cdot 4.0} \cdot \left(\frac{\left(x - 1.0\right) \cdot 6.0}{\left(x + 1.0\right) + \sqrt{x} \cdot 4.0} \cdot \frac{\left(x - 1.0\right) \cdot 6.0}{\left(x + 1.0\right) + \sqrt{x} \cdot 4.0}\right)}}double f(double x) {
double r48240539 = 6.0;
double r48240540 = x;
double r48240541 = 1.0;
double r48240542 = r48240540 - r48240541;
double r48240543 = r48240539 * r48240542;
double r48240544 = r48240540 + r48240541;
double r48240545 = 4.0;
double r48240546 = sqrt(r48240540);
double r48240547 = r48240545 * r48240546;
double r48240548 = r48240544 + r48240547;
double r48240549 = r48240543 / r48240548;
return r48240549;
}
double f(double x) {
double r48240550 = x;
double r48240551 = 1.0;
double r48240552 = r48240550 - r48240551;
double r48240553 = 6.0;
double r48240554 = r48240552 * r48240553;
double r48240555 = r48240550 + r48240551;
double r48240556 = sqrt(r48240550);
double r48240557 = 4.0;
double r48240558 = r48240556 * r48240557;
double r48240559 = r48240555 + r48240558;
double r48240560 = r48240554 / r48240559;
double r48240561 = r48240560 * r48240560;
double r48240562 = r48240560 * r48240561;
double r48240563 = cbrt(r48240562);
double r48240564 = cbrt(r48240563);
double r48240565 = r48240564 * r48240564;
double r48240566 = r48240565 * r48240564;
return r48240566;
}




Bits error versus x
Results
| Original | 0.2 |
|---|---|
| Target | 0.1 |
| Herbie | 0.2 |
Initial program 0.2
rmApplied add-cbrt-cube1.1
rmApplied add-cube-cbrt0.2
Final simplification0.2
herbie shell --seed 2019163
(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)))))