{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -9979.93413369299196:\\
\;\;\;\;\left({\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)} + \sqrt{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\left(1 + \left(0.5 \cdot \left(\frac{\log 1}{n} + \frac{\log x}{n}\right) + \frac{0.5}{n \cdot x}\right)\right) - {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)}\right)\\
\mathbf{elif}\;\frac{1}{n} \le 3.0076420312498511 \cdot 10^{-8}:\\
\;\;\;\;\sqrt{\frac{1}{x}} \cdot \frac{\sqrt{\frac{1}{x}}}{n}\\
\mathbf{else}:\\
\;\;\;\;\frac{{\left({\left(1 + x\right)}^{\left(\frac{1}{n}\right)}\right)}^{3} - {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}}{{\left(1 + x\right)}^{\left(\frac{1}{n} \cdot 2\right)} + {x}^{\left(\frac{1}{n}\right)} \cdot \left({\left(1 + x\right)}^{\left(\frac{1}{n}\right)} + {x}^{\left(\frac{1}{n}\right)}\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)) <= -9979.934133692992)) {
VAR = ((double) (((double) (((double) pow(((double) sqrt(x)), ((double) (1.0 / n)))) + ((double) sqrt(((double) pow(((double) (1.0 + x)), ((double) (1.0 / n)))))))) * ((double) (((double) (1.0 + ((double) (((double) (0.5 * ((double) (((double) (((double) log(1.0)) / n)) + ((double) (((double) log(x)) / n)))))) + ((double) (0.5 / ((double) (n * x)))))))) - ((double) pow(((double) sqrt(x)), ((double) (1.0 / n))))))));
} else {
double VAR_1;
if ((((double) (1.0 / n)) <= 3.007642031249851e-08)) {
VAR_1 = ((double) (((double) sqrt(((double) (1.0 / x)))) * ((double) (((double) sqrt(((double) (1.0 / x)))) / n))));
} else {
VAR_1 = ((double) (((double) (((double) pow(((double) pow(((double) (1.0 + x)), ((double) (1.0 / n)))), 3.0)) - ((double) pow(((double) pow(x, ((double) (1.0 / n)))), 3.0)))) / ((double) (((double) pow(((double) (1.0 + x)), ((double) (((double) (1.0 / n)) * 2.0)))) + ((double) (((double) pow(x, ((double) (1.0 / n)))) * ((double) (((double) pow(((double) (1.0 + x)), ((double) (1.0 / n)))) + ((double) pow(x, ((double) (1.0 / n))))))))))));
}
VAR = VAR_1;
}
return VAR;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -9979.93413369299196Initial program 0
rmApplied add-sqr-sqrt0
Applied unpow-prod-down0
Applied add-sqr-sqrt0
Applied difference-of-squares0
Simplified0
Taylor expanded around inf 0.4
Simplified0.4
if -9979.93413369299196 < (/ 1.0 n) < 3.0076420312498511e-8Initial program 44.9
Taylor expanded around -inf 64.0
Simplified32.0
rmApplied associate-/r*31.4
rmApplied *-un-lft-identity31.4
Applied add-sqr-sqrt31.5
Applied times-frac31.5
Simplified31.5
if 3.0076420312498511e-8 < (/ 1.0 n) Initial program 6.6
rmApplied flip3--6.6
Simplified6.6
Final simplification23.3
herbie shell --seed 2020185
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))