{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -946530.043801923166:\\
\;\;\;\;\left(\sqrt[3]{\frac{\frac{1}{n}}{x} - \left(\frac{\frac{0.5}{n}}{{x}^{2}} - \frac{\log x \cdot 1}{x \cdot {n}^{2}}\right)} \cdot \sqrt[3]{\frac{\frac{1}{n}}{x} - \left(\frac{\frac{0.5}{n}}{{x}^{2}} - \frac{\log x \cdot 1}{x \cdot {n}^{2}}\right)}\right) \cdot \sqrt[3]{\frac{\frac{1}{n}}{x} - \left(\frac{\frac{0.5}{n}}{{x}^{2}} - \frac{\log x \cdot 1}{x \cdot {n}^{2}}\right)}\\
\mathbf{elif}\;n \le 20201670204046.1445:\\
\;\;\;\;\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}^{3}} - {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{n}}{x} - \left(\log \left(e^{\frac{0.5}{{x}^{2} \cdot n}}\right) - \frac{\log x \cdot 1}{x \cdot {n}^{2}}\right)\\
\end{array}double f(double x, double n) {
double r53060 = x;
double r53061 = 1.0;
double r53062 = r53060 + r53061;
double r53063 = n;
double r53064 = r53061 / r53063;
double r53065 = pow(r53062, r53064);
double r53066 = pow(r53060, r53064);
double r53067 = r53065 - r53066;
return r53067;
}
double f(double x, double n) {
double r53068 = n;
double r53069 = -946530.0438019232;
bool r53070 = r53068 <= r53069;
double r53071 = 1.0;
double r53072 = r53071 / r53068;
double r53073 = x;
double r53074 = r53072 / r53073;
double r53075 = 0.5;
double r53076 = r53075 / r53068;
double r53077 = 2.0;
double r53078 = pow(r53073, r53077);
double r53079 = r53076 / r53078;
double r53080 = log(r53073);
double r53081 = r53080 * r53071;
double r53082 = pow(r53068, r53077);
double r53083 = r53073 * r53082;
double r53084 = r53081 / r53083;
double r53085 = r53079 - r53084;
double r53086 = r53074 - r53085;
double r53087 = cbrt(r53086);
double r53088 = r53087 * r53087;
double r53089 = r53088 * r53087;
double r53090 = 20201670204046.145;
bool r53091 = r53068 <= r53090;
double r53092 = r53073 + r53071;
double r53093 = pow(r53092, r53072);
double r53094 = 3.0;
double r53095 = pow(r53093, r53094);
double r53096 = cbrt(r53095);
double r53097 = pow(r53073, r53072);
double r53098 = r53096 - r53097;
double r53099 = r53078 * r53068;
double r53100 = r53075 / r53099;
double r53101 = exp(r53100);
double r53102 = log(r53101);
double r53103 = r53102 - r53084;
double r53104 = r53074 - r53103;
double r53105 = r53091 ? r53098 : r53104;
double r53106 = r53070 ? r53089 : r53105;
return r53106;
}



Bits error versus x



Bits error versus n
Results
if n < -946530.0438019232Initial program 44.4
Taylor expanded around inf 31.7
Simplified31.1
rmApplied add-cube-cbrt31.4
if -946530.0438019232 < n < 20201670204046.145Initial program 8.3
rmApplied add-cbrt-cube8.3
Simplified8.3
if 20201670204046.145 < n Initial program 45.0
Taylor expanded around inf 32.9
Simplified32.3
rmApplied add-log-exp32.4
Simplified32.4
Final simplification21.7
herbie shell --seed 2020025
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))