{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -7.778933468882936 \cdot 10^{-13}:\\
\;\;\;\;\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)\\
\mathbf{elif}\;\frac{1}{n} \le 4.397982369840673 \cdot 10^{-28}:\\
\;\;\;\;\frac{\frac{1}{n}}{x} - \left(\frac{\frac{0.5}{n}}{{x}^{2}} - \frac{\log x \cdot 1}{x \cdot {n}^{2}}\right)\\
\mathbf{else}:\\
\;\;\;\;\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \log \left(e^{{\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\right)\\
\end{array}double f(double x, double n) {
double r76315 = x;
double r76316 = 1.0;
double r76317 = r76315 + r76316;
double r76318 = n;
double r76319 = r76316 / r76318;
double r76320 = pow(r76317, r76319);
double r76321 = pow(r76315, r76319);
double r76322 = r76320 - r76321;
return r76322;
}
double f(double x, double n) {
double r76323 = 1.0;
double r76324 = n;
double r76325 = r76323 / r76324;
double r76326 = -7.778933468882936e-13;
bool r76327 = r76325 <= r76326;
double r76328 = x;
double r76329 = r76328 + r76323;
double r76330 = 2.0;
double r76331 = r76325 / r76330;
double r76332 = pow(r76329, r76331);
double r76333 = pow(r76328, r76331);
double r76334 = r76332 + r76333;
double r76335 = r76332 - r76333;
double r76336 = r76334 * r76335;
double r76337 = 4.397982369840673e-28;
bool r76338 = r76325 <= r76337;
double r76339 = r76325 / r76328;
double r76340 = 0.5;
double r76341 = r76340 / r76324;
double r76342 = pow(r76328, r76330);
double r76343 = r76341 / r76342;
double r76344 = log(r76328);
double r76345 = r76344 * r76323;
double r76346 = pow(r76324, r76330);
double r76347 = r76328 * r76346;
double r76348 = r76345 / r76347;
double r76349 = r76343 - r76348;
double r76350 = r76339 - r76349;
double r76351 = exp(r76335);
double r76352 = log(r76351);
double r76353 = r76334 * r76352;
double r76354 = r76338 ? r76350 : r76353;
double r76355 = r76327 ? r76336 : r76354;
return r76355;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -7.778933468882936e-13Initial program 1.7
rmApplied sqr-pow1.8
Applied sqr-pow1.7
Applied difference-of-squares1.7
if -7.778933468882936e-13 < (/ 1.0 n) < 4.397982369840673e-28Initial program 44.1
Taylor expanded around inf 31.9
Simplified31.3
if 4.397982369840673e-28 < (/ 1.0 n) Initial program 26.3
rmApplied sqr-pow26.4
Applied sqr-pow26.3
Applied difference-of-squares26.3
rmApplied add-log-exp26.4
Applied add-log-exp26.4
Applied diff-log26.4
Simplified26.4
Final simplification21.9
herbie shell --seed 2020089
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))