{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -1.425206190081909 \cdot 10^{-07}:\\
\;\;\;\;\log \left(e^{\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]{\mathsf{fma}\left(-{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) + \mathsf{fma}\left(1, {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}, -{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)}\\
\mathbf{elif}\;\frac{1}{n} \le 1.0665423012237978:\\
\;\;\;\;\left(\frac{\frac{1}{x}}{n} - \frac{\frac{\frac{1}{2}}{n}}{x \cdot x}\right) - \left(-\frac{\log x}{\left(n \cdot n\right) \cdot x}\right)\\
\mathbf{else}:\\
\;\;\;\;\log \left(e^{e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}}\right)\\
\end{array}double f(double x, double n) {
double r1309943 = x;
double r1309944 = 1.0;
double r1309945 = r1309943 + r1309944;
double r1309946 = n;
double r1309947 = r1309944 / r1309946;
double r1309948 = pow(r1309945, r1309947);
double r1309949 = pow(r1309943, r1309947);
double r1309950 = r1309948 - r1309949;
return r1309950;
}
double f(double x, double n) {
double r1309951 = 1.0;
double r1309952 = n;
double r1309953 = r1309951 / r1309952;
double r1309954 = -1.425206190081909e-07;
bool r1309955 = r1309953 <= r1309954;
double r1309956 = x;
double r1309957 = r1309956 + r1309951;
double r1309958 = pow(r1309957, r1309953);
double r1309959 = pow(r1309956, r1309953);
double r1309960 = r1309958 - r1309959;
double r1309961 = cbrt(r1309960);
double r1309962 = r1309961 * r1309961;
double r1309963 = exp(r1309962);
double r1309964 = log(r1309963);
double r1309965 = cbrt(r1309956);
double r1309966 = pow(r1309965, r1309953);
double r1309967 = -r1309966;
double r1309968 = r1309965 * r1309965;
double r1309969 = pow(r1309968, r1309953);
double r1309970 = r1309969 * r1309966;
double r1309971 = fma(r1309967, r1309969, r1309970);
double r1309972 = -r1309970;
double r1309973 = fma(r1309951, r1309958, r1309972);
double r1309974 = r1309971 + r1309973;
double r1309975 = cbrt(r1309974);
double r1309976 = r1309964 * r1309975;
double r1309977 = 1.0665423012237978;
bool r1309978 = r1309953 <= r1309977;
double r1309979 = r1309951 / r1309956;
double r1309980 = r1309979 / r1309952;
double r1309981 = 0.5;
double r1309982 = r1309981 / r1309952;
double r1309983 = r1309956 * r1309956;
double r1309984 = r1309982 / r1309983;
double r1309985 = r1309980 - r1309984;
double r1309986 = log(r1309956);
double r1309987 = r1309952 * r1309952;
double r1309988 = r1309987 * r1309956;
double r1309989 = r1309986 / r1309988;
double r1309990 = -r1309989;
double r1309991 = r1309985 - r1309990;
double r1309992 = log1p(r1309956);
double r1309993 = r1309992 / r1309952;
double r1309994 = exp(r1309993);
double r1309995 = r1309994 - r1309959;
double r1309996 = exp(r1309995);
double r1309997 = log(r1309996);
double r1309998 = r1309978 ? r1309991 : r1309997;
double r1309999 = r1309955 ? r1309976 : r1309998;
return r1309999;
}



Bits error versus x



Bits error versus n
if (/ 1 n) < -1.425206190081909e-07Initial program 0.8
rmApplied add-log-exp1.1
Applied add-log-exp1.0
Applied diff-log1.0
Simplified1.0
rmApplied add-cube-cbrt1.0
Applied exp-prod1.0
Applied log-pow1.0
rmApplied add-cube-cbrt1.0
Applied unpow-prod-down1.0
Applied *-un-lft-identity1.0
Applied prod-diff1.0
if -1.425206190081909e-07 < (/ 1 n) < 1.0665423012237978Initial program 44.4
rmApplied add-log-exp44.4
Applied add-log-exp44.4
Applied diff-log44.4
Simplified44.4
Taylor expanded around inf 32.1
Simplified31.3
if 1.0665423012237978 < (/ 1 n) Initial program 23.8
rmApplied add-log-exp23.8
Applied add-log-exp23.8
Applied diff-log23.8
Simplified23.8
rmApplied pow-to-exp23.8
Simplified0.8
Final simplification18.4
herbie shell --seed 2019152 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))