Average Error: 32.9 → 23.6
Time: 13.6s
Precision: 64
\[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
\[\begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -0.675796556477497146:\\ \;\;\;\;\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}^{3}} - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{elif}\;\frac{1}{n} \le 9.2236913963062049 \cdot 10^{-15}:\\ \;\;\;\;\frac{\frac{1}{n}}{x} - \left(\frac{\frac{0.5}{n}}{{x}^{2}} - \frac{\log x \cdot 1}{x \cdot {n}^{2}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(x + 1\right)}^{\left(2 \cdot \frac{1}{n}\right)} - {x}^{\left(2 \cdot \frac{1}{n}\right)}}{{x}^{\left(\frac{1}{n}\right)} + {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\\ \end{array}\]
{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}
\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -0.675796556477497146:\\
\;\;\;\;\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}^{3}} - {x}^{\left(\frac{1}{n}\right)}\\

\mathbf{elif}\;\frac{1}{n} \le 9.2236913963062049 \cdot 10^{-15}:\\
\;\;\;\;\frac{\frac{1}{n}}{x} - \left(\frac{\frac{0.5}{n}}{{x}^{2}} - \frac{\log x \cdot 1}{x \cdot {n}^{2}}\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{{\left(x + 1\right)}^{\left(2 \cdot \frac{1}{n}\right)} - {x}^{\left(2 \cdot \frac{1}{n}\right)}}{{x}^{\left(\frac{1}{n}\right)} + {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\\

\end{array}
double code(double x, double n) {
	return ((double) (((double) pow(((double) (x + 1.0)), ((double) (1.0 / n)))) - ((double) pow(x, ((double) (1.0 / n))))));
}
double code(double x, double n) {
	double VAR;
	if ((((double) (1.0 / n)) <= -0.6757965564774971)) {
		VAR = ((double) (((double) cbrt(((double) pow(((double) pow(((double) (x + 1.0)), ((double) (1.0 / n)))), 3.0)))) - ((double) pow(x, ((double) (1.0 / n))))));
	} else {
		double VAR_1;
		if ((((double) (1.0 / n)) <= 9.223691396306205e-15)) {
			VAR_1 = ((double) (((double) (((double) (1.0 / n)) / x)) - ((double) (((double) (((double) (0.5 / n)) / ((double) pow(x, 2.0)))) - ((double) (((double) (((double) log(x)) * 1.0)) / ((double) (x * ((double) pow(n, 2.0))))))))));
		} else {
			VAR_1 = ((double) (((double) (((double) pow(((double) (x + 1.0)), ((double) (2.0 * ((double) (1.0 / n)))))) - ((double) pow(x, ((double) (2.0 * ((double) (1.0 / n)))))))) / ((double) (((double) pow(x, ((double) (1.0 / n)))) + ((double) pow(((double) (x + 1.0)), ((double) (1.0 / n))))))));
		}
		VAR = VAR_1;
	}
	return VAR;
}

Error

Bits error versus x

Bits error versus n

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if (/ 1.0 n) < -0.6757965564774971

    1. Initial program 0.1

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
    2. Using strategy rm
    3. Applied add-cbrt-cube0.1

      \[\leadsto \color{blue}{\sqrt[3]{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right) \cdot {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}} - {x}^{\left(\frac{1}{n}\right)}\]
    4. Simplified0.1

      \[\leadsto \sqrt[3]{\color{blue}{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}^{3}}} - {x}^{\left(\frac{1}{n}\right)}\]

    if -0.6757965564774971 < (/ 1.0 n) < 9.223691396306205e-15

    1. Initial program 45.5

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
    2. Taylor expanded around inf 32.7

      \[\leadsto \color{blue}{1 \cdot \frac{1}{x \cdot n} - \left(0.5 \cdot \frac{1}{{x}^{2} \cdot n} + 1 \cdot \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}}\right)}\]
    3. Simplified32.2

      \[\leadsto \color{blue}{\frac{\frac{1}{n}}{x} - \left(\frac{\frac{0.5}{n}}{{x}^{2}} - \frac{\log x \cdot 1}{x \cdot {n}^{2}}\right)}\]

    if 9.223691396306205e-15 < (/ 1.0 n)

    1. Initial program 8.8

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
    2. Using strategy rm
    3. Applied add-cbrt-cube8.8

      \[\leadsto \color{blue}{\sqrt[3]{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right) \cdot {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}} - {x}^{\left(\frac{1}{n}\right)}\]
    4. Simplified8.8

      \[\leadsto \sqrt[3]{\color{blue}{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}^{3}}} - {x}^{\left(\frac{1}{n}\right)}\]
    5. Using strategy rm
    6. Applied flip--8.8

      \[\leadsto \color{blue}{\frac{\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}^{3}} \cdot \sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}^{3}} - {x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}}{\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}^{3}} + {x}^{\left(\frac{1}{n}\right)}}}\]
    7. Simplified8.8

      \[\leadsto \frac{\color{blue}{{\left(x + 1\right)}^{\left(2 \cdot \frac{1}{n}\right)} - {x}^{\left(2 \cdot \frac{1}{n}\right)}}}{\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}^{3}} + {x}^{\left(\frac{1}{n}\right)}}\]
    8. Simplified8.8

      \[\leadsto \frac{{\left(x + 1\right)}^{\left(2 \cdot \frac{1}{n}\right)} - {x}^{\left(2 \cdot \frac{1}{n}\right)}}{\color{blue}{{x}^{\left(\frac{1}{n}\right)} + {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification23.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -0.675796556477497146:\\ \;\;\;\;\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}^{3}} - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{elif}\;\frac{1}{n} \le 9.2236913963062049 \cdot 10^{-15}:\\ \;\;\;\;\frac{\frac{1}{n}}{x} - \left(\frac{\frac{0.5}{n}}{{x}^{2}} - \frac{\log x \cdot 1}{x \cdot {n}^{2}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(x + 1\right)}^{\left(2 \cdot \frac{1}{n}\right)} - {x}^{\left(2 \cdot \frac{1}{n}\right)}}{{x}^{\left(\frac{1}{n}\right)} + {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}\\ \end{array}\]

Reproduce

herbie shell --seed 2020130 
(FPCore (x n)
  :name "2nthrt (problem 3.4.6)"
  :precision binary64
  (- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))