{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -1111966062034791:\\
\;\;\;\;\left(\frac{\frac{1}{n}}{x} - \frac{0.5}{n \cdot \left(x \cdot x\right)}\right) - \left(-1\right) \cdot \frac{\log x}{x \cdot \left(n \cdot n\right)}\\
\mathbf{elif}\;n \le 251407.4974749986722599714994430541992188:\\
\;\;\;\;\left(\sqrt{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\frac{0.5}{x \cdot n} - \frac{-\frac{\log x}{x}}{n} \cdot \frac{0.25}{n}\right) - \log \left(e^{\frac{0.25}{x \cdot \left(x \cdot n\right)}}\right)\right) \cdot \left(\sqrt{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right)\\
\end{array}double f(double x, double n) {
double r54446 = x;
double r54447 = 1.0;
double r54448 = r54446 + r54447;
double r54449 = n;
double r54450 = r54447 / r54449;
double r54451 = pow(r54448, r54450);
double r54452 = pow(r54446, r54450);
double r54453 = r54451 - r54452;
return r54453;
}
double f(double x, double n) {
double r54454 = n;
double r54455 = -1111966062034791.0;
bool r54456 = r54454 <= r54455;
double r54457 = 1.0;
double r54458 = r54457 / r54454;
double r54459 = x;
double r54460 = r54458 / r54459;
double r54461 = 0.5;
double r54462 = r54459 * r54459;
double r54463 = r54454 * r54462;
double r54464 = r54461 / r54463;
double r54465 = r54460 - r54464;
double r54466 = -r54457;
double r54467 = log(r54459);
double r54468 = r54454 * r54454;
double r54469 = r54459 * r54468;
double r54470 = r54467 / r54469;
double r54471 = r54466 * r54470;
double r54472 = r54465 - r54471;
double r54473 = 251407.49747499867;
bool r54474 = r54454 <= r54473;
double r54475 = r54457 + r54459;
double r54476 = pow(r54475, r54458);
double r54477 = sqrt(r54476);
double r54478 = pow(r54459, r54458);
double r54479 = sqrt(r54478);
double r54480 = r54477 - r54479;
double r54481 = r54477 + r54479;
double r54482 = r54480 * r54481;
double r54483 = r54459 * r54454;
double r54484 = r54461 / r54483;
double r54485 = r54467 / r54459;
double r54486 = -r54485;
double r54487 = r54486 / r54454;
double r54488 = 0.25;
double r54489 = r54488 / r54454;
double r54490 = r54487 * r54489;
double r54491 = r54484 - r54490;
double r54492 = r54459 * r54483;
double r54493 = r54488 / r54492;
double r54494 = exp(r54493);
double r54495 = log(r54494);
double r54496 = r54491 - r54495;
double r54497 = r54496 * r54481;
double r54498 = r54474 ? r54482 : r54497;
double r54499 = r54456 ? r54472 : r54498;
return r54499;
}



Bits error versus x



Bits error versus n
Results
if n < -1111966062034791.0Initial program 44.2
Simplified44.2
rmApplied add-sqr-sqrt44.2
Taylor expanded around inf 31.6
Simplified31.1
if -1111966062034791.0 < n < 251407.49747499867Initial program 9.1
Simplified9.1
rmApplied add-sqr-sqrt9.2
Applied add-sqr-sqrt9.1
Applied difference-of-squares9.1
Simplified9.1
Simplified9.1
if 251407.49747499867 < n Initial program 43.9
Simplified43.9
rmApplied add-sqr-sqrt44.0
Applied add-sqr-sqrt44.0
Applied difference-of-squares43.9
Simplified43.9
Simplified43.9
Taylor expanded around inf 33.0
Simplified33.0
rmApplied add-log-exp33.0
Simplified33.0
Final simplification22.4
herbie shell --seed 2019174
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))