{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \leq -3472006089.714978:\\
\;\;\;\;\log \left(\sqrt[3]{e^{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}}\right) + \left(\sqrt{\log \left(\sqrt[3]{e^{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}}\right)} \cdot \sqrt{\log \left(\sqrt[3]{e^{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}}\right)}\right) \cdot 2\\
\mathbf{elif}\;\frac{1}{n} \leq 7.297289201697386 \cdot 10^{-15}:\\
\;\;\;\;\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}:\\
\;\;\;\;\log \left(e^{{\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) <= -3472006089.714978)) {
VAR = ((double) (((double) log(((double) cbrt(((double) exp(((double) (((double) pow(((double) (1.0 + x)), (1.0 / n))) - ((double) pow(x, (1.0 / n))))))))))) + ((double) (((double) (((double) sqrt(((double) log(((double) cbrt(((double) exp(((double) (((double) pow(((double) (1.0 + x)), (1.0 / n))) - ((double) pow(x, (1.0 / n))))))))))))) * ((double) sqrt(((double) log(((double) cbrt(((double) exp(((double) (((double) pow(((double) (1.0 + x)), (1.0 / n))) - ((double) pow(x, (1.0 / n))))))))))))))) * 2.0))));
} else {
double VAR_1;
if (((1.0 / n) <= 7.297289201697386e-15)) {
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) log(((double) exp(((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) < -3472006089.7149782Initial program 0
rmApplied add-log-exp0
Applied add-log-exp0
Applied diff-log0
Simplified0
rmApplied add-cube-cbrt0
Applied log-prod0
Simplified0
rmApplied add-sqr-sqrt0
if -3472006089.7149782 < (/ 1.0 n) < 7.2972892016973857e-15Initial program 44.6
Taylor expanded around inf 32.6
Simplified32.5
if 7.2972892016973857e-15 < (/ 1.0 n) Initial program 8.5
rmApplied add-log-exp8.6
Applied add-log-exp8.6
Applied diff-log8.6
Simplified8.6
Final simplification24.4
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))))