{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -981129.097746690385974943637847900390625:\\
\;\;\;\;\left(\frac{\frac{1}{x}}{n} + \frac{1}{\frac{n \cdot \left(x \cdot n\right)}{\log x}}\right) - \frac{\frac{0.5}{n}}{x \cdot x}\\
\mathbf{elif}\;n \le 18355886.857708632946014404296875:\\
\;\;\;\;\log \left(\left(\sqrt[3]{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}} \cdot \sqrt[3]{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}}\right) \cdot \sqrt[3]{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}}\right) - {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{1 \cdot \log x}{{n}^{2} \cdot x} + \frac{\frac{1}{n}}{x}\right) - \log \left(e^{\frac{\frac{0.5}{{x}^{2}}}{n}}\right)\\
\end{array}double f(double x, double n) {
double r53460 = x;
double r53461 = 1.0;
double r53462 = r53460 + r53461;
double r53463 = n;
double r53464 = r53461 / r53463;
double r53465 = pow(r53462, r53464);
double r53466 = pow(r53460, r53464);
double r53467 = r53465 - r53466;
return r53467;
}
double f(double x, double n) {
double r53468 = n;
double r53469 = -981129.0977466904;
bool r53470 = r53468 <= r53469;
double r53471 = 1.0;
double r53472 = x;
double r53473 = r53471 / r53472;
double r53474 = r53473 / r53468;
double r53475 = r53472 * r53468;
double r53476 = r53468 * r53475;
double r53477 = log(r53472);
double r53478 = r53476 / r53477;
double r53479 = r53471 / r53478;
double r53480 = r53474 + r53479;
double r53481 = 0.5;
double r53482 = r53481 / r53468;
double r53483 = r53472 * r53472;
double r53484 = r53482 / r53483;
double r53485 = r53480 - r53484;
double r53486 = 18355886.857708633;
bool r53487 = r53468 <= r53486;
double r53488 = r53472 + r53471;
double r53489 = r53471 / r53468;
double r53490 = pow(r53488, r53489);
double r53491 = exp(r53490);
double r53492 = cbrt(r53491);
double r53493 = r53492 * r53492;
double r53494 = r53493 * r53492;
double r53495 = log(r53494);
double r53496 = pow(r53472, r53489);
double r53497 = r53495 - r53496;
double r53498 = r53471 * r53477;
double r53499 = 2.0;
double r53500 = pow(r53468, r53499);
double r53501 = r53500 * r53472;
double r53502 = r53498 / r53501;
double r53503 = r53489 / r53472;
double r53504 = r53502 + r53503;
double r53505 = pow(r53472, r53499);
double r53506 = r53481 / r53505;
double r53507 = r53506 / r53468;
double r53508 = exp(r53507);
double r53509 = log(r53508);
double r53510 = r53504 - r53509;
double r53511 = r53487 ? r53497 : r53510;
double r53512 = r53470 ? r53485 : r53511;
return r53512;
}



Bits error versus x



Bits error versus n
Results
if n < -981129.0977466904Initial program 45.2
Taylor expanded around inf 32.1
Simplified31.4
rmApplied *-un-lft-identity31.4
Applied *-un-lft-identity31.4
Applied distribute-lft-out31.4
Simplified31.4
if -981129.0977466904 < n < 18355886.857708633Initial program 7.9
rmApplied add-log-exp8.0
Simplified8.0
rmApplied add-cube-cbrt8.4
Simplified8.4
Simplified8.4
if 18355886.857708633 < n Initial program 45.5
Taylor expanded around inf 32.5
Simplified31.9
rmApplied add-log-exp32.0
Simplified32.0
Final simplification21.8
herbie shell --seed 2019194
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))