\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 r161964 = x;
double r161965 = r161964 / r161964;
double r161966 = 1.0;
double r161967 = r161966 / r161964;
double r161968 = r161964 * r161964;
double r161969 = sqrt(r161968);
double r161970 = r161967 * r161969;
double r161971 = r161965 - r161970;
return r161971;
}
double f(double x) {
double r161972 = 1.0;
double r161973 = x;
double r161974 = r161972 / r161973;
double r161975 = -r161974;
double r161976 = fabs(r161973);
double r161977 = r161975 * r161976;
double r161978 = 3.0;
double r161979 = pow(r161977, r161978);
double r161980 = cbrt(r161979);
double r161981 = 1.0;
double r161982 = r161980 + r161981;
return r161982;
}




Bits error versus x
Results
| Original | 32.4 |
|---|---|
| Target | 0 |
| Herbie | 0.0 |
Initial program 32.4
Simplified31.4
rmApplied fma-udef4.9
rmApplied add-cbrt-cube45.7
Applied add-cbrt-cube49.5
Applied cbrt-unprod44.4
Simplified0.0
Final simplification0.0
herbie shell --seed 2020100 +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)))))