{\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.408873306236969607029614450035238454794 \cdot 10^{-12}:\\
\;\;\;\;\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\\
\mathbf{elif}\;\frac{1}{n} \le 3.008482021354361490177034255367093310264 \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}:\\
\;\;\;\;\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}}\\
\end{array}double f(double x, double n) {
double r79410 = x;
double r79411 = 1.0;
double r79412 = r79410 + r79411;
double r79413 = n;
double r79414 = r79411 / r79413;
double r79415 = pow(r79412, r79414);
double r79416 = pow(r79410, r79414);
double r79417 = r79415 - r79416;
return r79417;
}
double f(double x, double n) {
double r79418 = 1.0;
double r79419 = n;
double r79420 = r79418 / r79419;
double r79421 = -1.4088733062369696e-12;
bool r79422 = r79420 <= r79421;
double r79423 = x;
double r79424 = r79423 + r79418;
double r79425 = pow(r79424, r79420);
double r79426 = pow(r79423, r79420);
double r79427 = r79425 - r79426;
double r79428 = cbrt(r79427);
double r79429 = r79428 * r79428;
double r79430 = r79429 * r79428;
double r79431 = 3.0084820213543615e-20;
bool r79432 = r79420 <= r79431;
double r79433 = 1.0;
double r79434 = r79423 * r79419;
double r79435 = r79433 / r79434;
double r79436 = 0.5;
double r79437 = 2.0;
double r79438 = pow(r79423, r79437);
double r79439 = r79438 * r79419;
double r79440 = r79433 / r79439;
double r79441 = r79433 / r79423;
double r79442 = log(r79441);
double r79443 = pow(r79419, r79437);
double r79444 = r79423 * r79443;
double r79445 = r79442 / r79444;
double r79446 = r79418 * r79445;
double r79447 = fma(r79436, r79440, r79446);
double r79448 = -r79447;
double r79449 = fma(r79418, r79435, r79448);
double r79450 = 3.0;
double r79451 = pow(r79427, r79450);
double r79452 = cbrt(r79451);
double r79453 = r79432 ? r79449 : r79452;
double r79454 = r79422 ? r79430 : r79453;
return r79454;
}



Bits error versus x



Bits error versus n
if (/ 1.0 n) < -1.4088733062369696e-12Initial program 1.2
rmApplied add-cube-cbrt1.2
if -1.4088733062369696e-12 < (/ 1.0 n) < 3.0084820213543615e-20Initial program 45.4
Taylor expanded around inf 32.1
Simplified32.1
if 3.0084820213543615e-20 < (/ 1.0 n) Initial program 26.4
rmApplied add-cbrt-cube26.4
Simplified26.4
Final simplification22.0
herbie shell --seed 2019352 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))