\frac{x}{x} - \frac{1}{x} \cdot \sqrt{x \cdot x}\frac{x}{x} - \sqrt[3]{{\left(\frac{\left|x\right| \cdot 1}{x}\right)}^{3}}double f(double x) {
double r142798 = x;
double r142799 = r142798 / r142798;
double r142800 = 1.0;
double r142801 = r142800 / r142798;
double r142802 = r142798 * r142798;
double r142803 = sqrt(r142802);
double r142804 = r142801 * r142803;
double r142805 = r142799 - r142804;
return r142805;
}
double f(double x) {
double r142806 = x;
double r142807 = r142806 / r142806;
double r142808 = fabs(r142806);
double r142809 = 1.0;
double r142810 = r142808 * r142809;
double r142811 = r142810 / r142806;
double r142812 = 3.0;
double r142813 = pow(r142811, r142812);
double r142814 = cbrt(r142813);
double r142815 = r142807 - r142814;
return r142815;
}




Bits error versus x
Results
| Original | 32.1 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 32.1
rmApplied add-cbrt-cube45.7
Applied add-cbrt-cube43.9
Applied add-cbrt-cube43.9
Applied cbrt-undiv49.5
Applied cbrt-unprod42.7
Simplified0
Final simplification0
herbie shell --seed 2019352 +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)))))