{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -0.05925712577091127308825946329307043924928:\\
\;\;\;\;\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({\left(x + 1\right)}^{1}\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}\\
\mathbf{elif}\;\frac{1}{n} \le 2.255271015860772358417468981097305856376 \cdot 10^{-27}:\\
\;\;\;\;\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[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(\left(\sqrt[3]{\sqrt{{\left({\left(x + 1\right)}^{1}\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}} \cdot \sqrt[3]{\sqrt{{\left({\left(x + 1\right)}^{1}\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\right) \cdot \sqrt[3]{\sqrt{{\left({\left(x + 1\right)}^{1}\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\right)}\\
\end{array}double f(double x, double n) {
double r73461 = x;
double r73462 = 1.0;
double r73463 = r73461 + r73462;
double r73464 = n;
double r73465 = r73462 / r73464;
double r73466 = pow(r73463, r73465);
double r73467 = pow(r73461, r73465);
double r73468 = r73466 - r73467;
return r73468;
}
double f(double x, double n) {
double r73469 = 1.0;
double r73470 = n;
double r73471 = r73469 / r73470;
double r73472 = -0.05925712577091127;
bool r73473 = r73471 <= r73472;
double r73474 = x;
double r73475 = r73474 + r73469;
double r73476 = pow(r73475, r73471);
double r73477 = pow(r73474, r73471);
double r73478 = r73476 - r73477;
double r73479 = cbrt(r73478);
double r73480 = r73479 * r73479;
double r73481 = sqrt(r73476);
double r73482 = 2.0;
double r73483 = r73471 / r73482;
double r73484 = pow(r73474, r73483);
double r73485 = r73481 + r73484;
double r73486 = pow(r73475, r73469);
double r73487 = 1.0;
double r73488 = r73487 / r73470;
double r73489 = pow(r73486, r73488);
double r73490 = sqrt(r73489);
double r73491 = r73490 - r73484;
double r73492 = r73485 * r73491;
double r73493 = cbrt(r73492);
double r73494 = r73480 * r73493;
double r73495 = 2.2552710158607724e-27;
bool r73496 = r73471 <= r73495;
double r73497 = r73469 / r73474;
double r73498 = log(r73474);
double r73499 = -r73498;
double r73500 = pow(r73470, r73482);
double r73501 = r73499 / r73500;
double r73502 = r73488 - r73501;
double r73503 = r73497 * r73502;
double r73504 = 0.5;
double r73505 = pow(r73474, r73482);
double r73506 = r73505 * r73470;
double r73507 = r73504 / r73506;
double r73508 = r73503 - r73507;
double r73509 = cbrt(r73491);
double r73510 = r73509 * r73509;
double r73511 = r73510 * r73509;
double r73512 = r73485 * r73511;
double r73513 = cbrt(r73512);
double r73514 = r73480 * r73513;
double r73515 = r73496 ? r73508 : r73514;
double r73516 = r73473 ? r73494 : r73515;
return r73516;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -0.05925712577091127Initial program 0.1
rmApplied add-cube-cbrt0.1
rmApplied sqr-pow0.1
Applied add-sqr-sqrt0.1
Applied difference-of-squares0.1
rmApplied div-inv0.1
Applied pow-unpow0.1
if -0.05925712577091127 < (/ 1.0 n) < 2.2552710158607724e-27Initial program 44.9
Taylor expanded around inf 33.9
Simplified33.3
if 2.2552710158607724e-27 < (/ 1.0 n) Initial program 28.1
rmApplied add-cube-cbrt28.2
rmApplied sqr-pow28.1
Applied add-sqr-sqrt28.1
Applied difference-of-squares28.1
rmApplied div-inv28.1
Applied pow-unpow28.1
rmApplied add-cube-cbrt28.1
Final simplification23.0
herbie shell --seed 2019325
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))