{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -3.779528186583542649858342716423509344281 \cdot 10^{-7}:\\
\;\;\;\;\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\\
\mathbf{elif}\;\frac{1}{n} \le 3.008482021354361490177034255367093310264 \cdot 10^{-20}:\\
\;\;\;\;\frac{\frac{1}{n}}{x} - \left(\frac{\frac{0.5}{n}}{{x}^{2}} - \frac{\log x \cdot 1}{x \cdot {n}^{2}}\right)\\
\mathbf{else}:\\
\;\;\;\;\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}}\\
\end{array}double f(double x, double n) {
double r66460 = x;
double r66461 = 1.0;
double r66462 = r66460 + r66461;
double r66463 = n;
double r66464 = r66461 / r66463;
double r66465 = pow(r66462, r66464);
double r66466 = pow(r66460, r66464);
double r66467 = r66465 - r66466;
return r66467;
}
double f(double x, double n) {
double r66468 = 1.0;
double r66469 = n;
double r66470 = r66468 / r66469;
double r66471 = -3.7795281865835426e-07;
bool r66472 = r66470 <= r66471;
double r66473 = x;
double r66474 = r66473 + r66468;
double r66475 = pow(r66474, r66470);
double r66476 = pow(r66473, r66470);
double r66477 = r66475 - r66476;
double r66478 = cbrt(r66477);
double r66479 = r66478 * r66478;
double r66480 = r66479 * r66478;
double r66481 = 3.0084820213543615e-20;
bool r66482 = r66470 <= r66481;
double r66483 = r66470 / r66473;
double r66484 = 0.5;
double r66485 = r66484 / r66469;
double r66486 = 2.0;
double r66487 = pow(r66473, r66486);
double r66488 = r66485 / r66487;
double r66489 = log(r66473);
double r66490 = r66489 * r66468;
double r66491 = pow(r66469, r66486);
double r66492 = r66473 * r66491;
double r66493 = r66490 / r66492;
double r66494 = r66488 - r66493;
double r66495 = r66483 - r66494;
double r66496 = 3.0;
double r66497 = pow(r66477, r66496);
double r66498 = cbrt(r66497);
double r66499 = r66482 ? r66495 : r66498;
double r66500 = r66472 ? r66480 : r66499;
return r66500;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -3.7795281865835426e-07Initial program 0.4
rmApplied add-cube-cbrt0.4
if -3.7795281865835426e-07 < (/ 1.0 n) < 3.0084820213543615e-20Initial program 45.4
Taylor expanded around inf 32.1
Simplified31.6
if 3.0084820213543615e-20 < (/ 1.0 n) Initial program 26.4
rmApplied add-cbrt-cube26.4
Simplified26.4
Final simplification21.7
herbie shell --seed 2019352
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))