{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -10036768523789454 \lor \neg \left(\frac{1}{n} \le 1.86323975548902723 \cdot 10^{-9}\right):\\
\;\;\;\;\sqrt[3]{e^{\sqrt[3]{{\left(\sqrt[3]{{\left(\log \left({\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)\right)}^{3}}\right)}^{3}}}}\\
\mathbf{else}:\\
\;\;\;\;\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)\\
\end{array}double f(double x, double n) {
double r83241 = x;
double r83242 = 1.0;
double r83243 = r83241 + r83242;
double r83244 = n;
double r83245 = r83242 / r83244;
double r83246 = pow(r83243, r83245);
double r83247 = pow(r83241, r83245);
double r83248 = r83246 - r83247;
return r83248;
}
double f(double x, double n) {
double r83249 = 1.0;
double r83250 = n;
double r83251 = r83249 / r83250;
double r83252 = -10036768523789454.0;
bool r83253 = r83251 <= r83252;
double r83254 = 1.8632397554890272e-09;
bool r83255 = r83251 <= r83254;
double r83256 = !r83255;
bool r83257 = r83253 || r83256;
double r83258 = x;
double r83259 = r83258 + r83249;
double r83260 = pow(r83259, r83251);
double r83261 = pow(r83258, r83251);
double r83262 = r83260 - r83261;
double r83263 = 3.0;
double r83264 = pow(r83262, r83263);
double r83265 = log(r83264);
double r83266 = pow(r83265, r83263);
double r83267 = cbrt(r83266);
double r83268 = pow(r83267, r83263);
double r83269 = cbrt(r83268);
double r83270 = exp(r83269);
double r83271 = cbrt(r83270);
double r83272 = 1.0;
double r83273 = r83258 * r83250;
double r83274 = r83272 / r83273;
double r83275 = 0.5;
double r83276 = 2.0;
double r83277 = pow(r83258, r83276);
double r83278 = r83277 * r83250;
double r83279 = r83272 / r83278;
double r83280 = r83272 / r83258;
double r83281 = log(r83280);
double r83282 = pow(r83250, r83276);
double r83283 = r83258 * r83282;
double r83284 = r83281 / r83283;
double r83285 = r83249 * r83284;
double r83286 = fma(r83275, r83279, r83285);
double r83287 = -r83286;
double r83288 = fma(r83249, r83274, r83287);
double r83289 = r83257 ? r83271 : r83288;
return r83289;
}



Bits error versus x



Bits error versus n
if (/ 1.0 n) < -10036768523789454.0 or 1.8632397554890272e-09 < (/ 1.0 n) Initial program 2.1
rmApplied add-cbrt-cube2.2
Simplified2.2
rmApplied add-exp-log2.2
Applied pow-exp2.2
Simplified2.2
rmApplied add-cbrt-cube2.2
Simplified2.2
rmApplied add-cbrt-cube2.2
Simplified2.2
if -10036768523789454.0 < (/ 1.0 n) < 1.8632397554890272e-09Initial program 44.0
Taylor expanded around inf 33.6
Simplified33.6
Final simplification24.6
herbie shell --seed 2020059 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))