{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -54631167.2909455597400665283203125 \lor \neg \left(n \le 1197072613876769056513589248\right):\\
\;\;\;\;\frac{1}{x \cdot n} - \mathsf{fma}\left(\frac{-\log x}{x \cdot {n}^{2}}, 1, \frac{0.5}{{x}^{2} \cdot n}\right)\\
\mathbf{else}:\\
\;\;\;\;\log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \left(\sqrt[3]{{x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}}\right)\\
\end{array}double f(double x, double n) {
double r68436 = x;
double r68437 = 1.0;
double r68438 = r68436 + r68437;
double r68439 = n;
double r68440 = r68437 / r68439;
double r68441 = pow(r68438, r68440);
double r68442 = pow(r68436, r68440);
double r68443 = r68441 - r68442;
return r68443;
}
double f(double x, double n) {
double r68444 = n;
double r68445 = -54631167.29094556;
bool r68446 = r68444 <= r68445;
double r68447 = 1.197072613876769e+27;
bool r68448 = r68444 <= r68447;
double r68449 = !r68448;
bool r68450 = r68446 || r68449;
double r68451 = 1.0;
double r68452 = x;
double r68453 = r68452 * r68444;
double r68454 = r68451 / r68453;
double r68455 = log(r68452);
double r68456 = -r68455;
double r68457 = 2.0;
double r68458 = pow(r68444, r68457);
double r68459 = r68452 * r68458;
double r68460 = r68456 / r68459;
double r68461 = 0.5;
double r68462 = pow(r68452, r68457);
double r68463 = r68462 * r68444;
double r68464 = r68461 / r68463;
double r68465 = fma(r68460, r68451, r68464);
double r68466 = r68454 - r68465;
double r68467 = r68452 + r68451;
double r68468 = r68451 / r68444;
double r68469 = pow(r68467, r68468);
double r68470 = pow(r68452, r68468);
double r68471 = cbrt(r68470);
double r68472 = r68471 * r68471;
double r68473 = r68472 * r68471;
double r68474 = r68469 - r68473;
double r68475 = exp(r68474);
double r68476 = log(r68475);
double r68477 = r68450 ? r68466 : r68476;
return r68477;
}



Bits error versus x



Bits error versus n
if n < -54631167.29094556 or 1.197072613876769e+27 < n Initial program 44.0
rmApplied add-log-exp44.0
Applied add-log-exp44.0
Applied diff-log44.0
Simplified44.0
rmApplied add-cube-cbrt44.0
Taylor expanded around inf 32.1
Simplified32.1
if -54631167.29094556 < n < 1.197072613876769e+27Initial program 9.9
rmApplied add-log-exp10.0
Applied add-log-exp10.0
Applied diff-log10.0
Simplified10.0
rmApplied add-cube-cbrt10.1
Final simplification22.3
herbie shell --seed 2019209 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))