{\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.4837822090773658 \cdot 10^{-6}:\\
\;\;\;\;\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)\\
\mathbf{elif}\;\frac{1}{n} \le 4.48809048117863523 \cdot 10^{-20}:\\
\;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\
\mathbf{else}:\\
\;\;\;\;\frac{{\left(x + 1\right)}^{\left(2 \cdot \frac{1}{n}\right)} - {x}^{\left(2 \cdot \frac{1}{n}\right)}}{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} + {x}^{\left(\frac{1}{n}\right)}}\\
\end{array}double f(double x, double n) {
double r67355 = x;
double r67356 = 1.0;
double r67357 = r67355 + r67356;
double r67358 = n;
double r67359 = r67356 / r67358;
double r67360 = pow(r67357, r67359);
double r67361 = pow(r67355, r67359);
double r67362 = r67360 - r67361;
return r67362;
}
double f(double x, double n) {
double r67363 = 1.0;
double r67364 = n;
double r67365 = r67363 / r67364;
double r67366 = -7.483782209077366e-06;
bool r67367 = r67365 <= r67366;
double r67368 = x;
double r67369 = r67368 + r67363;
double r67370 = 2.0;
double r67371 = r67365 / r67370;
double r67372 = pow(r67369, r67371);
double r67373 = pow(r67368, r67371);
double r67374 = r67372 + r67373;
double r67375 = r67372 - r67373;
double r67376 = exp(r67375);
double r67377 = log(r67376);
double r67378 = r67374 * r67377;
double r67379 = 4.488090481178635e-20;
bool r67380 = r67365 <= r67379;
double r67381 = r67363 / r67368;
double r67382 = 1.0;
double r67383 = r67382 / r67364;
double r67384 = log(r67368);
double r67385 = -r67384;
double r67386 = pow(r67364, r67370);
double r67387 = r67385 / r67386;
double r67388 = r67383 - r67387;
double r67389 = r67381 * r67388;
double r67390 = 0.5;
double r67391 = pow(r67368, r67370);
double r67392 = r67391 * r67364;
double r67393 = r67390 / r67392;
double r67394 = r67389 - r67393;
double r67395 = r67370 * r67365;
double r67396 = pow(r67369, r67395);
double r67397 = pow(r67368, r67395);
double r67398 = r67396 - r67397;
double r67399 = pow(r67369, r67365);
double r67400 = pow(r67368, r67365);
double r67401 = r67399 + r67400;
double r67402 = r67398 / r67401;
double r67403 = r67380 ? r67394 : r67402;
double r67404 = r67367 ? r67378 : r67403;
return r67404;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -7.483782209077366e-06Initial program 0.6
rmApplied sqr-pow0.6
Applied sqr-pow0.6
Applied difference-of-squares0.6
rmApplied add-log-exp0.7
Applied add-log-exp0.7
Applied diff-log0.7
Simplified0.7
if -7.483782209077366e-06 < (/ 1.0 n) < 4.488090481178635e-20Initial program 45.2
Taylor expanded around inf 32.8
Simplified32.2
if 4.488090481178635e-20 < (/ 1.0 n) Initial program 27.0
rmApplied flip--30.7
Simplified30.6
Final simplification22.6
herbie shell --seed 2020042
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))