{\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({\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\right)} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \log \left(e^{{\left(x + 1\right)}^{\left(\frac{\frac{1}{n}}{2}\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 r61097 = x;
double r61098 = 1.0;
double r61099 = r61097 + r61098;
double r61100 = n;
double r61101 = r61098 / r61100;
double r61102 = pow(r61099, r61101);
double r61103 = pow(r61097, r61101);
double r61104 = r61102 - r61103;
return r61104;
}
double f(double x, double n) {
double r61105 = 1.0;
double r61106 = n;
double r61107 = r61105 / r61106;
double r61108 = -7.483782209077366e-06;
bool r61109 = r61107 <= r61108;
double r61110 = x;
double r61111 = r61110 + r61105;
double r61112 = 2.0;
double r61113 = r61107 / r61112;
double r61114 = pow(r61111, r61113);
double r61115 = pow(r61110, r61107);
double r61116 = sqrt(r61115);
double r61117 = r61114 + r61116;
double r61118 = r61114 - r61116;
double r61119 = exp(r61118);
double r61120 = log(r61119);
double r61121 = r61117 * r61120;
double r61122 = 4.488090481178635e-20;
bool r61123 = r61107 <= r61122;
double r61124 = r61105 / r61110;
double r61125 = 1.0;
double r61126 = r61125 / r61106;
double r61127 = log(r61110);
double r61128 = -r61127;
double r61129 = pow(r61106, r61112);
double r61130 = r61128 / r61129;
double r61131 = r61126 - r61130;
double r61132 = r61124 * r61131;
double r61133 = 0.5;
double r61134 = pow(r61110, r61112);
double r61135 = r61134 * r61106;
double r61136 = r61133 / r61135;
double r61137 = r61132 - r61136;
double r61138 = r61112 * r61107;
double r61139 = pow(r61111, r61138);
double r61140 = pow(r61110, r61138);
double r61141 = r61139 - r61140;
double r61142 = pow(r61111, r61107);
double r61143 = r61142 + r61115;
double r61144 = r61141 / r61143;
double r61145 = r61123 ? r61137 : r61144;
double r61146 = r61109 ? r61121 : r61145;
return r61146;
}



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 sqr-pow0.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
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))