{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -9.277743339242776164382043874840818047014 \cdot 10^{-13}:\\
\;\;\;\;\left(2 \cdot \log \left({\left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\right)}^{\frac{1}{3}}\right) + \log \left(\sqrt[3]{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}}\right)\right) - {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{elif}\;\frac{1}{n} \le 8.740688882085781214297279027767987281218 \cdot 10^{-15}:\\
\;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \log \left({\left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\right)}^{\frac{1}{3}}\right) + \left(\frac{1}{3} \cdot {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)\\
\end{array}double f(double x, double n) {
double r63597 = x;
double r63598 = 1.0;
double r63599 = r63597 + r63598;
double r63600 = n;
double r63601 = r63598 / r63600;
double r63602 = pow(r63599, r63601);
double r63603 = pow(r63597, r63601);
double r63604 = r63602 - r63603;
return r63604;
}
double f(double x, double n) {
double r63605 = 1.0;
double r63606 = n;
double r63607 = r63605 / r63606;
double r63608 = -9.277743339242776e-13;
bool r63609 = r63607 <= r63608;
double r63610 = 2.0;
double r63611 = x;
double r63612 = r63611 + r63605;
double r63613 = pow(r63612, r63607);
double r63614 = exp(r63613);
double r63615 = 0.3333333333333333;
double r63616 = pow(r63614, r63615);
double r63617 = log(r63616);
double r63618 = r63610 * r63617;
double r63619 = cbrt(r63614);
double r63620 = log(r63619);
double r63621 = r63618 + r63620;
double r63622 = pow(r63611, r63607);
double r63623 = r63621 - r63622;
double r63624 = 8.740688882085781e-15;
bool r63625 = r63607 <= r63624;
double r63626 = r63605 / r63611;
double r63627 = 1.0;
double r63628 = r63627 / r63606;
double r63629 = log(r63611);
double r63630 = -r63629;
double r63631 = pow(r63606, r63610);
double r63632 = r63630 / r63631;
double r63633 = r63628 - r63632;
double r63634 = r63626 * r63633;
double r63635 = 0.5;
double r63636 = pow(r63611, r63610);
double r63637 = r63636 * r63606;
double r63638 = r63635 / r63637;
double r63639 = r63634 - r63638;
double r63640 = r63615 * r63613;
double r63641 = r63640 - r63622;
double r63642 = r63618 + r63641;
double r63643 = r63625 ? r63639 : r63642;
double r63644 = r63609 ? r63623 : r63643;
return r63644;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -9.277743339242776e-13Initial program 1.3
rmApplied add-log-exp1.3
rmApplied add-cube-cbrt1.4
Applied log-prod1.4
Simplified1.4
rmApplied pow1/31.4
if -9.277743339242776e-13 < (/ 1.0 n) < 8.740688882085781e-15Initial program 45.4
Taylor expanded around inf 33.2
Simplified32.6
if 8.740688882085781e-15 < (/ 1.0 n) Initial program 24.6
rmApplied add-log-exp24.6
rmApplied add-cube-cbrt26.0
Applied log-prod26.0
Simplified26.0
rmApplied pow1/325.3
rmApplied associate--l+25.3
Simplified24.8
Final simplification22.1
herbie shell --seed 2019350
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))