{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -2.42990822967182081 \cdot 10^{-7}:\\
\;\;\;\;\sqrt[3]{{\left(\sqrt[3]{{\left(\sqrt[3]{{\left(\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}}\right)}^{3}}\right)}^{3}}\right)}^{3}}\\
\mathbf{elif}\;\frac{1}{n} \le 1.48079236773730348 \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}:\\
\;\;\;\;\sqrt[3]{{\left(\sqrt[3]{{\left(\sqrt[3]{{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)}^{3}}\right)}^{3}}\right)}^{3}}\\
\end{array}double f(double x, double n) {
double r50879 = x;
double r50880 = 1.0;
double r50881 = r50879 + r50880;
double r50882 = n;
double r50883 = r50880 / r50882;
double r50884 = pow(r50881, r50883);
double r50885 = pow(r50879, r50883);
double r50886 = r50884 - r50885;
return r50886;
}
double f(double x, double n) {
double r50887 = 1.0;
double r50888 = n;
double r50889 = r50887 / r50888;
double r50890 = -2.429908229671821e-07;
bool r50891 = r50889 <= r50890;
double r50892 = x;
double r50893 = r50892 + r50887;
double r50894 = pow(r50893, r50889);
double r50895 = pow(r50892, r50889);
double r50896 = r50894 - r50895;
double r50897 = 3.0;
double r50898 = pow(r50896, r50897);
double r50899 = cbrt(r50898);
double r50900 = pow(r50899, r50897);
double r50901 = cbrt(r50900);
double r50902 = pow(r50901, r50897);
double r50903 = cbrt(r50902);
double r50904 = pow(r50903, r50897);
double r50905 = cbrt(r50904);
double r50906 = 1.4807923677373035e-15;
bool r50907 = r50889 <= r50906;
double r50908 = r50887 / r50892;
double r50909 = 1.0;
double r50910 = r50909 / r50888;
double r50911 = log(r50892);
double r50912 = -r50911;
double r50913 = 2.0;
double r50914 = pow(r50888, r50913);
double r50915 = r50912 / r50914;
double r50916 = r50910 - r50915;
double r50917 = r50908 * r50916;
double r50918 = 0.5;
double r50919 = pow(r50892, r50913);
double r50920 = r50919 * r50888;
double r50921 = r50918 / r50920;
double r50922 = r50917 - r50921;
double r50923 = sqrt(r50896);
double r50924 = r50923 * r50923;
double r50925 = pow(r50924, r50897);
double r50926 = cbrt(r50925);
double r50927 = pow(r50926, r50897);
double r50928 = cbrt(r50927);
double r50929 = pow(r50928, r50897);
double r50930 = cbrt(r50929);
double r50931 = r50907 ? r50922 : r50930;
double r50932 = r50891 ? r50905 : r50931;
return r50932;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -2.429908229671821e-07Initial program 0.6
rmApplied add-cbrt-cube0.6
Simplified0.6
rmApplied add-cbrt-cube0.6
Simplified0.6
rmApplied add-cbrt-cube0.6
Simplified0.6
rmApplied add-cbrt-cube0.6
Simplified0.6
if -2.429908229671821e-07 < (/ 1.0 n) < 1.4807923677373035e-15Initial program 44.9
Taylor expanded around inf 32.2
Simplified31.6
if 1.4807923677373035e-15 < (/ 1.0 n) Initial program 27.2
rmApplied add-cbrt-cube27.2
Simplified27.2
rmApplied add-cbrt-cube27.2
Simplified27.2
rmApplied add-cbrt-cube27.2
Simplified27.2
rmApplied add-sqr-sqrt27.2
Final simplification21.9
herbie shell --seed 2020045
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))