{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -2.9043690733296642 \cdot 10^{-18}:\\
\;\;\;\;{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{elif}\;\frac{1}{n} \le 3.646734676025612 \cdot 10^{-25}:\\
\;\;\;\;\left(\frac{\frac{-1}{2}}{x \cdot \left(x \cdot n\right)} + \frac{\frac{1}{x}}{n}\right) + \frac{\log x}{n \cdot \left(x \cdot n\right)}\\
\mathbf{else}:\\
\;\;\;\;{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\\
\end{array}double f(double x, double n) {
double r1725112 = x;
double r1725113 = 1.0;
double r1725114 = r1725112 + r1725113;
double r1725115 = n;
double r1725116 = r1725113 / r1725115;
double r1725117 = pow(r1725114, r1725116);
double r1725118 = pow(r1725112, r1725116);
double r1725119 = r1725117 - r1725118;
return r1725119;
}
double f(double x, double n) {
double r1725120 = 1.0;
double r1725121 = n;
double r1725122 = r1725120 / r1725121;
double r1725123 = -2.9043690733296642e-18;
bool r1725124 = r1725122 <= r1725123;
double r1725125 = x;
double r1725126 = r1725125 + r1725120;
double r1725127 = pow(r1725126, r1725122);
double r1725128 = pow(r1725125, r1725122);
double r1725129 = r1725127 - r1725128;
double r1725130 = 3.646734676025612e-25;
bool r1725131 = r1725122 <= r1725130;
double r1725132 = -0.5;
double r1725133 = r1725125 * r1725121;
double r1725134 = r1725125 * r1725133;
double r1725135 = r1725132 / r1725134;
double r1725136 = r1725120 / r1725125;
double r1725137 = r1725136 / r1725121;
double r1725138 = r1725135 + r1725137;
double r1725139 = log(r1725125);
double r1725140 = r1725121 * r1725133;
double r1725141 = r1725139 / r1725140;
double r1725142 = r1725138 + r1725141;
double r1725143 = r1725131 ? r1725142 : r1725129;
double r1725144 = r1725124 ? r1725129 : r1725143;
return r1725144;
}



Bits error versus x



Bits error versus n
Results
if (/ 1 n) < -2.9043690733296642e-18 or 3.646734676025612e-25 < (/ 1 n) Initial program 10.8
rmApplied *-un-lft-identity10.8
Applied pow-unpow10.8
Simplified10.8
if -2.9043690733296642e-18 < (/ 1 n) < 3.646734676025612e-25Initial program 45.5
rmApplied *-un-lft-identity45.5
Applied pow-unpow45.5
Simplified45.5
rmApplied add-log-exp45.5
Applied add-log-exp45.5
Applied diff-log45.5
Simplified45.5
Taylor expanded around inf 32.2
Simplified31.6
Final simplification22.1
herbie shell --seed 2019135
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))