{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -1982989920422248.0:\\
\;\;\;\;\left(\frac{1}{x \cdot n} - \frac{-\frac{\log x}{x}}{n \cdot n}\right) - \frac{\frac{1}{2}}{n \cdot \left(x \cdot x\right)}\\
\mathbf{elif}\;n \le -4.76046101311837 \cdot 10^{-310}:\\
\;\;\;\;\sqrt[3]{\sqrt[3]{\left({\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right) \cdot \left(\log \left(e^{\mathsf{fma}\left(1, {\left(1 + x\right)}^{\left(\frac{1}{n}\right)}, \sqrt[3]{{x}^{\left(\frac{1}{n}\right)}} \cdot \left(-\sqrt[3]{{x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}\right)\right)}\right) \cdot \left({\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)\right)}} \cdot \left(\sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)\\
\mathbf{elif}\;n \le 792592107.1486229:\\
\;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{1}{x \cdot n} - \frac{-\frac{\log x}{x}}{n \cdot n}\right) - \frac{\frac{1}{2}}{n \cdot \left(x \cdot x\right)}\\
\end{array}double f(double x, double n) {
double r654698 = x;
double r654699 = 1.0;
double r654700 = r654698 + r654699;
double r654701 = n;
double r654702 = r654699 / r654701;
double r654703 = pow(r654700, r654702);
double r654704 = pow(r654698, r654702);
double r654705 = r654703 - r654704;
return r654705;
}
double f(double x, double n) {
double r654706 = n;
double r654707 = -1982989920422248.0;
bool r654708 = r654706 <= r654707;
double r654709 = 1.0;
double r654710 = x;
double r654711 = r654710 * r654706;
double r654712 = r654709 / r654711;
double r654713 = log(r654710);
double r654714 = r654713 / r654710;
double r654715 = -r654714;
double r654716 = r654706 * r654706;
double r654717 = r654715 / r654716;
double r654718 = r654712 - r654717;
double r654719 = 0.5;
double r654720 = r654710 * r654710;
double r654721 = r654706 * r654720;
double r654722 = r654719 / r654721;
double r654723 = r654718 - r654722;
double r654724 = -4.76046101311837e-310;
bool r654725 = r654706 <= r654724;
double r654726 = r654709 + r654710;
double r654727 = r654709 / r654706;
double r654728 = pow(r654726, r654727);
double r654729 = pow(r654710, r654727);
double r654730 = r654728 - r654729;
double r654731 = cbrt(r654729);
double r654732 = r654731 * r654731;
double r654733 = -r654732;
double r654734 = r654731 * r654733;
double r654735 = fma(r654709, r654728, r654734);
double r654736 = exp(r654735);
double r654737 = log(r654736);
double r654738 = r654737 * r654730;
double r654739 = r654730 * r654738;
double r654740 = cbrt(r654739);
double r654741 = cbrt(r654740);
double r654742 = cbrt(r654730);
double r654743 = r654742 * r654742;
double r654744 = r654741 * r654743;
double r654745 = 792592107.1486229;
bool r654746 = r654706 <= r654745;
double r654747 = log1p(r654710);
double r654748 = r654747 / r654706;
double r654749 = exp(r654748);
double r654750 = r654749 - r654729;
double r654751 = r654746 ? r654750 : r654723;
double r654752 = r654725 ? r654744 : r654751;
double r654753 = r654708 ? r654723 : r654752;
return r654753;
}



Bits error versus x



Bits error versus n
if n < -1982989920422248.0 or 792592107.1486229 < n Initial program 44.8
Taylor expanded around inf 32.0
Simplified32.0
if -1982989920422248.0 < n < -4.76046101311837e-310Initial program 1.8
rmApplied add-cube-cbrt1.8
rmApplied add-cbrt-cube1.8
rmApplied add-log-exp1.9
rmApplied add-cube-cbrt1.9
Applied *-un-lft-identity1.9
Applied prod-diff1.9
Simplified1.9
if -4.76046101311837e-310 < n < 792592107.1486229Initial program 24.1
rmApplied add-exp-log24.2
Applied pow-exp24.2
Simplified1.8
Final simplification19.2
herbie shell --seed 2019156 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))