{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -3.333109823078832 \cdot 10^{-05}:\\
\;\;\;\;\sqrt[3]{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right) \cdot \left(\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right) \cdot \left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)\right)}\\
\mathbf{elif}\;\frac{1}{n} \le 1.058098422757922 \cdot 10^{-12}:\\
\;\;\;\;\left(\frac{\frac{1}{n}}{x} - \frac{\frac{1}{2}}{x \cdot \left(x \cdot n\right)}\right) - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\\
\mathbf{else}:\\
\;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\
\end{array}double f(double x, double n) {
double r2366242 = x;
double r2366243 = 1.0;
double r2366244 = r2366242 + r2366243;
double r2366245 = n;
double r2366246 = r2366243 / r2366245;
double r2366247 = pow(r2366244, r2366246);
double r2366248 = pow(r2366242, r2366246);
double r2366249 = r2366247 - r2366248;
return r2366249;
}
double f(double x, double n) {
double r2366250 = 1.0;
double r2366251 = n;
double r2366252 = r2366250 / r2366251;
double r2366253 = -3.333109823078832e-05;
bool r2366254 = r2366252 <= r2366253;
double r2366255 = x;
double r2366256 = r2366255 + r2366250;
double r2366257 = pow(r2366256, r2366252);
double r2366258 = pow(r2366255, r2366252);
double r2366259 = r2366257 - r2366258;
double r2366260 = r2366259 * r2366259;
double r2366261 = r2366259 * r2366260;
double r2366262 = cbrt(r2366261);
double r2366263 = 1.058098422757922e-12;
bool r2366264 = r2366252 <= r2366263;
double r2366265 = r2366252 / r2366255;
double r2366266 = 0.5;
double r2366267 = r2366255 * r2366251;
double r2366268 = r2366255 * r2366267;
double r2366269 = r2366266 / r2366268;
double r2366270 = r2366265 - r2366269;
double r2366271 = log(r2366255);
double r2366272 = -r2366271;
double r2366273 = r2366267 * r2366251;
double r2366274 = r2366272 / r2366273;
double r2366275 = r2366270 - r2366274;
double r2366276 = log1p(r2366255);
double r2366277 = r2366276 / r2366251;
double r2366278 = exp(r2366277);
double r2366279 = r2366278 - r2366258;
double r2366280 = r2366264 ? r2366275 : r2366279;
double r2366281 = r2366254 ? r2366262 : r2366280;
return r2366281;
}



Bits error versus x



Bits error versus n
Results
if (/ 1 n) < -3.333109823078832e-05Initial program 0.5
rmApplied add-cbrt-cube0.5
if -3.333109823078832e-05 < (/ 1 n) < 1.058098422757922e-12Initial program 45.0
Taylor expanded around inf 33.3
Simplified32.7
if 1.058098422757922e-12 < (/ 1 n) Initial program 25.4
rmApplied add-exp-log25.4
Simplified2.9
Final simplification19.5
herbie shell --seed 2019134 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))