{\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({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \sqrt[3]{{\left(\sqrt[3]{{\left(\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}^{3}}\right)}^{3}}\right)}^{3}}\\
\end{array}double f(double x, double n) {
double r64338 = x;
double r64339 = 1.0;
double r64340 = r64338 + r64339;
double r64341 = n;
double r64342 = r64339 / r64341;
double r64343 = pow(r64340, r64342);
double r64344 = pow(r64338, r64342);
double r64345 = r64343 - r64344;
return r64345;
}
double f(double x, double n) {
double r64346 = n;
double r64347 = -3406.4169782224208;
bool r64348 = r64346 <= r64347;
double r64349 = 1031392298459.7406;
bool r64350 = r64346 <= r64349;
double r64351 = !r64350;
bool r64352 = r64348 || r64351;
double r64353 = 1.0;
double r64354 = x;
double r64355 = r64353 / r64354;
double r64356 = 1.0;
double r64357 = r64356 / r64346;
double r64358 = log(r64354);
double r64359 = -r64358;
double r64360 = 2.0;
double r64361 = pow(r64346, r64360);
double r64362 = r64359 / r64361;
double r64363 = r64357 - r64362;
double r64364 = r64355 * r64363;
double r64365 = 0.5;
double r64366 = pow(r64354, r64360);
double r64367 = r64366 * r64346;
double r64368 = r64365 / r64367;
double r64369 = r64364 - r64368;
double r64370 = r64354 + r64353;
double r64371 = r64353 / r64346;
double r64372 = r64371 / r64360;
double r64373 = pow(r64370, r64372);
double r64374 = pow(r64354, r64372);
double r64375 = r64373 + r64374;
double r64376 = r64373 - r64374;
double r64377 = 3.0;
double r64378 = pow(r64376, r64377);
double r64379 = cbrt(r64378);
double r64380 = pow(r64379, r64377);
double r64381 = cbrt(r64380);
double r64382 = pow(r64381, r64377);
double r64383 = cbrt(r64382);
double r64384 = r64375 * r64383;
double r64385 = r64352 ? r64369 : r64384;
return r64385;
}



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 sqr-pow8.3
Applied sqr-pow8.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 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))