{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -3.579141987461542662174451834289357066154 \lor \neg \left(n \le 2379860481774380090654720\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 r52591 = x;
double r52592 = 1.0;
double r52593 = r52591 + r52592;
double r52594 = n;
double r52595 = r52592 / r52594;
double r52596 = pow(r52593, r52595);
double r52597 = pow(r52591, r52595);
double r52598 = r52596 - r52597;
return r52598;
}
double f(double x, double n) {
double r52599 = n;
double r52600 = -3.5791419874615427;
bool r52601 = r52599 <= r52600;
double r52602 = 2.37986048177438e+24;
bool r52603 = r52599 <= r52602;
double r52604 = !r52603;
bool r52605 = r52601 || r52604;
double r52606 = 1.0;
double r52607 = r52606 / r52599;
double r52608 = x;
double r52609 = r52607 / r52608;
double r52610 = 0.5;
double r52611 = r52610 / r52599;
double r52612 = 2.0;
double r52613 = pow(r52608, r52612);
double r52614 = r52611 / r52613;
double r52615 = log(r52608);
double r52616 = r52615 * r52606;
double r52617 = pow(r52599, r52612);
double r52618 = r52608 * r52617;
double r52619 = r52616 / r52618;
double r52620 = r52614 - r52619;
double r52621 = r52609 - r52620;
double r52622 = r52608 + r52606;
double r52623 = pow(r52622, r52607);
double r52624 = pow(r52608, r52607);
double r52625 = r52623 - r52624;
double r52626 = exp(r52625);
double r52627 = log(r52626);
double r52628 = r52605 ? r52621 : r52627;
return r52628;
}



Bits error versus x



Bits error versus n
Results
if n < -3.5791419874615427 or 2.37986048177438e+24 < n Initial program 44.7
Taylor expanded around inf 32.3
Simplified31.7
if -3.5791419874615427 < n < 2.37986048177438e+24Initial program 9.6
rmApplied add-log-exp9.8
Applied add-log-exp9.7
Applied diff-log9.7
Simplified9.7
Final simplification22.2
herbie shell --seed 2020001
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))