{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -80925173752378880 \lor \neg \left(n \le 196016184.31866574\right):\\
\;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\frac{0.5}{x \cdot n} - \mathsf{fma}\left(\frac{\frac{-\log x}{x}}{{n}^{2}}, 0.25, \frac{0.25}{{x}^{2} \cdot n}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right)\\
\end{array}double f(double x, double n) {
double r122891 = x;
double r122892 = 1.0;
double r122893 = r122891 + r122892;
double r122894 = n;
double r122895 = r122892 / r122894;
double r122896 = pow(r122893, r122895);
double r122897 = pow(r122891, r122895);
double r122898 = r122896 - r122897;
return r122898;
}
double f(double x, double n) {
double r122899 = n;
double r122900 = -8.092517375237888e+16;
bool r122901 = r122899 <= r122900;
double r122902 = 196016184.31866574;
bool r122903 = r122899 <= r122902;
double r122904 = !r122903;
bool r122905 = r122901 || r122904;
double r122906 = x;
double r122907 = 1.0;
double r122908 = r122906 + r122907;
double r122909 = r122907 / r122899;
double r122910 = pow(r122908, r122909);
double r122911 = sqrt(r122910);
double r122912 = pow(r122906, r122909);
double r122913 = sqrt(r122912);
double r122914 = r122911 + r122913;
double r122915 = 0.5;
double r122916 = r122906 * r122899;
double r122917 = r122915 / r122916;
double r122918 = log(r122906);
double r122919 = -r122918;
double r122920 = r122919 / r122906;
double r122921 = 2.0;
double r122922 = pow(r122899, r122921);
double r122923 = r122920 / r122922;
double r122924 = 0.25;
double r122925 = pow(r122906, r122921);
double r122926 = r122925 * r122899;
double r122927 = r122924 / r122926;
double r122928 = fma(r122923, r122924, r122927);
double r122929 = r122917 - r122928;
double r122930 = r122914 * r122929;
double r122931 = r122911 - r122913;
double r122932 = r122914 * r122931;
double r122933 = r122905 ? r122930 : r122932;
return r122933;
}



Bits error versus x



Bits error versus n
if n < -8.092517375237888e+16 or 196016184.31866574 < n Initial program 44.4
rmApplied add-sqr-sqrt44.4
Applied add-sqr-sqrt44.4
Applied difference-of-squares44.4
Taylor expanded around inf 32.1
Simplified32.1
if -8.092517375237888e+16 < n < 196016184.31866574Initial program 9.6
rmApplied add-sqr-sqrt9.7
Applied add-sqr-sqrt9.6
Applied difference-of-squares9.6
Final simplification22.1
herbie shell --seed 2020047 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))