{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -80925173752378880 \lor \neg \left(n \le 196016184.31866574\right):\\
\;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right)\\
\end{array}double f(double x, double n) {
double r59415 = x;
double r59416 = 1.0;
double r59417 = r59415 + r59416;
double r59418 = n;
double r59419 = r59416 / r59418;
double r59420 = pow(r59417, r59419);
double r59421 = pow(r59415, r59419);
double r59422 = r59420 - r59421;
return r59422;
}
double f(double x, double n) {
double r59423 = n;
double r59424 = -8.092517375237888e+16;
bool r59425 = r59423 <= r59424;
double r59426 = 196016184.31866574;
bool r59427 = r59423 <= r59426;
double r59428 = !r59427;
bool r59429 = r59425 || r59428;
double r59430 = 1.0;
double r59431 = x;
double r59432 = r59430 / r59431;
double r59433 = 1.0;
double r59434 = r59433 / r59423;
double r59435 = log(r59431);
double r59436 = -r59435;
double r59437 = 2.0;
double r59438 = pow(r59423, r59437);
double r59439 = r59436 / r59438;
double r59440 = r59434 - r59439;
double r59441 = r59432 * r59440;
double r59442 = 0.5;
double r59443 = pow(r59431, r59437);
double r59444 = r59443 * r59423;
double r59445 = r59442 / r59444;
double r59446 = r59441 - r59445;
double r59447 = r59431 + r59430;
double r59448 = r59430 / r59423;
double r59449 = pow(r59447, r59448);
double r59450 = sqrt(r59449);
double r59451 = pow(r59431, r59448);
double r59452 = sqrt(r59451);
double r59453 = r59450 + r59452;
double r59454 = r59450 - r59452;
double r59455 = r59453 * r59454;
double r59456 = r59429 ? r59446 : r59455;
return r59456;
}



Bits error versus x



Bits error versus n
Results
if n < -8.092517375237888e+16 or 196016184.31866574 < n Initial program 44.4
Taylor expanded around inf 32.1
Simplified31.6
if -8.092517375237888e+16 < n < 196016184.31866574Initial program 9.6
rmApplied add-sqr-sqrt9.7
Applied add-sqr-sqrt9.6
Applied difference-of-squares9.6
Final simplification21.9
herbie shell --seed 2020047 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))