{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -62.577189808211486:\\
\;\;\;\;\frac{1}{\sqrt{x}} \cdot \frac{\frac{1}{n}}{\sqrt{x}} + \frac{\frac{1}{n}}{x} \cdot \left(\frac{\log x}{n} - \frac{\frac{1}{2}}{x}\right)\\
\mathbf{elif}\;n \le 7.520631394347698 \cdot 10^{+26}:\\
\;\;\;\;{e}^{\left(\log \left({\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\log x}{n} - \frac{\frac{1}{2}}{x}\right) \cdot \log \left(e^{\frac{\frac{1}{n}}{x}}\right) + \frac{\frac{1}{n}}{x}\\
\end{array}double f(double x, double n) {
double r8291027 = x;
double r8291028 = 1.0;
double r8291029 = r8291027 + r8291028;
double r8291030 = n;
double r8291031 = r8291028 / r8291030;
double r8291032 = pow(r8291029, r8291031);
double r8291033 = pow(r8291027, r8291031);
double r8291034 = r8291032 - r8291033;
return r8291034;
}
double f(double x, double n) {
double r8291035 = n;
double r8291036 = -62.577189808211486;
bool r8291037 = r8291035 <= r8291036;
double r8291038 = 1.0;
double r8291039 = x;
double r8291040 = sqrt(r8291039);
double r8291041 = r8291038 / r8291040;
double r8291042 = r8291038 / r8291035;
double r8291043 = r8291042 / r8291040;
double r8291044 = r8291041 * r8291043;
double r8291045 = r8291042 / r8291039;
double r8291046 = log(r8291039);
double r8291047 = r8291046 / r8291035;
double r8291048 = 0.5;
double r8291049 = r8291048 / r8291039;
double r8291050 = r8291047 - r8291049;
double r8291051 = r8291045 * r8291050;
double r8291052 = r8291044 + r8291051;
double r8291053 = 7.520631394347698e+26;
bool r8291054 = r8291035 <= r8291053;
double r8291055 = exp(1.0);
double r8291056 = r8291038 + r8291039;
double r8291057 = pow(r8291056, r8291042);
double r8291058 = pow(r8291039, r8291042);
double r8291059 = r8291057 - r8291058;
double r8291060 = log(r8291059);
double r8291061 = pow(r8291055, r8291060);
double r8291062 = exp(r8291045);
double r8291063 = log(r8291062);
double r8291064 = r8291050 * r8291063;
double r8291065 = r8291064 + r8291045;
double r8291066 = r8291054 ? r8291061 : r8291065;
double r8291067 = r8291037 ? r8291052 : r8291066;
return r8291067;
}



Bits error versus x



Bits error versus n
Results
if n < -62.577189808211486Initial program 45.6
rmApplied add-exp-log46.6
rmApplied *-un-lft-identity46.6
Applied exp-prod46.6
Simplified46.6
Taylor expanded around -inf 63.2
Simplified33.2
rmApplied add-sqr-sqrt33.2
Applied *-un-lft-identity33.2
Applied *-un-lft-identity33.2
Applied times-frac33.2
Applied times-frac33.3
Simplified33.3
if -62.577189808211486 < n < 7.520631394347698e+26Initial program 10.3
rmApplied add-exp-log10.4
rmApplied *-un-lft-identity10.4
Applied exp-prod10.4
Simplified10.4
if 7.520631394347698e+26 < n Initial program 44.3
rmApplied add-exp-log44.3
rmApplied *-un-lft-identity44.3
Applied exp-prod44.3
Simplified44.3
Taylor expanded around -inf 62.7
Simplified31.7
rmApplied add-log-exp31.4
Final simplification22.8
herbie shell --seed 2019112
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))