{\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.01697060178152998838330134390162129420787 \lor \neg \left(\frac{1}{n} \le 1.026143965706023046711342085124602559881 \cdot 10^{-10}\right):\\
\;\;\;\;\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{n}}{x} - \left(\frac{\frac{0.5}{n}}{{x}^{2}} - \frac{1 \cdot \log x}{x \cdot {n}^{2}}\right)\\
\end{array}double f(double x, double n) {
double r92966 = x;
double r92967 = 1.0;
double r92968 = r92966 + r92967;
double r92969 = n;
double r92970 = r92967 / r92969;
double r92971 = pow(r92968, r92970);
double r92972 = pow(r92966, r92970);
double r92973 = r92971 - r92972;
return r92973;
}
double f(double x, double n) {
double r92974 = 1.0;
double r92975 = n;
double r92976 = r92974 / r92975;
double r92977 = -0.01697060178152999;
bool r92978 = r92976 <= r92977;
double r92979 = 1.026143965706023e-10;
bool r92980 = r92976 <= r92979;
double r92981 = !r92980;
bool r92982 = r92978 || r92981;
double r92983 = x;
double r92984 = r92983 + r92974;
double r92985 = pow(r92984, r92976);
double r92986 = cbrt(r92985);
double r92987 = r92986 * r92986;
double r92988 = r92987 * r92986;
double r92989 = pow(r92983, r92976);
double r92990 = r92988 - r92989;
double r92991 = r92976 / r92983;
double r92992 = 0.5;
double r92993 = r92992 / r92975;
double r92994 = 2.0;
double r92995 = pow(r92983, r92994);
double r92996 = r92993 / r92995;
double r92997 = log(r92983);
double r92998 = r92974 * r92997;
double r92999 = pow(r92975, r92994);
double r93000 = r92983 * r92999;
double r93001 = r92998 / r93000;
double r93002 = r92996 - r93001;
double r93003 = r92991 - r93002;
double r93004 = r92982 ? r92990 : r93003;
return r93004;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -0.01697060178152999 or 1.026143965706023e-10 < (/ 1.0 n) Initial program 8.6
rmApplied add-cube-cbrt8.6
if -0.01697060178152999 < (/ 1.0 n) < 1.026143965706023e-10Initial program 44.9
rmApplied add-cube-cbrt44.9
Taylor expanded around inf 32.5
Simplified32.0
Final simplification22.1
herbie shell --seed 2019318
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))