2nthrt (problem 3.4.6)

Percentage Accurate: 53.9% → 86.4%
Time: 24.3s
Alternatives: 19
Speedup: 2.0×

Specification

?
\[\begin{array}{l} \\ {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \end{array} \]
(FPCore (x n)
 :precision binary64
 (- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))
double code(double x, double n) {
	return pow((x + 1.0), (1.0 / n)) - pow(x, (1.0 / n));
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    code = ((x + 1.0d0) ** (1.0d0 / n)) - (x ** (1.0d0 / n))
end function
public static double code(double x, double n) {
	return Math.pow((x + 1.0), (1.0 / n)) - Math.pow(x, (1.0 / n));
}
def code(x, n):
	return math.pow((x + 1.0), (1.0 / n)) - math.pow(x, (1.0 / n))
function code(x, n)
	return Float64((Float64(x + 1.0) ^ Float64(1.0 / n)) - (x ^ Float64(1.0 / n)))
end
function tmp = code(x, n)
	tmp = ((x + 1.0) ^ (1.0 / n)) - (x ^ (1.0 / n));
end
code[x_, n_] := N[(N[Power[N[(x + 1.0), $MachinePrecision], N[(1.0 / n), $MachinePrecision]], $MachinePrecision] - N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 19 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 53.9% accurate, 1.0× speedup?

\[\begin{array}{l} \\ {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \end{array} \]
(FPCore (x n)
 :precision binary64
 (- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))
double code(double x, double n) {
	return pow((x + 1.0), (1.0 / n)) - pow(x, (1.0 / n));
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    code = ((x + 1.0d0) ** (1.0d0 / n)) - (x ** (1.0d0 / n))
end function
public static double code(double x, double n) {
	return Math.pow((x + 1.0), (1.0 / n)) - Math.pow(x, (1.0 / n));
}
def code(x, n):
	return math.pow((x + 1.0), (1.0 / n)) - math.pow(x, (1.0 / n))
function code(x, n)
	return Float64((Float64(x + 1.0) ^ Float64(1.0 / n)) - (x ^ Float64(1.0 / n)))
end
function tmp = code(x, n)
	tmp = ((x + 1.0) ^ (1.0 / n)) - (x ^ (1.0 / n));
end
code[x_, n_] := N[(N[Power[N[(x + 1.0), $MachinePrecision], N[(1.0 / n), $MachinePrecision]], $MachinePrecision] - N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}
\end{array}

Alternative 1: 86.4% accurate, 0.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \log \left(1 + x\right)\\ t_1 := {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{if}\;\frac{1}{n} \leq -0.02:\\ \;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{t_1}\right)}^{3}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\ \;\;\;\;\left(0.5 \cdot \frac{{t_0}^{2}}{{n}^{2}} + \left(0.041666666666666664 \cdot \frac{{t_0}^{4}}{{n}^{4}} + \left(\frac{-0.16666666666666666 \cdot {\log x}^{3} - -0.16666666666666666 \cdot {t_0}^{3}}{{n}^{3}} + \frac{t_0 - \log x}{n}\right)\right)\right) - \left(0.5 \cdot \frac{{\log x}^{2}}{{n}^{2}} + 0.041666666666666664 \cdot \frac{{\log x}^{4}}{{n}^{4}}\right)\\ \mathbf{else}:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - t_1\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (log (+ 1.0 x))) (t_1 (pow x (/ 1.0 n))))
   (if (<= (/ 1.0 n) -0.02)
     (- (pow (+ 1.0 x) (/ 1.0 n)) (pow (cbrt t_1) 3.0))
     (if (<= (/ 1.0 n) 1e-11)
       (-
        (+
         (* 0.5 (/ (pow t_0 2.0) (pow n 2.0)))
         (+
          (* 0.041666666666666664 (/ (pow t_0 4.0) (pow n 4.0)))
          (+
           (/
            (-
             (* -0.16666666666666666 (pow (log x) 3.0))
             (* -0.16666666666666666 (pow t_0 3.0)))
            (pow n 3.0))
           (/ (- t_0 (log x)) n))))
        (+
         (* 0.5 (/ (pow (log x) 2.0) (pow n 2.0)))
         (* 0.041666666666666664 (/ (pow (log x) 4.0) (pow n 4.0)))))
       (- (exp (/ (log1p x) n)) t_1)))))
double code(double x, double n) {
	double t_0 = log((1.0 + x));
	double t_1 = pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -0.02) {
		tmp = pow((1.0 + x), (1.0 / n)) - pow(cbrt(t_1), 3.0);
	} else if ((1.0 / n) <= 1e-11) {
		tmp = ((0.5 * (pow(t_0, 2.0) / pow(n, 2.0))) + ((0.041666666666666664 * (pow(t_0, 4.0) / pow(n, 4.0))) + ((((-0.16666666666666666 * pow(log(x), 3.0)) - (-0.16666666666666666 * pow(t_0, 3.0))) / pow(n, 3.0)) + ((t_0 - log(x)) / n)))) - ((0.5 * (pow(log(x), 2.0) / pow(n, 2.0))) + (0.041666666666666664 * (pow(log(x), 4.0) / pow(n, 4.0))));
	} else {
		tmp = exp((log1p(x) / n)) - t_1;
	}
	return tmp;
}
public static double code(double x, double n) {
	double t_0 = Math.log((1.0 + x));
	double t_1 = Math.pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -0.02) {
		tmp = Math.pow((1.0 + x), (1.0 / n)) - Math.pow(Math.cbrt(t_1), 3.0);
	} else if ((1.0 / n) <= 1e-11) {
		tmp = ((0.5 * (Math.pow(t_0, 2.0) / Math.pow(n, 2.0))) + ((0.041666666666666664 * (Math.pow(t_0, 4.0) / Math.pow(n, 4.0))) + ((((-0.16666666666666666 * Math.pow(Math.log(x), 3.0)) - (-0.16666666666666666 * Math.pow(t_0, 3.0))) / Math.pow(n, 3.0)) + ((t_0 - Math.log(x)) / n)))) - ((0.5 * (Math.pow(Math.log(x), 2.0) / Math.pow(n, 2.0))) + (0.041666666666666664 * (Math.pow(Math.log(x), 4.0) / Math.pow(n, 4.0))));
	} else {
		tmp = Math.exp((Math.log1p(x) / n)) - t_1;
	}
	return tmp;
}
function code(x, n)
	t_0 = log(Float64(1.0 + x))
	t_1 = x ^ Float64(1.0 / n)
	tmp = 0.0
	if (Float64(1.0 / n) <= -0.02)
		tmp = Float64((Float64(1.0 + x) ^ Float64(1.0 / n)) - (cbrt(t_1) ^ 3.0));
	elseif (Float64(1.0 / n) <= 1e-11)
		tmp = Float64(Float64(Float64(0.5 * Float64((t_0 ^ 2.0) / (n ^ 2.0))) + Float64(Float64(0.041666666666666664 * Float64((t_0 ^ 4.0) / (n ^ 4.0))) + Float64(Float64(Float64(Float64(-0.16666666666666666 * (log(x) ^ 3.0)) - Float64(-0.16666666666666666 * (t_0 ^ 3.0))) / (n ^ 3.0)) + Float64(Float64(t_0 - log(x)) / n)))) - Float64(Float64(0.5 * Float64((log(x) ^ 2.0) / (n ^ 2.0))) + Float64(0.041666666666666664 * Float64((log(x) ^ 4.0) / (n ^ 4.0)))));
	else
		tmp = Float64(exp(Float64(log1p(x) / n)) - t_1);
	end
	return tmp
end
code[x_, n_] := Block[{t$95$0 = N[Log[N[(1.0 + x), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$1 = N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[N[(1.0 / n), $MachinePrecision], -0.02], N[(N[Power[N[(1.0 + x), $MachinePrecision], N[(1.0 / n), $MachinePrecision]], $MachinePrecision] - N[Power[N[Power[t$95$1, 1/3], $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 1e-11], N[(N[(N[(0.5 * N[(N[Power[t$95$0, 2.0], $MachinePrecision] / N[Power[n, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(0.041666666666666664 * N[(N[Power[t$95$0, 4.0], $MachinePrecision] / N[Power[n, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(N[(-0.16666666666666666 * N[Power[N[Log[x], $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision] - N[(-0.16666666666666666 * N[Power[t$95$0, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[n, 3.0], $MachinePrecision]), $MachinePrecision] + N[(N[(t$95$0 - N[Log[x], $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(0.5 * N[(N[Power[N[Log[x], $MachinePrecision], 2.0], $MachinePrecision] / N[Power[n, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(0.041666666666666664 * N[(N[Power[N[Log[x], $MachinePrecision], 4.0], $MachinePrecision] / N[Power[n, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Exp[N[(N[Log[1 + x], $MachinePrecision] / n), $MachinePrecision]], $MachinePrecision] - t$95$1), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \log \left(1 + x\right)\\
t_1 := {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{if}\;\frac{1}{n} \leq -0.02:\\
\;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{t_1}\right)}^{3}\\

\mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\
\;\;\;\;\left(0.5 \cdot \frac{{t_0}^{2}}{{n}^{2}} + \left(0.041666666666666664 \cdot \frac{{t_0}^{4}}{{n}^{4}} + \left(\frac{-0.16666666666666666 \cdot {\log x}^{3} - -0.16666666666666666 \cdot {t_0}^{3}}{{n}^{3}} + \frac{t_0 - \log x}{n}\right)\right)\right) - \left(0.5 \cdot \frac{{\log x}^{2}}{{n}^{2}} + 0.041666666666666664 \cdot \frac{{\log x}^{4}}{{n}^{4}}\right)\\

\mathbf{else}:\\
\;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - t_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 1 n) < -0.0200000000000000004

    1. Initial program 100.0%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Step-by-step derivation
      1. add-sqr-sqrt100.0%

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\color{blue}{\left(\sqrt{x} \cdot \sqrt{x}\right)}}^{\left(\frac{1}{n}\right)} \]
      2. unpow-prod-down100.0%

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \color{blue}{{\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)}} \]
      3. inv-pow100.0%

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt{x}\right)}^{\color{blue}{\left({n}^{-1}\right)}} \cdot {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)} \]
      4. inv-pow100.0%

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt{x}\right)}^{\left({n}^{-1}\right)} \cdot {\left(\sqrt{x}\right)}^{\color{blue}{\left({n}^{-1}\right)}} \]
    3. Applied egg-rr100.0%

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \color{blue}{{\left(\sqrt{x}\right)}^{\left({n}^{-1}\right)} \cdot {\left(\sqrt{x}\right)}^{\left({n}^{-1}\right)}} \]
    4. Step-by-step derivation
      1. add-cube-cbrt100.0%

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

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \color{blue}{{\left(\sqrt[3]{{\left(\sqrt{x}\right)}^{\left({n}^{-1}\right)} \cdot {\left(\sqrt{x}\right)}^{\left({n}^{-1}\right)}}\right)}^{3}} \]
      3. pow-prod-down100.0%

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

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{{\color{blue}{x}}^{\left({n}^{-1}\right)}}\right)}^{3} \]
      5. inv-pow100.0%

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{{x}^{\color{blue}{\left(\frac{1}{n}\right)}}}\right)}^{3} \]
    5. Applied egg-rr100.0%

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

    if -0.0200000000000000004 < (/.f64 1 n) < 9.99999999999999939e-12

    1. Initial program 30.6%

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

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

    if 9.99999999999999939e-12 < (/.f64 1 n)

    1. Initial program 43.3%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in n around 0 43.2%

      \[\leadsto \color{blue}{e^{\frac{\log \left(1 + x\right)}{n}} - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. log1p-def86.1%

        \[\leadsto e^{\frac{\color{blue}{\mathsf{log1p}\left(x\right)}}{n}} - e^{\frac{\log x}{n}} \]
      2. *-rgt-identity86.1%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      3. associate-*r/86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      4. unpow-186.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      5. exp-to-pow86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      6. /-rgt-identity86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1}}{1}\right)}} \]
      7. metadata-eval86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{{n}^{-1}}{\color{blue}{\frac{2}{2}}}\right)} \]
      8. associate-/l*86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1} \cdot 2}{2}\right)}} \]
      9. *-commutative86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{\color{blue}{2 \cdot {n}^{-1}}}{2}\right)} \]
      10. *-commutative86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{\color{blue}{{n}^{-1} \cdot 2}}{2}\right)} \]
      11. associate-/l*86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1}}{\frac{2}{2}}\right)}} \]
      12. metadata-eval86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{{n}^{-1}}{\color{blue}{1}}\right)} \]
      13. /-rgt-identity86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left({n}^{-1}\right)}} \]
      14. unpow-186.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified86.0%

      \[\leadsto \color{blue}{e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification86.4%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -0.02:\\ \;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}\right)}^{3}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\ \;\;\;\;\left(0.5 \cdot \frac{{\log \left(1 + x\right)}^{2}}{{n}^{2}} + \left(0.041666666666666664 \cdot \frac{{\log \left(1 + x\right)}^{4}}{{n}^{4}} + \left(\frac{-0.16666666666666666 \cdot {\log x}^{3} - -0.16666666666666666 \cdot {\log \left(1 + x\right)}^{3}}{{n}^{3}} + \frac{\log \left(1 + x\right) - \log x}{n}\right)\right)\right) - \left(0.5 \cdot \frac{{\log x}^{2}}{{n}^{2}} + 0.041666666666666664 \cdot \frac{{\log x}^{4}}{{n}^{4}}\right)\\ \mathbf{else}:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\ \end{array} \]

Alternative 2: 86.3% accurate, 0.2× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{if}\;\frac{1}{n} \leq -0.02:\\ \;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{t_0}\right)}^{3}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\ \;\;\;\;\left(\mathsf{fma}\left(0.5, \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2}}{n \cdot n}, \frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right) + \frac{0.16666666666666666 \cdot \left({\left(\mathsf{log1p}\left(x\right)\right)}^{3} - {\log x}^{3}\right)}{{n}^{3}}\right) + \frac{{\log x}^{2}}{n \cdot n} \cdot -0.5\\ \mathbf{else}:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - t_0\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (pow x (/ 1.0 n))))
   (if (<= (/ 1.0 n) -0.02)
     (- (pow (+ 1.0 x) (/ 1.0 n)) (pow (cbrt t_0) 3.0))
     (if (<= (/ 1.0 n) 1e-11)
       (+
        (+
         (fma 0.5 (/ (pow (log1p x) 2.0) (* n n)) (/ (- (log1p x) (log x)) n))
         (/
          (* 0.16666666666666666 (- (pow (log1p x) 3.0) (pow (log x) 3.0)))
          (pow n 3.0)))
        (* (/ (pow (log x) 2.0) (* n n)) -0.5))
       (- (exp (/ (log1p x) n)) t_0)))))
double code(double x, double n) {
	double t_0 = pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -0.02) {
		tmp = pow((1.0 + x), (1.0 / n)) - pow(cbrt(t_0), 3.0);
	} else if ((1.0 / n) <= 1e-11) {
		tmp = (fma(0.5, (pow(log1p(x), 2.0) / (n * n)), ((log1p(x) - log(x)) / n)) + ((0.16666666666666666 * (pow(log1p(x), 3.0) - pow(log(x), 3.0))) / pow(n, 3.0))) + ((pow(log(x), 2.0) / (n * n)) * -0.5);
	} else {
		tmp = exp((log1p(x) / n)) - t_0;
	}
	return tmp;
}
function code(x, n)
	t_0 = x ^ Float64(1.0 / n)
	tmp = 0.0
	if (Float64(1.0 / n) <= -0.02)
		tmp = Float64((Float64(1.0 + x) ^ Float64(1.0 / n)) - (cbrt(t_0) ^ 3.0));
	elseif (Float64(1.0 / n) <= 1e-11)
		tmp = Float64(Float64(fma(0.5, Float64((log1p(x) ^ 2.0) / Float64(n * n)), Float64(Float64(log1p(x) - log(x)) / n)) + Float64(Float64(0.16666666666666666 * Float64((log1p(x) ^ 3.0) - (log(x) ^ 3.0))) / (n ^ 3.0))) + Float64(Float64((log(x) ^ 2.0) / Float64(n * n)) * -0.5));
	else
		tmp = Float64(exp(Float64(log1p(x) / n)) - t_0);
	end
	return tmp
end
code[x_, n_] := Block[{t$95$0 = N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[N[(1.0 / n), $MachinePrecision], -0.02], N[(N[Power[N[(1.0 + x), $MachinePrecision], N[(1.0 / n), $MachinePrecision]], $MachinePrecision] - N[Power[N[Power[t$95$0, 1/3], $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 1e-11], N[(N[(N[(0.5 * N[(N[Power[N[Log[1 + x], $MachinePrecision], 2.0], $MachinePrecision] / N[(n * n), $MachinePrecision]), $MachinePrecision] + N[(N[(N[Log[1 + x], $MachinePrecision] - N[Log[x], $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision]), $MachinePrecision] + N[(N[(0.16666666666666666 * N[(N[Power[N[Log[1 + x], $MachinePrecision], 3.0], $MachinePrecision] - N[Power[N[Log[x], $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[n, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[Power[N[Log[x], $MachinePrecision], 2.0], $MachinePrecision] / N[(n * n), $MachinePrecision]), $MachinePrecision] * -0.5), $MachinePrecision]), $MachinePrecision], N[(N[Exp[N[(N[Log[1 + x], $MachinePrecision] / n), $MachinePrecision]], $MachinePrecision] - t$95$0), $MachinePrecision]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{if}\;\frac{1}{n} \leq -0.02:\\
\;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{t_0}\right)}^{3}\\

\mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\
\;\;\;\;\left(\mathsf{fma}\left(0.5, \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2}}{n \cdot n}, \frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right) + \frac{0.16666666666666666 \cdot \left({\left(\mathsf{log1p}\left(x\right)\right)}^{3} - {\log x}^{3}\right)}{{n}^{3}}\right) + \frac{{\log x}^{2}}{n \cdot n} \cdot -0.5\\

\mathbf{else}:\\
\;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - t_0\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 1 n) < -0.0200000000000000004

    1. Initial program 100.0%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Step-by-step derivation
      1. add-sqr-sqrt100.0%

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\color{blue}{\left(\sqrt{x} \cdot \sqrt{x}\right)}}^{\left(\frac{1}{n}\right)} \]
      2. unpow-prod-down100.0%

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \color{blue}{{\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)}} \]
      3. inv-pow100.0%

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt{x}\right)}^{\color{blue}{\left({n}^{-1}\right)}} \cdot {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)} \]
      4. inv-pow100.0%

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt{x}\right)}^{\left({n}^{-1}\right)} \cdot {\left(\sqrt{x}\right)}^{\color{blue}{\left({n}^{-1}\right)}} \]
    3. Applied egg-rr100.0%

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \color{blue}{{\left(\sqrt{x}\right)}^{\left({n}^{-1}\right)} \cdot {\left(\sqrt{x}\right)}^{\left({n}^{-1}\right)}} \]
    4. Step-by-step derivation
      1. add-cube-cbrt100.0%

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

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \color{blue}{{\left(\sqrt[3]{{\left(\sqrt{x}\right)}^{\left({n}^{-1}\right)} \cdot {\left(\sqrt{x}\right)}^{\left({n}^{-1}\right)}}\right)}^{3}} \]
      3. pow-prod-down100.0%

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

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{{\color{blue}{x}}^{\left({n}^{-1}\right)}}\right)}^{3} \]
      5. inv-pow100.0%

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{{x}^{\color{blue}{\left(\frac{1}{n}\right)}}}\right)}^{3} \]
    5. Applied egg-rr100.0%

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

    if -0.0200000000000000004 < (/.f64 1 n) < 9.99999999999999939e-12

    1. Initial program 30.6%

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

      \[\leadsto \color{blue}{\left(0.5 \cdot \frac{{\log \left(1 + x\right)}^{2}}{{n}^{2}} + \left(-1 \cdot \frac{-0.16666666666666666 \cdot {\log \left(1 + x\right)}^{3} - -0.16666666666666666 \cdot {\log x}^{3}}{{n}^{3}} + -1 \cdot \frac{-1 \cdot \log \left(1 + x\right) - -1 \cdot \log x}{n}\right)\right) - 0.5 \cdot \frac{{\log x}^{2}}{{n}^{2}}} \]
    3. Step-by-step derivation
      1. sub-neg80.1%

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

      \[\leadsto \color{blue}{\left(\mathsf{fma}\left(0.5, \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2}}{n \cdot n}, \frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right) + \frac{0.16666666666666666 \cdot \left({\left(\mathsf{log1p}\left(x\right)\right)}^{3} - {\log x}^{3}\right)}{{n}^{3}}\right) + \frac{{\log x}^{2}}{n \cdot n} \cdot -0.5} \]

    if 9.99999999999999939e-12 < (/.f64 1 n)

    1. Initial program 43.3%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in n around 0 43.2%

      \[\leadsto \color{blue}{e^{\frac{\log \left(1 + x\right)}{n}} - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. log1p-def86.1%

        \[\leadsto e^{\frac{\color{blue}{\mathsf{log1p}\left(x\right)}}{n}} - e^{\frac{\log x}{n}} \]
      2. *-rgt-identity86.1%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      3. associate-*r/86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      4. unpow-186.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      5. exp-to-pow86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      6. /-rgt-identity86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1}}{1}\right)}} \]
      7. metadata-eval86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{{n}^{-1}}{\color{blue}{\frac{2}{2}}}\right)} \]
      8. associate-/l*86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1} \cdot 2}{2}\right)}} \]
      9. *-commutative86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{\color{blue}{2 \cdot {n}^{-1}}}{2}\right)} \]
      10. *-commutative86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{\color{blue}{{n}^{-1} \cdot 2}}{2}\right)} \]
      11. associate-/l*86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1}}{\frac{2}{2}}\right)}} \]
      12. metadata-eval86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{{n}^{-1}}{\color{blue}{1}}\right)} \]
      13. /-rgt-identity86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left({n}^{-1}\right)}} \]
      14. unpow-186.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified86.0%

      \[\leadsto \color{blue}{e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification86.4%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -0.02:\\ \;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}\right)}^{3}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\ \;\;\;\;\left(\mathsf{fma}\left(0.5, \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2}}{n \cdot n}, \frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right) + \frac{0.16666666666666666 \cdot \left({\left(\mathsf{log1p}\left(x\right)\right)}^{3} - {\log x}^{3}\right)}{{n}^{3}}\right) + \frac{{\log x}^{2}}{n \cdot n} \cdot -0.5\\ \mathbf{else}:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\ \end{array} \]

Alternative 3: 86.4% accurate, 0.3× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-7}:\\ \;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{t_0}\right)}^{3}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\ \;\;\;\;\mathsf{fma}\left(0.5, \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2}}{n \cdot n}, \frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right) + \frac{{\log x}^{2}}{n \cdot n} \cdot -0.5\\ \mathbf{else}:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - t_0\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (pow x (/ 1.0 n))))
   (if (<= (/ 1.0 n) -1e-7)
     (- (pow (+ 1.0 x) (/ 1.0 n)) (pow (cbrt t_0) 3.0))
     (if (<= (/ 1.0 n) 1e-11)
       (+
        (fma 0.5 (/ (pow (log1p x) 2.0) (* n n)) (/ (- (log1p x) (log x)) n))
        (* (/ (pow (log x) 2.0) (* n n)) -0.5))
       (- (exp (/ (log1p x) n)) t_0)))))
double code(double x, double n) {
	double t_0 = pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -1e-7) {
		tmp = pow((1.0 + x), (1.0 / n)) - pow(cbrt(t_0), 3.0);
	} else if ((1.0 / n) <= 1e-11) {
		tmp = fma(0.5, (pow(log1p(x), 2.0) / (n * n)), ((log1p(x) - log(x)) / n)) + ((pow(log(x), 2.0) / (n * n)) * -0.5);
	} else {
		tmp = exp((log1p(x) / n)) - t_0;
	}
	return tmp;
}
function code(x, n)
	t_0 = x ^ Float64(1.0 / n)
	tmp = 0.0
	if (Float64(1.0 / n) <= -1e-7)
		tmp = Float64((Float64(1.0 + x) ^ Float64(1.0 / n)) - (cbrt(t_0) ^ 3.0));
	elseif (Float64(1.0 / n) <= 1e-11)
		tmp = Float64(fma(0.5, Float64((log1p(x) ^ 2.0) / Float64(n * n)), Float64(Float64(log1p(x) - log(x)) / n)) + Float64(Float64((log(x) ^ 2.0) / Float64(n * n)) * -0.5));
	else
		tmp = Float64(exp(Float64(log1p(x) / n)) - t_0);
	end
	return tmp
end
code[x_, n_] := Block[{t$95$0 = N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[N[(1.0 / n), $MachinePrecision], -1e-7], N[(N[Power[N[(1.0 + x), $MachinePrecision], N[(1.0 / n), $MachinePrecision]], $MachinePrecision] - N[Power[N[Power[t$95$0, 1/3], $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 1e-11], N[(N[(0.5 * N[(N[Power[N[Log[1 + x], $MachinePrecision], 2.0], $MachinePrecision] / N[(n * n), $MachinePrecision]), $MachinePrecision] + N[(N[(N[Log[1 + x], $MachinePrecision] - N[Log[x], $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision]), $MachinePrecision] + N[(N[(N[Power[N[Log[x], $MachinePrecision], 2.0], $MachinePrecision] / N[(n * n), $MachinePrecision]), $MachinePrecision] * -0.5), $MachinePrecision]), $MachinePrecision], N[(N[Exp[N[(N[Log[1 + x], $MachinePrecision] / n), $MachinePrecision]], $MachinePrecision] - t$95$0), $MachinePrecision]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-7}:\\
\;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{t_0}\right)}^{3}\\

\mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\
\;\;\;\;\mathsf{fma}\left(0.5, \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2}}{n \cdot n}, \frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right) + \frac{{\log x}^{2}}{n \cdot n} \cdot -0.5\\

\mathbf{else}:\\
\;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - t_0\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 1 n) < -9.9999999999999995e-8

    1. Initial program 99.7%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Step-by-step derivation
      1. add-sqr-sqrt99.7%

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\color{blue}{\left(\sqrt{x} \cdot \sqrt{x}\right)}}^{\left(\frac{1}{n}\right)} \]
      2. unpow-prod-down99.7%

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

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt{x}\right)}^{\color{blue}{\left({n}^{-1}\right)}} \cdot {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)} \]
      4. inv-pow99.7%

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

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \color{blue}{{\left(\sqrt{x}\right)}^{\left({n}^{-1}\right)} \cdot {\left(\sqrt{x}\right)}^{\left({n}^{-1}\right)}} \]
    4. Step-by-step derivation
      1. add-cube-cbrt99.7%

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

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

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

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{{\color{blue}{x}}^{\left({n}^{-1}\right)}}\right)}^{3} \]
      5. inv-pow99.8%

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{{x}^{\color{blue}{\left(\frac{1}{n}\right)}}}\right)}^{3} \]
    5. Applied egg-rr99.8%

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

    if -9.9999999999999995e-8 < (/.f64 1 n) < 9.99999999999999939e-12

    1. Initial program 30.2%

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

      \[\leadsto \color{blue}{\left(0.5 \cdot \frac{{\log \left(1 + x\right)}^{2}}{{n}^{2}} + \frac{\log \left(1 + x\right)}{n}\right) - \left(\frac{\log x}{n} + 0.5 \cdot \frac{{\log x}^{2}}{{n}^{2}}\right)} \]
    3. Step-by-step derivation
      1. associate--r+72.2%

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

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

      \[\leadsto \color{blue}{\mathsf{fma}\left(0.5, \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2}}{n \cdot n}, \frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right) + \frac{{\log x}^{2}}{n \cdot n} \cdot -0.5} \]

    if 9.99999999999999939e-12 < (/.f64 1 n)

    1. Initial program 43.3%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in n around 0 43.2%

      \[\leadsto \color{blue}{e^{\frac{\log \left(1 + x\right)}{n}} - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. log1p-def86.1%

        \[\leadsto e^{\frac{\color{blue}{\mathsf{log1p}\left(x\right)}}{n}} - e^{\frac{\log x}{n}} \]
      2. *-rgt-identity86.1%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      3. associate-*r/86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      4. unpow-186.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      5. exp-to-pow86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      6. /-rgt-identity86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1}}{1}\right)}} \]
      7. metadata-eval86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{{n}^{-1}}{\color{blue}{\frac{2}{2}}}\right)} \]
      8. associate-/l*86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1} \cdot 2}{2}\right)}} \]
      9. *-commutative86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{\color{blue}{2 \cdot {n}^{-1}}}{2}\right)} \]
      10. *-commutative86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{\color{blue}{{n}^{-1} \cdot 2}}{2}\right)} \]
      11. associate-/l*86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1}}{\frac{2}{2}}\right)}} \]
      12. metadata-eval86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{{n}^{-1}}{\color{blue}{1}}\right)} \]
      13. /-rgt-identity86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left({n}^{-1}\right)}} \]
      14. unpow-186.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified86.0%

      \[\leadsto \color{blue}{e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification86.4%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-7}:\\ \;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}\right)}^{3}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\ \;\;\;\;\mathsf{fma}\left(0.5, \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2}}{n \cdot n}, \frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right) + \frac{{\log x}^{2}}{n \cdot n} \cdot -0.5\\ \mathbf{else}:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\ \end{array} \]

Alternative 4: 86.3% accurate, 0.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-7}:\\ \;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{t_0}\right)}^{3}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{else}:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - t_0\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (pow x (/ 1.0 n))))
   (if (<= (/ 1.0 n) -1e-7)
     (- (pow (+ 1.0 x) (/ 1.0 n)) (pow (cbrt t_0) 3.0))
     (if (<= (/ 1.0 n) 1e-11)
       (/ (log (/ (+ 1.0 x) x)) n)
       (- (exp (/ (log1p x) n)) t_0)))))
double code(double x, double n) {
	double t_0 = pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -1e-7) {
		tmp = pow((1.0 + x), (1.0 / n)) - pow(cbrt(t_0), 3.0);
	} else if ((1.0 / n) <= 1e-11) {
		tmp = log(((1.0 + x) / x)) / n;
	} else {
		tmp = exp((log1p(x) / n)) - t_0;
	}
	return tmp;
}
public static double code(double x, double n) {
	double t_0 = Math.pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -1e-7) {
		tmp = Math.pow((1.0 + x), (1.0 / n)) - Math.pow(Math.cbrt(t_0), 3.0);
	} else if ((1.0 / n) <= 1e-11) {
		tmp = Math.log(((1.0 + x) / x)) / n;
	} else {
		tmp = Math.exp((Math.log1p(x) / n)) - t_0;
	}
	return tmp;
}
function code(x, n)
	t_0 = x ^ Float64(1.0 / n)
	tmp = 0.0
	if (Float64(1.0 / n) <= -1e-7)
		tmp = Float64((Float64(1.0 + x) ^ Float64(1.0 / n)) - (cbrt(t_0) ^ 3.0));
	elseif (Float64(1.0 / n) <= 1e-11)
		tmp = Float64(log(Float64(Float64(1.0 + x) / x)) / n);
	else
		tmp = Float64(exp(Float64(log1p(x) / n)) - t_0);
	end
	return tmp
end
code[x_, n_] := Block[{t$95$0 = N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[N[(1.0 / n), $MachinePrecision], -1e-7], N[(N[Power[N[(1.0 + x), $MachinePrecision], N[(1.0 / n), $MachinePrecision]], $MachinePrecision] - N[Power[N[Power[t$95$0, 1/3], $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 1e-11], N[(N[Log[N[(N[(1.0 + x), $MachinePrecision] / x), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision], N[(N[Exp[N[(N[Log[1 + x], $MachinePrecision] / n), $MachinePrecision]], $MachinePrecision] - t$95$0), $MachinePrecision]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-7}:\\
\;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{t_0}\right)}^{3}\\

\mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\
\;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\

\mathbf{else}:\\
\;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - t_0\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 1 n) < -9.9999999999999995e-8

    1. Initial program 99.7%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Step-by-step derivation
      1. add-sqr-sqrt99.7%

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\color{blue}{\left(\sqrt{x} \cdot \sqrt{x}\right)}}^{\left(\frac{1}{n}\right)} \]
      2. unpow-prod-down99.7%

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

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt{x}\right)}^{\color{blue}{\left({n}^{-1}\right)}} \cdot {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)} \]
      4. inv-pow99.7%

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

      \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - \color{blue}{{\left(\sqrt{x}\right)}^{\left({n}^{-1}\right)} \cdot {\left(\sqrt{x}\right)}^{\left({n}^{-1}\right)}} \]
    4. Step-by-step derivation
      1. add-cube-cbrt99.7%

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

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

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

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{{\color{blue}{x}}^{\left({n}^{-1}\right)}}\right)}^{3} \]
      5. inv-pow99.8%

        \[\leadsto {\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{{x}^{\color{blue}{\left(\frac{1}{n}\right)}}}\right)}^{3} \]
    5. Applied egg-rr99.8%

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

    if -9.9999999999999995e-8 < (/.f64 1 n) < 9.99999999999999939e-12

    1. Initial program 30.2%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def79.1%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified79.1%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef79.1%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative79.1%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log79.4%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr79.4%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]

    if 9.99999999999999939e-12 < (/.f64 1 n)

    1. Initial program 43.3%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in n around 0 43.2%

      \[\leadsto \color{blue}{e^{\frac{\log \left(1 + x\right)}{n}} - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. log1p-def86.1%

        \[\leadsto e^{\frac{\color{blue}{\mathsf{log1p}\left(x\right)}}{n}} - e^{\frac{\log x}{n}} \]
      2. *-rgt-identity86.1%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      3. associate-*r/86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      4. unpow-186.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      5. exp-to-pow86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      6. /-rgt-identity86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1}}{1}\right)}} \]
      7. metadata-eval86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{{n}^{-1}}{\color{blue}{\frac{2}{2}}}\right)} \]
      8. associate-/l*86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1} \cdot 2}{2}\right)}} \]
      9. *-commutative86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{\color{blue}{2 \cdot {n}^{-1}}}{2}\right)} \]
      10. *-commutative86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{\color{blue}{{n}^{-1} \cdot 2}}{2}\right)} \]
      11. associate-/l*86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1}}{\frac{2}{2}}\right)}} \]
      12. metadata-eval86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{{n}^{-1}}{\color{blue}{1}}\right)} \]
      13. /-rgt-identity86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left({n}^{-1}\right)}} \]
      14. unpow-186.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified86.0%

      \[\leadsto \color{blue}{e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification86.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-7}:\\ \;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}\right)}^{3}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{else}:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\ \end{array} \]

Alternative 5: 86.3% accurate, 0.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-7}:\\ \;\;\;\;e^{\frac{x}{n}} - t_0\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{else}:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - t_0\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (pow x (/ 1.0 n))))
   (if (<= (/ 1.0 n) -1e-7)
     (- (exp (/ x n)) t_0)
     (if (<= (/ 1.0 n) 1e-11)
       (/ (log (/ (+ 1.0 x) x)) n)
       (- (exp (/ (log1p x) n)) t_0)))))
double code(double x, double n) {
	double t_0 = pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -1e-7) {
		tmp = exp((x / n)) - t_0;
	} else if ((1.0 / n) <= 1e-11) {
		tmp = log(((1.0 + x) / x)) / n;
	} else {
		tmp = exp((log1p(x) / n)) - t_0;
	}
	return tmp;
}
public static double code(double x, double n) {
	double t_0 = Math.pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -1e-7) {
		tmp = Math.exp((x / n)) - t_0;
	} else if ((1.0 / n) <= 1e-11) {
		tmp = Math.log(((1.0 + x) / x)) / n;
	} else {
		tmp = Math.exp((Math.log1p(x) / n)) - t_0;
	}
	return tmp;
}
def code(x, n):
	t_0 = math.pow(x, (1.0 / n))
	tmp = 0
	if (1.0 / n) <= -1e-7:
		tmp = math.exp((x / n)) - t_0
	elif (1.0 / n) <= 1e-11:
		tmp = math.log(((1.0 + x) / x)) / n
	else:
		tmp = math.exp((math.log1p(x) / n)) - t_0
	return tmp
function code(x, n)
	t_0 = x ^ Float64(1.0 / n)
	tmp = 0.0
	if (Float64(1.0 / n) <= -1e-7)
		tmp = Float64(exp(Float64(x / n)) - t_0);
	elseif (Float64(1.0 / n) <= 1e-11)
		tmp = Float64(log(Float64(Float64(1.0 + x) / x)) / n);
	else
		tmp = Float64(exp(Float64(log1p(x) / n)) - t_0);
	end
	return tmp
end
code[x_, n_] := Block[{t$95$0 = N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[N[(1.0 / n), $MachinePrecision], -1e-7], N[(N[Exp[N[(x / n), $MachinePrecision]], $MachinePrecision] - t$95$0), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 1e-11], N[(N[Log[N[(N[(1.0 + x), $MachinePrecision] / x), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision], N[(N[Exp[N[(N[Log[1 + x], $MachinePrecision] / n), $MachinePrecision]], $MachinePrecision] - t$95$0), $MachinePrecision]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-7}:\\
\;\;\;\;e^{\frac{x}{n}} - t_0\\

\mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\
\;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\

\mathbf{else}:\\
\;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - t_0\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 1 n) < -9.9999999999999995e-8

    1. Initial program 99.7%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in n around 0 99.7%

      \[\leadsto \color{blue}{e^{\frac{\log \left(1 + x\right)}{n}} - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. log1p-def99.7%

        \[\leadsto e^{\frac{\color{blue}{\mathsf{log1p}\left(x\right)}}{n}} - e^{\frac{\log x}{n}} \]
      2. *-rgt-identity99.7%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      3. associate-*r/99.7%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      4. unpow-199.7%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      5. exp-to-pow99.7%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      6. /-rgt-identity99.7%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1}}{1}\right)}} \]
      7. metadata-eval99.7%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{{n}^{-1}}{\color{blue}{\frac{2}{2}}}\right)} \]
      8. associate-/l*99.7%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1} \cdot 2}{2}\right)}} \]
      9. *-commutative99.7%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{\color{blue}{2 \cdot {n}^{-1}}}{2}\right)} \]
      10. *-commutative99.7%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{\color{blue}{{n}^{-1} \cdot 2}}{2}\right)} \]
      11. associate-/l*99.7%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1}}{\frac{2}{2}}\right)}} \]
      12. metadata-eval99.7%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{{n}^{-1}}{\color{blue}{1}}\right)} \]
      13. /-rgt-identity99.7%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left({n}^{-1}\right)}} \]
      14. unpow-199.7%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified99.7%

      \[\leadsto \color{blue}{e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}} \]
    5. Taylor expanded in x around 0 99.7%

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

    if -9.9999999999999995e-8 < (/.f64 1 n) < 9.99999999999999939e-12

    1. Initial program 30.2%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def79.1%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified79.1%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef79.1%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative79.1%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log79.4%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr79.4%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]

    if 9.99999999999999939e-12 < (/.f64 1 n)

    1. Initial program 43.3%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in n around 0 43.2%

      \[\leadsto \color{blue}{e^{\frac{\log \left(1 + x\right)}{n}} - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. log1p-def86.1%

        \[\leadsto e^{\frac{\color{blue}{\mathsf{log1p}\left(x\right)}}{n}} - e^{\frac{\log x}{n}} \]
      2. *-rgt-identity86.1%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      3. associate-*r/86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      4. unpow-186.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      5. exp-to-pow86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      6. /-rgt-identity86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1}}{1}\right)}} \]
      7. metadata-eval86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{{n}^{-1}}{\color{blue}{\frac{2}{2}}}\right)} \]
      8. associate-/l*86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1} \cdot 2}{2}\right)}} \]
      9. *-commutative86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{\color{blue}{2 \cdot {n}^{-1}}}{2}\right)} \]
      10. *-commutative86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{\color{blue}{{n}^{-1} \cdot 2}}{2}\right)} \]
      11. associate-/l*86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1}}{\frac{2}{2}}\right)}} \]
      12. metadata-eval86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{{n}^{-1}}{\color{blue}{1}}\right)} \]
      13. /-rgt-identity86.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left({n}^{-1}\right)}} \]
      14. unpow-186.0%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified86.0%

      \[\leadsto \color{blue}{e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification86.0%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-7}:\\ \;\;\;\;e^{\frac{x}{n}} - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{-11}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{else}:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\ \end{array} \]

Alternative 6: 86.2% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-7} \lor \neg \left(\frac{1}{n} \leq 4 \cdot 10^{-5}\right):\\ \;\;\;\;e^{\frac{x}{n}} - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (if (or (<= (/ 1.0 n) -1e-7) (not (<= (/ 1.0 n) 4e-5)))
   (- (exp (/ x n)) (pow x (/ 1.0 n)))
   (/ (log (/ (+ 1.0 x) x)) n)))
double code(double x, double n) {
	double tmp;
	if (((1.0 / n) <= -1e-7) || !((1.0 / n) <= 4e-5)) {
		tmp = exp((x / n)) - pow(x, (1.0 / n));
	} else {
		tmp = log(((1.0 + x) / x)) / n;
	}
	return tmp;
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    real(8) :: tmp
    if (((1.0d0 / n) <= (-1d-7)) .or. (.not. ((1.0d0 / n) <= 4d-5))) then
        tmp = exp((x / n)) - (x ** (1.0d0 / n))
    else
        tmp = log(((1.0d0 + x) / x)) / n
    end if
    code = tmp
end function
public static double code(double x, double n) {
	double tmp;
	if (((1.0 / n) <= -1e-7) || !((1.0 / n) <= 4e-5)) {
		tmp = Math.exp((x / n)) - Math.pow(x, (1.0 / n));
	} else {
		tmp = Math.log(((1.0 + x) / x)) / n;
	}
	return tmp;
}
def code(x, n):
	tmp = 0
	if ((1.0 / n) <= -1e-7) or not ((1.0 / n) <= 4e-5):
		tmp = math.exp((x / n)) - math.pow(x, (1.0 / n))
	else:
		tmp = math.log(((1.0 + x) / x)) / n
	return tmp
function code(x, n)
	tmp = 0.0
	if ((Float64(1.0 / n) <= -1e-7) || !(Float64(1.0 / n) <= 4e-5))
		tmp = Float64(exp(Float64(x / n)) - (x ^ Float64(1.0 / n)));
	else
		tmp = Float64(log(Float64(Float64(1.0 + x) / x)) / n);
	end
	return tmp
end
function tmp_2 = code(x, n)
	tmp = 0.0;
	if (((1.0 / n) <= -1e-7) || ~(((1.0 / n) <= 4e-5)))
		tmp = exp((x / n)) - (x ^ (1.0 / n));
	else
		tmp = log(((1.0 + x) / x)) / n;
	end
	tmp_2 = tmp;
end
code[x_, n_] := If[Or[LessEqual[N[(1.0 / n), $MachinePrecision], -1e-7], N[Not[LessEqual[N[(1.0 / n), $MachinePrecision], 4e-5]], $MachinePrecision]], N[(N[Exp[N[(x / n), $MachinePrecision]], $MachinePrecision] - N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], N[(N[Log[N[(N[(1.0 + x), $MachinePrecision] / x), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-7} \lor \neg \left(\frac{1}{n} \leq 4 \cdot 10^{-5}\right):\\
\;\;\;\;e^{\frac{x}{n}} - {x}^{\left(\frac{1}{n}\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 1 n) < -9.9999999999999995e-8 or 4.00000000000000033e-5 < (/.f64 1 n)

    1. Initial program 78.3%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in n around 0 78.2%

      \[\leadsto \color{blue}{e^{\frac{\log \left(1 + x\right)}{n}} - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. log1p-def96.4%

        \[\leadsto e^{\frac{\color{blue}{\mathsf{log1p}\left(x\right)}}{n}} - e^{\frac{\log x}{n}} \]
      2. *-rgt-identity96.4%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      3. associate-*r/96.4%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      4. unpow-196.4%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      5. exp-to-pow96.4%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      6. /-rgt-identity96.4%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1}}{1}\right)}} \]
      7. metadata-eval96.4%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{{n}^{-1}}{\color{blue}{\frac{2}{2}}}\right)} \]
      8. associate-/l*96.4%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1} \cdot 2}{2}\right)}} \]
      9. *-commutative96.4%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{\color{blue}{2 \cdot {n}^{-1}}}{2}\right)} \]
      10. *-commutative96.4%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{\color{blue}{{n}^{-1} \cdot 2}}{2}\right)} \]
      11. associate-/l*96.4%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{{n}^{-1}}{\frac{2}{2}}\right)}} \]
      12. metadata-eval96.4%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{{n}^{-1}}{\color{blue}{1}}\right)} \]
      13. /-rgt-identity96.4%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left({n}^{-1}\right)}} \]
      14. unpow-196.4%

        \[\leadsto e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified96.4%

      \[\leadsto \color{blue}{e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}} \]
    5. Taylor expanded in x around 0 96.2%

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

    if -9.9999999999999995e-8 < (/.f64 1 n) < 4.00000000000000033e-5

    1. Initial program 29.7%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def77.6%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified77.6%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef77.6%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative77.6%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log77.8%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr77.8%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification85.9%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-7} \lor \neg \left(\frac{1}{n} \leq 4 \cdot 10^{-5}\right):\\ \;\;\;\;e^{\frac{x}{n}} - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \end{array} \]

Alternative 7: 81.5% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {x}^{\left(\frac{1}{n}\right)}\\ t_1 := \frac{1}{n \cdot x}\\ \mathbf{if}\;\frac{1}{n} \leq -10000:\\ \;\;\;\;\frac{t_0}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 4 \cdot 10^{-5}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+91}:\\ \;\;\;\;\left(1 + \frac{x}{n}\right) - t_0\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{t_1 \cdot \frac{t_1}{n \cdot x}}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (pow x (/ 1.0 n))) (t_1 (/ 1.0 (* n x))))
   (if (<= (/ 1.0 n) -10000.0)
     (/ t_0 (* n x))
     (if (<= (/ 1.0 n) 4e-5)
       (/ (log (/ (+ 1.0 x) x)) n)
       (if (<= (/ 1.0 n) 2e+91)
         (- (+ 1.0 (/ x n)) t_0)
         (cbrt (* t_1 (/ t_1 (* n x)))))))))
double code(double x, double n) {
	double t_0 = pow(x, (1.0 / n));
	double t_1 = 1.0 / (n * x);
	double tmp;
	if ((1.0 / n) <= -10000.0) {
		tmp = t_0 / (n * x);
	} else if ((1.0 / n) <= 4e-5) {
		tmp = log(((1.0 + x) / x)) / n;
	} else if ((1.0 / n) <= 2e+91) {
		tmp = (1.0 + (x / n)) - t_0;
	} else {
		tmp = cbrt((t_1 * (t_1 / (n * x))));
	}
	return tmp;
}
public static double code(double x, double n) {
	double t_0 = Math.pow(x, (1.0 / n));
	double t_1 = 1.0 / (n * x);
	double tmp;
	if ((1.0 / n) <= -10000.0) {
		tmp = t_0 / (n * x);
	} else if ((1.0 / n) <= 4e-5) {
		tmp = Math.log(((1.0 + x) / x)) / n;
	} else if ((1.0 / n) <= 2e+91) {
		tmp = (1.0 + (x / n)) - t_0;
	} else {
		tmp = Math.cbrt((t_1 * (t_1 / (n * x))));
	}
	return tmp;
}
function code(x, n)
	t_0 = x ^ Float64(1.0 / n)
	t_1 = Float64(1.0 / Float64(n * x))
	tmp = 0.0
	if (Float64(1.0 / n) <= -10000.0)
		tmp = Float64(t_0 / Float64(n * x));
	elseif (Float64(1.0 / n) <= 4e-5)
		tmp = Float64(log(Float64(Float64(1.0 + x) / x)) / n);
	elseif (Float64(1.0 / n) <= 2e+91)
		tmp = Float64(Float64(1.0 + Float64(x / n)) - t_0);
	else
		tmp = cbrt(Float64(t_1 * Float64(t_1 / Float64(n * x))));
	end
	return tmp
end
code[x_, n_] := Block[{t$95$0 = N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$1 = N[(1.0 / N[(n * x), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(1.0 / n), $MachinePrecision], -10000.0], N[(t$95$0 / N[(n * x), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 4e-5], N[(N[Log[N[(N[(1.0 + x), $MachinePrecision] / x), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 2e+91], N[(N[(1.0 + N[(x / n), $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision], N[Power[N[(t$95$1 * N[(t$95$1 / N[(n * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {x}^{\left(\frac{1}{n}\right)}\\
t_1 := \frac{1}{n \cdot x}\\
\mathbf{if}\;\frac{1}{n} \leq -10000:\\
\;\;\;\;\frac{t_0}{n \cdot x}\\

\mathbf{elif}\;\frac{1}{n} \leq 4 \cdot 10^{-5}:\\
\;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+91}:\\
\;\;\;\;\left(1 + \frac{x}{n}\right) - t_0\\

\mathbf{else}:\\
\;\;\;\;\sqrt[3]{t_1 \cdot \frac{t_1}{n \cdot x}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (/.f64 1 n) < -1e4

    1. Initial program 100.0%

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

      \[\leadsto \color{blue}{\frac{e^{-1 \cdot \frac{\log \left(\frac{1}{x}\right)}{n}}}{n \cdot x}} \]
    3. Step-by-step derivation
      1. log-rec100.0%

        \[\leadsto \frac{e^{-1 \cdot \frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      2. mul-1-neg100.0%

        \[\leadsto \frac{e^{-1 \cdot \frac{\color{blue}{-1 \cdot \log x}}{n}}}{n \cdot x} \]
      3. mul-1-neg100.0%

        \[\leadsto \frac{e^{-1 \cdot \frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      4. distribute-frac-neg100.0%

        \[\leadsto \frac{e^{-1 \cdot \color{blue}{\left(-\frac{\log x}{n}\right)}}}{n \cdot x} \]
      5. neg-mul-1100.0%

        \[\leadsto \frac{e^{\color{blue}{-\left(-\frac{\log x}{n}\right)}}}{n \cdot x} \]
      6. remove-double-neg100.0%

        \[\leadsto \frac{e^{\color{blue}{\frac{\log x}{n}}}}{n \cdot x} \]
      7. *-rgt-identity100.0%

        \[\leadsto \frac{e^{\frac{\color{blue}{\log x \cdot 1}}{n}}}{n \cdot x} \]
      8. associate-*r/100.0%

        \[\leadsto \frac{e^{\color{blue}{\log x \cdot \frac{1}{n}}}}{n \cdot x} \]
      9. unpow-1100.0%

        \[\leadsto \frac{e^{\log x \cdot \color{blue}{{n}^{-1}}}}{n \cdot x} \]
      10. exp-to-pow100.0%

        \[\leadsto \frac{\color{blue}{{x}^{\left({n}^{-1}\right)}}}{n \cdot x} \]
      11. unpow-1100.0%

        \[\leadsto \frac{{x}^{\color{blue}{\left(\frac{1}{n}\right)}}}{n \cdot x} \]
      12. *-commutative100.0%

        \[\leadsto \frac{{x}^{\left(\frac{1}{n}\right)}}{\color{blue}{x \cdot n}} \]
    4. Simplified100.0%

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

    if -1e4 < (/.f64 1 n) < 4.00000000000000033e-5

    1. Initial program 30.5%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def76.9%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified76.9%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef76.9%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative76.9%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log77.1%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr77.1%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]

    if 4.00000000000000033e-5 < (/.f64 1 n) < 2.00000000000000016e91

    1. Initial program 74.0%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in x around 0 72.8%

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

    if 2.00000000000000016e91 < (/.f64 1 n)

    1. Initial program 27.2%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def10.1%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified10.1%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around inf 57.6%

      \[\leadsto \color{blue}{\frac{1}{n \cdot x}} \]
    6. Step-by-step derivation
      1. *-commutative57.6%

        \[\leadsto \frac{1}{\color{blue}{x \cdot n}} \]
    7. Simplified57.6%

      \[\leadsto \color{blue}{\frac{1}{x \cdot n}} \]
    8. Step-by-step derivation
      1. add-cbrt-cube75.0%

        \[\leadsto \color{blue}{\sqrt[3]{\left(\frac{1}{x \cdot n} \cdot \frac{1}{x \cdot n}\right) \cdot \frac{1}{x \cdot n}}} \]
    9. Applied egg-rr75.0%

      \[\leadsto \color{blue}{\sqrt[3]{\left(\frac{1}{x \cdot n} \cdot \frac{1}{x \cdot n}\right) \cdot \frac{1}{x \cdot n}}} \]
    10. Step-by-step derivation
      1. associate-*r/75.0%

        \[\leadsto \sqrt[3]{\color{blue}{\frac{\left(\frac{1}{x \cdot n} \cdot \frac{1}{x \cdot n}\right) \cdot 1}{x \cdot n}}} \]
      2. *-rgt-identity75.0%

        \[\leadsto \sqrt[3]{\frac{\color{blue}{\frac{1}{x \cdot n} \cdot \frac{1}{x \cdot n}}}{x \cdot n}} \]
      3. associate-*r/75.0%

        \[\leadsto \sqrt[3]{\color{blue}{\frac{1}{x \cdot n} \cdot \frac{\frac{1}{x \cdot n}}{x \cdot n}}} \]
    11. Simplified75.0%

      \[\leadsto \color{blue}{\sqrt[3]{\frac{1}{x \cdot n} \cdot \frac{\frac{1}{x \cdot n}}{x \cdot n}}} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification82.5%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -10000:\\ \;\;\;\;\frac{{x}^{\left(\frac{1}{n}\right)}}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 4 \cdot 10^{-5}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+91}:\\ \;\;\;\;\left(1 + \frac{x}{n}\right) - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{\frac{1}{n \cdot x} \cdot \frac{\frac{1}{n \cdot x}}{n \cdot x}}\\ \end{array} \]

Alternative 8: 81.6% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{if}\;\frac{1}{n} \leq -10000:\\ \;\;\;\;\frac{t_0}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 4 \cdot 10^{-5}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+204}:\\ \;\;\;\;\left(1 + \frac{x}{n}\right) - t_0\\ \mathbf{else}:\\ \;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (pow x (/ 1.0 n))))
   (if (<= (/ 1.0 n) -10000.0)
     (/ t_0 (* n x))
     (if (<= (/ 1.0 n) 4e-5)
       (/ (log (/ (+ 1.0 x) x)) n)
       (if (<= (/ 1.0 n) 2e+204)
         (- (+ 1.0 (/ x n)) t_0)
         (/ 0.3333333333333333 (* n (pow x 3.0))))))))
double code(double x, double n) {
	double t_0 = pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -10000.0) {
		tmp = t_0 / (n * x);
	} else if ((1.0 / n) <= 4e-5) {
		tmp = log(((1.0 + x) / x)) / n;
	} else if ((1.0 / n) <= 2e+204) {
		tmp = (1.0 + (x / n)) - t_0;
	} else {
		tmp = 0.3333333333333333 / (n * pow(x, 3.0));
	}
	return tmp;
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    real(8) :: t_0
    real(8) :: tmp
    t_0 = x ** (1.0d0 / n)
    if ((1.0d0 / n) <= (-10000.0d0)) then
        tmp = t_0 / (n * x)
    else if ((1.0d0 / n) <= 4d-5) then
        tmp = log(((1.0d0 + x) / x)) / n
    else if ((1.0d0 / n) <= 2d+204) then
        tmp = (1.0d0 + (x / n)) - t_0
    else
        tmp = 0.3333333333333333d0 / (n * (x ** 3.0d0))
    end if
    code = tmp
end function
public static double code(double x, double n) {
	double t_0 = Math.pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -10000.0) {
		tmp = t_0 / (n * x);
	} else if ((1.0 / n) <= 4e-5) {
		tmp = Math.log(((1.0 + x) / x)) / n;
	} else if ((1.0 / n) <= 2e+204) {
		tmp = (1.0 + (x / n)) - t_0;
	} else {
		tmp = 0.3333333333333333 / (n * Math.pow(x, 3.0));
	}
	return tmp;
}
def code(x, n):
	t_0 = math.pow(x, (1.0 / n))
	tmp = 0
	if (1.0 / n) <= -10000.0:
		tmp = t_0 / (n * x)
	elif (1.0 / n) <= 4e-5:
		tmp = math.log(((1.0 + x) / x)) / n
	elif (1.0 / n) <= 2e+204:
		tmp = (1.0 + (x / n)) - t_0
	else:
		tmp = 0.3333333333333333 / (n * math.pow(x, 3.0))
	return tmp
function code(x, n)
	t_0 = x ^ Float64(1.0 / n)
	tmp = 0.0
	if (Float64(1.0 / n) <= -10000.0)
		tmp = Float64(t_0 / Float64(n * x));
	elseif (Float64(1.0 / n) <= 4e-5)
		tmp = Float64(log(Float64(Float64(1.0 + x) / x)) / n);
	elseif (Float64(1.0 / n) <= 2e+204)
		tmp = Float64(Float64(1.0 + Float64(x / n)) - t_0);
	else
		tmp = Float64(0.3333333333333333 / Float64(n * (x ^ 3.0)));
	end
	return tmp
end
function tmp_2 = code(x, n)
	t_0 = x ^ (1.0 / n);
	tmp = 0.0;
	if ((1.0 / n) <= -10000.0)
		tmp = t_0 / (n * x);
	elseif ((1.0 / n) <= 4e-5)
		tmp = log(((1.0 + x) / x)) / n;
	elseif ((1.0 / n) <= 2e+204)
		tmp = (1.0 + (x / n)) - t_0;
	else
		tmp = 0.3333333333333333 / (n * (x ^ 3.0));
	end
	tmp_2 = tmp;
end
code[x_, n_] := Block[{t$95$0 = N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[N[(1.0 / n), $MachinePrecision], -10000.0], N[(t$95$0 / N[(n * x), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 4e-5], N[(N[Log[N[(N[(1.0 + x), $MachinePrecision] / x), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 2e+204], N[(N[(1.0 + N[(x / n), $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision], N[(0.3333333333333333 / N[(n * N[Power[x, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{if}\;\frac{1}{n} \leq -10000:\\
\;\;\;\;\frac{t_0}{n \cdot x}\\

\mathbf{elif}\;\frac{1}{n} \leq 4 \cdot 10^{-5}:\\
\;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+204}:\\
\;\;\;\;\left(1 + \frac{x}{n}\right) - t_0\\

\mathbf{else}:\\
\;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (/.f64 1 n) < -1e4

    1. Initial program 100.0%

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

      \[\leadsto \color{blue}{\frac{e^{-1 \cdot \frac{\log \left(\frac{1}{x}\right)}{n}}}{n \cdot x}} \]
    3. Step-by-step derivation
      1. log-rec100.0%

        \[\leadsto \frac{e^{-1 \cdot \frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      2. mul-1-neg100.0%

        \[\leadsto \frac{e^{-1 \cdot \frac{\color{blue}{-1 \cdot \log x}}{n}}}{n \cdot x} \]
      3. mul-1-neg100.0%

        \[\leadsto \frac{e^{-1 \cdot \frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      4. distribute-frac-neg100.0%

        \[\leadsto \frac{e^{-1 \cdot \color{blue}{\left(-\frac{\log x}{n}\right)}}}{n \cdot x} \]
      5. neg-mul-1100.0%

        \[\leadsto \frac{e^{\color{blue}{-\left(-\frac{\log x}{n}\right)}}}{n \cdot x} \]
      6. remove-double-neg100.0%

        \[\leadsto \frac{e^{\color{blue}{\frac{\log x}{n}}}}{n \cdot x} \]
      7. *-rgt-identity100.0%

        \[\leadsto \frac{e^{\frac{\color{blue}{\log x \cdot 1}}{n}}}{n \cdot x} \]
      8. associate-*r/100.0%

        \[\leadsto \frac{e^{\color{blue}{\log x \cdot \frac{1}{n}}}}{n \cdot x} \]
      9. unpow-1100.0%

        \[\leadsto \frac{e^{\log x \cdot \color{blue}{{n}^{-1}}}}{n \cdot x} \]
      10. exp-to-pow100.0%

        \[\leadsto \frac{\color{blue}{{x}^{\left({n}^{-1}\right)}}}{n \cdot x} \]
      11. unpow-1100.0%

        \[\leadsto \frac{{x}^{\color{blue}{\left(\frac{1}{n}\right)}}}{n \cdot x} \]
      12. *-commutative100.0%

        \[\leadsto \frac{{x}^{\left(\frac{1}{n}\right)}}{\color{blue}{x \cdot n}} \]
    4. Simplified100.0%

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

    if -1e4 < (/.f64 1 n) < 4.00000000000000033e-5

    1. Initial program 30.5%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def76.9%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified76.9%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef76.9%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative76.9%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log77.1%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr77.1%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]

    if 4.00000000000000033e-5 < (/.f64 1 n) < 1.99999999999999998e204

    1. Initial program 69.8%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in x around 0 62.7%

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

    if 1.99999999999999998e204 < (/.f64 1 n)

    1. Initial program 13.3%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def12.4%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified12.4%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around inf 26.3%

      \[\leadsto \frac{\color{blue}{\left(0.3333333333333333 \cdot \frac{1}{{x}^{3}} + \frac{1}{x}\right) - 0.5 \cdot \frac{1}{{x}^{2}}}}{n} \]
    6. Step-by-step derivation
      1. associate--l+26.3%

        \[\leadsto \frac{\color{blue}{0.3333333333333333 \cdot \frac{1}{{x}^{3}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}}{n} \]
      2. associate-*r/26.3%

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

        \[\leadsto \frac{\frac{\color{blue}{0.3333333333333333}}{{x}^{3}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}{n} \]
      4. associate-*r/26.3%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \color{blue}{\frac{0.5 \cdot 1}{{x}^{2}}}\right)}{n} \]
      5. metadata-eval26.3%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{\color{blue}{0.5}}{{x}^{2}}\right)}{n} \]
      6. unpow226.3%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{0.5}{\color{blue}{x \cdot x}}\right)}{n} \]
    7. Simplified26.3%

      \[\leadsto \frac{\color{blue}{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{0.5}{x \cdot x}\right)}}{n} \]
    8. Taylor expanded in x around 0 79.7%

      \[\leadsto \color{blue}{\frac{0.3333333333333333}{n \cdot {x}^{3}}} \]
    9. Step-by-step derivation
      1. *-commutative79.7%

        \[\leadsto \frac{0.3333333333333333}{\color{blue}{{x}^{3} \cdot n}} \]
    10. Simplified79.7%

      \[\leadsto \color{blue}{\frac{0.3333333333333333}{{x}^{3} \cdot n}} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification81.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -10000:\\ \;\;\;\;\frac{{x}^{\left(\frac{1}{n}\right)}}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 4 \cdot 10^{-5}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+204}:\\ \;\;\;\;\left(1 + \frac{x}{n}\right) - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\ \end{array} \]

Alternative 9: 73.6% accurate, 1.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{0.3333333333333333}{n \cdot {x}^{3}}\\ \mathbf{if}\;\frac{1}{n} \leq -10000:\\ \;\;\;\;t_0\\ \mathbf{elif}\;\frac{1}{n} \leq 4 \cdot 10^{-5}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+91}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (/ 0.3333333333333333 (* n (pow x 3.0)))))
   (if (<= (/ 1.0 n) -10000.0)
     t_0
     (if (<= (/ 1.0 n) 4e-5)
       (/ (log (/ (+ 1.0 x) x)) n)
       (if (<= (/ 1.0 n) 2e+91) (- 1.0 (pow x (/ 1.0 n))) t_0)))))
double code(double x, double n) {
	double t_0 = 0.3333333333333333 / (n * pow(x, 3.0));
	double tmp;
	if ((1.0 / n) <= -10000.0) {
		tmp = t_0;
	} else if ((1.0 / n) <= 4e-5) {
		tmp = log(((1.0 + x) / x)) / n;
	} else if ((1.0 / n) <= 2e+91) {
		tmp = 1.0 - pow(x, (1.0 / n));
	} else {
		tmp = t_0;
	}
	return tmp;
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    real(8) :: t_0
    real(8) :: tmp
    t_0 = 0.3333333333333333d0 / (n * (x ** 3.0d0))
    if ((1.0d0 / n) <= (-10000.0d0)) then
        tmp = t_0
    else if ((1.0d0 / n) <= 4d-5) then
        tmp = log(((1.0d0 + x) / x)) / n
    else if ((1.0d0 / n) <= 2d+91) then
        tmp = 1.0d0 - (x ** (1.0d0 / n))
    else
        tmp = t_0
    end if
    code = tmp
end function
public static double code(double x, double n) {
	double t_0 = 0.3333333333333333 / (n * Math.pow(x, 3.0));
	double tmp;
	if ((1.0 / n) <= -10000.0) {
		tmp = t_0;
	} else if ((1.0 / n) <= 4e-5) {
		tmp = Math.log(((1.0 + x) / x)) / n;
	} else if ((1.0 / n) <= 2e+91) {
		tmp = 1.0 - Math.pow(x, (1.0 / n));
	} else {
		tmp = t_0;
	}
	return tmp;
}
def code(x, n):
	t_0 = 0.3333333333333333 / (n * math.pow(x, 3.0))
	tmp = 0
	if (1.0 / n) <= -10000.0:
		tmp = t_0
	elif (1.0 / n) <= 4e-5:
		tmp = math.log(((1.0 + x) / x)) / n
	elif (1.0 / n) <= 2e+91:
		tmp = 1.0 - math.pow(x, (1.0 / n))
	else:
		tmp = t_0
	return tmp
function code(x, n)
	t_0 = Float64(0.3333333333333333 / Float64(n * (x ^ 3.0)))
	tmp = 0.0
	if (Float64(1.0 / n) <= -10000.0)
		tmp = t_0;
	elseif (Float64(1.0 / n) <= 4e-5)
		tmp = Float64(log(Float64(Float64(1.0 + x) / x)) / n);
	elseif (Float64(1.0 / n) <= 2e+91)
		tmp = Float64(1.0 - (x ^ Float64(1.0 / n)));
	else
		tmp = t_0;
	end
	return tmp
end
function tmp_2 = code(x, n)
	t_0 = 0.3333333333333333 / (n * (x ^ 3.0));
	tmp = 0.0;
	if ((1.0 / n) <= -10000.0)
		tmp = t_0;
	elseif ((1.0 / n) <= 4e-5)
		tmp = log(((1.0 + x) / x)) / n;
	elseif ((1.0 / n) <= 2e+91)
		tmp = 1.0 - (x ^ (1.0 / n));
	else
		tmp = t_0;
	end
	tmp_2 = tmp;
end
code[x_, n_] := Block[{t$95$0 = N[(0.3333333333333333 / N[(n * N[Power[x, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(1.0 / n), $MachinePrecision], -10000.0], t$95$0, If[LessEqual[N[(1.0 / n), $MachinePrecision], 4e-5], N[(N[Log[N[(N[(1.0 + x), $MachinePrecision] / x), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 2e+91], N[(1.0 - N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], t$95$0]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \frac{0.3333333333333333}{n \cdot {x}^{3}}\\
\mathbf{if}\;\frac{1}{n} \leq -10000:\\
\;\;\;\;t_0\\

\mathbf{elif}\;\frac{1}{n} \leq 4 \cdot 10^{-5}:\\
\;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+91}:\\
\;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\

\mathbf{else}:\\
\;\;\;\;t_0\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 1 n) < -1e4 or 2.00000000000000016e91 < (/.f64 1 n)

    1. Initial program 78.9%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def40.1%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified40.1%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around inf 27.4%

      \[\leadsto \frac{\color{blue}{\left(0.3333333333333333 \cdot \frac{1}{{x}^{3}} + \frac{1}{x}\right) - 0.5 \cdot \frac{1}{{x}^{2}}}}{n} \]
    6. Step-by-step derivation
      1. associate--l+27.4%

        \[\leadsto \frac{\color{blue}{0.3333333333333333 \cdot \frac{1}{{x}^{3}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}}{n} \]
      2. associate-*r/27.4%

        \[\leadsto \frac{\color{blue}{\frac{0.3333333333333333 \cdot 1}{{x}^{3}}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}{n} \]
      3. metadata-eval27.4%

        \[\leadsto \frac{\frac{\color{blue}{0.3333333333333333}}{{x}^{3}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}{n} \]
      4. associate-*r/27.4%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \color{blue}{\frac{0.5 \cdot 1}{{x}^{2}}}\right)}{n} \]
      5. metadata-eval27.4%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{\color{blue}{0.5}}{{x}^{2}}\right)}{n} \]
      6. unpow227.4%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{0.5}{\color{blue}{x \cdot x}}\right)}{n} \]
    7. Simplified27.4%

      \[\leadsto \frac{\color{blue}{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{0.5}{x \cdot x}\right)}}{n} \]
    8. Taylor expanded in x around 0 77.3%

      \[\leadsto \color{blue}{\frac{0.3333333333333333}{n \cdot {x}^{3}}} \]
    9. Step-by-step derivation
      1. *-commutative77.3%

        \[\leadsto \frac{0.3333333333333333}{\color{blue}{{x}^{3} \cdot n}} \]
    10. Simplified77.3%

      \[\leadsto \color{blue}{\frac{0.3333333333333333}{{x}^{3} \cdot n}} \]

    if -1e4 < (/.f64 1 n) < 4.00000000000000033e-5

    1. Initial program 30.5%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def76.9%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified76.9%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef76.9%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative76.9%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log77.1%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr77.1%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]

    if 4.00000000000000033e-5 < (/.f64 1 n) < 2.00000000000000016e91

    1. Initial program 74.0%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in x around 0 72.2%

      \[\leadsto \color{blue}{1 - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. *-rgt-identity72.2%

        \[\leadsto 1 - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      2. associate-*r/72.2%

        \[\leadsto 1 - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      3. unpow-172.2%

        \[\leadsto 1 - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      4. exp-to-pow72.2%

        \[\leadsto 1 - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      5. unpow-172.2%

        \[\leadsto 1 - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified72.2%

      \[\leadsto \color{blue}{1 - {x}^{\left(\frac{1}{n}\right)}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification76.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -10000:\\ \;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\ \mathbf{elif}\;\frac{1}{n} \leq 4 \cdot 10^{-5}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+91}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\ \end{array} \]

Alternative 10: 80.4% accurate, 1.8× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{if}\;\frac{1}{n} \leq -10000:\\ \;\;\;\;\frac{t_0}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 4 \cdot 10^{-5}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+91}:\\ \;\;\;\;1 - t_0\\ \mathbf{else}:\\ \;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (pow x (/ 1.0 n))))
   (if (<= (/ 1.0 n) -10000.0)
     (/ t_0 (* n x))
     (if (<= (/ 1.0 n) 4e-5)
       (/ (log (/ (+ 1.0 x) x)) n)
       (if (<= (/ 1.0 n) 2e+91)
         (- 1.0 t_0)
         (/ 0.3333333333333333 (* n (pow x 3.0))))))))
double code(double x, double n) {
	double t_0 = pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -10000.0) {
		tmp = t_0 / (n * x);
	} else if ((1.0 / n) <= 4e-5) {
		tmp = log(((1.0 + x) / x)) / n;
	} else if ((1.0 / n) <= 2e+91) {
		tmp = 1.0 - t_0;
	} else {
		tmp = 0.3333333333333333 / (n * pow(x, 3.0));
	}
	return tmp;
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    real(8) :: t_0
    real(8) :: tmp
    t_0 = x ** (1.0d0 / n)
    if ((1.0d0 / n) <= (-10000.0d0)) then
        tmp = t_0 / (n * x)
    else if ((1.0d0 / n) <= 4d-5) then
        tmp = log(((1.0d0 + x) / x)) / n
    else if ((1.0d0 / n) <= 2d+91) then
        tmp = 1.0d0 - t_0
    else
        tmp = 0.3333333333333333d0 / (n * (x ** 3.0d0))
    end if
    code = tmp
end function
public static double code(double x, double n) {
	double t_0 = Math.pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -10000.0) {
		tmp = t_0 / (n * x);
	} else if ((1.0 / n) <= 4e-5) {
		tmp = Math.log(((1.0 + x) / x)) / n;
	} else if ((1.0 / n) <= 2e+91) {
		tmp = 1.0 - t_0;
	} else {
		tmp = 0.3333333333333333 / (n * Math.pow(x, 3.0));
	}
	return tmp;
}
def code(x, n):
	t_0 = math.pow(x, (1.0 / n))
	tmp = 0
	if (1.0 / n) <= -10000.0:
		tmp = t_0 / (n * x)
	elif (1.0 / n) <= 4e-5:
		tmp = math.log(((1.0 + x) / x)) / n
	elif (1.0 / n) <= 2e+91:
		tmp = 1.0 - t_0
	else:
		tmp = 0.3333333333333333 / (n * math.pow(x, 3.0))
	return tmp
function code(x, n)
	t_0 = x ^ Float64(1.0 / n)
	tmp = 0.0
	if (Float64(1.0 / n) <= -10000.0)
		tmp = Float64(t_0 / Float64(n * x));
	elseif (Float64(1.0 / n) <= 4e-5)
		tmp = Float64(log(Float64(Float64(1.0 + x) / x)) / n);
	elseif (Float64(1.0 / n) <= 2e+91)
		tmp = Float64(1.0 - t_0);
	else
		tmp = Float64(0.3333333333333333 / Float64(n * (x ^ 3.0)));
	end
	return tmp
end
function tmp_2 = code(x, n)
	t_0 = x ^ (1.0 / n);
	tmp = 0.0;
	if ((1.0 / n) <= -10000.0)
		tmp = t_0 / (n * x);
	elseif ((1.0 / n) <= 4e-5)
		tmp = log(((1.0 + x) / x)) / n;
	elseif ((1.0 / n) <= 2e+91)
		tmp = 1.0 - t_0;
	else
		tmp = 0.3333333333333333 / (n * (x ^ 3.0));
	end
	tmp_2 = tmp;
end
code[x_, n_] := Block[{t$95$0 = N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[N[(1.0 / n), $MachinePrecision], -10000.0], N[(t$95$0 / N[(n * x), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 4e-5], N[(N[Log[N[(N[(1.0 + x), $MachinePrecision] / x), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 2e+91], N[(1.0 - t$95$0), $MachinePrecision], N[(0.3333333333333333 / N[(n * N[Power[x, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{if}\;\frac{1}{n} \leq -10000:\\
\;\;\;\;\frac{t_0}{n \cdot x}\\

\mathbf{elif}\;\frac{1}{n} \leq 4 \cdot 10^{-5}:\\
\;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+91}:\\
\;\;\;\;1 - t_0\\

\mathbf{else}:\\
\;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (/.f64 1 n) < -1e4

    1. Initial program 100.0%

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

      \[\leadsto \color{blue}{\frac{e^{-1 \cdot \frac{\log \left(\frac{1}{x}\right)}{n}}}{n \cdot x}} \]
    3. Step-by-step derivation
      1. log-rec100.0%

        \[\leadsto \frac{e^{-1 \cdot \frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      2. mul-1-neg100.0%

        \[\leadsto \frac{e^{-1 \cdot \frac{\color{blue}{-1 \cdot \log x}}{n}}}{n \cdot x} \]
      3. mul-1-neg100.0%

        \[\leadsto \frac{e^{-1 \cdot \frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      4. distribute-frac-neg100.0%

        \[\leadsto \frac{e^{-1 \cdot \color{blue}{\left(-\frac{\log x}{n}\right)}}}{n \cdot x} \]
      5. neg-mul-1100.0%

        \[\leadsto \frac{e^{\color{blue}{-\left(-\frac{\log x}{n}\right)}}}{n \cdot x} \]
      6. remove-double-neg100.0%

        \[\leadsto \frac{e^{\color{blue}{\frac{\log x}{n}}}}{n \cdot x} \]
      7. *-rgt-identity100.0%

        \[\leadsto \frac{e^{\frac{\color{blue}{\log x \cdot 1}}{n}}}{n \cdot x} \]
      8. associate-*r/100.0%

        \[\leadsto \frac{e^{\color{blue}{\log x \cdot \frac{1}{n}}}}{n \cdot x} \]
      9. unpow-1100.0%

        \[\leadsto \frac{e^{\log x \cdot \color{blue}{{n}^{-1}}}}{n \cdot x} \]
      10. exp-to-pow100.0%

        \[\leadsto \frac{\color{blue}{{x}^{\left({n}^{-1}\right)}}}{n \cdot x} \]
      11. unpow-1100.0%

        \[\leadsto \frac{{x}^{\color{blue}{\left(\frac{1}{n}\right)}}}{n \cdot x} \]
      12. *-commutative100.0%

        \[\leadsto \frac{{x}^{\left(\frac{1}{n}\right)}}{\color{blue}{x \cdot n}} \]
    4. Simplified100.0%

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

    if -1e4 < (/.f64 1 n) < 4.00000000000000033e-5

    1. Initial program 30.5%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def76.9%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified76.9%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef76.9%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative76.9%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log77.1%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr77.1%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]

    if 4.00000000000000033e-5 < (/.f64 1 n) < 2.00000000000000016e91

    1. Initial program 74.0%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in x around 0 72.2%

      \[\leadsto \color{blue}{1 - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. *-rgt-identity72.2%

        \[\leadsto 1 - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      2. associate-*r/72.2%

        \[\leadsto 1 - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      3. unpow-172.2%

        \[\leadsto 1 - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      4. exp-to-pow72.2%

        \[\leadsto 1 - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      5. unpow-172.2%

        \[\leadsto 1 - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified72.2%

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

    if 2.00000000000000016e91 < (/.f64 1 n)

    1. Initial program 27.2%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def10.1%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified10.1%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around inf 30.0%

      \[\leadsto \frac{\color{blue}{\left(0.3333333333333333 \cdot \frac{1}{{x}^{3}} + \frac{1}{x}\right) - 0.5 \cdot \frac{1}{{x}^{2}}}}{n} \]
    6. Step-by-step derivation
      1. associate--l+30.0%

        \[\leadsto \frac{\color{blue}{0.3333333333333333 \cdot \frac{1}{{x}^{3}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}}{n} \]
      2. associate-*r/30.0%

        \[\leadsto \frac{\color{blue}{\frac{0.3333333333333333 \cdot 1}{{x}^{3}}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}{n} \]
      3. metadata-eval30.0%

        \[\leadsto \frac{\frac{\color{blue}{0.3333333333333333}}{{x}^{3}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}{n} \]
      4. associate-*r/30.0%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \color{blue}{\frac{0.5 \cdot 1}{{x}^{2}}}\right)}{n} \]
      5. metadata-eval30.0%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{\color{blue}{0.5}}{{x}^{2}}\right)}{n} \]
      6. unpow230.0%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{0.5}{\color{blue}{x \cdot x}}\right)}{n} \]
    7. Simplified30.0%

      \[\leadsto \frac{\color{blue}{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{0.5}{x \cdot x}\right)}}{n} \]
    8. Taylor expanded in x around 0 67.9%

      \[\leadsto \color{blue}{\frac{0.3333333333333333}{n \cdot {x}^{3}}} \]
    9. Step-by-step derivation
      1. *-commutative67.9%

        \[\leadsto \frac{0.3333333333333333}{\color{blue}{{x}^{3} \cdot n}} \]
    10. Simplified67.9%

      \[\leadsto \color{blue}{\frac{0.3333333333333333}{{x}^{3} \cdot n}} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification81.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -10000:\\ \;\;\;\;\frac{{x}^{\left(\frac{1}{n}\right)}}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 4 \cdot 10^{-5}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+91}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\ \end{array} \]

Alternative 11: 59.1% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 1.8 \cdot 10^{-87}:\\ \;\;\;\;\frac{-\log x}{n}\\ \mathbf{elif}\;x \leq 1.75 \cdot 10^{-50}:\\ \;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\ \mathbf{elif}\;x \leq 0.96:\\ \;\;\;\;\frac{1}{n} \cdot \left(x - \log x\right)\\ \mathbf{elif}\;x \leq 6.2 \cdot 10^{+82}:\\ \;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (if (<= x 1.8e-87)
   (/ (- (log x)) n)
   (if (<= x 1.75e-50)
     (/ 0.3333333333333333 (* n (pow x 3.0)))
     (if (<= x 0.96)
       (* (/ 1.0 n) (- x (log x)))
       (if (<= x 6.2e+82) (/ (- (/ 1.0 x) (/ 0.5 (* x x))) n) (/ 0.0 n))))))
double code(double x, double n) {
	double tmp;
	if (x <= 1.8e-87) {
		tmp = -log(x) / n;
	} else if (x <= 1.75e-50) {
		tmp = 0.3333333333333333 / (n * pow(x, 3.0));
	} else if (x <= 0.96) {
		tmp = (1.0 / n) * (x - log(x));
	} else if (x <= 6.2e+82) {
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    real(8) :: tmp
    if (x <= 1.8d-87) then
        tmp = -log(x) / n
    else if (x <= 1.75d-50) then
        tmp = 0.3333333333333333d0 / (n * (x ** 3.0d0))
    else if (x <= 0.96d0) then
        tmp = (1.0d0 / n) * (x - log(x))
    else if (x <= 6.2d+82) then
        tmp = ((1.0d0 / x) - (0.5d0 / (x * x))) / n
    else
        tmp = 0.0d0 / n
    end if
    code = tmp
end function
public static double code(double x, double n) {
	double tmp;
	if (x <= 1.8e-87) {
		tmp = -Math.log(x) / n;
	} else if (x <= 1.75e-50) {
		tmp = 0.3333333333333333 / (n * Math.pow(x, 3.0));
	} else if (x <= 0.96) {
		tmp = (1.0 / n) * (x - Math.log(x));
	} else if (x <= 6.2e+82) {
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
def code(x, n):
	tmp = 0
	if x <= 1.8e-87:
		tmp = -math.log(x) / n
	elif x <= 1.75e-50:
		tmp = 0.3333333333333333 / (n * math.pow(x, 3.0))
	elif x <= 0.96:
		tmp = (1.0 / n) * (x - math.log(x))
	elif x <= 6.2e+82:
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n
	else:
		tmp = 0.0 / n
	return tmp
function code(x, n)
	tmp = 0.0
	if (x <= 1.8e-87)
		tmp = Float64(Float64(-log(x)) / n);
	elseif (x <= 1.75e-50)
		tmp = Float64(0.3333333333333333 / Float64(n * (x ^ 3.0)));
	elseif (x <= 0.96)
		tmp = Float64(Float64(1.0 / n) * Float64(x - log(x)));
	elseif (x <= 6.2e+82)
		tmp = Float64(Float64(Float64(1.0 / x) - Float64(0.5 / Float64(x * x))) / n);
	else
		tmp = Float64(0.0 / n);
	end
	return tmp
end
function tmp_2 = code(x, n)
	tmp = 0.0;
	if (x <= 1.8e-87)
		tmp = -log(x) / n;
	elseif (x <= 1.75e-50)
		tmp = 0.3333333333333333 / (n * (x ^ 3.0));
	elseif (x <= 0.96)
		tmp = (1.0 / n) * (x - log(x));
	elseif (x <= 6.2e+82)
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	else
		tmp = 0.0 / n;
	end
	tmp_2 = tmp;
end
code[x_, n_] := If[LessEqual[x, 1.8e-87], N[((-N[Log[x], $MachinePrecision]) / n), $MachinePrecision], If[LessEqual[x, 1.75e-50], N[(0.3333333333333333 / N[(n * N[Power[x, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 0.96], N[(N[(1.0 / n), $MachinePrecision] * N[(x - N[Log[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 6.2e+82], N[(N[(N[(1.0 / x), $MachinePrecision] - N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision], N[(0.0 / n), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;x \leq 1.8 \cdot 10^{-87}:\\
\;\;\;\;\frac{-\log x}{n}\\

\mathbf{elif}\;x \leq 1.75 \cdot 10^{-50}:\\
\;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\

\mathbf{elif}\;x \leq 0.96:\\
\;\;\;\;\frac{1}{n} \cdot \left(x - \log x\right)\\

\mathbf{elif}\;x \leq 6.2 \cdot 10^{+82}:\\
\;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\

\mathbf{else}:\\
\;\;\;\;\frac{0}{n}\\


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if x < 1.79999999999999996e-87

    1. Initial program 36.9%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in x around 0 36.8%

      \[\leadsto \color{blue}{1 - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. *-rgt-identity36.8%

        \[\leadsto 1 - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      2. associate-*r/36.8%

        \[\leadsto 1 - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      3. unpow-136.8%

        \[\leadsto 1 - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      4. exp-to-pow36.9%

        \[\leadsto 1 - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      5. unpow-136.9%

        \[\leadsto 1 - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified36.9%

      \[\leadsto \color{blue}{1 - {x}^{\left(\frac{1}{n}\right)}} \]
    5. Taylor expanded in n around inf 56.9%

      \[\leadsto \color{blue}{-1 \cdot \frac{\log x}{n}} \]
    6. Step-by-step derivation
      1. neg-mul-156.9%

        \[\leadsto \color{blue}{-\frac{\log x}{n}} \]
      2. distribute-neg-frac56.9%

        \[\leadsto \color{blue}{\frac{-\log x}{n}} \]
    7. Simplified56.9%

      \[\leadsto \color{blue}{\frac{-\log x}{n}} \]

    if 1.79999999999999996e-87 < x < 1.74999999999999998e-50

    1. Initial program 67.8%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def14.0%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified14.0%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around inf 83.9%

      \[\leadsto \frac{\color{blue}{\left(0.3333333333333333 \cdot \frac{1}{{x}^{3}} + \frac{1}{x}\right) - 0.5 \cdot \frac{1}{{x}^{2}}}}{n} \]
    6. Step-by-step derivation
      1. associate--l+83.9%

        \[\leadsto \frac{\color{blue}{0.3333333333333333 \cdot \frac{1}{{x}^{3}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}}{n} \]
      2. associate-*r/83.9%

        \[\leadsto \frac{\color{blue}{\frac{0.3333333333333333 \cdot 1}{{x}^{3}}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}{n} \]
      3. metadata-eval83.9%

        \[\leadsto \frac{\frac{\color{blue}{0.3333333333333333}}{{x}^{3}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}{n} \]
      4. associate-*r/83.9%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \color{blue}{\frac{0.5 \cdot 1}{{x}^{2}}}\right)}{n} \]
      5. metadata-eval83.9%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{\color{blue}{0.5}}{{x}^{2}}\right)}{n} \]
      6. unpow283.9%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{0.5}{\color{blue}{x \cdot x}}\right)}{n} \]
    7. Simplified83.9%

      \[\leadsto \frac{\color{blue}{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{0.5}{x \cdot x}\right)}}{n} \]
    8. Taylor expanded in x around 0 83.9%

      \[\leadsto \color{blue}{\frac{0.3333333333333333}{n \cdot {x}^{3}}} \]
    9. Step-by-step derivation
      1. *-commutative83.9%

        \[\leadsto \frac{0.3333333333333333}{\color{blue}{{x}^{3} \cdot n}} \]
    10. Simplified83.9%

      \[\leadsto \color{blue}{\frac{0.3333333333333333}{{x}^{3} \cdot n}} \]

    if 1.74999999999999998e-50 < x < 0.95999999999999996

    1. Initial program 43.2%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def55.7%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified55.7%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef55.7%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative55.7%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log55.7%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr55.7%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    7. Step-by-step derivation
      1. div-inv55.9%

        \[\leadsto \color{blue}{\log \left(\frac{x + 1}{x}\right) \cdot \frac{1}{n}} \]
    8. Applied egg-rr55.9%

      \[\leadsto \color{blue}{\log \left(\frac{x + 1}{x}\right) \cdot \frac{1}{n}} \]
    9. Taylor expanded in x around 0 55.5%

      \[\leadsto \color{blue}{\left(x + -1 \cdot \log x\right)} \cdot \frac{1}{n} \]
    10. Step-by-step derivation
      1. mul-1-neg55.5%

        \[\leadsto \left(x + \color{blue}{\left(-\log x\right)}\right) \cdot \frac{1}{n} \]
      2. unsub-neg55.5%

        \[\leadsto \color{blue}{\left(x - \log x\right)} \cdot \frac{1}{n} \]
    11. Simplified55.5%

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

    if 0.95999999999999996 < x < 6.20000000000000065e82

    1. Initial program 40.2%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def40.2%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified40.2%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around inf 67.2%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}}}{n} \]
    6. Step-by-step derivation
      1. associate-*r/67.2%

        \[\leadsto \frac{\frac{1}{x} - \color{blue}{\frac{0.5 \cdot 1}{{x}^{2}}}}{n} \]
      2. metadata-eval67.2%

        \[\leadsto \frac{\frac{1}{x} - \frac{\color{blue}{0.5}}{{x}^{2}}}{n} \]
      3. unpow267.2%

        \[\leadsto \frac{\frac{1}{x} - \frac{0.5}{\color{blue}{x \cdot x}}}{n} \]
    7. Simplified67.2%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} - \frac{0.5}{x \cdot x}}}{n} \]

    if 6.20000000000000065e82 < x

    1. Initial program 76.4%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def76.5%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified76.5%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef76.5%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative76.5%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log76.5%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr76.5%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    7. Taylor expanded in x around inf 76.5%

      \[\leadsto \frac{\log \color{blue}{1}}{n} \]
  3. Recombined 5 regimes into one program.
  4. Final simplification65.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 1.8 \cdot 10^{-87}:\\ \;\;\;\;\frac{-\log x}{n}\\ \mathbf{elif}\;x \leq 1.75 \cdot 10^{-50}:\\ \;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\ \mathbf{elif}\;x \leq 0.96:\\ \;\;\;\;\frac{1}{n} \cdot \left(x - \log x\right)\\ \mathbf{elif}\;x \leq 6.2 \cdot 10^{+82}:\\ \;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \]

Alternative 12: 59.1% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 1.75 \cdot 10^{-87}:\\ \;\;\;\;\frac{1}{0.5 - \frac{n}{\log x}}\\ \mathbf{elif}\;x \leq 1.55 \cdot 10^{-50}:\\ \;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\ \mathbf{elif}\;x \leq 0.96:\\ \;\;\;\;\frac{1}{n} \cdot \left(x - \log x\right)\\ \mathbf{elif}\;x \leq 3.1 \cdot 10^{+88}:\\ \;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (if (<= x 1.75e-87)
   (/ 1.0 (- 0.5 (/ n (log x))))
   (if (<= x 1.55e-50)
     (/ 0.3333333333333333 (* n (pow x 3.0)))
     (if (<= x 0.96)
       (* (/ 1.0 n) (- x (log x)))
       (if (<= x 3.1e+88) (/ (- (/ 1.0 x) (/ 0.5 (* x x))) n) (/ 0.0 n))))))
double code(double x, double n) {
	double tmp;
	if (x <= 1.75e-87) {
		tmp = 1.0 / (0.5 - (n / log(x)));
	} else if (x <= 1.55e-50) {
		tmp = 0.3333333333333333 / (n * pow(x, 3.0));
	} else if (x <= 0.96) {
		tmp = (1.0 / n) * (x - log(x));
	} else if (x <= 3.1e+88) {
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    real(8) :: tmp
    if (x <= 1.75d-87) then
        tmp = 1.0d0 / (0.5d0 - (n / log(x)))
    else if (x <= 1.55d-50) then
        tmp = 0.3333333333333333d0 / (n * (x ** 3.0d0))
    else if (x <= 0.96d0) then
        tmp = (1.0d0 / n) * (x - log(x))
    else if (x <= 3.1d+88) then
        tmp = ((1.0d0 / x) - (0.5d0 / (x * x))) / n
    else
        tmp = 0.0d0 / n
    end if
    code = tmp
end function
public static double code(double x, double n) {
	double tmp;
	if (x <= 1.75e-87) {
		tmp = 1.0 / (0.5 - (n / Math.log(x)));
	} else if (x <= 1.55e-50) {
		tmp = 0.3333333333333333 / (n * Math.pow(x, 3.0));
	} else if (x <= 0.96) {
		tmp = (1.0 / n) * (x - Math.log(x));
	} else if (x <= 3.1e+88) {
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
def code(x, n):
	tmp = 0
	if x <= 1.75e-87:
		tmp = 1.0 / (0.5 - (n / math.log(x)))
	elif x <= 1.55e-50:
		tmp = 0.3333333333333333 / (n * math.pow(x, 3.0))
	elif x <= 0.96:
		tmp = (1.0 / n) * (x - math.log(x))
	elif x <= 3.1e+88:
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n
	else:
		tmp = 0.0 / n
	return tmp
function code(x, n)
	tmp = 0.0
	if (x <= 1.75e-87)
		tmp = Float64(1.0 / Float64(0.5 - Float64(n / log(x))));
	elseif (x <= 1.55e-50)
		tmp = Float64(0.3333333333333333 / Float64(n * (x ^ 3.0)));
	elseif (x <= 0.96)
		tmp = Float64(Float64(1.0 / n) * Float64(x - log(x)));
	elseif (x <= 3.1e+88)
		tmp = Float64(Float64(Float64(1.0 / x) - Float64(0.5 / Float64(x * x))) / n);
	else
		tmp = Float64(0.0 / n);
	end
	return tmp
end
function tmp_2 = code(x, n)
	tmp = 0.0;
	if (x <= 1.75e-87)
		tmp = 1.0 / (0.5 - (n / log(x)));
	elseif (x <= 1.55e-50)
		tmp = 0.3333333333333333 / (n * (x ^ 3.0));
	elseif (x <= 0.96)
		tmp = (1.0 / n) * (x - log(x));
	elseif (x <= 3.1e+88)
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	else
		tmp = 0.0 / n;
	end
	tmp_2 = tmp;
end
code[x_, n_] := If[LessEqual[x, 1.75e-87], N[(1.0 / N[(0.5 - N[(n / N[Log[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 1.55e-50], N[(0.3333333333333333 / N[(n * N[Power[x, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 0.96], N[(N[(1.0 / n), $MachinePrecision] * N[(x - N[Log[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 3.1e+88], N[(N[(N[(1.0 / x), $MachinePrecision] - N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision], N[(0.0 / n), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;x \leq 1.75 \cdot 10^{-87}:\\
\;\;\;\;\frac{1}{0.5 - \frac{n}{\log x}}\\

\mathbf{elif}\;x \leq 1.55 \cdot 10^{-50}:\\
\;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\

\mathbf{elif}\;x \leq 0.96:\\
\;\;\;\;\frac{1}{n} \cdot \left(x - \log x\right)\\

\mathbf{elif}\;x \leq 3.1 \cdot 10^{+88}:\\
\;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\

\mathbf{else}:\\
\;\;\;\;\frac{0}{n}\\


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if x < 1.75000000000000006e-87

    1. Initial program 36.9%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in x around 0 36.8%

      \[\leadsto \color{blue}{1 - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. *-rgt-identity36.8%

        \[\leadsto 1 - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      2. associate-*r/36.8%

        \[\leadsto 1 - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      3. unpow-136.8%

        \[\leadsto 1 - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      4. exp-to-pow36.9%

        \[\leadsto 1 - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      5. unpow-136.9%

        \[\leadsto 1 - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified36.9%

      \[\leadsto \color{blue}{1 - {x}^{\left(\frac{1}{n}\right)}} \]
    5. Step-by-step derivation
      1. flip--19.5%

        \[\leadsto \color{blue}{\frac{1 \cdot 1 - {x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}}{1 + {x}^{\left(\frac{1}{n}\right)}}} \]
      2. clear-num19.5%

        \[\leadsto \color{blue}{\frac{1}{\frac{1 + {x}^{\left(\frac{1}{n}\right)}}{1 \cdot 1 - {x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}}}} \]
      3. metadata-eval19.5%

        \[\leadsto \frac{1}{\frac{1 + {x}^{\left(\frac{1}{n}\right)}}{\color{blue}{1} - {x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}}} \]
      4. inv-pow19.5%

        \[\leadsto \frac{1}{\frac{1 + {x}^{\left(\frac{1}{n}\right)}}{1 - {x}^{\color{blue}{\left({n}^{-1}\right)}} \cdot {x}^{\left(\frac{1}{n}\right)}}} \]
      5. inv-pow19.5%

        \[\leadsto \frac{1}{\frac{1 + {x}^{\left(\frac{1}{n}\right)}}{1 - {x}^{\left({n}^{-1}\right)} \cdot {x}^{\color{blue}{\left({n}^{-1}\right)}}}} \]
      6. pow-prod-down16.5%

        \[\leadsto \frac{1}{\frac{1 + {x}^{\left(\frac{1}{n}\right)}}{1 - \color{blue}{{\left(x \cdot x\right)}^{\left({n}^{-1}\right)}}}} \]
      7. pow216.5%

        \[\leadsto \frac{1}{\frac{1 + {x}^{\left(\frac{1}{n}\right)}}{1 - {\color{blue}{\left({x}^{2}\right)}}^{\left({n}^{-1}\right)}}} \]
      8. pow-unpow19.5%

        \[\leadsto \frac{1}{\frac{1 + {x}^{\left(\frac{1}{n}\right)}}{1 - \color{blue}{{x}^{\left(2 \cdot {n}^{-1}\right)}}}} \]
      9. inv-pow19.5%

        \[\leadsto \frac{1}{\frac{1 + {x}^{\left(\frac{1}{n}\right)}}{1 - {x}^{\left(2 \cdot \color{blue}{\frac{1}{n}}\right)}}} \]
      10. un-div-inv19.5%

        \[\leadsto \frac{1}{\frac{1 + {x}^{\left(\frac{1}{n}\right)}}{1 - {x}^{\color{blue}{\left(\frac{2}{n}\right)}}}} \]
    6. Applied egg-rr19.5%

      \[\leadsto \color{blue}{\frac{1}{\frac{1 + {x}^{\left(\frac{1}{n}\right)}}{1 - {x}^{\left(\frac{2}{n}\right)}}}} \]
    7. Taylor expanded in n around inf 57.4%

      \[\leadsto \frac{1}{\color{blue}{0.5 + -1 \cdot \frac{n}{\log x}}} \]
    8. Step-by-step derivation
      1. mul-1-neg57.4%

        \[\leadsto \frac{1}{0.5 + \color{blue}{\left(-\frac{n}{\log x}\right)}} \]
      2. unsub-neg57.4%

        \[\leadsto \frac{1}{\color{blue}{0.5 - \frac{n}{\log x}}} \]
    9. Simplified57.4%

      \[\leadsto \frac{1}{\color{blue}{0.5 - \frac{n}{\log x}}} \]

    if 1.75000000000000006e-87 < x < 1.5500000000000001e-50

    1. Initial program 67.8%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def14.0%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified14.0%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around inf 83.9%

      \[\leadsto \frac{\color{blue}{\left(0.3333333333333333 \cdot \frac{1}{{x}^{3}} + \frac{1}{x}\right) - 0.5 \cdot \frac{1}{{x}^{2}}}}{n} \]
    6. Step-by-step derivation
      1. associate--l+83.9%

        \[\leadsto \frac{\color{blue}{0.3333333333333333 \cdot \frac{1}{{x}^{3}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}}{n} \]
      2. associate-*r/83.9%

        \[\leadsto \frac{\color{blue}{\frac{0.3333333333333333 \cdot 1}{{x}^{3}}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}{n} \]
      3. metadata-eval83.9%

        \[\leadsto \frac{\frac{\color{blue}{0.3333333333333333}}{{x}^{3}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}{n} \]
      4. associate-*r/83.9%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \color{blue}{\frac{0.5 \cdot 1}{{x}^{2}}}\right)}{n} \]
      5. metadata-eval83.9%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{\color{blue}{0.5}}{{x}^{2}}\right)}{n} \]
      6. unpow283.9%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{0.5}{\color{blue}{x \cdot x}}\right)}{n} \]
    7. Simplified83.9%

      \[\leadsto \frac{\color{blue}{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{0.5}{x \cdot x}\right)}}{n} \]
    8. Taylor expanded in x around 0 83.9%

      \[\leadsto \color{blue}{\frac{0.3333333333333333}{n \cdot {x}^{3}}} \]
    9. Step-by-step derivation
      1. *-commutative83.9%

        \[\leadsto \frac{0.3333333333333333}{\color{blue}{{x}^{3} \cdot n}} \]
    10. Simplified83.9%

      \[\leadsto \color{blue}{\frac{0.3333333333333333}{{x}^{3} \cdot n}} \]

    if 1.5500000000000001e-50 < x < 0.95999999999999996

    1. Initial program 43.2%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def55.7%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified55.7%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef55.7%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative55.7%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log55.7%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr55.7%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    7. Step-by-step derivation
      1. div-inv55.9%

        \[\leadsto \color{blue}{\log \left(\frac{x + 1}{x}\right) \cdot \frac{1}{n}} \]
    8. Applied egg-rr55.9%

      \[\leadsto \color{blue}{\log \left(\frac{x + 1}{x}\right) \cdot \frac{1}{n}} \]
    9. Taylor expanded in x around 0 55.5%

      \[\leadsto \color{blue}{\left(x + -1 \cdot \log x\right)} \cdot \frac{1}{n} \]
    10. Step-by-step derivation
      1. mul-1-neg55.5%

        \[\leadsto \left(x + \color{blue}{\left(-\log x\right)}\right) \cdot \frac{1}{n} \]
      2. unsub-neg55.5%

        \[\leadsto \color{blue}{\left(x - \log x\right)} \cdot \frac{1}{n} \]
    11. Simplified55.5%

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

    if 0.95999999999999996 < x < 3.1000000000000001e88

    1. Initial program 40.2%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def40.2%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified40.2%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around inf 67.2%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}}}{n} \]
    6. Step-by-step derivation
      1. associate-*r/67.2%

        \[\leadsto \frac{\frac{1}{x} - \color{blue}{\frac{0.5 \cdot 1}{{x}^{2}}}}{n} \]
      2. metadata-eval67.2%

        \[\leadsto \frac{\frac{1}{x} - \frac{\color{blue}{0.5}}{{x}^{2}}}{n} \]
      3. unpow267.2%

        \[\leadsto \frac{\frac{1}{x} - \frac{0.5}{\color{blue}{x \cdot x}}}{n} \]
    7. Simplified67.2%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} - \frac{0.5}{x \cdot x}}}{n} \]

    if 3.1000000000000001e88 < x

    1. Initial program 76.4%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def76.5%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified76.5%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef76.5%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative76.5%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log76.5%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr76.5%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    7. Taylor expanded in x around inf 76.5%

      \[\leadsto \frac{\log \color{blue}{1}}{n} \]
  3. Recombined 5 regimes into one program.
  4. Final simplification65.5%

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 1.75 \cdot 10^{-87}:\\ \;\;\;\;\frac{1}{0.5 - \frac{n}{\log x}}\\ \mathbf{elif}\;x \leq 1.55 \cdot 10^{-50}:\\ \;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\ \mathbf{elif}\;x \leq 0.96:\\ \;\;\;\;\frac{1}{n} \cdot \left(x - \log x\right)\\ \mathbf{elif}\;x \leq 3.1 \cdot 10^{+88}:\\ \;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \]

Alternative 13: 59.3% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 1.1 \cdot 10^{-80}:\\ \;\;\;\;\frac{-\log x}{n}\\ \mathbf{elif}\;x \leq 3 \cdot 10^{-56}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{elif}\;x \leq 0.96:\\ \;\;\;\;\frac{x - \log x}{n}\\ \mathbf{elif}\;x \leq 5.9 \cdot 10^{+88}:\\ \;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (if (<= x 1.1e-80)
   (/ (- (log x)) n)
   (if (<= x 3e-56)
     (- 1.0 (pow x (/ 1.0 n)))
     (if (<= x 0.96)
       (/ (- x (log x)) n)
       (if (<= x 5.9e+88) (/ (- (/ 1.0 x) (/ 0.5 (* x x))) n) (/ 0.0 n))))))
double code(double x, double n) {
	double tmp;
	if (x <= 1.1e-80) {
		tmp = -log(x) / n;
	} else if (x <= 3e-56) {
		tmp = 1.0 - pow(x, (1.0 / n));
	} else if (x <= 0.96) {
		tmp = (x - log(x)) / n;
	} else if (x <= 5.9e+88) {
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    real(8) :: tmp
    if (x <= 1.1d-80) then
        tmp = -log(x) / n
    else if (x <= 3d-56) then
        tmp = 1.0d0 - (x ** (1.0d0 / n))
    else if (x <= 0.96d0) then
        tmp = (x - log(x)) / n
    else if (x <= 5.9d+88) then
        tmp = ((1.0d0 / x) - (0.5d0 / (x * x))) / n
    else
        tmp = 0.0d0 / n
    end if
    code = tmp
end function
public static double code(double x, double n) {
	double tmp;
	if (x <= 1.1e-80) {
		tmp = -Math.log(x) / n;
	} else if (x <= 3e-56) {
		tmp = 1.0 - Math.pow(x, (1.0 / n));
	} else if (x <= 0.96) {
		tmp = (x - Math.log(x)) / n;
	} else if (x <= 5.9e+88) {
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
def code(x, n):
	tmp = 0
	if x <= 1.1e-80:
		tmp = -math.log(x) / n
	elif x <= 3e-56:
		tmp = 1.0 - math.pow(x, (1.0 / n))
	elif x <= 0.96:
		tmp = (x - math.log(x)) / n
	elif x <= 5.9e+88:
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n
	else:
		tmp = 0.0 / n
	return tmp
function code(x, n)
	tmp = 0.0
	if (x <= 1.1e-80)
		tmp = Float64(Float64(-log(x)) / n);
	elseif (x <= 3e-56)
		tmp = Float64(1.0 - (x ^ Float64(1.0 / n)));
	elseif (x <= 0.96)
		tmp = Float64(Float64(x - log(x)) / n);
	elseif (x <= 5.9e+88)
		tmp = Float64(Float64(Float64(1.0 / x) - Float64(0.5 / Float64(x * x))) / n);
	else
		tmp = Float64(0.0 / n);
	end
	return tmp
end
function tmp_2 = code(x, n)
	tmp = 0.0;
	if (x <= 1.1e-80)
		tmp = -log(x) / n;
	elseif (x <= 3e-56)
		tmp = 1.0 - (x ^ (1.0 / n));
	elseif (x <= 0.96)
		tmp = (x - log(x)) / n;
	elseif (x <= 5.9e+88)
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	else
		tmp = 0.0 / n;
	end
	tmp_2 = tmp;
end
code[x_, n_] := If[LessEqual[x, 1.1e-80], N[((-N[Log[x], $MachinePrecision]) / n), $MachinePrecision], If[LessEqual[x, 3e-56], N[(1.0 - N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 0.96], N[(N[(x - N[Log[x], $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision], If[LessEqual[x, 5.9e+88], N[(N[(N[(1.0 / x), $MachinePrecision] - N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision], N[(0.0 / n), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;x \leq 1.1 \cdot 10^{-80}:\\
\;\;\;\;\frac{-\log x}{n}\\

\mathbf{elif}\;x \leq 3 \cdot 10^{-56}:\\
\;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\

\mathbf{elif}\;x \leq 0.96:\\
\;\;\;\;\frac{x - \log x}{n}\\

\mathbf{elif}\;x \leq 5.9 \cdot 10^{+88}:\\
\;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\

\mathbf{else}:\\
\;\;\;\;\frac{0}{n}\\


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if x < 1.10000000000000005e-80

    1. Initial program 36.6%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in x around 0 36.6%

      \[\leadsto \color{blue}{1 - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. *-rgt-identity36.6%

        \[\leadsto 1 - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      2. associate-*r/36.6%

        \[\leadsto 1 - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      3. unpow-136.6%

        \[\leadsto 1 - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      4. exp-to-pow36.6%

        \[\leadsto 1 - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      5. unpow-136.6%

        \[\leadsto 1 - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified36.6%

      \[\leadsto \color{blue}{1 - {x}^{\left(\frac{1}{n}\right)}} \]
    5. Taylor expanded in n around inf 56.5%

      \[\leadsto \color{blue}{-1 \cdot \frac{\log x}{n}} \]
    6. Step-by-step derivation
      1. neg-mul-156.5%

        \[\leadsto \color{blue}{-\frac{\log x}{n}} \]
      2. distribute-neg-frac56.5%

        \[\leadsto \color{blue}{\frac{-\log x}{n}} \]
    7. Simplified56.5%

      \[\leadsto \color{blue}{\frac{-\log x}{n}} \]

    if 1.10000000000000005e-80 < x < 2.99999999999999989e-56

    1. Initial program 80.8%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in x around 0 80.8%

      \[\leadsto \color{blue}{1 - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. *-rgt-identity80.8%

        \[\leadsto 1 - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      2. associate-*r/80.8%

        \[\leadsto 1 - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      3. unpow-180.8%

        \[\leadsto 1 - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      4. exp-to-pow80.8%

        \[\leadsto 1 - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      5. unpow-180.8%

        \[\leadsto 1 - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified80.8%

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

    if 2.99999999999999989e-56 < x < 0.95999999999999996

    1. Initial program 40.7%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def52.6%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified52.6%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around 0 52.2%

      \[\leadsto \frac{\color{blue}{x + -1 \cdot \log x}}{n} \]
    6. Step-by-step derivation
      1. neg-mul-152.2%

        \[\leadsto \frac{x + \color{blue}{\left(-\log x\right)}}{n} \]
      2. unsub-neg52.2%

        \[\leadsto \frac{\color{blue}{x - \log x}}{n} \]
    7. Simplified52.2%

      \[\leadsto \frac{\color{blue}{x - \log x}}{n} \]

    if 0.95999999999999996 < x < 5.89999999999999967e88

    1. Initial program 40.2%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def40.2%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified40.2%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around inf 67.2%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}}}{n} \]
    6. Step-by-step derivation
      1. associate-*r/67.2%

        \[\leadsto \frac{\frac{1}{x} - \color{blue}{\frac{0.5 \cdot 1}{{x}^{2}}}}{n} \]
      2. metadata-eval67.2%

        \[\leadsto \frac{\frac{1}{x} - \frac{\color{blue}{0.5}}{{x}^{2}}}{n} \]
      3. unpow267.2%

        \[\leadsto \frac{\frac{1}{x} - \frac{0.5}{\color{blue}{x \cdot x}}}{n} \]
    7. Simplified67.2%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} - \frac{0.5}{x \cdot x}}}{n} \]

    if 5.89999999999999967e88 < x

    1. Initial program 76.4%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def76.5%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified76.5%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef76.5%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative76.5%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log76.5%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr76.5%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    7. Taylor expanded in x around inf 76.5%

      \[\leadsto \frac{\log \color{blue}{1}}{n} \]
  3. Recombined 5 regimes into one program.
  4. Final simplification64.5%

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 1.1 \cdot 10^{-80}:\\ \;\;\;\;\frac{-\log x}{n}\\ \mathbf{elif}\;x \leq 3 \cdot 10^{-56}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{elif}\;x \leq 0.96:\\ \;\;\;\;\frac{x - \log x}{n}\\ \mathbf{elif}\;x \leq 5.9 \cdot 10^{+88}:\\ \;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \]

Alternative 14: 59.0% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 1.75 \cdot 10^{-87}:\\ \;\;\;\;\frac{-\log x}{n}\\ \mathbf{elif}\;x \leq 1.55 \cdot 10^{-50}:\\ \;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\ \mathbf{elif}\;x \leq 0.98:\\ \;\;\;\;\frac{x - \log x}{n}\\ \mathbf{elif}\;x \leq 5.1 \cdot 10^{+88}:\\ \;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (if (<= x 1.75e-87)
   (/ (- (log x)) n)
   (if (<= x 1.55e-50)
     (/ 0.3333333333333333 (* n (pow x 3.0)))
     (if (<= x 0.98)
       (/ (- x (log x)) n)
       (if (<= x 5.1e+88) (/ (- (/ 1.0 x) (/ 0.5 (* x x))) n) (/ 0.0 n))))))
double code(double x, double n) {
	double tmp;
	if (x <= 1.75e-87) {
		tmp = -log(x) / n;
	} else if (x <= 1.55e-50) {
		tmp = 0.3333333333333333 / (n * pow(x, 3.0));
	} else if (x <= 0.98) {
		tmp = (x - log(x)) / n;
	} else if (x <= 5.1e+88) {
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    real(8) :: tmp
    if (x <= 1.75d-87) then
        tmp = -log(x) / n
    else if (x <= 1.55d-50) then
        tmp = 0.3333333333333333d0 / (n * (x ** 3.0d0))
    else if (x <= 0.98d0) then
        tmp = (x - log(x)) / n
    else if (x <= 5.1d+88) then
        tmp = ((1.0d0 / x) - (0.5d0 / (x * x))) / n
    else
        tmp = 0.0d0 / n
    end if
    code = tmp
end function
public static double code(double x, double n) {
	double tmp;
	if (x <= 1.75e-87) {
		tmp = -Math.log(x) / n;
	} else if (x <= 1.55e-50) {
		tmp = 0.3333333333333333 / (n * Math.pow(x, 3.0));
	} else if (x <= 0.98) {
		tmp = (x - Math.log(x)) / n;
	} else if (x <= 5.1e+88) {
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
def code(x, n):
	tmp = 0
	if x <= 1.75e-87:
		tmp = -math.log(x) / n
	elif x <= 1.55e-50:
		tmp = 0.3333333333333333 / (n * math.pow(x, 3.0))
	elif x <= 0.98:
		tmp = (x - math.log(x)) / n
	elif x <= 5.1e+88:
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n
	else:
		tmp = 0.0 / n
	return tmp
function code(x, n)
	tmp = 0.0
	if (x <= 1.75e-87)
		tmp = Float64(Float64(-log(x)) / n);
	elseif (x <= 1.55e-50)
		tmp = Float64(0.3333333333333333 / Float64(n * (x ^ 3.0)));
	elseif (x <= 0.98)
		tmp = Float64(Float64(x - log(x)) / n);
	elseif (x <= 5.1e+88)
		tmp = Float64(Float64(Float64(1.0 / x) - Float64(0.5 / Float64(x * x))) / n);
	else
		tmp = Float64(0.0 / n);
	end
	return tmp
end
function tmp_2 = code(x, n)
	tmp = 0.0;
	if (x <= 1.75e-87)
		tmp = -log(x) / n;
	elseif (x <= 1.55e-50)
		tmp = 0.3333333333333333 / (n * (x ^ 3.0));
	elseif (x <= 0.98)
		tmp = (x - log(x)) / n;
	elseif (x <= 5.1e+88)
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	else
		tmp = 0.0 / n;
	end
	tmp_2 = tmp;
end
code[x_, n_] := If[LessEqual[x, 1.75e-87], N[((-N[Log[x], $MachinePrecision]) / n), $MachinePrecision], If[LessEqual[x, 1.55e-50], N[(0.3333333333333333 / N[(n * N[Power[x, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 0.98], N[(N[(x - N[Log[x], $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision], If[LessEqual[x, 5.1e+88], N[(N[(N[(1.0 / x), $MachinePrecision] - N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision], N[(0.0 / n), $MachinePrecision]]]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;x \leq 1.75 \cdot 10^{-87}:\\
\;\;\;\;\frac{-\log x}{n}\\

\mathbf{elif}\;x \leq 1.55 \cdot 10^{-50}:\\
\;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\

\mathbf{elif}\;x \leq 0.98:\\
\;\;\;\;\frac{x - \log x}{n}\\

\mathbf{elif}\;x \leq 5.1 \cdot 10^{+88}:\\
\;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\

\mathbf{else}:\\
\;\;\;\;\frac{0}{n}\\


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if x < 1.75000000000000006e-87

    1. Initial program 36.9%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in x around 0 36.8%

      \[\leadsto \color{blue}{1 - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. *-rgt-identity36.8%

        \[\leadsto 1 - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      2. associate-*r/36.8%

        \[\leadsto 1 - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      3. unpow-136.8%

        \[\leadsto 1 - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      4. exp-to-pow36.9%

        \[\leadsto 1 - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      5. unpow-136.9%

        \[\leadsto 1 - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified36.9%

      \[\leadsto \color{blue}{1 - {x}^{\left(\frac{1}{n}\right)}} \]
    5. Taylor expanded in n around inf 56.9%

      \[\leadsto \color{blue}{-1 \cdot \frac{\log x}{n}} \]
    6. Step-by-step derivation
      1. neg-mul-156.9%

        \[\leadsto \color{blue}{-\frac{\log x}{n}} \]
      2. distribute-neg-frac56.9%

        \[\leadsto \color{blue}{\frac{-\log x}{n}} \]
    7. Simplified56.9%

      \[\leadsto \color{blue}{\frac{-\log x}{n}} \]

    if 1.75000000000000006e-87 < x < 1.5500000000000001e-50

    1. Initial program 67.8%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def14.0%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified14.0%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around inf 83.9%

      \[\leadsto \frac{\color{blue}{\left(0.3333333333333333 \cdot \frac{1}{{x}^{3}} + \frac{1}{x}\right) - 0.5 \cdot \frac{1}{{x}^{2}}}}{n} \]
    6. Step-by-step derivation
      1. associate--l+83.9%

        \[\leadsto \frac{\color{blue}{0.3333333333333333 \cdot \frac{1}{{x}^{3}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}}{n} \]
      2. associate-*r/83.9%

        \[\leadsto \frac{\color{blue}{\frac{0.3333333333333333 \cdot 1}{{x}^{3}}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}{n} \]
      3. metadata-eval83.9%

        \[\leadsto \frac{\frac{\color{blue}{0.3333333333333333}}{{x}^{3}} + \left(\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}\right)}{n} \]
      4. associate-*r/83.9%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \color{blue}{\frac{0.5 \cdot 1}{{x}^{2}}}\right)}{n} \]
      5. metadata-eval83.9%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{\color{blue}{0.5}}{{x}^{2}}\right)}{n} \]
      6. unpow283.9%

        \[\leadsto \frac{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{0.5}{\color{blue}{x \cdot x}}\right)}{n} \]
    7. Simplified83.9%

      \[\leadsto \frac{\color{blue}{\frac{0.3333333333333333}{{x}^{3}} + \left(\frac{1}{x} - \frac{0.5}{x \cdot x}\right)}}{n} \]
    8. Taylor expanded in x around 0 83.9%

      \[\leadsto \color{blue}{\frac{0.3333333333333333}{n \cdot {x}^{3}}} \]
    9. Step-by-step derivation
      1. *-commutative83.9%

        \[\leadsto \frac{0.3333333333333333}{\color{blue}{{x}^{3} \cdot n}} \]
    10. Simplified83.9%

      \[\leadsto \color{blue}{\frac{0.3333333333333333}{{x}^{3} \cdot n}} \]

    if 1.5500000000000001e-50 < x < 0.97999999999999998

    1. Initial program 43.2%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def55.7%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified55.7%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around 0 55.2%

      \[\leadsto \frac{\color{blue}{x + -1 \cdot \log x}}{n} \]
    6. Step-by-step derivation
      1. neg-mul-155.2%

        \[\leadsto \frac{x + \color{blue}{\left(-\log x\right)}}{n} \]
      2. unsub-neg55.2%

        \[\leadsto \frac{\color{blue}{x - \log x}}{n} \]
    7. Simplified55.2%

      \[\leadsto \frac{\color{blue}{x - \log x}}{n} \]

    if 0.97999999999999998 < x < 5.0999999999999997e88

    1. Initial program 40.2%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def40.2%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified40.2%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around inf 67.2%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}}}{n} \]
    6. Step-by-step derivation
      1. associate-*r/67.2%

        \[\leadsto \frac{\frac{1}{x} - \color{blue}{\frac{0.5 \cdot 1}{{x}^{2}}}}{n} \]
      2. metadata-eval67.2%

        \[\leadsto \frac{\frac{1}{x} - \frac{\color{blue}{0.5}}{{x}^{2}}}{n} \]
      3. unpow267.2%

        \[\leadsto \frac{\frac{1}{x} - \frac{0.5}{\color{blue}{x \cdot x}}}{n} \]
    7. Simplified67.2%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} - \frac{0.5}{x \cdot x}}}{n} \]

    if 5.0999999999999997e88 < x

    1. Initial program 76.4%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def76.5%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified76.5%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef76.5%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative76.5%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log76.5%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr76.5%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    7. Taylor expanded in x around inf 76.5%

      \[\leadsto \frac{\log \color{blue}{1}}{n} \]
  3. Recombined 5 regimes into one program.
  4. Final simplification65.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 1.75 \cdot 10^{-87}:\\ \;\;\;\;\frac{-\log x}{n}\\ \mathbf{elif}\;x \leq 1.55 \cdot 10^{-50}:\\ \;\;\;\;\frac{0.3333333333333333}{n \cdot {x}^{3}}\\ \mathbf{elif}\;x \leq 0.98:\\ \;\;\;\;\frac{x - \log x}{n}\\ \mathbf{elif}\;x \leq 5.1 \cdot 10^{+88}:\\ \;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \]

Alternative 15: 60.1% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 0.96:\\ \;\;\;\;\frac{x - \log x}{n}\\ \mathbf{elif}\;x \leq 6.4 \cdot 10^{+88}:\\ \;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (if (<= x 0.96)
   (/ (- x (log x)) n)
   (if (<= x 6.4e+88) (/ (- (/ 1.0 x) (/ 0.5 (* x x))) n) (/ 0.0 n))))
double code(double x, double n) {
	double tmp;
	if (x <= 0.96) {
		tmp = (x - log(x)) / n;
	} else if (x <= 6.4e+88) {
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    real(8) :: tmp
    if (x <= 0.96d0) then
        tmp = (x - log(x)) / n
    else if (x <= 6.4d+88) then
        tmp = ((1.0d0 / x) - (0.5d0 / (x * x))) / n
    else
        tmp = 0.0d0 / n
    end if
    code = tmp
end function
public static double code(double x, double n) {
	double tmp;
	if (x <= 0.96) {
		tmp = (x - Math.log(x)) / n;
	} else if (x <= 6.4e+88) {
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
def code(x, n):
	tmp = 0
	if x <= 0.96:
		tmp = (x - math.log(x)) / n
	elif x <= 6.4e+88:
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n
	else:
		tmp = 0.0 / n
	return tmp
function code(x, n)
	tmp = 0.0
	if (x <= 0.96)
		tmp = Float64(Float64(x - log(x)) / n);
	elseif (x <= 6.4e+88)
		tmp = Float64(Float64(Float64(1.0 / x) - Float64(0.5 / Float64(x * x))) / n);
	else
		tmp = Float64(0.0 / n);
	end
	return tmp
end
function tmp_2 = code(x, n)
	tmp = 0.0;
	if (x <= 0.96)
		tmp = (x - log(x)) / n;
	elseif (x <= 6.4e+88)
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	else
		tmp = 0.0 / n;
	end
	tmp_2 = tmp;
end
code[x_, n_] := If[LessEqual[x, 0.96], N[(N[(x - N[Log[x], $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision], If[LessEqual[x, 6.4e+88], N[(N[(N[(1.0 / x), $MachinePrecision] - N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision], N[(0.0 / n), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;x \leq 0.96:\\
\;\;\;\;\frac{x - \log x}{n}\\

\mathbf{elif}\;x \leq 6.4 \cdot 10^{+88}:\\
\;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\

\mathbf{else}:\\
\;\;\;\;\frac{0}{n}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if x < 0.95999999999999996

    1. Initial program 40.0%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def53.3%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified53.3%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around 0 53.2%

      \[\leadsto \frac{\color{blue}{x + -1 \cdot \log x}}{n} \]
    6. Step-by-step derivation
      1. neg-mul-153.2%

        \[\leadsto \frac{x + \color{blue}{\left(-\log x\right)}}{n} \]
      2. unsub-neg53.2%

        \[\leadsto \frac{\color{blue}{x - \log x}}{n} \]
    7. Simplified53.2%

      \[\leadsto \frac{\color{blue}{x - \log x}}{n} \]

    if 0.95999999999999996 < x < 6.3999999999999997e88

    1. Initial program 40.2%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def40.2%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified40.2%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around inf 67.2%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}}}{n} \]
    6. Step-by-step derivation
      1. associate-*r/67.2%

        \[\leadsto \frac{\frac{1}{x} - \color{blue}{\frac{0.5 \cdot 1}{{x}^{2}}}}{n} \]
      2. metadata-eval67.2%

        \[\leadsto \frac{\frac{1}{x} - \frac{\color{blue}{0.5}}{{x}^{2}}}{n} \]
      3. unpow267.2%

        \[\leadsto \frac{\frac{1}{x} - \frac{0.5}{\color{blue}{x \cdot x}}}{n} \]
    7. Simplified67.2%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} - \frac{0.5}{x \cdot x}}}{n} \]

    if 6.3999999999999997e88 < x

    1. Initial program 76.4%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def76.5%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified76.5%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef76.5%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative76.5%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log76.5%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr76.5%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    7. Taylor expanded in x around inf 76.5%

      \[\leadsto \frac{\log \color{blue}{1}}{n} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification61.9%

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 0.96:\\ \;\;\;\;\frac{x - \log x}{n}\\ \mathbf{elif}\;x \leq 6.4 \cdot 10^{+88}:\\ \;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \]

Alternative 16: 59.8% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 0.68:\\ \;\;\;\;\frac{-\log x}{n}\\ \mathbf{elif}\;x \leq 6 \cdot 10^{+88}:\\ \;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (if (<= x 0.68)
   (/ (- (log x)) n)
   (if (<= x 6e+88) (/ (- (/ 1.0 x) (/ 0.5 (* x x))) n) (/ 0.0 n))))
double code(double x, double n) {
	double tmp;
	if (x <= 0.68) {
		tmp = -log(x) / n;
	} else if (x <= 6e+88) {
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    real(8) :: tmp
    if (x <= 0.68d0) then
        tmp = -log(x) / n
    else if (x <= 6d+88) then
        tmp = ((1.0d0 / x) - (0.5d0 / (x * x))) / n
    else
        tmp = 0.0d0 / n
    end if
    code = tmp
end function
public static double code(double x, double n) {
	double tmp;
	if (x <= 0.68) {
		tmp = -Math.log(x) / n;
	} else if (x <= 6e+88) {
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
def code(x, n):
	tmp = 0
	if x <= 0.68:
		tmp = -math.log(x) / n
	elif x <= 6e+88:
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n
	else:
		tmp = 0.0 / n
	return tmp
function code(x, n)
	tmp = 0.0
	if (x <= 0.68)
		tmp = Float64(Float64(-log(x)) / n);
	elseif (x <= 6e+88)
		tmp = Float64(Float64(Float64(1.0 / x) - Float64(0.5 / Float64(x * x))) / n);
	else
		tmp = Float64(0.0 / n);
	end
	return tmp
end
function tmp_2 = code(x, n)
	tmp = 0.0;
	if (x <= 0.68)
		tmp = -log(x) / n;
	elseif (x <= 6e+88)
		tmp = ((1.0 / x) - (0.5 / (x * x))) / n;
	else
		tmp = 0.0 / n;
	end
	tmp_2 = tmp;
end
code[x_, n_] := If[LessEqual[x, 0.68], N[((-N[Log[x], $MachinePrecision]) / n), $MachinePrecision], If[LessEqual[x, 6e+88], N[(N[(N[(1.0 / x), $MachinePrecision] - N[(0.5 / N[(x * x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision], N[(0.0 / n), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;x \leq 0.68:\\
\;\;\;\;\frac{-\log x}{n}\\

\mathbf{elif}\;x \leq 6 \cdot 10^{+88}:\\
\;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\

\mathbf{else}:\\
\;\;\;\;\frac{0}{n}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if x < 0.680000000000000049

    1. Initial program 40.0%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Taylor expanded in x around 0 38.7%

      \[\leadsto \color{blue}{1 - e^{\frac{\log x}{n}}} \]
    3. Step-by-step derivation
      1. *-rgt-identity38.7%

        \[\leadsto 1 - e^{\frac{\color{blue}{\log x \cdot 1}}{n}} \]
      2. associate-*r/38.7%

        \[\leadsto 1 - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      3. unpow-138.7%

        \[\leadsto 1 - e^{\log x \cdot \color{blue}{{n}^{-1}}} \]
      4. exp-to-pow38.7%

        \[\leadsto 1 - \color{blue}{{x}^{\left({n}^{-1}\right)}} \]
      5. unpow-138.7%

        \[\leadsto 1 - {x}^{\color{blue}{\left(\frac{1}{n}\right)}} \]
    4. Simplified38.7%

      \[\leadsto \color{blue}{1 - {x}^{\left(\frac{1}{n}\right)}} \]
    5. Taylor expanded in n around inf 52.9%

      \[\leadsto \color{blue}{-1 \cdot \frac{\log x}{n}} \]
    6. Step-by-step derivation
      1. neg-mul-152.9%

        \[\leadsto \color{blue}{-\frac{\log x}{n}} \]
      2. distribute-neg-frac52.9%

        \[\leadsto \color{blue}{\frac{-\log x}{n}} \]
    7. Simplified52.9%

      \[\leadsto \color{blue}{\frac{-\log x}{n}} \]

    if 0.680000000000000049 < x < 6.00000000000000011e88

    1. Initial program 40.2%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def40.2%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified40.2%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Taylor expanded in x around inf 67.2%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} - 0.5 \cdot \frac{1}{{x}^{2}}}}{n} \]
    6. Step-by-step derivation
      1. associate-*r/67.2%

        \[\leadsto \frac{\frac{1}{x} - \color{blue}{\frac{0.5 \cdot 1}{{x}^{2}}}}{n} \]
      2. metadata-eval67.2%

        \[\leadsto \frac{\frac{1}{x} - \frac{\color{blue}{0.5}}{{x}^{2}}}{n} \]
      3. unpow267.2%

        \[\leadsto \frac{\frac{1}{x} - \frac{0.5}{\color{blue}{x \cdot x}}}{n} \]
    7. Simplified67.2%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} - \frac{0.5}{x \cdot x}}}{n} \]

    if 6.00000000000000011e88 < x

    1. Initial program 76.4%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def76.5%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified76.5%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef76.5%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative76.5%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log76.5%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr76.5%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    7. Taylor expanded in x around inf 76.5%

      \[\leadsto \frac{\log \color{blue}{1}}{n} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification61.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 0.68:\\ \;\;\;\;\frac{-\log x}{n}\\ \mathbf{elif}\;x \leq 6 \cdot 10^{+88}:\\ \;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{x \cdot x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \]

Alternative 17: 47.1% accurate, 23.3× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -10000000:\\ \;\;\;\;\frac{0}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{n}}{x}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (if (<= (/ 1.0 n) -10000000.0) (/ 0.0 n) (/ (/ 1.0 n) x)))
double code(double x, double n) {
	double tmp;
	if ((1.0 / n) <= -10000000.0) {
		tmp = 0.0 / n;
	} else {
		tmp = (1.0 / n) / x;
	}
	return tmp;
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    real(8) :: tmp
    if ((1.0d0 / n) <= (-10000000.0d0)) then
        tmp = 0.0d0 / n
    else
        tmp = (1.0d0 / n) / x
    end if
    code = tmp
end function
public static double code(double x, double n) {
	double tmp;
	if ((1.0 / n) <= -10000000.0) {
		tmp = 0.0 / n;
	} else {
		tmp = (1.0 / n) / x;
	}
	return tmp;
}
def code(x, n):
	tmp = 0
	if (1.0 / n) <= -10000000.0:
		tmp = 0.0 / n
	else:
		tmp = (1.0 / n) / x
	return tmp
function code(x, n)
	tmp = 0.0
	if (Float64(1.0 / n) <= -10000000.0)
		tmp = Float64(0.0 / n);
	else
		tmp = Float64(Float64(1.0 / n) / x);
	end
	return tmp
end
function tmp_2 = code(x, n)
	tmp = 0.0;
	if ((1.0 / n) <= -10000000.0)
		tmp = 0.0 / n;
	else
		tmp = (1.0 / n) / x;
	end
	tmp_2 = tmp;
end
code[x_, n_] := If[LessEqual[N[(1.0 / n), $MachinePrecision], -10000000.0], N[(0.0 / n), $MachinePrecision], N[(N[(1.0 / n), $MachinePrecision] / x), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \leq -10000000:\\
\;\;\;\;\frac{0}{n}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{n}}{x}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if (/.f64 1 n) < -1e7

    1. Initial program 100.0%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def53.2%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified53.2%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef53.2%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative53.2%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log53.2%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr53.2%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    7. Taylor expanded in x around inf 54.6%

      \[\leadsto \frac{\log \color{blue}{1}}{n} \]

    if -1e7 < (/.f64 1 n)

    1. Initial program 34.5%

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

      \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
    3. Step-by-step derivation
      1. log1p-def60.7%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
    4. Simplified60.7%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
    5. Step-by-step derivation
      1. log1p-udef60.7%

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      2. +-commutative60.7%

        \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
      3. diff-log60.9%

        \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    6. Applied egg-rr60.9%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
    7. Taylor expanded in x around inf 43.0%

      \[\leadsto \color{blue}{\frac{1}{n \cdot x}} \]
    8. Step-by-step derivation
      1. associate-/r*44.7%

        \[\leadsto \color{blue}{\frac{\frac{1}{n}}{x}} \]
    9. Simplified44.7%

      \[\leadsto \color{blue}{\frac{\frac{1}{n}}{x}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification47.2%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -10000000:\\ \;\;\;\;\frac{0}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{n}}{x}\\ \end{array} \]

Alternative 18: 40.6% accurate, 42.2× speedup?

\[\begin{array}{l} \\ \frac{1}{n \cdot x} \end{array} \]
(FPCore (x n) :precision binary64 (/ 1.0 (* n x)))
double code(double x, double n) {
	return 1.0 / (n * x);
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    code = 1.0d0 / (n * x)
end function
public static double code(double x, double n) {
	return 1.0 / (n * x);
}
def code(x, n):
	return 1.0 / (n * x)
function code(x, n)
	return Float64(1.0 / Float64(n * x))
end
function tmp = code(x, n)
	tmp = 1.0 / (n * x);
end
code[x_, n_] := N[(1.0 / N[(n * x), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{1}{n \cdot x}
\end{array}
Derivation
  1. Initial program 51.1%

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

    \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
  3. Step-by-step derivation
    1. log1p-def58.8%

      \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
  4. Simplified58.8%

    \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
  5. Taylor expanded in x around inf 36.9%

    \[\leadsto \color{blue}{\frac{1}{n \cdot x}} \]
  6. Step-by-step derivation
    1. *-commutative36.9%

      \[\leadsto \frac{1}{\color{blue}{x \cdot n}} \]
  7. Simplified36.9%

    \[\leadsto \color{blue}{\frac{1}{x \cdot n}} \]
  8. Final simplification36.9%

    \[\leadsto \frac{1}{n \cdot x} \]

Alternative 19: 41.1% accurate, 42.2× speedup?

\[\begin{array}{l} \\ \frac{\frac{1}{n}}{x} \end{array} \]
(FPCore (x n) :precision binary64 (/ (/ 1.0 n) x))
double code(double x, double n) {
	return (1.0 / n) / x;
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    code = (1.0d0 / n) / x
end function
public static double code(double x, double n) {
	return (1.0 / n) / x;
}
def code(x, n):
	return (1.0 / n) / x
function code(x, n)
	return Float64(Float64(1.0 / n) / x)
end
function tmp = code(x, n)
	tmp = (1.0 / n) / x;
end
code[x_, n_] := N[(N[(1.0 / n), $MachinePrecision] / x), $MachinePrecision]
\begin{array}{l}

\\
\frac{\frac{1}{n}}{x}
\end{array}
Derivation
  1. Initial program 51.1%

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

    \[\leadsto \color{blue}{\frac{\log \left(1 + x\right) - \log x}{n}} \]
  3. Step-by-step derivation
    1. log1p-def58.8%

      \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n} \]
  4. Simplified58.8%

    \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) - \log x}{n}} \]
  5. Step-by-step derivation
    1. log1p-udef58.8%

      \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
    2. +-commutative58.8%

      \[\leadsto \frac{\log \color{blue}{\left(x + 1\right)} - \log x}{n} \]
    3. diff-log58.9%

      \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
  6. Applied egg-rr58.9%

    \[\leadsto \frac{\color{blue}{\log \left(\frac{x + 1}{x}\right)}}{n} \]
  7. Taylor expanded in x around inf 36.9%

    \[\leadsto \color{blue}{\frac{1}{n \cdot x}} \]
  8. Step-by-step derivation
    1. associate-/r*38.2%

      \[\leadsto \color{blue}{\frac{\frac{1}{n}}{x}} \]
  9. Simplified38.2%

    \[\leadsto \color{blue}{\frac{\frac{1}{n}}{x}} \]
  10. Final simplification38.2%

    \[\leadsto \frac{\frac{1}{n}}{x} \]

Reproduce

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