{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -8.0507817487225 \cdot 10^{-09}:\\
\;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left(\left(\sqrt[3]{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {\left({x}^{\left(\sqrt[3]{\frac{\frac{1}{n}}{2}} \cdot \sqrt[3]{\frac{\frac{1}{n}}{2}}\right)}\right)}^{\left(\sqrt[3]{\frac{\frac{1}{n}}{2}}\right)}} \cdot \sqrt[3]{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {\left(e^{\log \left({x}^{\left(\sqrt[3]{\frac{\frac{1}{n}}{2}} \cdot \sqrt[3]{\frac{\frac{1}{n}}{2}}\right)}\right)}\right)}^{\left(\sqrt[3]{\frac{\frac{1}{n}}{2}}\right)}}\right) \cdot \sqrt[3]{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {\left({x}^{\left(\sqrt[3]{\frac{\frac{1}{n}}{2}} \cdot \sqrt[3]{\frac{\frac{1}{n}}{2}}\right)}\right)}^{\left(\sqrt[3]{\frac{\frac{1}{n}}{2}}\right)}}\right)\\
\mathbf{elif}\;\frac{1}{n} \le 3.594381808312897 \cdot 10^{-08}:\\
\;\;\;\;\left(\frac{\frac{\log x}{x \cdot n}}{n} - \frac{\frac{\frac{1}{2}}{x}}{x \cdot n}\right) + \frac{\frac{1}{n}}{x}\\
\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 r2100197 = x;
double r2100198 = 1.0;
double r2100199 = r2100197 + r2100198;
double r2100200 = n;
double r2100201 = r2100198 / r2100200;
double r2100202 = pow(r2100199, r2100201);
double r2100203 = pow(r2100197, r2100201);
double r2100204 = r2100202 - r2100203;
return r2100204;
}
double f(double x, double n) {
double r2100205 = 1.0;
double r2100206 = n;
double r2100207 = r2100205 / r2100206;
double r2100208 = -8.0507817487225e-09;
bool r2100209 = r2100207 <= r2100208;
double r2100210 = x;
double r2100211 = r2100210 + r2100205;
double r2100212 = pow(r2100211, r2100207);
double r2100213 = sqrt(r2100212);
double r2100214 = 2.0;
double r2100215 = r2100207 / r2100214;
double r2100216 = pow(r2100210, r2100215);
double r2100217 = r2100213 + r2100216;
double r2100218 = cbrt(r2100215);
double r2100219 = r2100218 * r2100218;
double r2100220 = pow(r2100210, r2100219);
double r2100221 = pow(r2100220, r2100218);
double r2100222 = r2100213 - r2100221;
double r2100223 = cbrt(r2100222);
double r2100224 = log(r2100220);
double r2100225 = exp(r2100224);
double r2100226 = pow(r2100225, r2100218);
double r2100227 = r2100213 - r2100226;
double r2100228 = cbrt(r2100227);
double r2100229 = r2100223 * r2100228;
double r2100230 = r2100229 * r2100223;
double r2100231 = r2100217 * r2100230;
double r2100232 = 3.594381808312897e-08;
bool r2100233 = r2100207 <= r2100232;
double r2100234 = log(r2100210);
double r2100235 = r2100210 * r2100206;
double r2100236 = r2100234 / r2100235;
double r2100237 = r2100236 / r2100206;
double r2100238 = 0.5;
double r2100239 = r2100238 / r2100210;
double r2100240 = r2100239 / r2100235;
double r2100241 = r2100237 - r2100240;
double r2100242 = r2100207 / r2100210;
double r2100243 = r2100241 + r2100242;
double r2100244 = pow(r2100210, r2100207);
double r2100245 = r2100212 - r2100244;
double r2100246 = cbrt(r2100245);
double r2100247 = r2100246 * r2100246;
double r2100248 = r2100247 * r2100246;
double r2100249 = r2100233 ? r2100243 : r2100248;
double r2100250 = r2100209 ? r2100231 : r2100249;
return r2100250;
}



Bits error versus x



Bits error versus n
Results
if (/ 1 n) < -8.0507817487225e-09Initial program 0.8
rmApplied sqr-pow0.9
Applied add-sqr-sqrt0.9
Applied difference-of-squares0.9
rmApplied add-cube-cbrt0.9
Applied pow-unpow0.9
rmApplied add-cube-cbrt0.9
rmApplied add-exp-log0.9
if -8.0507817487225e-09 < (/ 1 n) < 3.594381808312897e-08Initial program 44.8
Taylor expanded around inf 32.7
Simplified32.0
if 3.594381808312897e-08 < (/ 1 n) Initial program 25.1
rmApplied add-cube-cbrt25.1
Final simplification22.1
herbie shell --seed 2019133
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))