{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -3406.416978222420766542199999094009399414 \lor \neg \left(n \le 1031392298459.7406005859375\right):\\
\;\;\;\;\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{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{\left(\sqrt[3]{{\left(\sqrt[3]{{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right)}^{3}}\right)}^{3}}\right)}^{3}}\\
\end{array}double f(double x, double n) {
double r54948 = x;
double r54949 = 1.0;
double r54950 = r54948 + r54949;
double r54951 = n;
double r54952 = r54949 / r54951;
double r54953 = pow(r54950, r54952);
double r54954 = pow(r54948, r54952);
double r54955 = r54953 - r54954;
return r54955;
}
double f(double x, double n) {
double r54956 = n;
double r54957 = -3406.4169782224208;
bool r54958 = r54956 <= r54957;
double r54959 = 1031392298459.7406;
bool r54960 = r54956 <= r54959;
double r54961 = !r54960;
bool r54962 = r54958 || r54961;
double r54963 = 1.0;
double r54964 = x;
double r54965 = r54963 / r54964;
double r54966 = 1.0;
double r54967 = r54966 / r54956;
double r54968 = log(r54964);
double r54969 = -r54968;
double r54970 = 2.0;
double r54971 = pow(r54956, r54970);
double r54972 = r54969 / r54971;
double r54973 = r54967 - r54972;
double r54974 = r54965 * r54973;
double r54975 = 0.5;
double r54976 = pow(r54964, r54970);
double r54977 = r54976 * r54956;
double r54978 = r54975 / r54977;
double r54979 = r54974 - r54978;
double r54980 = r54964 + r54963;
double r54981 = r54963 / r54956;
double r54982 = pow(r54980, r54981);
double r54983 = sqrt(r54982);
double r54984 = pow(r54964, r54981);
double r54985 = sqrt(r54984);
double r54986 = r54983 + r54985;
double r54987 = r54983 - r54985;
double r54988 = 3.0;
double r54989 = pow(r54987, r54988);
double r54990 = cbrt(r54989);
double r54991 = pow(r54990, r54988);
double r54992 = cbrt(r54991);
double r54993 = pow(r54992, r54988);
double r54994 = cbrt(r54993);
double r54995 = r54986 * r54994;
double r54996 = r54962 ? r54979 : r54995;
return r54996;
}



Bits error versus x



Bits error versus n
Results
if n < -3406.4169782224208 or 1031392298459.7406 < n Initial program 44.9
Taylor expanded around inf 33.1
Simplified32.5
if -3406.4169782224208 < n < 1031392298459.7406Initial program 8.3
rmApplied add-sqr-sqrt8.3
Applied add-sqr-sqrt8.3
Applied difference-of-squares8.3
rmApplied add-cbrt-cube8.3
Simplified8.3
rmApplied add-cbrt-cube8.3
Simplified8.3
rmApplied add-cbrt-cube8.3
Simplified8.3
Final simplification22.2
herbie shell --seed 2019323
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))