{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -934833342441455353856:\\
\;\;\;\;\left(\frac{\frac{1}{n}}{x} - \frac{\frac{0.5}{n}}{{x}^{2}}\right) - \left(-\frac{1 \cdot \log x}{x \cdot {n}^{2}}\right)\\
\mathbf{elif}\;n \le 59.535473331148146769464801764115691185:\\
\;\;\;\;{\left({\left(x + 1\right)}^{\left(\frac{\sqrt{1}}{\sqrt[3]{n} \cdot \sqrt[3]{n}}\right)}\right)}^{\left(\frac{\sqrt{1}}{\sqrt[3]{n}}\right)} - {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\frac{\sqrt{1}}{\sqrt{n}}}{\sqrt{x}} + \frac{\sqrt{\frac{0.5}{n}}}{x}\right) \cdot \left(\frac{\frac{\sqrt{1}}{\sqrt{n}}}{\sqrt{x}} - \frac{\sqrt{\frac{0.5}{n}}}{x}\right) - \left(-\frac{1 \cdot \log x}{x \cdot {n}^{2}}\right)\\
\end{array}double f(double x, double n) {
double r70868 = x;
double r70869 = 1.0;
double r70870 = r70868 + r70869;
double r70871 = n;
double r70872 = r70869 / r70871;
double r70873 = pow(r70870, r70872);
double r70874 = pow(r70868, r70872);
double r70875 = r70873 - r70874;
return r70875;
}
double f(double x, double n) {
double r70876 = n;
double r70877 = -9.348333424414554e+20;
bool r70878 = r70876 <= r70877;
double r70879 = 1.0;
double r70880 = r70879 / r70876;
double r70881 = x;
double r70882 = r70880 / r70881;
double r70883 = 0.5;
double r70884 = r70883 / r70876;
double r70885 = 2.0;
double r70886 = pow(r70881, r70885);
double r70887 = r70884 / r70886;
double r70888 = r70882 - r70887;
double r70889 = log(r70881);
double r70890 = r70879 * r70889;
double r70891 = pow(r70876, r70885);
double r70892 = r70881 * r70891;
double r70893 = r70890 / r70892;
double r70894 = -r70893;
double r70895 = r70888 - r70894;
double r70896 = 59.53547333114815;
bool r70897 = r70876 <= r70896;
double r70898 = r70881 + r70879;
double r70899 = sqrt(r70879);
double r70900 = cbrt(r70876);
double r70901 = r70900 * r70900;
double r70902 = r70899 / r70901;
double r70903 = pow(r70898, r70902);
double r70904 = r70899 / r70900;
double r70905 = pow(r70903, r70904);
double r70906 = pow(r70881, r70880);
double r70907 = r70905 - r70906;
double r70908 = sqrt(r70876);
double r70909 = r70899 / r70908;
double r70910 = sqrt(r70881);
double r70911 = r70909 / r70910;
double r70912 = sqrt(r70884);
double r70913 = r70912 / r70881;
double r70914 = r70911 + r70913;
double r70915 = r70911 - r70913;
double r70916 = r70914 * r70915;
double r70917 = r70916 - r70894;
double r70918 = r70897 ? r70907 : r70917;
double r70919 = r70878 ? r70895 : r70918;
return r70919;
}



Bits error versus x



Bits error versus n
Results
if n < -9.348333424414554e+20Initial program 44.8
Taylor expanded around inf 32.3
Simplified31.8
rmApplied sub-neg31.8
Applied associate--r+31.8
if -9.348333424414554e+20 < n < 59.53547333114815Initial program 9.4
rmApplied add-cube-cbrt9.4
Applied add-sqr-sqrt9.4
Applied times-frac9.4
Applied pow-unpow9.4
if 59.53547333114815 < n Initial program 44.0
Taylor expanded around inf 33.1
Simplified32.5
rmApplied sub-neg32.5
Applied associate--r+32.5
rmApplied add-sqr-sqrt32.5
Applied unpow-prod-down32.5
Applied add-sqr-sqrt32.5
Applied times-frac32.4
Applied add-sqr-sqrt32.5
Applied add-sqr-sqrt32.5
Applied add-sqr-sqrt32.5
Applied times-frac32.5
Applied times-frac32.5
Applied difference-of-squares32.5
Simplified32.5
Simplified32.5
Final simplification22.4
herbie shell --seed 2019353
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))