\frac{x}{x} - \frac{1}{x} \cdot \sqrt{x \cdot x}1 - \frac{1 \cdot \left|x\right|}{x}double f(double x) {
double r117434 = x;
double r117435 = r117434 / r117434;
double r117436 = 1.0;
double r117437 = r117436 / r117434;
double r117438 = r117434 * r117434;
double r117439 = sqrt(r117438);
double r117440 = r117437 * r117439;
double r117441 = r117435 - r117440;
return r117441;
}
double f(double x) {
double r117442 = 1.0;
double r117443 = 1.0;
double r117444 = x;
double r117445 = fabs(r117444);
double r117446 = r117443 * r117445;
double r117447 = r117446 / r117444;
double r117448 = r117442 - r117447;
return r117448;
}




Bits error versus x
Results
| Original | 32.5 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 32.5
Simplified4.7
rmApplied *-un-lft-identity4.7
Applied *-un-lft-identity4.7
Applied times-frac4.7
Applied associate-*l*4.7
Simplified0
Final simplification0
herbie shell --seed 2019305 +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)))))