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



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -1.704193818919209e-10Initial program 1.9
rmApplied add-log-exp2.3
Applied add-log-exp2.2
Applied diff-log2.2
Simplified2.2
rmApplied add-cube-cbrt2.2
Applied log-prod2.2
Simplified2.2
rmApplied sub-neg2.2
Applied exp-sum2.2
Applied cbrt-prod2.2
Applied log-prod2.2
if -1.704193818919209e-10 < (/ 1.0 n) < 6.4947968004843821e-26Initial program 44.7
Taylor expanded around inf 32.1
Simplified31.9
if 6.4947968004843821e-26 < (/ 1.0 n) Initial program 12.9
rmApplied flip3--13.0
Simplified13.0
Final simplification24.2
herbie shell --seed 2020196
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))