{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -18.09077906127504 \lor \neg \left(\frac{1}{n} \le 0.001178309117642572\right):\\
\;\;\;\;{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{else}:\\
\;\;\;\;1 \cdot \frac{\frac{\frac{\log x}{n \cdot n} + \frac{1}{n}}{\sqrt{x}}}{\sqrt{x}} - \frac{0.5}{\log \left(e^{{x}^{2} \cdot n}\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) <= -18.090779061275043) || !((1.0 / n) <= 0.0011783091176425717))) {
VAR = ((double) (((double) pow(((double) (x + 1.0)), (1.0 / n))) - ((double) pow(x, (1.0 / n)))));
} else {
VAR = ((double) (((double) (1.0 * ((((double) ((((double) log(x)) / ((double) (n * n))) + (1.0 / n))) / ((double) sqrt(x))) / ((double) sqrt(x))))) - (0.5 / ((double) log(((double) exp(((double) (((double) pow(x, 2.0)) * n)))))))));
}
return VAR;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -18.09077906127504 or 0.001178309117642572 < (/ 1.0 n) Initial program 1.8
if -18.09077906127504 < (/ 1.0 n) < 0.001178309117642572Initial program 44.4
Taylor expanded around inf 33.0
Simplified32.4
rmApplied div-inv32.4
Applied associate-*l*32.4
Simplified32.4
rmApplied add-log-exp32.4
rmApplied add-sqr-sqrt32.4
Applied associate-/r*32.4
Final simplification24.0
herbie shell --seed 2020182
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))