{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -0.05925712577091127308825946329307043924928:\\
\;\;\;\;\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}\right) \cdot \sqrt[3]{e^{1 \cdot \frac{\log 1}{n}} - {x}^{\left(\frac{1}{n}\right)}}\\
\mathbf{elif}\;\frac{1}{n} \le 2.255271015860772358417468981097305856376 \cdot 10^{-27}:\\
\;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left(\left(\sqrt[3]{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}} \cdot \sqrt[3]{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\right) \cdot \sqrt[3]{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\right)}\right) \cdot \sqrt[3]{e^{1 \cdot \frac{\log 1}{n}} - {x}^{\left(\frac{1}{n}\right)}}\\
\end{array}double f(double x, double n) {
double r66862 = x;
double r66863 = 1.0;
double r66864 = r66862 + r66863;
double r66865 = n;
double r66866 = r66863 / r66865;
double r66867 = pow(r66864, r66866);
double r66868 = pow(r66862, r66866);
double r66869 = r66867 - r66868;
return r66869;
}
double f(double x, double n) {
double r66870 = 1.0;
double r66871 = n;
double r66872 = r66870 / r66871;
double r66873 = -0.05925712577091127;
bool r66874 = r66872 <= r66873;
double r66875 = x;
double r66876 = r66875 + r66870;
double r66877 = pow(r66876, r66872);
double r66878 = pow(r66875, r66872);
double r66879 = r66877 - r66878;
double r66880 = cbrt(r66879);
double r66881 = sqrt(r66877);
double r66882 = 2.0;
double r66883 = r66872 / r66882;
double r66884 = pow(r66875, r66883);
double r66885 = r66881 + r66884;
double r66886 = r66881 - r66884;
double r66887 = r66885 * r66886;
double r66888 = cbrt(r66887);
double r66889 = r66880 * r66888;
double r66890 = log(r66870);
double r66891 = r66890 / r66871;
double r66892 = r66870 * r66891;
double r66893 = exp(r66892);
double r66894 = r66893 - r66878;
double r66895 = cbrt(r66894);
double r66896 = r66889 * r66895;
double r66897 = 2.2552710158607724e-27;
bool r66898 = r66872 <= r66897;
double r66899 = r66870 / r66875;
double r66900 = 1.0;
double r66901 = r66900 / r66871;
double r66902 = log(r66875);
double r66903 = -r66902;
double r66904 = pow(r66871, r66882);
double r66905 = r66903 / r66904;
double r66906 = r66901 - r66905;
double r66907 = r66899 * r66906;
double r66908 = 0.5;
double r66909 = pow(r66875, r66882);
double r66910 = r66909 * r66871;
double r66911 = r66908 / r66910;
double r66912 = r66907 - r66911;
double r66913 = cbrt(r66886);
double r66914 = r66913 * r66913;
double r66915 = r66914 * r66913;
double r66916 = r66885 * r66915;
double r66917 = cbrt(r66916);
double r66918 = r66880 * r66917;
double r66919 = r66918 * r66895;
double r66920 = r66898 ? r66912 : r66919;
double r66921 = r66874 ? r66896 : r66920;
return r66921;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -0.05925712577091127Initial program 0.1
rmApplied add-cube-cbrt0.1
rmApplied sqr-pow0.1
Applied add-sqr-sqrt0.1
Applied difference-of-squares0.1
Taylor expanded around 0 0.1
if -0.05925712577091127 < (/ 1.0 n) < 2.2552710158607724e-27Initial program 44.9
Taylor expanded around inf 33.9
Simplified33.3
if 2.2552710158607724e-27 < (/ 1.0 n) Initial program 28.1
rmApplied add-cube-cbrt28.2
rmApplied sqr-pow28.1
Applied add-sqr-sqrt28.1
Applied difference-of-squares28.1
Taylor expanded around 0 28.2
rmApplied add-cube-cbrt28.2
Final simplification23.0
herbie shell --seed 2019325
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))