{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -1.1469491090180712 \cdot 10^{-6}:\\
\;\;\;\;{\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x + 1}\right)}^{\left(\frac{1}{n}\right)} - \left(\sqrt[3]{{x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}\\
\mathbf{elif}\;\frac{1}{n} \le 1.2787797536218279 \cdot 10^{-20}:\\
\;\;\;\;\mathsf{fma}\left(1, \frac{1}{x \cdot n}, -\mathsf{fma}\left(0.5, \frac{1}{{x}^{2} \cdot n}, 1 \cdot \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{2}{3} \cdot \frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{2}{3} \cdot \frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{2}{3} \cdot \frac{1}{n}\right)}}\right) \cdot {\left({\left(\sqrt[3]{x + 1}\right)}^{\left(\sqrt[3]{\frac{1}{n}} \cdot \sqrt[3]{\frac{1}{n}}\right)}\right)}^{\left(\sqrt[3]{\frac{1}{n}}\right)} - {x}^{\left(\frac{1}{n}\right)}\\
\end{array}double f(double x, double n) {
double r77373 = x;
double r77374 = 1.0;
double r77375 = r77373 + r77374;
double r77376 = n;
double r77377 = r77374 / r77376;
double r77378 = pow(r77375, r77377);
double r77379 = pow(r77373, r77377);
double r77380 = r77378 - r77379;
return r77380;
}
double f(double x, double n) {
double r77381 = 1.0;
double r77382 = n;
double r77383 = r77381 / r77382;
double r77384 = -1.1469491090180712e-06;
bool r77385 = r77383 <= r77384;
double r77386 = x;
double r77387 = r77386 + r77381;
double r77388 = cbrt(r77387);
double r77389 = r77388 * r77388;
double r77390 = pow(r77389, r77383);
double r77391 = pow(r77388, r77383);
double r77392 = r77390 * r77391;
double r77393 = pow(r77386, r77383);
double r77394 = cbrt(r77393);
double r77395 = r77394 * r77394;
double r77396 = r77395 * r77394;
double r77397 = r77392 - r77396;
double r77398 = 1.2787797536218279e-20;
bool r77399 = r77383 <= r77398;
double r77400 = 1.0;
double r77401 = r77386 * r77382;
double r77402 = r77400 / r77401;
double r77403 = 0.5;
double r77404 = 2.0;
double r77405 = pow(r77386, r77404);
double r77406 = r77405 * r77382;
double r77407 = r77400 / r77406;
double r77408 = r77400 / r77386;
double r77409 = log(r77408);
double r77410 = pow(r77382, r77404);
double r77411 = r77386 * r77410;
double r77412 = r77409 / r77411;
double r77413 = r77381 * r77412;
double r77414 = fma(r77403, r77407, r77413);
double r77415 = -r77414;
double r77416 = fma(r77381, r77402, r77415);
double r77417 = 0.6666666666666666;
double r77418 = r77417 * r77383;
double r77419 = pow(r77387, r77418);
double r77420 = cbrt(r77419);
double r77421 = r77420 * r77420;
double r77422 = r77421 * r77420;
double r77423 = cbrt(r77383);
double r77424 = r77423 * r77423;
double r77425 = pow(r77388, r77424);
double r77426 = pow(r77425, r77423);
double r77427 = r77422 * r77426;
double r77428 = r77427 - r77393;
double r77429 = r77399 ? r77416 : r77428;
double r77430 = r77385 ? r77397 : r77429;
return r77430;
}



Bits error versus x



Bits error versus n
if (/ 1.0 n) < -1.1469491090180712e-06Initial program 0.6
rmApplied add-cube-cbrt0.6
Applied unpow-prod-down0.6
rmApplied add-cube-cbrt0.6
if -1.1469491090180712e-06 < (/ 1.0 n) < 1.2787797536218279e-20Initial program 44.4
Taylor expanded around inf 32.7
Simplified32.7
if 1.2787797536218279e-20 < (/ 1.0 n) Initial program 27.1
rmApplied add-cube-cbrt27.1
Applied unpow-prod-down27.2
rmApplied pow1/327.2
Applied pow1/327.2
Applied pow-prod-up27.2
Applied pow-pow27.1
Simplified27.1
rmApplied add-cube-cbrt27.2
Applied pow-unpow27.2
rmApplied add-cube-cbrt27.2
Final simplification22.4
herbie shell --seed 2020035 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))