{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -2.42990822967182081 \cdot 10^{-7} \lor \neg \left(\frac{1}{n} \le 1.48079236773730348 \cdot 10^{-15}\right):\\
\;\;\;\;\sqrt[3]{{\left(\sqrt[3]{{\left(\sqrt[3]{{\left(\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}}\right)}^{3}}\right)}^{3}}\right)}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{x \cdot n} - \mathsf{fma}\left(\frac{-\log x}{x \cdot {n}^{2}}, 1, \frac{0.5}{{x}^{2} \cdot n}\right)\\
\end{array}double f(double x, double n) {
double r71538 = x;
double r71539 = 1.0;
double r71540 = r71538 + r71539;
double r71541 = n;
double r71542 = r71539 / r71541;
double r71543 = pow(r71540, r71542);
double r71544 = pow(r71538, r71542);
double r71545 = r71543 - r71544;
return r71545;
}
double f(double x, double n) {
double r71546 = 1.0;
double r71547 = n;
double r71548 = r71546 / r71547;
double r71549 = -2.429908229671821e-07;
bool r71550 = r71548 <= r71549;
double r71551 = 1.4807923677373035e-15;
bool r71552 = r71548 <= r71551;
double r71553 = !r71552;
bool r71554 = r71550 || r71553;
double r71555 = x;
double r71556 = r71555 + r71546;
double r71557 = pow(r71556, r71548);
double r71558 = pow(r71555, r71548);
double r71559 = r71557 - r71558;
double r71560 = 3.0;
double r71561 = pow(r71559, r71560);
double r71562 = cbrt(r71561);
double r71563 = pow(r71562, r71560);
double r71564 = cbrt(r71563);
double r71565 = pow(r71564, r71560);
double r71566 = cbrt(r71565);
double r71567 = pow(r71566, r71560);
double r71568 = cbrt(r71567);
double r71569 = r71555 * r71547;
double r71570 = r71546 / r71569;
double r71571 = log(r71555);
double r71572 = -r71571;
double r71573 = 2.0;
double r71574 = pow(r71547, r71573);
double r71575 = r71555 * r71574;
double r71576 = r71572 / r71575;
double r71577 = 0.5;
double r71578 = pow(r71555, r71573);
double r71579 = r71578 * r71547;
double r71580 = r71577 / r71579;
double r71581 = fma(r71576, r71546, r71580);
double r71582 = r71570 - r71581;
double r71583 = r71554 ? r71568 : r71582;
return r71583;
}



Bits error versus x



Bits error versus n
if (/ 1.0 n) < -2.429908229671821e-07 or 1.4807923677373035e-15 < (/ 1.0 n) Initial program 9.4
rmApplied add-cbrt-cube9.4
Simplified9.4
rmApplied add-cbrt-cube9.4
Simplified9.4
rmApplied add-cbrt-cube9.4
Simplified9.4
rmApplied add-cbrt-cube9.4
Simplified9.4
if -2.429908229671821e-07 < (/ 1.0 n) < 1.4807923677373035e-15Initial program 44.9
rmApplied add-cbrt-cube44.9
Simplified44.9
Taylor expanded around inf 32.2
Simplified32.2
Final simplification22.3
herbie shell --seed 2020045 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))