{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -4044640181538.08936:\\
\;\;\;\;\left({\left(\sqrt{x + 1}\right)}^{\left(\frac{1}{n}\right)} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left(\mathsf{fma}\left({\left(\mathsf{fma}\left({\left(\frac{1}{{x}^{2}}\right)}^{\frac{1}{3}}, 0.333333333333333315, {\left(\frac{1}{x}\right)}^{\frac{-1}{3}} - 0.1111111111111111 \cdot {\left(\frac{1}{{x}^{5}}\right)}^{\frac{1}{3}}\right)\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{\sqrt{x + 1}}\right)}^{\left(\frac{1}{n}\right)}, -{\left(\sqrt{x}\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {\left(\sqrt{x}\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) + \mathsf{fma}\left({\left(\sqrt{x}\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, -{\left(\sqrt{x}\right)}^{\left(\frac{\frac{1}{n}}{2}\right)}, {\left(\sqrt{x}\right)}^{\left(2 \cdot \frac{\frac{1}{n}}{2}\right)}\right)\right)\\
\mathbf{elif}\;\frac{1}{n} \le 1.46973031667613272 \cdot 10^{-7}:\\
\;\;\;\;\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{x + 1}\right)}^{\left(\frac{1}{n}\right)} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \frac{{\left({\left(\sqrt{x + 1}\right)}^{\left(\frac{1}{n}\right)}\right)}^{3} - {\left({x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}^{3}}{\mathsf{fma}\left({x}^{\left(\frac{\frac{1}{n}}{2}\right)}, {\left(\sqrt{x + 1}\right)}^{\left(\frac{1}{n}\right)} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}, {\left(\sqrt{x + 1}\right)}^{\left(2 \cdot \frac{1}{n}\right)}\right)}\\
\end{array}double f(double x, double n) {
double r112398 = x;
double r112399 = 1.0;
double r112400 = r112398 + r112399;
double r112401 = n;
double r112402 = r112399 / r112401;
double r112403 = pow(r112400, r112402);
double r112404 = pow(r112398, r112402);
double r112405 = r112403 - r112404;
return r112405;
}
double f(double x, double n) {
double r112406 = 1.0;
double r112407 = n;
double r112408 = r112406 / r112407;
double r112409 = -4044640181538.0894;
bool r112410 = r112408 <= r112409;
double r112411 = x;
double r112412 = r112411 + r112406;
double r112413 = sqrt(r112412);
double r112414 = pow(r112413, r112408);
double r112415 = 2.0;
double r112416 = r112408 / r112415;
double r112417 = pow(r112411, r112416);
double r112418 = r112414 + r112417;
double r112419 = 1.0;
double r112420 = pow(r112411, r112415);
double r112421 = r112419 / r112420;
double r112422 = 0.3333333333333333;
double r112423 = pow(r112421, r112422);
double r112424 = 0.3333333333333333;
double r112425 = r112419 / r112411;
double r112426 = -0.3333333333333333;
double r112427 = pow(r112425, r112426);
double r112428 = 0.1111111111111111;
double r112429 = 5.0;
double r112430 = pow(r112411, r112429);
double r112431 = r112419 / r112430;
double r112432 = pow(r112431, r112422);
double r112433 = r112428 * r112432;
double r112434 = r112427 - r112433;
double r112435 = fma(r112423, r112424, r112434);
double r112436 = pow(r112435, r112408);
double r112437 = cbrt(r112413);
double r112438 = pow(r112437, r112408);
double r112439 = sqrt(r112411);
double r112440 = pow(r112439, r112416);
double r112441 = r112440 * r112440;
double r112442 = -r112441;
double r112443 = fma(r112436, r112438, r112442);
double r112444 = -r112440;
double r112445 = r112415 * r112416;
double r112446 = pow(r112439, r112445);
double r112447 = fma(r112440, r112444, r112446);
double r112448 = r112443 + r112447;
double r112449 = r112418 * r112448;
double r112450 = 1.4697303166761327e-07;
bool r112451 = r112408 <= r112450;
double r112452 = r112411 * r112407;
double r112453 = r112419 / r112452;
double r112454 = 0.5;
double r112455 = r112420 * r112407;
double r112456 = r112419 / r112455;
double r112457 = log(r112425);
double r112458 = pow(r112407, r112415);
double r112459 = r112411 * r112458;
double r112460 = r112457 / r112459;
double r112461 = r112406 * r112460;
double r112462 = fma(r112454, r112456, r112461);
double r112463 = -r112462;
double r112464 = fma(r112406, r112453, r112463);
double r112465 = 3.0;
double r112466 = pow(r112414, r112465);
double r112467 = pow(r112417, r112465);
double r112468 = r112466 - r112467;
double r112469 = r112415 * r112408;
double r112470 = pow(r112413, r112469);
double r112471 = fma(r112417, r112418, r112470);
double r112472 = r112468 / r112471;
double r112473 = r112418 * r112472;
double r112474 = r112451 ? r112464 : r112473;
double r112475 = r112410 ? r112449 : r112474;
return r112475;
}



Bits error versus x



Bits error versus n
if (/ 1.0 n) < -4044640181538.0894Initial program 0
rmApplied sqr-pow0
Applied add-sqr-sqrt0
Applied unpow-prod-down0
Applied difference-of-squares0
rmApplied add-sqr-sqrt0
Applied unpow-prod-down0
Applied add-cube-cbrt0
Applied unpow-prod-down0
Applied prod-diff0
Simplified0
Taylor expanded around inf 0
Simplified0
if -4044640181538.0894 < (/ 1.0 n) < 1.4697303166761327e-07Initial program 44.4
Taylor expanded around inf 33.2
Simplified33.2
if 1.4697303166761327e-07 < (/ 1.0 n) Initial program 6.5
rmApplied sqr-pow6.6
Applied add-sqr-sqrt6.6
Applied unpow-prod-down6.5
Applied difference-of-squares6.5
rmApplied flip3--6.5
Simplified6.5
Final simplification24.8
herbie shell --seed 2020057 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))