{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -24784678.5745056308805942535400390625:\\
\;\;\;\;\left(\frac{\frac{1}{x}}{n} - \frac{0.5}{n \cdot \left(x \cdot x\right)}\right) + \frac{\log x \cdot 1}{\left(x \cdot n\right) \cdot n}\\
\mathbf{elif}\;n \le 37.00630601379255324445693986490368843079:\\
\;\;\;\;\left(\sqrt[3]{\mathsf{fma}\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}, \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}, {x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot \left(-{x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}, \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}, {x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot \left(-{x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}, \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}, {x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot \left(-{x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{n}}{x} - \mathsf{fma}\left(1, \frac{-\log x}{\left(x \cdot n\right) \cdot n}, \frac{\frac{0.5}{n}}{x \cdot x}\right)\\
\end{array}double f(double x, double n) {
double r2801350 = x;
double r2801351 = 1.0;
double r2801352 = r2801350 + r2801351;
double r2801353 = n;
double r2801354 = r2801351 / r2801353;
double r2801355 = pow(r2801352, r2801354);
double r2801356 = pow(r2801350, r2801354);
double r2801357 = r2801355 - r2801356;
return r2801357;
}
double f(double x, double n) {
double r2801358 = n;
double r2801359 = -24784678.57450563;
bool r2801360 = r2801358 <= r2801359;
double r2801361 = 1.0;
double r2801362 = x;
double r2801363 = r2801361 / r2801362;
double r2801364 = r2801363 / r2801358;
double r2801365 = 0.5;
double r2801366 = r2801362 * r2801362;
double r2801367 = r2801358 * r2801366;
double r2801368 = r2801365 / r2801367;
double r2801369 = r2801364 - r2801368;
double r2801370 = log(r2801362);
double r2801371 = r2801370 * r2801361;
double r2801372 = r2801362 * r2801358;
double r2801373 = r2801372 * r2801358;
double r2801374 = r2801371 / r2801373;
double r2801375 = r2801369 + r2801374;
double r2801376 = 37.00630601379255;
bool r2801377 = r2801358 <= r2801376;
double r2801378 = r2801362 + r2801361;
double r2801379 = r2801361 / r2801358;
double r2801380 = pow(r2801378, r2801379);
double r2801381 = cbrt(r2801380);
double r2801382 = r2801381 * r2801381;
double r2801383 = 2.0;
double r2801384 = r2801379 / r2801383;
double r2801385 = pow(r2801362, r2801384);
double r2801386 = -r2801385;
double r2801387 = r2801385 * r2801386;
double r2801388 = fma(r2801382, r2801381, r2801387);
double r2801389 = cbrt(r2801388);
double r2801390 = r2801389 * r2801389;
double r2801391 = r2801390 * r2801389;
double r2801392 = r2801379 / r2801362;
double r2801393 = -r2801370;
double r2801394 = r2801393 / r2801373;
double r2801395 = r2801365 / r2801358;
double r2801396 = r2801395 / r2801366;
double r2801397 = fma(r2801361, r2801394, r2801396);
double r2801398 = r2801392 - r2801397;
double r2801399 = r2801377 ? r2801391 : r2801398;
double r2801400 = r2801360 ? r2801375 : r2801399;
return r2801400;
}



Bits error versus x



Bits error versus n
if n < -24784678.57450563Initial program 45.0
Taylor expanded around inf 33.0
Simplified32.2
if -24784678.57450563 < n < 37.00630601379255Initial program 8.2
rmApplied sqr-pow8.2
Applied add-cube-cbrt8.2
Applied prod-diff8.2
Simplified8.2
rmApplied add-cube-cbrt8.2
if 37.00630601379255 < n Initial program 44.9
rmApplied add-cube-cbrt44.9
Applied pow-unpow44.9
Taylor expanded around inf 32.9
Simplified32.4
Final simplification22.0
herbie shell --seed 2019200 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))