{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -0.16028312956267177:\\
\;\;\;\;\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)} \cdot e^{\log \left(\sqrt{x}\right) \cdot \frac{1}{n}}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)} \cdot e^{\log \left(\sqrt{x}\right) \cdot \frac{1}{n}}}\right) \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)} \cdot e^{\log \left(\sqrt{x}\right) \cdot \frac{1}{n}}}\\
\mathbf{elif}\;\frac{1}{n} \le 1.24288124722186634 \cdot 10^{-23}:\\
\;\;\;\;\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}:\\
\;\;\;\;{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)}\\
\end{array}double code(double x, double n) {
return ((double) (((double) pow(((double) (x + 1.0)), ((double) (1.0 / n)))) - ((double) pow(x, ((double) (1.0 / n))))));
}
double code(double x, double n) {
double VAR;
if ((((double) (1.0 / n)) <= -0.16028312956267177)) {
VAR = ((double) (((double) (((double) cbrt(((double) (((double) pow(((double) (x + 1.0)), ((double) (1.0 / n)))) - ((double) (((double) pow(((double) sqrt(x)), ((double) (1.0 / n)))) * ((double) exp(((double) (((double) log(((double) sqrt(x)))) * ((double) (1.0 / n)))))))))))) * ((double) cbrt(((double) (((double) pow(((double) (x + 1.0)), ((double) (1.0 / n)))) - ((double) (((double) pow(((double) sqrt(x)), ((double) (1.0 / n)))) * ((double) exp(((double) (((double) log(((double) sqrt(x)))) * ((double) (1.0 / n)))))))))))))) * ((double) cbrt(((double) (((double) pow(((double) (x + 1.0)), ((double) (1.0 / n)))) - ((double) (((double) pow(((double) sqrt(x)), ((double) (1.0 / n)))) * ((double) exp(((double) (((double) log(((double) sqrt(x)))) * ((double) (1.0 / n))))))))))))));
} else {
double VAR_1;
if ((((double) (1.0 / n)) <= 1.2428812472218663e-23)) {
VAR_1 = ((double) (((double) (((double) (1.0 / n)) / x)) - ((double) (((double) (((double) (0.5 / n)) / ((double) pow(x, 2.0)))) - ((double) (((double) (((double) log(x)) * 1.0)) / ((double) (x * ((double) pow(n, 2.0))))))))));
} else {
VAR_1 = ((double) (((double) pow(((double) (x + 1.0)), ((double) (1.0 / n)))) - ((double) (((double) pow(((double) sqrt(x)), ((double) (1.0 / n)))) * ((double) pow(((double) sqrt(x)), ((double) (1.0 / n))))))));
}
VAR = VAR_1;
}
return VAR;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -0.16028312956267177Initial program 0.3
rmApplied add-sqr-sqrt0.3
Applied unpow-prod-down0.3
rmApplied add-exp-log0.3
Applied pow-exp0.3
rmApplied add-cube-cbrt0.3
if -0.16028312956267177 < (/ 1.0 n) < 1.2428812472218663e-23Initial program 45.1
Taylor expanded around inf 33.0
Simplified32.4
if 1.2428812472218663e-23 < (/ 1.0 n) Initial program 11.9
rmApplied add-sqr-sqrt11.9
Applied unpow-prod-down12.1
Final simplification24.2
herbie shell --seed 2020122
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))