{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -104130347.93584307:\\
\;\;\;\;e^{\log \left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}\\
\mathbf{elif}\;\frac{1}{n} \le 2.8321253549703665 \cdot 10^{-07}:\\
\;\;\;\;\left(\frac{1}{x \cdot n} - \left(-\frac{\frac{\log x}{x}}{n \cdot n}\right)\right) - \frac{\frac{1}{2}}{n \cdot \left(x \cdot x\right)}\\
\mathbf{else}:\\
\;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\
\end{array}double f(double x, double n) {
double r1379586 = x;
double r1379587 = 1.0;
double r1379588 = r1379586 + r1379587;
double r1379589 = n;
double r1379590 = r1379587 / r1379589;
double r1379591 = pow(r1379588, r1379590);
double r1379592 = pow(r1379586, r1379590);
double r1379593 = r1379591 - r1379592;
return r1379593;
}
double f(double x, double n) {
double r1379594 = 1.0;
double r1379595 = n;
double r1379596 = r1379594 / r1379595;
double r1379597 = -104130347.93584307;
bool r1379598 = r1379596 <= r1379597;
double r1379599 = x;
double r1379600 = r1379599 + r1379594;
double r1379601 = pow(r1379600, r1379596);
double r1379602 = pow(r1379599, r1379596);
double r1379603 = r1379601 - r1379602;
double r1379604 = log(r1379603);
double r1379605 = exp(r1379604);
double r1379606 = 2.8321253549703665e-07;
bool r1379607 = r1379596 <= r1379606;
double r1379608 = r1379599 * r1379595;
double r1379609 = r1379594 / r1379608;
double r1379610 = log(r1379599);
double r1379611 = r1379610 / r1379599;
double r1379612 = r1379595 * r1379595;
double r1379613 = r1379611 / r1379612;
double r1379614 = -r1379613;
double r1379615 = r1379609 - r1379614;
double r1379616 = 0.5;
double r1379617 = r1379599 * r1379599;
double r1379618 = r1379595 * r1379617;
double r1379619 = r1379616 / r1379618;
double r1379620 = r1379615 - r1379619;
double r1379621 = log1p(r1379599);
double r1379622 = r1379621 / r1379595;
double r1379623 = exp(r1379622);
double r1379624 = r1379623 - r1379602;
double r1379625 = r1379607 ? r1379620 : r1379624;
double r1379626 = r1379598 ? r1379605 : r1379625;
return r1379626;
}



Bits error versus x



Bits error versus n
Results
if (/ 1 n) < -104130347.93584307Initial program 0
rmApplied add-exp-log0
if -104130347.93584307 < (/ 1 n) < 2.8321253549703665e-07Initial program 44.7
Taylor expanded around inf 33.1
Simplified33.1
if 2.8321253549703665e-07 < (/ 1 n) Initial program 23.4
rmApplied add-exp-log23.5
Applied pow-exp23.5
Simplified1.1
Final simplification19.3
herbie shell --seed 2019151 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))