{\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.778933468882936 \cdot 10^{-13}:\\
\;\;\;\;\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 4.397982369840673 \cdot 10^{-28}:\\
\;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \mathsf{fma}\left(-0.25, \frac{1}{{x}^{2} \cdot n} + \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}}, \frac{\frac{0.5}{n}}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\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)\\
\end{array}double f(double x, double n) {
double r93173 = x;
double r93174 = 1.0;
double r93175 = r93173 + r93174;
double r93176 = n;
double r93177 = r93174 / r93176;
double r93178 = pow(r93175, r93177);
double r93179 = pow(r93173, r93177);
double r93180 = r93178 - r93179;
return r93180;
}
double f(double x, double n) {
double r93181 = 1.0;
double r93182 = n;
double r93183 = r93181 / r93182;
double r93184 = -7.778933468882936e-13;
bool r93185 = r93183 <= r93184;
double r93186 = x;
double r93187 = r93186 + r93181;
double r93188 = pow(r93187, r93183);
double r93189 = sqrt(r93188);
double r93190 = pow(r93186, r93183);
double r93191 = sqrt(r93190);
double r93192 = r93189 + r93191;
double r93193 = r93189 - r93191;
double r93194 = r93192 * r93193;
double r93195 = 4.397982369840673e-28;
bool r93196 = r93183 <= r93195;
double r93197 = 0.25;
double r93198 = -r93197;
double r93199 = 1.0;
double r93200 = 2.0;
double r93201 = pow(r93186, r93200);
double r93202 = r93201 * r93182;
double r93203 = r93199 / r93202;
double r93204 = r93199 / r93186;
double r93205 = log(r93204);
double r93206 = pow(r93182, r93200);
double r93207 = r93186 * r93206;
double r93208 = r93205 / r93207;
double r93209 = r93203 + r93208;
double r93210 = 0.5;
double r93211 = r93210 / r93182;
double r93212 = r93211 / r93186;
double r93213 = fma(r93198, r93209, r93212);
double r93214 = r93192 * r93213;
double r93215 = exp(r93193);
double r93216 = log(r93215);
double r93217 = r93192 * r93216;
double r93218 = r93196 ? r93214 : r93217;
double r93219 = r93185 ? r93194 : r93218;
return r93219;
}



Bits error versus x



Bits error versus n
if (/ 1.0 n) < -7.778933468882936e-13Initial program 1.7
rmApplied add-sqr-sqrt1.8
Applied add-sqr-sqrt1.7
Applied difference-of-squares1.7
if -7.778933468882936e-13 < (/ 1.0 n) < 4.397982369840673e-28Initial program 44.1
rmApplied add-sqr-sqrt44.1
Applied add-sqr-sqrt44.1
Applied difference-of-squares44.1
Taylor expanded around inf 31.9
Simplified31.3
if 4.397982369840673e-28 < (/ 1.0 n) Initial program 26.3
rmApplied add-sqr-sqrt26.4
Applied add-sqr-sqrt26.3
Applied difference-of-squares26.3
rmApplied add-log-exp26.4
Applied add-log-exp26.4
Applied diff-log26.4
Simplified26.4
Final simplification21.9
herbie shell --seed 2020089 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))