\frac{x}{x} - \frac{1}{x} \cdot \sqrt{x \cdot x}1 - \left(\sqrt[3]{\frac{1}{x} \cdot \left|x\right|} \cdot \sqrt[3]{\frac{1}{x} \cdot \left|x\right|}\right) \cdot \sqrt[3]{\frac{1}{x} \cdot \left|x\right|}double f(double x) {
double r107504 = x;
double r107505 = r107504 / r107504;
double r107506 = 1.0;
double r107507 = r107506 / r107504;
double r107508 = r107504 * r107504;
double r107509 = sqrt(r107508);
double r107510 = r107507 * r107509;
double r107511 = r107505 - r107510;
return r107511;
}
double f(double x) {
double r107512 = 1.0;
double r107513 = 1.0;
double r107514 = x;
double r107515 = r107513 / r107514;
double r107516 = fabs(r107514);
double r107517 = r107515 * r107516;
double r107518 = cbrt(r107517);
double r107519 = r107518 * r107518;
double r107520 = r107519 * r107518;
double r107521 = r107512 - r107520;
return r107521;
}




Bits error versus x
Results
| Original | 32.5 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 32.5
Simplified4.8
rmApplied add-cube-cbrt0
Final simplification0
herbie shell --seed 2019322
(FPCore (x)
:name "sqrt sqr"
:precision binary64
:herbie-target
(if (< x 0.0) 2 0.0)
(- (/ x x) (* (/ 1 x) (sqrt (* x x)))))