\frac{x}{x} - \frac{1}{x} \cdot \sqrt{x \cdot x}1 + \left(-\frac{1 \cdot \left|x\right|}{x}\right)double f(double x) {
double r121921 = x;
double r121922 = r121921 / r121921;
double r121923 = 1.0;
double r121924 = r121923 / r121921;
double r121925 = r121921 * r121921;
double r121926 = sqrt(r121925);
double r121927 = r121924 * r121926;
double r121928 = r121922 - r121927;
return r121928;
}
double f(double x) {
double r121929 = 1.0;
double r121930 = 1.0;
double r121931 = x;
double r121932 = fabs(r121931);
double r121933 = r121930 * r121932;
double r121934 = r121933 / r121931;
double r121935 = -r121934;
double r121936 = r121929 + r121935;
return r121936;
}




Bits error versus x
Results
| Original | 32.7 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 32.7
Simplified0
Final simplification0
herbie shell --seed 2020060
(FPCore (x)
:name "sqrt sqr"
:precision binary64
:herbie-target
(if (< x 0.0) 2 0.0)
(- (/ x x) (* (/ 1 x) (sqrt (* x x)))))