{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -1.2682898601339308 \cdot 10^{-17}:\\
\;\;\;\;{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \sqrt{{x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt{{x}^{\left(\frac{1}{n}\right)}}\\
\mathbf{elif}\;\frac{1}{n} \le 1.17349982022057744 \cdot 10^{-10}:\\
\;\;\;\;\frac{\frac{1}{n}}{x} - \left(\frac{0.5}{{x}^{2} \cdot n} + \frac{-\log x}{x \cdot {n}^{2}} \cdot 1\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{{\left(x + 1\right)}^{\left(2 \cdot \frac{1}{n}\right)} - {x}^{\left(2 \cdot \frac{1}{n}\right)}}{{x}^{\left(\frac{1}{n}\right)} + {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\\
\end{array}double f(double x, double n) {
double r60282 = x;
double r60283 = 1.0;
double r60284 = r60282 + r60283;
double r60285 = n;
double r60286 = r60283 / r60285;
double r60287 = pow(r60284, r60286);
double r60288 = pow(r60282, r60286);
double r60289 = r60287 - r60288;
return r60289;
}
double f(double x, double n) {
double r60290 = 1.0;
double r60291 = n;
double r60292 = r60290 / r60291;
double r60293 = -1.2682898601339308e-17;
bool r60294 = r60292 <= r60293;
double r60295 = x;
double r60296 = r60295 + r60290;
double r60297 = pow(r60296, r60292);
double r60298 = pow(r60295, r60292);
double r60299 = sqrt(r60298);
double r60300 = r60299 * r60299;
double r60301 = r60297 - r60300;
double r60302 = 1.1734998202205774e-10;
bool r60303 = r60292 <= r60302;
double r60304 = r60292 / r60295;
double r60305 = 0.5;
double r60306 = 2.0;
double r60307 = pow(r60295, r60306);
double r60308 = r60307 * r60291;
double r60309 = r60305 / r60308;
double r60310 = log(r60295);
double r60311 = -r60310;
double r60312 = pow(r60291, r60306);
double r60313 = r60295 * r60312;
double r60314 = r60311 / r60313;
double r60315 = r60314 * r60290;
double r60316 = r60309 + r60315;
double r60317 = r60304 - r60316;
double r60318 = r60306 * r60292;
double r60319 = pow(r60296, r60318);
double r60320 = pow(r60295, r60318);
double r60321 = r60319 - r60320;
double r60322 = r60298 + r60297;
double r60323 = r60321 / r60322;
double r60324 = r60303 ? r60317 : r60323;
double r60325 = r60294 ? r60301 : r60324;
return r60325;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -1.2682898601339308e-17Initial program 2.3
rmApplied add-sqr-sqrt2.4
if -1.2682898601339308e-17 < (/ 1.0 n) < 1.1734998202205774e-10Initial program 44.4
rmApplied add-log-exp44.4
Applied add-log-exp44.4
Applied diff-log44.4
Simplified44.4
Taylor expanded around inf 32.1
Simplified31.6
if 1.1734998202205774e-10 < (/ 1.0 n) Initial program 25.9
rmApplied add-sqr-sqrt25.9
rmApplied flip--29.3
Simplified29.2
Simplified29.2
Final simplification22.4
herbie shell --seed 2020047
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))