\frac{x}{x} - \frac{1}{x} \cdot \sqrt{x \cdot x}\sqrt[3]{{\left(\left(-\frac{1}{x}\right) \cdot \left|x\right|\right)}^{3}} + 1double f(double x) {
double r93558 = x;
double r93559 = r93558 / r93558;
double r93560 = 1.0;
double r93561 = r93560 / r93558;
double r93562 = r93558 * r93558;
double r93563 = sqrt(r93562);
double r93564 = r93561 * r93563;
double r93565 = r93559 - r93564;
return r93565;
}
double f(double x) {
double r93566 = 1.0;
double r93567 = x;
double r93568 = r93566 / r93567;
double r93569 = -r93568;
double r93570 = fabs(r93567);
double r93571 = r93569 * r93570;
double r93572 = 3.0;
double r93573 = pow(r93571, r93572);
double r93574 = cbrt(r93573);
double r93575 = 1.0;
double r93576 = r93574 + r93575;
return r93576;
}




Bits error versus x
Results
| Original | 32.5 |
|---|---|
| Target | 0 |
| Herbie | 0.0 |
Initial program 32.5
Simplified30.5
rmApplied fma-udef4.7
rmApplied add-cbrt-cube46.0
Applied add-cbrt-cube50.1
Applied cbrt-unprod44.2
Simplified0.0
Final simplification0.0
herbie shell --seed 2020024 +o rules:numerics
(FPCore (x)
:name "sqrt sqr"
:precision binary64
:herbie-target
(if (< x 0.0) 2 0.0)
(- (/ x x) (* (/ 1 x) (sqrt (* x x)))))