{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -934833342441455353856 \lor \neg \left(n \le 59.535473331148146769464801764115691185\right):\\
\;\;\;\;\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(\mathsf{fma}\left(3, {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} \cdot \frac{1}{3}, -{x}^{\left(\frac{1}{n}\right)}\right)\right)}^{3}}\\
\end{array}double f(double x, double n) {
double r76506 = x;
double r76507 = 1.0;
double r76508 = r76506 + r76507;
double r76509 = n;
double r76510 = r76507 / r76509;
double r76511 = pow(r76508, r76510);
double r76512 = pow(r76506, r76510);
double r76513 = r76511 - r76512;
return r76513;
}
double f(double x, double n) {
double r76514 = n;
double r76515 = -9.348333424414554e+20;
bool r76516 = r76514 <= r76515;
double r76517 = 59.53547333114815;
bool r76518 = r76514 <= r76517;
double r76519 = !r76518;
bool r76520 = r76516 || r76519;
double r76521 = 1.0;
double r76522 = 1.0;
double r76523 = x;
double r76524 = r76523 * r76514;
double r76525 = r76522 / r76524;
double r76526 = 0.5;
double r76527 = 2.0;
double r76528 = pow(r76523, r76527);
double r76529 = r76528 * r76514;
double r76530 = r76522 / r76529;
double r76531 = r76522 / r76523;
double r76532 = log(r76531);
double r76533 = pow(r76514, r76527);
double r76534 = r76523 * r76533;
double r76535 = r76532 / r76534;
double r76536 = r76521 * r76535;
double r76537 = fma(r76526, r76530, r76536);
double r76538 = -r76537;
double r76539 = fma(r76521, r76525, r76538);
double r76540 = 3.0;
double r76541 = r76523 + r76521;
double r76542 = r76521 / r76514;
double r76543 = pow(r76541, r76542);
double r76544 = 0.3333333333333333;
double r76545 = r76543 * r76544;
double r76546 = pow(r76523, r76542);
double r76547 = -r76546;
double r76548 = fma(r76540, r76545, r76547);
double r76549 = pow(r76548, r76540);
double r76550 = cbrt(r76549);
double r76551 = r76520 ? r76539 : r76550;
return r76551;
}



Bits error versus x



Bits error versus n
if n < -9.348333424414554e+20 or 59.53547333114815 < n Initial program 44.4
Taylor expanded around inf 32.8
Simplified32.8
if -9.348333424414554e+20 < n < 59.53547333114815Initial program 9.4
rmApplied add-log-exp9.4
rmApplied add-cube-cbrt9.8
Applied log-prod9.9
Simplified9.9
rmApplied pow1/39.6
rmApplied add-cbrt-cube9.5
Simplified9.4
Final simplification22.7
herbie shell --seed 2019353 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))