{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -57533769617751403819054902804480 \lor \neg \left(n \le 254252678.20771694183349609375\right):\\
\;\;\;\;\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}:\\
\;\;\;\;\log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)\\
\end{array}double f(double x, double n) {
double r60606 = x;
double r60607 = 1.0;
double r60608 = r60606 + r60607;
double r60609 = n;
double r60610 = r60607 / r60609;
double r60611 = pow(r60608, r60610);
double r60612 = pow(r60606, r60610);
double r60613 = r60611 - r60612;
return r60613;
}
double f(double x, double n) {
double r60614 = n;
double r60615 = -5.75337696177514e+31;
bool r60616 = r60614 <= r60615;
double r60617 = 254252678.20771694;
bool r60618 = r60614 <= r60617;
double r60619 = !r60618;
bool r60620 = r60616 || r60619;
double r60621 = 1.0;
double r60622 = r60621 / r60614;
double r60623 = x;
double r60624 = r60622 / r60623;
double r60625 = 0.5;
double r60626 = r60625 / r60614;
double r60627 = 2.0;
double r60628 = pow(r60623, r60627);
double r60629 = r60626 / r60628;
double r60630 = log(r60623);
double r60631 = r60630 * r60621;
double r60632 = pow(r60614, r60627);
double r60633 = r60623 * r60632;
double r60634 = r60631 / r60633;
double r60635 = r60629 - r60634;
double r60636 = r60624 - r60635;
double r60637 = r60623 + r60621;
double r60638 = pow(r60637, r60622);
double r60639 = pow(r60623, r60622);
double r60640 = r60638 - r60639;
double r60641 = exp(r60640);
double r60642 = log(r60641);
double r60643 = r60620 ? r60636 : r60642;
return r60643;
}



Bits error versus x



Bits error versus n
Results
if n < -5.75337696177514e+31 or 254252678.20771694 < n Initial program 44.8
Taylor expanded around inf 32.7
Simplified32.1
if -5.75337696177514e+31 < n < 254252678.20771694Initial program 10.1
rmApplied add-log-exp10.2
Applied add-log-exp10.2
Applied diff-log10.2
Simplified10.2
Final simplification22.1
herbie shell --seed 2019298
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))