{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -4.088555932674840565515313109813764352873 \cdot 10^{-10}:\\
\;\;\;\;\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)\\
\mathbf{elif}\;\frac{1}{n} \le 2.337974556281276381287875419134246685396 \cdot 10^{-11}:\\
\;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\
\mathbf{else}:\\
\;\;\;\;\left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot e^{\log \left({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)}\\
\end{array}double f(double x, double n) {
double r68999 = x;
double r69000 = 1.0;
double r69001 = r68999 + r69000;
double r69002 = n;
double r69003 = r69000 / r69002;
double r69004 = pow(r69001, r69003);
double r69005 = pow(r68999, r69003);
double r69006 = r69004 - r69005;
return r69006;
}
double f(double x, double n) {
double r69007 = 1.0;
double r69008 = n;
double r69009 = r69007 / r69008;
double r69010 = -4.0885559326748406e-10;
bool r69011 = r69009 <= r69010;
double r69012 = x;
double r69013 = r69012 + r69007;
double r69014 = 2.0;
double r69015 = r69009 / r69014;
double r69016 = pow(r69013, r69015);
double r69017 = pow(r69012, r69015);
double r69018 = r69016 + r69017;
double r69019 = r69016 - r69017;
double r69020 = r69018 * r69019;
double r69021 = 2.3379745562812764e-11;
bool r69022 = r69009 <= r69021;
double r69023 = r69007 / r69012;
double r69024 = 1.0;
double r69025 = r69024 / r69008;
double r69026 = log(r69012);
double r69027 = -r69026;
double r69028 = pow(r69008, r69014);
double r69029 = r69027 / r69028;
double r69030 = r69025 - r69029;
double r69031 = r69023 * r69030;
double r69032 = 0.5;
double r69033 = pow(r69012, r69014);
double r69034 = r69033 * r69008;
double r69035 = r69032 / r69034;
double r69036 = r69031 - r69035;
double r69037 = log(r69019);
double r69038 = exp(r69037);
double r69039 = r69018 * r69038;
double r69040 = r69022 ? r69036 : r69039;
double r69041 = r69011 ? r69020 : r69040;
return r69041;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -4.0885559326748406e-10Initial program 1.1
rmApplied sqr-pow1.2
Applied sqr-pow1.1
Applied difference-of-squares1.1
if -4.0885559326748406e-10 < (/ 1.0 n) < 2.3379745562812764e-11Initial program 44.8
Taylor expanded around inf 32.3
Simplified31.7
if 2.3379745562812764e-11 < (/ 1.0 n) Initial program 25.6
rmApplied sqr-pow25.6
Applied sqr-pow25.6
Applied difference-of-squares25.6
rmApplied add-exp-log25.6
Final simplification21.8
herbie shell --seed 2019322
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))