double f(double x, double n) {
double r10399094 = x;
double r10399095 = 1.0;
double r10399096 = r10399094 + r10399095;
double r10399097 = n;
double r10399098 = r10399095 / r10399097;
double r10399099 = pow(r10399096, r10399098);
double r10399100 = pow(r10399094, r10399098);
double r10399101 = r10399099 - r10399100;
return r10399101;
}
double f(double x, double n) {
double r10399102 = 1.0;
double r10399103 = n;
double r10399104 = r10399102 / r10399103;
double r10399105 = -4.328879662690373e-07;
bool r10399106 = r10399104 <= r10399105;
double r10399107 = x;
double r10399108 = r10399107 + r10399102;
double r10399109 = pow(r10399108, r10399104);
double r10399110 = sqrt(r10399109);
double r10399111 = 2.0;
double r10399112 = r10399104 / r10399111;
double r10399113 = pow(r10399107, r10399112);
double r10399114 = r10399110 + r10399113;
double r10399115 = exp(r10399110);
double r10399116 = log(r10399115);
double r10399117 = exp(r10399113);
double r10399118 = log(r10399117);
double r10399119 = r10399116 - r10399118;
double r10399120 = r10399114 * r10399119;
double r10399121 = cbrt(r10399120);
double r10399122 = pow(r10399107, r10399104);
double r10399123 = r10399109 - r10399122;
double r10399124 = cbrt(r10399123);
double r10399125 = r10399121 * r10399124;
double r10399126 = r10399125 * r10399124;
double r10399127 = 1.8725798424404034e-10;
bool r10399128 = r10399104 <= r10399127;
double r10399129 = r10399107 * r10399103;
double r10399130 = r10399102 / r10399129;
double r10399131 = log(r10399107);
double r10399132 = r10399103 * r10399129;
double r10399133 = r10399131 / r10399132;
double r10399134 = -r10399133;
double r10399135 = r10399130 - r10399134;
double r10399136 = -0.5;
double r10399137 = r10399107 * r10399129;
double r10399138 = r10399136 / r10399137;
double r10399139 = r10399135 + r10399138;
double r10399140 = r10399110 * r10399110;
double r10399141 = r10399113 * r10399113;
double r10399142 = r10399140 - r10399141;
double r10399143 = r10399142 / r10399114;
double r10399144 = r10399143 * r10399114;
double r10399145 = cbrt(r10399144);
double r10399146 = r10399145 * r10399124;
double r10399147 = r10399146 * r10399124;
double r10399148 = r10399128 ? r10399139 : r10399147;
double r10399149 = r10399106 ? r10399126 : r10399148;
return r10399149;
}
{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -4.328879662690373 \cdot 10^{-07}:\\
\;\;\;\;\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(\log \left(e^{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}}\right) - \log \left(e^{{x}^{\left(\frac{\frac{1}{n}}{2}\right)}}\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(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\\
\mathbf{elif}\;\frac{1}{n} \le 1.8725798424404034 \cdot 10^{-10}:\\
\;\;\;\;\left(\frac{1}{x \cdot n} - \left(-\frac{\log x}{n \cdot \left(x \cdot n\right)}\right)\right) + \frac{\frac{-1}{2}}{x \cdot \left(x \cdot n\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt[3]{\frac{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}}{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + {x}^{\left(\frac{\frac{1}{n}}{2}\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(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\\
\end{array}


Bits error versus x



Bits error versus n
if (/ 1 n) < -4.328879662690373e-07Initial program 0.8
rmApplied add-cube-cbrt0.8
rmApplied sqr-pow0.8
Applied add-sqr-sqrt0.8
Applied difference-of-squares0.8
rmApplied add-log-exp1.0
Applied add-log-exp1.0
Applied diff-log1.0
rmApplied log-div1.0
if -4.328879662690373e-07 < (/ 1 n) < 1.8725798424404034e-10Initial program 45.1
Taylor expanded around inf 32.6
Simplified32.6
if 1.8725798424404034e-10 < (/ 1 n) Initial program 24.0
rmApplied add-cube-cbrt24.0
rmApplied sqr-pow24.0
Applied add-sqr-sqrt24.0
Applied difference-of-squares24.0
rmApplied flip--27.4
Final simplification22.8
herbie shell --seed 2019101
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))