{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -13110305152567191600:\\
\;\;\;\;\mathsf{fma}\left(1, \frac{1}{x \cdot n}, -\mathsf{fma}\left(0.5, \frac{1}{{x}^{2} \cdot n}, 1 \cdot \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}}\right)\right)\\
\mathbf{elif}\;n \le 52298366200.2400131:\\
\;\;\;\;e^{\log \left(\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}\right)}\\
\mathbf{else}:\\
\;\;\;\;e^{\left(-\left(\log n + \log x\right)\right) + \left(\log 1 - \mathsf{fma}\left(1, \frac{\log \left(\frac{1}{x}\right)}{n}, 0.5 \cdot \frac{1}{x}\right)\right)}\\
\end{array}double f(double x, double n) {
double r92416 = x;
double r92417 = 1.0;
double r92418 = r92416 + r92417;
double r92419 = n;
double r92420 = r92417 / r92419;
double r92421 = pow(r92418, r92420);
double r92422 = pow(r92416, r92420);
double r92423 = r92421 - r92422;
return r92423;
}
double f(double x, double n) {
double r92424 = n;
double r92425 = -1.3110305152567192e+19;
bool r92426 = r92424 <= r92425;
double r92427 = 1.0;
double r92428 = 1.0;
double r92429 = x;
double r92430 = r92429 * r92424;
double r92431 = r92428 / r92430;
double r92432 = 0.5;
double r92433 = 2.0;
double r92434 = pow(r92429, r92433);
double r92435 = r92434 * r92424;
double r92436 = r92428 / r92435;
double r92437 = r92428 / r92429;
double r92438 = log(r92437);
double r92439 = pow(r92424, r92433);
double r92440 = r92429 * r92439;
double r92441 = r92438 / r92440;
double r92442 = r92427 * r92441;
double r92443 = fma(r92432, r92436, r92442);
double r92444 = -r92443;
double r92445 = fma(r92427, r92431, r92444);
double r92446 = 52298366200.24001;
bool r92447 = r92424 <= r92446;
double r92448 = r92429 + r92427;
double r92449 = r92427 / r92424;
double r92450 = pow(r92448, r92449);
double r92451 = pow(r92429, r92449);
double r92452 = r92450 - r92451;
double r92453 = cbrt(r92452);
double r92454 = r92453 * r92453;
double r92455 = sqrt(r92450);
double r92456 = r92449 / r92433;
double r92457 = pow(r92429, r92456);
double r92458 = r92455 + r92457;
double r92459 = r92455 - r92457;
double r92460 = r92458 * r92459;
double r92461 = cbrt(r92460);
double r92462 = r92454 * r92461;
double r92463 = log(r92462);
double r92464 = exp(r92463);
double r92465 = log(r92424);
double r92466 = log(r92429);
double r92467 = r92465 + r92466;
double r92468 = -r92467;
double r92469 = log(r92427);
double r92470 = r92438 / r92424;
double r92471 = r92432 * r92437;
double r92472 = fma(r92427, r92470, r92471);
double r92473 = r92469 - r92472;
double r92474 = r92468 + r92473;
double r92475 = exp(r92474);
double r92476 = r92447 ? r92464 : r92475;
double r92477 = r92426 ? r92445 : r92476;
return r92477;
}



Bits error versus x



Bits error versus n
if n < -1.3110305152567192e+19Initial program 44.2
Taylor expanded around inf 32.3
Simplified32.3
if -1.3110305152567192e+19 < n < 52298366200.24001Initial program 9.8
rmApplied add-exp-log10.6
rmApplied add-cube-cbrt10.6
rmApplied sqr-pow10.6
Applied add-sqr-sqrt10.6
Applied difference-of-squares10.6
if 52298366200.24001 < n Initial program 45.5
rmApplied add-exp-log45.5
Taylor expanded around inf 32.0
Simplified32.0
Final simplification22.7
herbie shell --seed 2020036 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))