{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -6.6635811141354433 \cdot 10^{-4} \lor \neg \left(\frac{1}{n} \le 6.22124734048439072 \cdot 10^{-16}\right):\\
\;\;\;\;\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \mathsf{fma}\left(-0.25, \frac{1}{{x}^{2} \cdot n} + \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}}, \frac{\frac{0.5}{n}}{x}\right)\\
\end{array}double f(double x, double n) {
double r61228 = x;
double r61229 = 1.0;
double r61230 = r61228 + r61229;
double r61231 = n;
double r61232 = r61229 / r61231;
double r61233 = pow(r61230, r61232);
double r61234 = pow(r61228, r61232);
double r61235 = r61233 - r61234;
return r61235;
}
double f(double x, double n) {
double r61236 = 1.0;
double r61237 = n;
double r61238 = r61236 / r61237;
double r61239 = -0.0006663581114135443;
bool r61240 = r61238 <= r61239;
double r61241 = 6.221247340484391e-16;
bool r61242 = r61238 <= r61241;
double r61243 = !r61242;
bool r61244 = r61240 || r61243;
double r61245 = x;
double r61246 = r61245 + r61236;
double r61247 = 2.0;
double r61248 = r61238 / r61247;
double r61249 = pow(r61246, r61248);
double r61250 = pow(r61245, r61248);
double r61251 = r61249 + r61250;
double r61252 = r61249 - r61250;
double r61253 = 3.0;
double r61254 = pow(r61252, r61253);
double r61255 = cbrt(r61254);
double r61256 = r61251 * r61255;
double r61257 = 0.25;
double r61258 = -r61257;
double r61259 = 1.0;
double r61260 = pow(r61245, r61247);
double r61261 = r61260 * r61237;
double r61262 = r61259 / r61261;
double r61263 = r61259 / r61245;
double r61264 = log(r61263);
double r61265 = pow(r61237, r61247);
double r61266 = r61245 * r61265;
double r61267 = r61264 / r61266;
double r61268 = r61262 + r61267;
double r61269 = 0.5;
double r61270 = r61269 / r61237;
double r61271 = r61270 / r61245;
double r61272 = fma(r61258, r61268, r61271);
double r61273 = r61251 * r61272;
double r61274 = r61244 ? r61256 : r61273;
return r61274;
}



Bits error versus x



Bits error versus n
if (/ 1.0 n) < -0.0006663581114135443 or 6.221247340484391e-16 < (/ 1.0 n) Initial program 8.3
rmApplied sqr-pow8.3
Applied sqr-pow8.3
Applied difference-of-squares8.3
rmApplied add-cbrt-cube8.3
Simplified8.3
if -0.0006663581114135443 < (/ 1.0 n) < 6.221247340484391e-16Initial program 45.4
rmApplied sqr-pow45.5
Applied sqr-pow45.4
Applied difference-of-squares45.4
Taylor expanded around inf 32.7
Simplified32.1
Final simplification21.8
herbie shell --seed 2020021 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))