{\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 r2801344 = x;
double r2801345 = 1.0;
double r2801346 = r2801344 + r2801345;
double r2801347 = n;
double r2801348 = r2801345 / r2801347;
double r2801349 = pow(r2801346, r2801348);
double r2801350 = pow(r2801344, r2801348);
double r2801351 = r2801349 - r2801350;
return r2801351;
}
double f(double x, double n) {
double r2801352 = n;
double r2801353 = -24784678.57450563;
bool r2801354 = r2801352 <= r2801353;
double r2801355 = 1.0;
double r2801356 = x;
double r2801357 = r2801355 / r2801356;
double r2801358 = r2801357 / r2801352;
double r2801359 = 0.5;
double r2801360 = r2801356 * r2801356;
double r2801361 = r2801352 * r2801360;
double r2801362 = r2801359 / r2801361;
double r2801363 = r2801358 - r2801362;
double r2801364 = log(r2801356);
double r2801365 = r2801364 * r2801355;
double r2801366 = r2801356 * r2801352;
double r2801367 = r2801366 * r2801352;
double r2801368 = r2801365 / r2801367;
double r2801369 = r2801363 + r2801368;
double r2801370 = 37.00630601379255;
bool r2801371 = r2801352 <= r2801370;
double r2801372 = r2801356 + r2801355;
double r2801373 = r2801355 / r2801352;
double r2801374 = pow(r2801372, r2801373);
double r2801375 = cbrt(r2801374);
double r2801376 = r2801375 * r2801375;
double r2801377 = 2.0;
double r2801378 = r2801373 / r2801377;
double r2801379 = pow(r2801356, r2801378);
double r2801380 = -r2801379;
double r2801381 = r2801379 * r2801380;
double r2801382 = fma(r2801376, r2801375, r2801381);
double r2801383 = cbrt(r2801382);
double r2801384 = r2801383 * r2801383;
double r2801385 = r2801384 * r2801383;
double r2801386 = r2801373 / r2801356;
double r2801387 = -r2801364;
double r2801388 = r2801387 / r2801367;
double r2801389 = r2801359 / r2801352;
double r2801390 = r2801389 / r2801360;
double r2801391 = fma(r2801355, r2801388, r2801390);
double r2801392 = r2801386 - r2801391;
double r2801393 = r2801371 ? r2801385 : r2801392;
double r2801394 = r2801354 ? r2801369 : r2801393;
return r2801394;
}



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))))