{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -0.05925712577091127308825946329307043924928:\\
\;\;\;\;\left(\sqrt[3]{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right)}\\
\mathbf{elif}\;\frac{1}{n} \le 2.255271015860772358417468981097305856376 \cdot 10^{-27}:\\
\;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt[3]{\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)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}} \cdot \sqrt[3]{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\right) \cdot \sqrt[3]{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\right)} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{\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 r79922 = x;
double r79923 = 1.0;
double r79924 = r79922 + r79923;
double r79925 = n;
double r79926 = r79923 / r79925;
double r79927 = pow(r79924, r79926);
double r79928 = pow(r79922, r79926);
double r79929 = r79927 - r79928;
return r79929;
}
double f(double x, double n) {
double r79930 = 1.0;
double r79931 = n;
double r79932 = r79930 / r79931;
double r79933 = -0.05925712577091127;
bool r79934 = r79932 <= r79933;
double r79935 = x;
double r79936 = r79935 + r79930;
double r79937 = pow(r79936, r79932);
double r79938 = sqrt(r79937);
double r79939 = 2.0;
double r79940 = r79932 / r79939;
double r79941 = pow(r79935, r79940);
double r79942 = r79938 + r79941;
double r79943 = r79938 - r79941;
double r79944 = r79942 * r79943;
double r79945 = cbrt(r79944);
double r79946 = pow(r79935, r79932);
double r79947 = r79937 - r79946;
double r79948 = cbrt(r79947);
double r79949 = r79945 * r79948;
double r79950 = sqrt(r79946);
double r79951 = r79938 + r79950;
double r79952 = r79938 - r79950;
double r79953 = r79951 * r79952;
double r79954 = cbrt(r79953);
double r79955 = r79949 * r79954;
double r79956 = 2.2552710158607724e-27;
bool r79957 = r79932 <= r79956;
double r79958 = r79930 / r79935;
double r79959 = 1.0;
double r79960 = r79959 / r79931;
double r79961 = log(r79935);
double r79962 = -r79961;
double r79963 = pow(r79931, r79939);
double r79964 = r79962 / r79963;
double r79965 = r79960 - r79964;
double r79966 = r79958 * r79965;
double r79967 = 0.5;
double r79968 = pow(r79935, r79939);
double r79969 = r79968 * r79931;
double r79970 = r79967 / r79969;
double r79971 = r79966 - r79970;
double r79972 = cbrt(r79943);
double r79973 = r79972 * r79972;
double r79974 = r79973 * r79972;
double r79975 = r79942 * r79974;
double r79976 = cbrt(r79975);
double r79977 = r79976 * r79948;
double r79978 = r79948 * r79948;
double r79979 = r79978 * r79948;
double r79980 = cbrt(r79979);
double r79981 = r79977 * r79980;
double r79982 = r79957 ? r79971 : r79981;
double r79983 = r79934 ? r79955 : r79982;
return r79983;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -0.05925712577091127Initial program 0.1
rmApplied add-cube-cbrt0.1
rmApplied sqr-pow0.1
Applied add-sqr-sqrt0.1
Applied difference-of-squares0.1
rmApplied add-sqr-sqrt0.1
Applied add-sqr-sqrt0.1
Applied difference-of-squares0.1
if -0.05925712577091127 < (/ 1.0 n) < 2.2552710158607724e-27Initial program 44.9
Taylor expanded around inf 33.9
Simplified33.3
if 2.2552710158607724e-27 < (/ 1.0 n) Initial program 28.1
rmApplied add-cube-cbrt28.2
rmApplied sqr-pow28.1
Applied add-sqr-sqrt28.1
Applied difference-of-squares28.1
rmApplied add-cube-cbrt28.1
rmApplied add-cube-cbrt28.1
Final simplification23.0
herbie shell --seed 2019325 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))