{\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(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \log \left(e^{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\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 r65489 = x;
double r65490 = 1.0;
double r65491 = r65489 + r65490;
double r65492 = n;
double r65493 = r65490 / r65492;
double r65494 = pow(r65491, r65493);
double r65495 = pow(r65489, r65493);
double r65496 = r65494 - r65495;
return r65496;
}
double f(double x, double n) {
double r65497 = 1.0;
double r65498 = n;
double r65499 = r65497 / r65498;
double r65500 = -7.483782209077366e-06;
bool r65501 = r65499 <= r65500;
double r65502 = x;
double r65503 = r65502 + r65497;
double r65504 = pow(r65503, r65499);
double r65505 = sqrt(r65504);
double r65506 = 2.0;
double r65507 = r65499 / r65506;
double r65508 = pow(r65502, r65507);
double r65509 = r65505 + r65508;
double r65510 = r65505 - r65508;
double r65511 = exp(r65510);
double r65512 = log(r65511);
double r65513 = r65509 * r65512;
double r65514 = 4.488090481178635e-20;
bool r65515 = r65499 <= r65514;
double r65516 = r65497 / r65502;
double r65517 = 1.0;
double r65518 = r65517 / r65498;
double r65519 = log(r65502);
double r65520 = -r65519;
double r65521 = pow(r65498, r65506);
double r65522 = r65520 / r65521;
double r65523 = r65518 - r65522;
double r65524 = r65516 * r65523;
double r65525 = 0.5;
double r65526 = pow(r65502, r65506);
double r65527 = r65526 * r65498;
double r65528 = r65525 / r65527;
double r65529 = r65524 - r65528;
double r65530 = r65506 * r65499;
double r65531 = pow(r65503, r65530);
double r65532 = pow(r65502, r65530);
double r65533 = r65531 - r65532;
double r65534 = pow(r65502, r65499);
double r65535 = r65504 + r65534;
double r65536 = r65533 / r65535;
double r65537 = r65515 ? r65529 : r65536;
double r65538 = r65501 ? r65513 : r65537;
return r65538;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -7.483782209077366e-06Initial program 0.6
rmApplied sqr-pow0.6
Applied add-sqr-sqrt0.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 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))