{\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.380908236352897 \cdot 10^{-15}:\\
\;\;\;\;{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \sqrt[3]{{\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}}\\
\mathbf{elif}\;\frac{1}{n} \le 4.8639089994782778 \cdot 10^{-23}:\\
\;\;\;\;\frac{1}{x \cdot n} - \mathsf{fma}\left(\frac{-\log x}{x \cdot {n}^{2}}, 1, \frac{0.5}{{x}^{2} \cdot n}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\\
\end{array}double f(double x, double n) {
double r69302 = x;
double r69303 = 1.0;
double r69304 = r69302 + r69303;
double r69305 = n;
double r69306 = r69303 / r69305;
double r69307 = pow(r69304, r69306);
double r69308 = pow(r69302, r69306);
double r69309 = r69307 - r69308;
return r69309;
}
double f(double x, double n) {
double r69310 = 1.0;
double r69311 = n;
double r69312 = r69310 / r69311;
double r69313 = -7.380908236352897e-15;
bool r69314 = r69312 <= r69313;
double r69315 = x;
double r69316 = r69315 + r69310;
double r69317 = pow(r69316, r69312);
double r69318 = pow(r69315, r69312);
double r69319 = 3.0;
double r69320 = pow(r69318, r69319);
double r69321 = cbrt(r69320);
double r69322 = r69317 - r69321;
double r69323 = 4.863908999478278e-23;
bool r69324 = r69312 <= r69323;
double r69325 = r69315 * r69311;
double r69326 = r69310 / r69325;
double r69327 = log(r69315);
double r69328 = -r69327;
double r69329 = 2.0;
double r69330 = pow(r69311, r69329);
double r69331 = r69315 * r69330;
double r69332 = r69328 / r69331;
double r69333 = 0.5;
double r69334 = pow(r69315, r69329);
double r69335 = r69334 * r69311;
double r69336 = r69333 / r69335;
double r69337 = fma(r69332, r69310, r69336);
double r69338 = r69326 - r69337;
double r69339 = r69317 - r69318;
double r69340 = cbrt(r69339);
double r69341 = r69340 * r69340;
double r69342 = r69341 * r69340;
double r69343 = r69324 ? r69338 : r69342;
double r69344 = r69314 ? r69322 : r69343;
return r69344;
}



Bits error versus x



Bits error versus n
if (/ 1.0 n) < -7.380908236352897e-15Initial program 1.7
rmApplied add-cbrt-cube1.9
Simplified1.9
if -7.380908236352897e-15 < (/ 1.0 n) < 4.863908999478278e-23Initial program 44.8
rmApplied add-cbrt-cube44.8
Simplified44.8
Taylor expanded around inf 32.6
Simplified32.6
if 4.863908999478278e-23 < (/ 1.0 n) Initial program 27.7
rmApplied add-cube-cbrt27.7
Final simplification22.7
herbie shell --seed 2020046 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))