\frac{x}{x} - \frac{1}{x} \cdot \sqrt{x \cdot x}\frac{x}{x} - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{1} \cdot \frac{\sqrt[3]{1} \cdot \left|x\right|}{x}double f(double x) {
double r137796 = x;
double r137797 = r137796 / r137796;
double r137798 = 1.0;
double r137799 = r137798 / r137796;
double r137800 = r137796 * r137796;
double r137801 = sqrt(r137800);
double r137802 = r137799 * r137801;
double r137803 = r137797 - r137802;
return r137803;
}
double f(double x) {
double r137804 = x;
double r137805 = r137804 / r137804;
double r137806 = 1.0;
double r137807 = cbrt(r137806);
double r137808 = r137807 * r137807;
double r137809 = 1.0;
double r137810 = r137808 / r137809;
double r137811 = fabs(r137804);
double r137812 = r137807 * r137811;
double r137813 = r137812 / r137804;
double r137814 = r137810 * r137813;
double r137815 = r137805 - r137814;
return r137815;
}




Bits error versus x
Results
| Original | 32.9 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 32.9
rmApplied *-un-lft-identity32.9
Applied add-cube-cbrt32.9
Applied times-frac32.9
Applied associate-*l*32.9
Simplified0
Final simplification0
herbie shell --seed 2020083 +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)))))