{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -4392111429010646530 \lor \neg \left(n \le 142153.58580214932\right):\\
\;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \log \left(\sqrt[3]{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}}\right) + \frac{1}{3} \cdot \log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)\\
\end{array}double f(double x, double n) {
double r72101 = x;
double r72102 = 1.0;
double r72103 = r72101 + r72102;
double r72104 = n;
double r72105 = r72102 / r72104;
double r72106 = pow(r72103, r72105);
double r72107 = pow(r72101, r72105);
double r72108 = r72106 - r72107;
return r72108;
}
double f(double x, double n) {
double r72109 = n;
double r72110 = -4.3921114290106465e+18;
bool r72111 = r72109 <= r72110;
double r72112 = 142153.58580214932;
bool r72113 = r72109 <= r72112;
double r72114 = !r72113;
bool r72115 = r72111 || r72114;
double r72116 = 1.0;
double r72117 = x;
double r72118 = r72116 / r72117;
double r72119 = 1.0;
double r72120 = r72119 / r72109;
double r72121 = log(r72117);
double r72122 = -r72121;
double r72123 = 2.0;
double r72124 = pow(r72109, r72123);
double r72125 = r72122 / r72124;
double r72126 = r72120 - r72125;
double r72127 = r72118 * r72126;
double r72128 = 0.5;
double r72129 = pow(r72117, r72123);
double r72130 = r72129 * r72109;
double r72131 = r72128 / r72130;
double r72132 = r72127 - r72131;
double r72133 = r72117 + r72116;
double r72134 = r72116 / r72109;
double r72135 = pow(r72133, r72134);
double r72136 = pow(r72117, r72134);
double r72137 = r72135 - r72136;
double r72138 = exp(r72137);
double r72139 = cbrt(r72138);
double r72140 = log(r72139);
double r72141 = r72123 * r72140;
double r72142 = 0.3333333333333333;
double r72143 = log(r72138);
double r72144 = r72142 * r72143;
double r72145 = r72141 + r72144;
double r72146 = r72115 ? r72132 : r72145;
return r72146;
}



Bits error versus x



Bits error versus n
Results
if n < -4.3921114290106465e+18 or 142153.58580214932 < n Initial program 44.7
Taylor expanded around inf 33.3
Simplified32.9
if -4.3921114290106465e+18 < n < 142153.58580214932Initial program 9.9
rmApplied add-log-exp10.0
Applied add-log-exp10.0
Applied diff-log10.1
Simplified10.0
rmApplied add-cube-cbrt10.4
Applied log-prod10.4
Simplified10.4
rmApplied pow1/310.3
Applied log-pow10.3
Simplified10.3
rmApplied add-log-exp10.4
Applied add-log-exp10.3
Applied diff-log10.3
Simplified10.3
Final simplification23.0
herbie shell --seed 2020043
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))