{\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.4837822090773658 \cdot 10^{-6}:\\
\;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \log \left(e^{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}}\right)\\
\mathbf{elif}\;\frac{1}{n} \le 4.48809048117863523 \cdot 10^{-20}:\\
\;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\
\mathbf{else}:\\
\;\;\;\;\frac{{\left(x + 1\right)}^{\left(2 \cdot \frac{1}{n}\right)} - {x}^{\left(2 \cdot \frac{1}{n}\right)}}{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} + {x}^{\left(\frac{1}{n}\right)}}\\
\end{array}double f(double x, double n) {
double r80075 = x;
double r80076 = 1.0;
double r80077 = r80075 + r80076;
double r80078 = n;
double r80079 = r80076 / r80078;
double r80080 = pow(r80077, r80079);
double r80081 = pow(r80075, r80079);
double r80082 = r80080 - r80081;
return r80082;
}
double f(double x, double n) {
double r80083 = 1.0;
double r80084 = n;
double r80085 = r80083 / r80084;
double r80086 = -7.483782209077366e-06;
bool r80087 = r80085 <= r80086;
double r80088 = x;
double r80089 = r80088 + r80083;
double r80090 = pow(r80089, r80085);
double r80091 = sqrt(r80090);
double r80092 = pow(r80088, r80085);
double r80093 = sqrt(r80092);
double r80094 = r80091 + r80093;
double r80095 = r80091 - r80093;
double r80096 = exp(r80095);
double r80097 = log(r80096);
double r80098 = r80094 * r80097;
double r80099 = 4.488090481178635e-20;
bool r80100 = r80085 <= r80099;
double r80101 = r80083 / r80088;
double r80102 = 1.0;
double r80103 = r80102 / r80084;
double r80104 = log(r80088);
double r80105 = -r80104;
double r80106 = 2.0;
double r80107 = pow(r80084, r80106);
double r80108 = r80105 / r80107;
double r80109 = r80103 - r80108;
double r80110 = r80101 * r80109;
double r80111 = 0.5;
double r80112 = pow(r80088, r80106);
double r80113 = r80112 * r80084;
double r80114 = r80111 / r80113;
double r80115 = r80110 - r80114;
double r80116 = r80106 * r80085;
double r80117 = pow(r80089, r80116);
double r80118 = pow(r80088, r80116);
double r80119 = r80117 - r80118;
double r80120 = r80090 + r80092;
double r80121 = r80119 / r80120;
double r80122 = r80100 ? r80115 : r80121;
double r80123 = r80087 ? r80098 : r80122;
return r80123;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -7.483782209077366e-06Initial program 0.6
rmApplied add-sqr-sqrt0.6
Applied add-sqr-sqrt0.6
Applied difference-of-squares0.6
rmApplied add-log-exp0.7
Applied add-log-exp0.7
Applied diff-log0.7
Simplified0.7
if -7.483782209077366e-06 < (/ 1.0 n) < 4.488090481178635e-20Initial program 45.2
Taylor expanded around inf 32.8
Simplified32.2
if 4.488090481178635e-20 < (/ 1.0 n) Initial program 27.0
rmApplied flip--30.7
Simplified30.6
Final simplification22.6
herbie shell --seed 2020042 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))