\frac{x}{x} - \frac{1}{x} \cdot \sqrt{x \cdot x}1 - \sqrt[3]{{\left(\left|x\right| \cdot \frac{1}{x}\right)}^{3}}double f(double x) {
double r167653 = x;
double r167654 = r167653 / r167653;
double r167655 = 1.0;
double r167656 = r167655 / r167653;
double r167657 = r167653 * r167653;
double r167658 = sqrt(r167657);
double r167659 = r167656 * r167658;
double r167660 = r167654 - r167659;
return r167660;
}
double f(double x) {
double r167661 = 1.0;
double r167662 = x;
double r167663 = fabs(r167662);
double r167664 = 1.0;
double r167665 = r167664 / r167662;
double r167666 = r167663 * r167665;
double r167667 = 3.0;
double r167668 = pow(r167666, r167667);
double r167669 = cbrt(r167668);
double r167670 = r167661 - r167669;
return r167670;
}




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