2nthrt (problem 3.4.6)

Percentage Accurate: 53.0% → 97.9%
Time: 43.5s
Alternatives: 19
Speedup: 1.9×

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.0% 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: 97.9% accurate, 0.3× speedup?

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

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

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

\mathbf{else}:\\
\;\;\;\;2 \cdot \log \left(\sqrt{e^{e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}}}\right)\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 #s(literal 1 binary64) n) < -5.00000000000000036e-18

    1. Initial program 93.8%

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

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

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

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

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

        \[\leadsto \frac{e^{\color{blue}{\frac{--1 \cdot \log x}{n}}}}{n \cdot x} \]
      5. mul-1-neg98.4%

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

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

        \[\leadsto \frac{e^{\frac{\log x}{n}}}{\color{blue}{x \cdot n}} \]
    5. Simplified98.4%

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

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

        \[\leadsto \frac{\color{blue}{{x}^{\left(\frac{1}{n}\right)}}}{x \cdot n} \]
      3. add-cbrt-cube98.4%

        \[\leadsto \frac{\color{blue}{\sqrt[3]{\left({x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}\right) \cdot {x}^{\left(\frac{1}{n}\right)}}}}{x \cdot n} \]
      4. pow1/398.3%

        \[\leadsto \frac{\color{blue}{{\left(\left({x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}\right) \cdot {x}^{\left(\frac{1}{n}\right)}\right)}^{0.3333333333333333}}}{x \cdot n} \]
      5. pow398.3%

        \[\leadsto \frac{{\color{blue}{\left({\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}}^{0.3333333333333333}}{x \cdot n} \]
      6. pow-pow98.4%

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

      \[\leadsto \frac{\color{blue}{{\left({x}^{\left(\frac{1}{n} \cdot 3\right)}\right)}^{0.3333333333333333}}}{x \cdot n} \]
    8. Step-by-step derivation
      1. unpow1/398.4%

        \[\leadsto \frac{\color{blue}{\sqrt[3]{{x}^{\left(\frac{1}{n} \cdot 3\right)}}}}{x \cdot n} \]
      2. associate-*l/98.4%

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

        \[\leadsto \frac{\sqrt[3]{{x}^{\left(\frac{\color{blue}{3}}{n}\right)}}}{x \cdot n} \]
    9. Simplified98.4%

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

    if -5.00000000000000036e-18 < (/.f64 #s(literal 1 binary64) n) < 2.00000000000000012e-9

    1. Initial program 31.7%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{e^{\mathsf{log1p}\left(x\right) - \log x} - 1}\right)}{n} \]
      5. log1p-undefine79.3%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(1 + x\right)} - \log x} - 1\right)}{n} \]
      6. log-div79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(\frac{1 + x}{x}\right)}} - 1\right)}{n} \]
      7. add-exp-log79.6%

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

      \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(\frac{1 + x}{x} - 1\right)}}{n} \]
    10. Step-by-step derivation
      1. *-lft-identity79.6%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\frac{1}{x} \cdot \left(1 + x\right)} - 1\right)}{n} \]
      3. distribute-lft-in77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\left(\frac{1}{x} \cdot 1 + \frac{1}{x} \cdot x\right)} - 1\right)}{n} \]
      4. *-rgt-identity77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\color{blue}{\frac{1}{x}} + \frac{1}{x} \cdot x\right) - 1\right)}{n} \]
      5. lft-mult-inverse79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\frac{1}{x} + \color{blue}{1}\right) - 1\right)}{n} \]
      6. associate--l+99.1%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\frac{1}{x} + \color{blue}{0}\right)}{n} \]
    11. Simplified99.1%

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

    if 2.00000000000000012e-9 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 50.4%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. add-log-exp50.3%

        \[\leadsto \color{blue}{\log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)} \]
      2. add-sqr-sqrt50.3%

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

        \[\leadsto \color{blue}{\log \left(\sqrt{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}}\right) + \log \left(\sqrt{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}}\right)} \]
      4. pow-to-exp50.5%

        \[\leadsto \log \left(\sqrt{e^{\color{blue}{e^{\log \left(x + 1\right) \cdot \frac{1}{n}}} - {x}^{\left(\frac{1}{n}\right)}}}\right) + \log \left(\sqrt{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}}\right) \]
      5. un-div-inv50.5%

        \[\leadsto \log \left(\sqrt{e^{e^{\color{blue}{\frac{\log \left(x + 1\right)}{n}}} - {x}^{\left(\frac{1}{n}\right)}}}\right) + \log \left(\sqrt{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}}\right) \]
      6. +-commutative50.5%

        \[\leadsto \log \left(\sqrt{e^{e^{\frac{\log \color{blue}{\left(1 + x\right)}}{n}} - {x}^{\left(\frac{1}{n}\right)}}}\right) + \log \left(\sqrt{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}}\right) \]
      7. log1p-define90.8%

        \[\leadsto \log \left(\sqrt{e^{e^{\frac{\color{blue}{\mathsf{log1p}\left(x\right)}}{n}} - {x}^{\left(\frac{1}{n}\right)}}}\right) + \log \left(\sqrt{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}}\right) \]
    4. Applied egg-rr96.0%

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

        \[\leadsto \color{blue}{2 \cdot \log \left(\sqrt{e^{e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}}}\right)} \]
    6. Simplified96.0%

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-18}:\\ \;\;\;\;\frac{\sqrt[3]{{x}^{\left(\frac{3}{n}\right)}}}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\frac{1}{x}\right)}{n}\\ \mathbf{else}:\\ \;\;\;\;2 \cdot \log \left(\sqrt{e^{e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}}}\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 2: 98.0% accurate, 0.4× speedup?

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

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

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 #s(literal 1 binary64) n) < -5.00000000000000036e-18

    1. Initial program 93.8%

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

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

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

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

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

        \[\leadsto \frac{e^{\color{blue}{\frac{--1 \cdot \log x}{n}}}}{n \cdot x} \]
      5. mul-1-neg98.4%

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

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

        \[\leadsto \frac{e^{\frac{\log x}{n}}}{\color{blue}{x \cdot n}} \]
    5. Simplified98.4%

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

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

        \[\leadsto \frac{\color{blue}{{x}^{\left(\frac{1}{n}\right)}}}{x \cdot n} \]
      3. add-cbrt-cube98.4%

        \[\leadsto \frac{\color{blue}{\sqrt[3]{\left({x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}\right) \cdot {x}^{\left(\frac{1}{n}\right)}}}}{x \cdot n} \]
      4. pow1/398.3%

        \[\leadsto \frac{\color{blue}{{\left(\left({x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}\right) \cdot {x}^{\left(\frac{1}{n}\right)}\right)}^{0.3333333333333333}}}{x \cdot n} \]
      5. pow398.3%

        \[\leadsto \frac{{\color{blue}{\left({\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}}^{0.3333333333333333}}{x \cdot n} \]
      6. pow-pow98.4%

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

      \[\leadsto \frac{\color{blue}{{\left({x}^{\left(\frac{1}{n} \cdot 3\right)}\right)}^{0.3333333333333333}}}{x \cdot n} \]
    8. Step-by-step derivation
      1. unpow1/398.4%

        \[\leadsto \frac{\color{blue}{\sqrt[3]{{x}^{\left(\frac{1}{n} \cdot 3\right)}}}}{x \cdot n} \]
      2. associate-*l/98.4%

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

        \[\leadsto \frac{\sqrt[3]{{x}^{\left(\frac{\color{blue}{3}}{n}\right)}}}{x \cdot n} \]
    9. Simplified98.4%

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

    if -5.00000000000000036e-18 < (/.f64 #s(literal 1 binary64) n) < 2.00000000000000012e-9

    1. Initial program 31.7%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{e^{\mathsf{log1p}\left(x\right) - \log x} - 1}\right)}{n} \]
      5. log1p-undefine79.3%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(1 + x\right)} - \log x} - 1\right)}{n} \]
      6. log-div79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(\frac{1 + x}{x}\right)}} - 1\right)}{n} \]
      7. add-exp-log79.6%

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

      \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(\frac{1 + x}{x} - 1\right)}}{n} \]
    10. Step-by-step derivation
      1. *-lft-identity79.6%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\frac{1}{x} \cdot \left(1 + x\right)} - 1\right)}{n} \]
      3. distribute-lft-in77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\left(\frac{1}{x} \cdot 1 + \frac{1}{x} \cdot x\right)} - 1\right)}{n} \]
      4. *-rgt-identity77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\color{blue}{\frac{1}{x}} + \frac{1}{x} \cdot x\right) - 1\right)}{n} \]
      5. lft-mult-inverse79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\frac{1}{x} + \color{blue}{1}\right) - 1\right)}{n} \]
      6. associate--l+99.1%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\frac{1}{x} + \color{blue}{0}\right)}{n} \]
    11. Simplified99.1%

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

    if 2.00000000000000012e-9 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 50.4%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. add-cbrt-cube50.4%

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

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

        \[\leadsto {\color{blue}{\left({\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}}^{0.3333333333333333} \]
      4. pow-to-exp50.4%

        \[\leadsto {\left({\left(\color{blue}{e^{\log \left(x + 1\right) \cdot \frac{1}{n}}} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}^{0.3333333333333333} \]
      5. un-div-inv50.4%

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

        \[\leadsto {\left({\left(e^{\frac{\log \color{blue}{\left(1 + x\right)}}{n}} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}^{0.3333333333333333} \]
      7. log1p-define95.8%

        \[\leadsto {\left({\left(e^{\frac{\color{blue}{\mathsf{log1p}\left(x\right)}}{n}} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}^{0.3333333333333333} \]
    4. Applied egg-rr95.8%

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-18}:\\ \;\;\;\;\frac{\sqrt[3]{{x}^{\left(\frac{3}{n}\right)}}}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\frac{1}{x}\right)}{n}\\ \mathbf{else}:\\ \;\;\;\;{\left({\left(e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}^{0.3333333333333333}\\ \end{array} \]
  5. Add Preprocessing

Alternative 3: 98.0% accurate, 0.4× speedup?

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

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

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 #s(literal 1 binary64) n) < -5.00000000000000036e-18

    1. Initial program 93.8%

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

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

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

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

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

        \[\leadsto \frac{e^{\color{blue}{\frac{--1 \cdot \log x}{n}}}}{n \cdot x} \]
      5. mul-1-neg98.4%

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

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

        \[\leadsto \frac{e^{\frac{\log x}{n}}}{\color{blue}{x \cdot n}} \]
    5. Simplified98.4%

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

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

        \[\leadsto \frac{\color{blue}{{x}^{\left(\frac{1}{n}\right)}}}{x \cdot n} \]
      3. add-cbrt-cube98.4%

        \[\leadsto \frac{\color{blue}{\sqrt[3]{\left({x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}\right) \cdot {x}^{\left(\frac{1}{n}\right)}}}}{x \cdot n} \]
      4. pow1/398.3%

        \[\leadsto \frac{\color{blue}{{\left(\left({x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}\right) \cdot {x}^{\left(\frac{1}{n}\right)}\right)}^{0.3333333333333333}}}{x \cdot n} \]
      5. pow398.3%

        \[\leadsto \frac{{\color{blue}{\left({\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}}^{0.3333333333333333}}{x \cdot n} \]
      6. pow-pow98.4%

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

      \[\leadsto \frac{\color{blue}{{\left({x}^{\left(\frac{1}{n} \cdot 3\right)}\right)}^{0.3333333333333333}}}{x \cdot n} \]
    8. Step-by-step derivation
      1. unpow1/398.4%

        \[\leadsto \frac{\color{blue}{\sqrt[3]{{x}^{\left(\frac{1}{n} \cdot 3\right)}}}}{x \cdot n} \]
      2. associate-*l/98.4%

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

        \[\leadsto \frac{\sqrt[3]{{x}^{\left(\frac{\color{blue}{3}}{n}\right)}}}{x \cdot n} \]
    9. Simplified98.4%

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

    if -5.00000000000000036e-18 < (/.f64 #s(literal 1 binary64) n) < 2.00000000000000012e-9

    1. Initial program 31.7%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{e^{\mathsf{log1p}\left(x\right) - \log x} - 1}\right)}{n} \]
      5. log1p-undefine79.3%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(1 + x\right)} - \log x} - 1\right)}{n} \]
      6. log-div79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(\frac{1 + x}{x}\right)}} - 1\right)}{n} \]
      7. add-exp-log79.6%

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

      \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(\frac{1 + x}{x} - 1\right)}}{n} \]
    10. Step-by-step derivation
      1. *-lft-identity79.6%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\frac{1}{x} \cdot \left(1 + x\right)} - 1\right)}{n} \]
      3. distribute-lft-in77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\left(\frac{1}{x} \cdot 1 + \frac{1}{x} \cdot x\right)} - 1\right)}{n} \]
      4. *-rgt-identity77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\color{blue}{\frac{1}{x}} + \frac{1}{x} \cdot x\right) - 1\right)}{n} \]
      5. lft-mult-inverse79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\frac{1}{x} + \color{blue}{1}\right) - 1\right)}{n} \]
      6. associate--l+99.1%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\frac{1}{x} + \color{blue}{0}\right)}{n} \]
    11. Simplified99.1%

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

    if 2.00000000000000012e-9 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 50.4%

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)} \]
    2. Add Preprocessing
    3. Step-by-step derivation
      1. add-exp-log50.4%

        \[\leadsto \color{blue}{e^{\log \left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}} \]
      2. pow-to-exp50.4%

        \[\leadsto e^{\log \left(\color{blue}{e^{\log \left(x + 1\right) \cdot \frac{1}{n}}} - {x}^{\left(\frac{1}{n}\right)}\right)} \]
      3. un-div-inv50.4%

        \[\leadsto e^{\log \left(e^{\color{blue}{\frac{\log \left(x + 1\right)}{n}}} - {x}^{\left(\frac{1}{n}\right)}\right)} \]
      4. +-commutative50.4%

        \[\leadsto e^{\log \left(e^{\frac{\log \color{blue}{\left(1 + x\right)}}{n}} - {x}^{\left(\frac{1}{n}\right)}\right)} \]
      5. log1p-define95.8%

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-18}:\\ \;\;\;\;\frac{\sqrt[3]{{x}^{\left(\frac{3}{n}\right)}}}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\frac{1}{x}\right)}{n}\\ \mathbf{else}:\\ \;\;\;\;e^{\log \left(e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 4: 98.0% accurate, 0.7× speedup?

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

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

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 #s(literal 1 binary64) n) < -5.00000000000000036e-18

    1. Initial program 93.8%

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

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

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

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

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

        \[\leadsto \frac{e^{\color{blue}{\frac{--1 \cdot \log x}{n}}}}{n \cdot x} \]
      5. mul-1-neg98.4%

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

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

        \[\leadsto \frac{e^{\frac{\log x}{n}}}{\color{blue}{x \cdot n}} \]
    5. Simplified98.4%

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

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

        \[\leadsto \frac{\color{blue}{{x}^{\left(\frac{1}{n}\right)}}}{x \cdot n} \]
      3. add-cbrt-cube98.4%

        \[\leadsto \frac{\color{blue}{\sqrt[3]{\left({x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}\right) \cdot {x}^{\left(\frac{1}{n}\right)}}}}{x \cdot n} \]
      4. pow1/398.3%

        \[\leadsto \frac{\color{blue}{{\left(\left({x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}\right) \cdot {x}^{\left(\frac{1}{n}\right)}\right)}^{0.3333333333333333}}}{x \cdot n} \]
      5. pow398.3%

        \[\leadsto \frac{{\color{blue}{\left({\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}}^{0.3333333333333333}}{x \cdot n} \]
      6. pow-pow98.4%

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

      \[\leadsto \frac{\color{blue}{{\left({x}^{\left(\frac{1}{n} \cdot 3\right)}\right)}^{0.3333333333333333}}}{x \cdot n} \]
    8. Step-by-step derivation
      1. unpow1/398.4%

        \[\leadsto \frac{\color{blue}{\sqrt[3]{{x}^{\left(\frac{1}{n} \cdot 3\right)}}}}{x \cdot n} \]
      2. associate-*l/98.4%

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

        \[\leadsto \frac{\sqrt[3]{{x}^{\left(\frac{\color{blue}{3}}{n}\right)}}}{x \cdot n} \]
    9. Simplified98.4%

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

    if -5.00000000000000036e-18 < (/.f64 #s(literal 1 binary64) n) < 2.00000000000000012e-9

    1. Initial program 31.7%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{e^{\mathsf{log1p}\left(x\right) - \log x} - 1}\right)}{n} \]
      5. log1p-undefine79.3%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(1 + x\right)} - \log x} - 1\right)}{n} \]
      6. log-div79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(\frac{1 + x}{x}\right)}} - 1\right)}{n} \]
      7. add-exp-log79.6%

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

      \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(\frac{1 + x}{x} - 1\right)}}{n} \]
    10. Step-by-step derivation
      1. *-lft-identity79.6%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\frac{1}{x} \cdot \left(1 + x\right)} - 1\right)}{n} \]
      3. distribute-lft-in77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\left(\frac{1}{x} \cdot 1 + \frac{1}{x} \cdot x\right)} - 1\right)}{n} \]
      4. *-rgt-identity77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\color{blue}{\frac{1}{x}} + \frac{1}{x} \cdot x\right) - 1\right)}{n} \]
      5. lft-mult-inverse79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\frac{1}{x} + \color{blue}{1}\right) - 1\right)}{n} \]
      6. associate--l+99.1%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\frac{1}{x} + \color{blue}{0}\right)}{n} \]
    11. Simplified99.1%

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

    if 2.00000000000000012e-9 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 50.4%

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

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

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

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

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

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

      \[\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 simplification98.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-18}:\\ \;\;\;\;\frac{\sqrt[3]{{x}^{\left(\frac{3}{n}\right)}}}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\frac{1}{x}\right)}{n}\\ \mathbf{else}:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 5: 94.5% accurate, 0.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-18}:\\ \;\;\;\;\frac{\sqrt[3]{{x}^{\left(\frac{3}{n}\right)}}}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\frac{1}{x}\right)}{n}\\ \mathbf{else}:\\ \;\;\;\;\left(1 + x \cdot \left(\frac{1}{n} + x \cdot \left(0.5 \cdot \frac{1}{{n}^{2}} + 0.5 \cdot \frac{-1}{n}\right)\right)\right) - {x}^{\left(\frac{1}{n}\right)}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (if (<= (/ 1.0 n) -5e-18)
   (/ (cbrt (pow x (/ 3.0 n))) (* n x))
   (if (<= (/ 1.0 n) 2e-9)
     (/ (log1p (/ 1.0 x)) n)
     (-
      (+
       1.0
       (*
        x
        (+
         (/ 1.0 n)
         (* x (+ (* 0.5 (/ 1.0 (pow n 2.0))) (* 0.5 (/ -1.0 n)))))))
      (pow x (/ 1.0 n))))))
double code(double x, double n) {
	double tmp;
	if ((1.0 / n) <= -5e-18) {
		tmp = cbrt(pow(x, (3.0 / n))) / (n * x);
	} else if ((1.0 / n) <= 2e-9) {
		tmp = log1p((1.0 / x)) / n;
	} else {
		tmp = (1.0 + (x * ((1.0 / n) + (x * ((0.5 * (1.0 / pow(n, 2.0))) + (0.5 * (-1.0 / n))))))) - pow(x, (1.0 / n));
	}
	return tmp;
}
public static double code(double x, double n) {
	double tmp;
	if ((1.0 / n) <= -5e-18) {
		tmp = Math.cbrt(Math.pow(x, (3.0 / n))) / (n * x);
	} else if ((1.0 / n) <= 2e-9) {
		tmp = Math.log1p((1.0 / x)) / n;
	} else {
		tmp = (1.0 + (x * ((1.0 / n) + (x * ((0.5 * (1.0 / Math.pow(n, 2.0))) + (0.5 * (-1.0 / n))))))) - Math.pow(x, (1.0 / n));
	}
	return tmp;
}
function code(x, n)
	tmp = 0.0
	if (Float64(1.0 / n) <= -5e-18)
		tmp = Float64(cbrt((x ^ Float64(3.0 / n))) / Float64(n * x));
	elseif (Float64(1.0 / n) <= 2e-9)
		tmp = Float64(log1p(Float64(1.0 / x)) / n);
	else
		tmp = Float64(Float64(1.0 + Float64(x * Float64(Float64(1.0 / n) + Float64(x * Float64(Float64(0.5 * Float64(1.0 / (n ^ 2.0))) + Float64(0.5 * Float64(-1.0 / n))))))) - (x ^ Float64(1.0 / n)));
	end
	return tmp
end
code[x_, n_] := If[LessEqual[N[(1.0 / n), $MachinePrecision], -5e-18], N[(N[Power[N[Power[x, N[(3.0 / n), $MachinePrecision]], $MachinePrecision], 1/3], $MachinePrecision] / N[(n * x), $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 2e-9], N[(N[Log[1 + N[(1.0 / x), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision], N[(N[(1.0 + N[(x * N[(N[(1.0 / n), $MachinePrecision] + N[(x * N[(N[(0.5 * N[(1.0 / N[Power[n, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(0.5 * N[(-1.0 / n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

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

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 #s(literal 1 binary64) n) < -5.00000000000000036e-18

    1. Initial program 93.8%

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

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

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

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

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

        \[\leadsto \frac{e^{\color{blue}{\frac{--1 \cdot \log x}{n}}}}{n \cdot x} \]
      5. mul-1-neg98.4%

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

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

        \[\leadsto \frac{e^{\frac{\log x}{n}}}{\color{blue}{x \cdot n}} \]
    5. Simplified98.4%

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

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

        \[\leadsto \frac{\color{blue}{{x}^{\left(\frac{1}{n}\right)}}}{x \cdot n} \]
      3. add-cbrt-cube98.4%

        \[\leadsto \frac{\color{blue}{\sqrt[3]{\left({x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}\right) \cdot {x}^{\left(\frac{1}{n}\right)}}}}{x \cdot n} \]
      4. pow1/398.3%

        \[\leadsto \frac{\color{blue}{{\left(\left({x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}\right) \cdot {x}^{\left(\frac{1}{n}\right)}\right)}^{0.3333333333333333}}}{x \cdot n} \]
      5. pow398.3%

        \[\leadsto \frac{{\color{blue}{\left({\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}}^{0.3333333333333333}}{x \cdot n} \]
      6. pow-pow98.4%

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

      \[\leadsto \frac{\color{blue}{{\left({x}^{\left(\frac{1}{n} \cdot 3\right)}\right)}^{0.3333333333333333}}}{x \cdot n} \]
    8. Step-by-step derivation
      1. unpow1/398.4%

        \[\leadsto \frac{\color{blue}{\sqrt[3]{{x}^{\left(\frac{1}{n} \cdot 3\right)}}}}{x \cdot n} \]
      2. associate-*l/98.4%

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

        \[\leadsto \frac{\sqrt[3]{{x}^{\left(\frac{\color{blue}{3}}{n}\right)}}}{x \cdot n} \]
    9. Simplified98.4%

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

    if -5.00000000000000036e-18 < (/.f64 #s(literal 1 binary64) n) < 2.00000000000000012e-9

    1. Initial program 31.7%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{e^{\mathsf{log1p}\left(x\right) - \log x} - 1}\right)}{n} \]
      5. log1p-undefine79.3%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(1 + x\right)} - \log x} - 1\right)}{n} \]
      6. log-div79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(\frac{1 + x}{x}\right)}} - 1\right)}{n} \]
      7. add-exp-log79.6%

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

      \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(\frac{1 + x}{x} - 1\right)}}{n} \]
    10. Step-by-step derivation
      1. *-lft-identity79.6%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\frac{1}{x} \cdot \left(1 + x\right)} - 1\right)}{n} \]
      3. distribute-lft-in77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\left(\frac{1}{x} \cdot 1 + \frac{1}{x} \cdot x\right)} - 1\right)}{n} \]
      4. *-rgt-identity77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\color{blue}{\frac{1}{x}} + \frac{1}{x} \cdot x\right) - 1\right)}{n} \]
      5. lft-mult-inverse79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\frac{1}{x} + \color{blue}{1}\right) - 1\right)}{n} \]
      6. associate--l+99.1%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\frac{1}{x} + \color{blue}{0}\right)}{n} \]
    11. Simplified99.1%

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

    if 2.00000000000000012e-9 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 50.4%

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-18}:\\ \;\;\;\;\frac{\sqrt[3]{{x}^{\left(\frac{3}{n}\right)}}}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\frac{1}{x}\right)}{n}\\ \mathbf{else}:\\ \;\;\;\;\left(1 + x \cdot \left(\frac{1}{n} + x \cdot \left(0.5 \cdot \frac{1}{{n}^{2}} + 0.5 \cdot \frac{-1}{n}\right)\right)\right) - {x}^{\left(\frac{1}{n}\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 6: 94.2% accurate, 1.0× speedup?

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

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

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

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (/.f64 #s(literal 1 binary64) n) < -5.00000000000000036e-18

    1. Initial program 93.8%

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

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

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

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

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

        \[\leadsto \frac{e^{\color{blue}{\frac{--1 \cdot \log x}{n}}}}{n \cdot x} \]
      5. mul-1-neg98.4%

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

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

        \[\leadsto \frac{e^{\frac{\log x}{n}}}{\color{blue}{x \cdot n}} \]
    5. Simplified98.4%

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

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

        \[\leadsto \frac{\color{blue}{{x}^{\left(\frac{1}{n}\right)}}}{x \cdot n} \]
      3. add-cbrt-cube98.4%

        \[\leadsto \frac{\color{blue}{\sqrt[3]{\left({x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}\right) \cdot {x}^{\left(\frac{1}{n}\right)}}}}{x \cdot n} \]
      4. pow1/398.3%

        \[\leadsto \frac{\color{blue}{{\left(\left({x}^{\left(\frac{1}{n}\right)} \cdot {x}^{\left(\frac{1}{n}\right)}\right) \cdot {x}^{\left(\frac{1}{n}\right)}\right)}^{0.3333333333333333}}}{x \cdot n} \]
      5. pow398.3%

        \[\leadsto \frac{{\color{blue}{\left({\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}}^{0.3333333333333333}}{x \cdot n} \]
      6. pow-pow98.4%

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

      \[\leadsto \frac{\color{blue}{{\left({x}^{\left(\frac{1}{n} \cdot 3\right)}\right)}^{0.3333333333333333}}}{x \cdot n} \]
    8. Step-by-step derivation
      1. unpow1/398.4%

        \[\leadsto \frac{\color{blue}{\sqrt[3]{{x}^{\left(\frac{1}{n} \cdot 3\right)}}}}{x \cdot n} \]
      2. associate-*l/98.4%

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

        \[\leadsto \frac{\sqrt[3]{{x}^{\left(\frac{\color{blue}{3}}{n}\right)}}}{x \cdot n} \]
    9. Simplified98.4%

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

    if -5.00000000000000036e-18 < (/.f64 #s(literal 1 binary64) n) < 2.00000000000000012e-9

    1. Initial program 31.7%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{e^{\mathsf{log1p}\left(x\right) - \log x} - 1}\right)}{n} \]
      5. log1p-undefine79.3%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(1 + x\right)} - \log x} - 1\right)}{n} \]
      6. log-div79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(\frac{1 + x}{x}\right)}} - 1\right)}{n} \]
      7. add-exp-log79.6%

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

      \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(\frac{1 + x}{x} - 1\right)}}{n} \]
    10. Step-by-step derivation
      1. *-lft-identity79.6%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\frac{1}{x} \cdot \left(1 + x\right)} - 1\right)}{n} \]
      3. distribute-lft-in77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\left(\frac{1}{x} \cdot 1 + \frac{1}{x} \cdot x\right)} - 1\right)}{n} \]
      4. *-rgt-identity77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\color{blue}{\frac{1}{x}} + \frac{1}{x} \cdot x\right) - 1\right)}{n} \]
      5. lft-mult-inverse79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\frac{1}{x} + \color{blue}{1}\right) - 1\right)}{n} \]
      6. associate--l+99.1%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\frac{1}{x} + \color{blue}{0}\right)}{n} \]
    11. Simplified99.1%

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

    if 2.00000000000000012e-9 < (/.f64 #s(literal 1 binary64) n) < 1e188

    1. Initial program 78.0%

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

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

    if 1e188 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 11.2%

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

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

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

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

      \[\leadsto \color{blue}{-1 \cdot \frac{\log x}{n} + \frac{x}{n}} \]
    7. Step-by-step derivation
      1. +-commutative16.0%

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

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

        \[\leadsto \color{blue}{\frac{x}{n} - \frac{\log x}{n}} \]
    8. Simplified16.0%

      \[\leadsto \color{blue}{\frac{x}{n} - \frac{\log x}{n}} \]
    9. Step-by-step derivation
      1. log1p-expm1-u91.9%

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

        \[\leadsto \frac{x}{n} - \frac{\mathsf{log1p}\left(\color{blue}{e^{\log x} - 1}\right)}{n} \]
      3. add-exp-log91.9%

        \[\leadsto \frac{x}{n} - \frac{\mathsf{log1p}\left(\color{blue}{x} - 1\right)}{n} \]
    10. Applied egg-rr91.9%

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-18}:\\ \;\;\;\;\frac{\sqrt[3]{{x}^{\left(\frac{3}{n}\right)}}}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\frac{1}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{+188}:\\ \;\;\;\;\left(1 + \frac{x}{n}\right) - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{n} - \frac{\mathsf{log1p}\left(x + -1\right)}{n}\\ \end{array} \]
  5. Add Preprocessing

Alternative 7: 94.3% accurate, 1.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-18}:\\ \;\;\;\;\frac{\frac{t\_0}{n}}{x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\frac{1}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{+188}:\\ \;\;\;\;\left(1 + \frac{x}{n}\right) - t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{n} - \frac{\mathsf{log1p}\left(x + -1\right)}{n}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (pow x (/ 1.0 n))))
   (if (<= (/ 1.0 n) -5e-18)
     (/ (/ t_0 n) x)
     (if (<= (/ 1.0 n) 2e-9)
       (/ (log1p (/ 1.0 x)) n)
       (if (<= (/ 1.0 n) 1e+188)
         (- (+ 1.0 (/ x n)) t_0)
         (- (/ x n) (/ (log1p (+ x -1.0)) n)))))))
double code(double x, double n) {
	double t_0 = pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -5e-18) {
		tmp = (t_0 / n) / x;
	} else if ((1.0 / n) <= 2e-9) {
		tmp = log1p((1.0 / x)) / n;
	} else if ((1.0 / n) <= 1e+188) {
		tmp = (1.0 + (x / n)) - t_0;
	} else {
		tmp = (x / n) - (log1p((x + -1.0)) / n);
	}
	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) <= -5e-18) {
		tmp = (t_0 / n) / x;
	} else if ((1.0 / n) <= 2e-9) {
		tmp = Math.log1p((1.0 / x)) / n;
	} else if ((1.0 / n) <= 1e+188) {
		tmp = (1.0 + (x / n)) - t_0;
	} else {
		tmp = (x / n) - (Math.log1p((x + -1.0)) / n);
	}
	return tmp;
}
def code(x, n):
	t_0 = math.pow(x, (1.0 / n))
	tmp = 0
	if (1.0 / n) <= -5e-18:
		tmp = (t_0 / n) / x
	elif (1.0 / n) <= 2e-9:
		tmp = math.log1p((1.0 / x)) / n
	elif (1.0 / n) <= 1e+188:
		tmp = (1.0 + (x / n)) - t_0
	else:
		tmp = (x / n) - (math.log1p((x + -1.0)) / n)
	return tmp
function code(x, n)
	t_0 = x ^ Float64(1.0 / n)
	tmp = 0.0
	if (Float64(1.0 / n) <= -5e-18)
		tmp = Float64(Float64(t_0 / n) / x);
	elseif (Float64(1.0 / n) <= 2e-9)
		tmp = Float64(log1p(Float64(1.0 / x)) / n);
	elseif (Float64(1.0 / n) <= 1e+188)
		tmp = Float64(Float64(1.0 + Float64(x / n)) - t_0);
	else
		tmp = Float64(Float64(x / n) - Float64(log1p(Float64(x + -1.0)) / n));
	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], -5e-18], N[(N[(t$95$0 / n), $MachinePrecision] / x), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 2e-9], N[(N[Log[1 + N[(1.0 / x), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 1e+188], N[(N[(1.0 + N[(x / n), $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision], N[(N[(x / n), $MachinePrecision] - N[(N[Log[1 + N[(x + -1.0), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}

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

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

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (/.f64 #s(literal 1 binary64) n) < -5.00000000000000036e-18

    1. Initial program 93.8%

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

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

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

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

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

        \[\leadsto \frac{e^{\color{blue}{\frac{--1 \cdot \log x}{n}}}}{n \cdot x} \]
      5. mul-1-neg98.4%

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

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

        \[\leadsto \frac{e^{\frac{\log x}{n}}}{\color{blue}{x \cdot n}} \]
    5. Simplified98.4%

      \[\leadsto \color{blue}{\frac{e^{\frac{\log x}{n}}}{x \cdot n}} \]
    6. Taylor expanded in x around 0 98.4%

      \[\leadsto \color{blue}{\frac{e^{\frac{\log x}{n}}}{n \cdot x}} \]
    7. Step-by-step derivation
      1. associate-/r*98.4%

        \[\leadsto \color{blue}{\frac{\frac{e^{\frac{\log x}{n}}}{n}}{x}} \]
      2. *-lft-identity98.4%

        \[\leadsto \frac{\frac{e^{\frac{\color{blue}{1 \cdot \log x}}{n}}}{n}}{x} \]
      3. associate-*l/98.4%

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

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

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

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

    if -5.00000000000000036e-18 < (/.f64 #s(literal 1 binary64) n) < 2.00000000000000012e-9

    1. Initial program 31.7%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{e^{\mathsf{log1p}\left(x\right) - \log x} - 1}\right)}{n} \]
      5. log1p-undefine79.3%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(1 + x\right)} - \log x} - 1\right)}{n} \]
      6. log-div79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(\frac{1 + x}{x}\right)}} - 1\right)}{n} \]
      7. add-exp-log79.6%

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

      \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(\frac{1 + x}{x} - 1\right)}}{n} \]
    10. Step-by-step derivation
      1. *-lft-identity79.6%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\frac{1}{x} \cdot \left(1 + x\right)} - 1\right)}{n} \]
      3. distribute-lft-in77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\left(\frac{1}{x} \cdot 1 + \frac{1}{x} \cdot x\right)} - 1\right)}{n} \]
      4. *-rgt-identity77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\color{blue}{\frac{1}{x}} + \frac{1}{x} \cdot x\right) - 1\right)}{n} \]
      5. lft-mult-inverse79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\frac{1}{x} + \color{blue}{1}\right) - 1\right)}{n} \]
      6. associate--l+99.1%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\frac{1}{x} + \color{blue}{0}\right)}{n} \]
    11. Simplified99.1%

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

    if 2.00000000000000012e-9 < (/.f64 #s(literal 1 binary64) n) < 1e188

    1. Initial program 78.0%

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

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

    if 1e188 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 11.2%

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

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

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

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

      \[\leadsto \color{blue}{-1 \cdot \frac{\log x}{n} + \frac{x}{n}} \]
    7. Step-by-step derivation
      1. +-commutative16.0%

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

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

        \[\leadsto \color{blue}{\frac{x}{n} - \frac{\log x}{n}} \]
    8. Simplified16.0%

      \[\leadsto \color{blue}{\frac{x}{n} - \frac{\log x}{n}} \]
    9. Step-by-step derivation
      1. log1p-expm1-u91.9%

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

        \[\leadsto \frac{x}{n} - \frac{\mathsf{log1p}\left(\color{blue}{e^{\log x} - 1}\right)}{n} \]
      3. add-exp-log91.9%

        \[\leadsto \frac{x}{n} - \frac{\mathsf{log1p}\left(\color{blue}{x} - 1\right)}{n} \]
    10. Applied egg-rr91.9%

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-18}:\\ \;\;\;\;\frac{\frac{{x}^{\left(\frac{1}{n}\right)}}{n}}{x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\frac{1}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{+188}:\\ \;\;\;\;\left(1 + \frac{x}{n}\right) - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{n} - \frac{\mathsf{log1p}\left(x + -1\right)}{n}\\ \end{array} \]
  5. Add Preprocessing

Alternative 8: 94.1% accurate, 1.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-18}:\\ \;\;\;\;\frac{\frac{t\_0}{n}}{x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\frac{1}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{+188}:\\ \;\;\;\;1 - t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{n} - \frac{\mathsf{log1p}\left(x + -1\right)}{n}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (pow x (/ 1.0 n))))
   (if (<= (/ 1.0 n) -5e-18)
     (/ (/ t_0 n) x)
     (if (<= (/ 1.0 n) 2e-9)
       (/ (log1p (/ 1.0 x)) n)
       (if (<= (/ 1.0 n) 1e+188)
         (- 1.0 t_0)
         (- (/ x n) (/ (log1p (+ x -1.0)) n)))))))
double code(double x, double n) {
	double t_0 = pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -5e-18) {
		tmp = (t_0 / n) / x;
	} else if ((1.0 / n) <= 2e-9) {
		tmp = log1p((1.0 / x)) / n;
	} else if ((1.0 / n) <= 1e+188) {
		tmp = 1.0 - t_0;
	} else {
		tmp = (x / n) - (log1p((x + -1.0)) / n);
	}
	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) <= -5e-18) {
		tmp = (t_0 / n) / x;
	} else if ((1.0 / n) <= 2e-9) {
		tmp = Math.log1p((1.0 / x)) / n;
	} else if ((1.0 / n) <= 1e+188) {
		tmp = 1.0 - t_0;
	} else {
		tmp = (x / n) - (Math.log1p((x + -1.0)) / n);
	}
	return tmp;
}
def code(x, n):
	t_0 = math.pow(x, (1.0 / n))
	tmp = 0
	if (1.0 / n) <= -5e-18:
		tmp = (t_0 / n) / x
	elif (1.0 / n) <= 2e-9:
		tmp = math.log1p((1.0 / x)) / n
	elif (1.0 / n) <= 1e+188:
		tmp = 1.0 - t_0
	else:
		tmp = (x / n) - (math.log1p((x + -1.0)) / n)
	return tmp
function code(x, n)
	t_0 = x ^ Float64(1.0 / n)
	tmp = 0.0
	if (Float64(1.0 / n) <= -5e-18)
		tmp = Float64(Float64(t_0 / n) / x);
	elseif (Float64(1.0 / n) <= 2e-9)
		tmp = Float64(log1p(Float64(1.0 / x)) / n);
	elseif (Float64(1.0 / n) <= 1e+188)
		tmp = Float64(1.0 - t_0);
	else
		tmp = Float64(Float64(x / n) - Float64(log1p(Float64(x + -1.0)) / n));
	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], -5e-18], N[(N[(t$95$0 / n), $MachinePrecision] / x), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 2e-9], N[(N[Log[1 + N[(1.0 / x), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 1e+188], N[(1.0 - t$95$0), $MachinePrecision], N[(N[(x / n), $MachinePrecision] - N[(N[Log[1 + N[(x + -1.0), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision]), $MachinePrecision]]]]]
\begin{array}{l}

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

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

\mathbf{elif}\;\frac{1}{n} \leq 10^{+188}:\\
\;\;\;\;1 - t\_0\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (/.f64 #s(literal 1 binary64) n) < -5.00000000000000036e-18

    1. Initial program 93.8%

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

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

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

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

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

        \[\leadsto \frac{e^{\color{blue}{\frac{--1 \cdot \log x}{n}}}}{n \cdot x} \]
      5. mul-1-neg98.4%

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

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

        \[\leadsto \frac{e^{\frac{\log x}{n}}}{\color{blue}{x \cdot n}} \]
    5. Simplified98.4%

      \[\leadsto \color{blue}{\frac{e^{\frac{\log x}{n}}}{x \cdot n}} \]
    6. Taylor expanded in x around 0 98.4%

      \[\leadsto \color{blue}{\frac{e^{\frac{\log x}{n}}}{n \cdot x}} \]
    7. Step-by-step derivation
      1. associate-/r*98.4%

        \[\leadsto \color{blue}{\frac{\frac{e^{\frac{\log x}{n}}}{n}}{x}} \]
      2. *-lft-identity98.4%

        \[\leadsto \frac{\frac{e^{\frac{\color{blue}{1 \cdot \log x}}{n}}}{n}}{x} \]
      3. associate-*l/98.4%

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

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

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

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

    if -5.00000000000000036e-18 < (/.f64 #s(literal 1 binary64) n) < 2.00000000000000012e-9

    1. Initial program 31.7%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{e^{\mathsf{log1p}\left(x\right) - \log x} - 1}\right)}{n} \]
      5. log1p-undefine79.3%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(1 + x\right)} - \log x} - 1\right)}{n} \]
      6. log-div79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(\frac{1 + x}{x}\right)}} - 1\right)}{n} \]
      7. add-exp-log79.6%

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

      \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(\frac{1 + x}{x} - 1\right)}}{n} \]
    10. Step-by-step derivation
      1. *-lft-identity79.6%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\frac{1}{x} \cdot \left(1 + x\right)} - 1\right)}{n} \]
      3. distribute-lft-in77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\left(\frac{1}{x} \cdot 1 + \frac{1}{x} \cdot x\right)} - 1\right)}{n} \]
      4. *-rgt-identity77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\color{blue}{\frac{1}{x}} + \frac{1}{x} \cdot x\right) - 1\right)}{n} \]
      5. lft-mult-inverse79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\frac{1}{x} + \color{blue}{1}\right) - 1\right)}{n} \]
      6. associate--l+99.1%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\frac{1}{x} + \color{blue}{0}\right)}{n} \]
    11. Simplified99.1%

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

    if 2.00000000000000012e-9 < (/.f64 #s(literal 1 binary64) n) < 1e188

    1. Initial program 78.0%

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

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

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

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

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

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

    if 1e188 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 11.2%

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

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

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

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

      \[\leadsto \color{blue}{-1 \cdot \frac{\log x}{n} + \frac{x}{n}} \]
    7. Step-by-step derivation
      1. +-commutative16.0%

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

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

        \[\leadsto \color{blue}{\frac{x}{n} - \frac{\log x}{n}} \]
    8. Simplified16.0%

      \[\leadsto \color{blue}{\frac{x}{n} - \frac{\log x}{n}} \]
    9. Step-by-step derivation
      1. log1p-expm1-u91.9%

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

        \[\leadsto \frac{x}{n} - \frac{\mathsf{log1p}\left(\color{blue}{e^{\log x} - 1}\right)}{n} \]
      3. add-exp-log91.9%

        \[\leadsto \frac{x}{n} - \frac{\mathsf{log1p}\left(\color{blue}{x} - 1\right)}{n} \]
    10. Applied egg-rr91.9%

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-18}:\\ \;\;\;\;\frac{\frac{{x}^{\left(\frac{1}{n}\right)}}{n}}{x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\frac{1}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{+188}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{n} - \frac{\mathsf{log1p}\left(x + -1\right)}{n}\\ \end{array} \]
  5. Add Preprocessing

Alternative 9: 94.0% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-18}:\\ \;\;\;\;\frac{\frac{t\_0}{n}}{x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\frac{1}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{+188}:\\ \;\;\;\;1 - t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1 + \frac{\frac{0.3333333333333333}{x} + -0.5}{x}}{x}}{n}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (pow x (/ 1.0 n))))
   (if (<= (/ 1.0 n) -5e-18)
     (/ (/ t_0 n) x)
     (if (<= (/ 1.0 n) 2e-9)
       (/ (log1p (/ 1.0 x)) n)
       (if (<= (/ 1.0 n) 1e+188)
         (- 1.0 t_0)
         (/ (/ (+ 1.0 (/ (+ (/ 0.3333333333333333 x) -0.5) x)) x) n))))))
double code(double x, double n) {
	double t_0 = pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -5e-18) {
		tmp = (t_0 / n) / x;
	} else if ((1.0 / n) <= 2e-9) {
		tmp = log1p((1.0 / x)) / n;
	} else if ((1.0 / n) <= 1e+188) {
		tmp = 1.0 - t_0;
	} else {
		tmp = ((1.0 + (((0.3333333333333333 / x) + -0.5) / x)) / x) / n;
	}
	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) <= -5e-18) {
		tmp = (t_0 / n) / x;
	} else if ((1.0 / n) <= 2e-9) {
		tmp = Math.log1p((1.0 / x)) / n;
	} else if ((1.0 / n) <= 1e+188) {
		tmp = 1.0 - t_0;
	} else {
		tmp = ((1.0 + (((0.3333333333333333 / x) + -0.5) / x)) / x) / n;
	}
	return tmp;
}
def code(x, n):
	t_0 = math.pow(x, (1.0 / n))
	tmp = 0
	if (1.0 / n) <= -5e-18:
		tmp = (t_0 / n) / x
	elif (1.0 / n) <= 2e-9:
		tmp = math.log1p((1.0 / x)) / n
	elif (1.0 / n) <= 1e+188:
		tmp = 1.0 - t_0
	else:
		tmp = ((1.0 + (((0.3333333333333333 / x) + -0.5) / x)) / x) / n
	return tmp
function code(x, n)
	t_0 = x ^ Float64(1.0 / n)
	tmp = 0.0
	if (Float64(1.0 / n) <= -5e-18)
		tmp = Float64(Float64(t_0 / n) / x);
	elseif (Float64(1.0 / n) <= 2e-9)
		tmp = Float64(log1p(Float64(1.0 / x)) / n);
	elseif (Float64(1.0 / n) <= 1e+188)
		tmp = Float64(1.0 - t_0);
	else
		tmp = Float64(Float64(Float64(1.0 + Float64(Float64(Float64(0.3333333333333333 / x) + -0.5) / x)) / x) / n);
	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], -5e-18], N[(N[(t$95$0 / n), $MachinePrecision] / x), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 2e-9], N[(N[Log[1 + N[(1.0 / x), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 1e+188], N[(1.0 - t$95$0), $MachinePrecision], N[(N[(N[(1.0 + N[(N[(N[(0.3333333333333333 / x), $MachinePrecision] + -0.5), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision] / n), $MachinePrecision]]]]]
\begin{array}{l}

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

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

\mathbf{elif}\;\frac{1}{n} \leq 10^{+188}:\\
\;\;\;\;1 - t\_0\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{1 + \frac{\frac{0.3333333333333333}{x} + -0.5}{x}}{x}}{n}\\


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (/.f64 #s(literal 1 binary64) n) < -5.00000000000000036e-18

    1. Initial program 93.8%

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

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

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

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

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

        \[\leadsto \frac{e^{\color{blue}{\frac{--1 \cdot \log x}{n}}}}{n \cdot x} \]
      5. mul-1-neg98.4%

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

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

        \[\leadsto \frac{e^{\frac{\log x}{n}}}{\color{blue}{x \cdot n}} \]
    5. Simplified98.4%

      \[\leadsto \color{blue}{\frac{e^{\frac{\log x}{n}}}{x \cdot n}} \]
    6. Taylor expanded in x around 0 98.4%

      \[\leadsto \color{blue}{\frac{e^{\frac{\log x}{n}}}{n \cdot x}} \]
    7. Step-by-step derivation
      1. associate-/r*98.4%

        \[\leadsto \color{blue}{\frac{\frac{e^{\frac{\log x}{n}}}{n}}{x}} \]
      2. *-lft-identity98.4%

        \[\leadsto \frac{\frac{e^{\frac{\color{blue}{1 \cdot \log x}}{n}}}{n}}{x} \]
      3. associate-*l/98.4%

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

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

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

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

    if -5.00000000000000036e-18 < (/.f64 #s(literal 1 binary64) n) < 2.00000000000000012e-9

    1. Initial program 31.7%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{e^{\mathsf{log1p}\left(x\right) - \log x} - 1}\right)}{n} \]
      5. log1p-undefine79.3%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(1 + x\right)} - \log x} - 1\right)}{n} \]
      6. log-div79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(\frac{1 + x}{x}\right)}} - 1\right)}{n} \]
      7. add-exp-log79.6%

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

      \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(\frac{1 + x}{x} - 1\right)}}{n} \]
    10. Step-by-step derivation
      1. *-lft-identity79.6%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\frac{1}{x} \cdot \left(1 + x\right)} - 1\right)}{n} \]
      3. distribute-lft-in77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\left(\frac{1}{x} \cdot 1 + \frac{1}{x} \cdot x\right)} - 1\right)}{n} \]
      4. *-rgt-identity77.4%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\color{blue}{\frac{1}{x}} + \frac{1}{x} \cdot x\right) - 1\right)}{n} \]
      5. lft-mult-inverse79.6%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\frac{1}{x} + \color{blue}{1}\right) - 1\right)}{n} \]
      6. associate--l+99.1%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\frac{1}{x} + \color{blue}{0}\right)}{n} \]
    11. Simplified99.1%

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

    if 2.00000000000000012e-9 < (/.f64 #s(literal 1 binary64) n) < 1e188

    1. Initial program 78.0%

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

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

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

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

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

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

    if 1e188 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 11.2%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\frac{1 + \left(\frac{0.3333333333333333 \cdot \frac{1}{x}}{x} - \frac{\color{blue}{0.5}}{x}\right)}{x}}{n} \]
      8. div-sub84.8%

        \[\leadsto \frac{\frac{1 + \color{blue}{\frac{0.3333333333333333 \cdot \frac{1}{x} - 0.5}{x}}}{x}}{n} \]
      9. sub-neg84.8%

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

        \[\leadsto \frac{\frac{1 + \frac{\color{blue}{\frac{0.3333333333333333 \cdot 1}{x}} + \left(-0.5\right)}{x}}{x}}{n} \]
      11. metadata-eval84.8%

        \[\leadsto \frac{\frac{1 + \frac{\frac{\color{blue}{0.3333333333333333}}{x} + \left(-0.5\right)}{x}}{x}}{n} \]
      12. metadata-eval84.8%

        \[\leadsto \frac{\frac{1 + \frac{\frac{0.3333333333333333}{x} + \color{blue}{-0.5}}{x}}{x}}{n} \]
    10. Simplified84.8%

      \[\leadsto \frac{\color{blue}{\frac{1 + \frac{\frac{0.3333333333333333}{x} + -0.5}{x}}{x}}}{n} \]
  3. Recombined 4 regimes into one program.
  4. Final simplification96.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-18}:\\ \;\;\;\;\frac{\frac{{x}^{\left(\frac{1}{n}\right)}}{n}}{x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\frac{1}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{+188}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1 + \frac{\frac{0.3333333333333333}{x} + -0.5}{x}}{x}}{n}\\ \end{array} \]
  5. Add Preprocessing

Alternative 10: 80.1% accurate, 1.7× speedup?

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

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

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

\mathbf{elif}\;\frac{1}{n} \leq 10^{+188}:\\
\;\;\;\;t\_0\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{1 + \frac{\frac{0.3333333333333333}{x} + -0.5}{x}}{x}}{n}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 #s(literal 1 binary64) n) < -0.0200000000000000004 or 2.00000000000000012e-9 < (/.f64 #s(literal 1 binary64) n) < 1e188

    1. Initial program 93.8%

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

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

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

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

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

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

    if -0.0200000000000000004 < (/.f64 #s(literal 1 binary64) n) < 2.00000000000000012e-9

    1. Initial program 31.2%

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(1 + x\right)} - \log x} - 1\right)}{n} \]
      6. log-div78.3%

        \[\leadsto \frac{\mathsf{log1p}\left(e^{\color{blue}{\log \left(\frac{1 + x}{x}\right)}} - 1\right)}{n} \]
      7. add-exp-log78.3%

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\frac{1 + x}{x}} - 1\right)}{n} \]
    9. Applied egg-rr78.3%

      \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(\frac{1 + x}{x} - 1\right)}}{n} \]
    10. Step-by-step derivation
      1. *-lft-identity78.3%

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

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\frac{1}{x} \cdot \left(1 + x\right)} - 1\right)}{n} \]
      3. distribute-lft-in76.1%

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\left(\frac{1}{x} \cdot 1 + \frac{1}{x} \cdot x\right)} - 1\right)}{n} \]
      4. *-rgt-identity76.1%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\color{blue}{\frac{1}{x}} + \frac{1}{x} \cdot x\right) - 1\right)}{n} \]
      5. lft-mult-inverse78.3%

        \[\leadsto \frac{\mathsf{log1p}\left(\left(\frac{1}{x} + \color{blue}{1}\right) - 1\right)}{n} \]
      6. associate--l+98.5%

        \[\leadsto \frac{\mathsf{log1p}\left(\color{blue}{\frac{1}{x} + \left(1 - 1\right)}\right)}{n} \]
      7. metadata-eval98.5%

        \[\leadsto \frac{\mathsf{log1p}\left(\frac{1}{x} + \color{blue}{0}\right)}{n} \]
    11. Simplified98.5%

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

    if 1e188 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 11.2%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\frac{1 + \left(\frac{0.3333333333333333 \cdot \frac{1}{x}}{x} - \frac{\color{blue}{0.5}}{x}\right)}{x}}{n} \]
      8. div-sub84.8%

        \[\leadsto \frac{\frac{1 + \color{blue}{\frac{0.3333333333333333 \cdot \frac{1}{x} - 0.5}{x}}}{x}}{n} \]
      9. sub-neg84.8%

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

        \[\leadsto \frac{\frac{1 + \frac{\color{blue}{\frac{0.3333333333333333 \cdot 1}{x}} + \left(-0.5\right)}{x}}{x}}{n} \]
      11. metadata-eval84.8%

        \[\leadsto \frac{\frac{1 + \frac{\frac{\color{blue}{0.3333333333333333}}{x} + \left(-0.5\right)}{x}}{x}}{n} \]
      12. metadata-eval84.8%

        \[\leadsto \frac{\frac{1 + \frac{\frac{0.3333333333333333}{x} + \color{blue}{-0.5}}{x}}{x}}{n} \]
    10. Simplified84.8%

      \[\leadsto \frac{\color{blue}{\frac{1 + \frac{\frac{0.3333333333333333}{x} + -0.5}{x}}{x}}}{n} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification86.9%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -0.02:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\mathsf{log1p}\left(\frac{1}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{+188}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1 + \frac{\frac{0.3333333333333333}{x} + -0.5}{x}}{x}}{n}\\ \end{array} \]
  5. Add Preprocessing

Alternative 11: 68.5% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := 1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{+198}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-9}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{+188}:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1 + \frac{\frac{0.3333333333333333}{x} + -0.5}{x}}{x}}{n}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (- 1.0 (pow x (/ 1.0 n)))))
   (if (<= (/ 1.0 n) -1e+198)
     t_0
     (if (<= (/ 1.0 n) 2e-9)
       (/ (log (/ (+ 1.0 x) x)) n)
       (if (<= (/ 1.0 n) 1e+188)
         t_0
         (/ (/ (+ 1.0 (/ (+ (/ 0.3333333333333333 x) -0.5) x)) x) n))))))
double code(double x, double n) {
	double t_0 = 1.0 - pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -1e+198) {
		tmp = t_0;
	} else if ((1.0 / n) <= 2e-9) {
		tmp = log(((1.0 + x) / x)) / n;
	} else if ((1.0 / n) <= 1e+188) {
		tmp = t_0;
	} else {
		tmp = ((1.0 + (((0.3333333333333333 / x) + -0.5) / x)) / x) / n;
	}
	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 = 1.0d0 - (x ** (1.0d0 / n))
    if ((1.0d0 / n) <= (-1d+198)) then
        tmp = t_0
    else if ((1.0d0 / n) <= 2d-9) then
        tmp = log(((1.0d0 + x) / x)) / n
    else if ((1.0d0 / n) <= 1d+188) then
        tmp = t_0
    else
        tmp = ((1.0d0 + (((0.3333333333333333d0 / x) + (-0.5d0)) / x)) / x) / n
    end if
    code = tmp
end function
public static double code(double x, double n) {
	double t_0 = 1.0 - Math.pow(x, (1.0 / n));
	double tmp;
	if ((1.0 / n) <= -1e+198) {
		tmp = t_0;
	} else if ((1.0 / n) <= 2e-9) {
		tmp = Math.log(((1.0 + x) / x)) / n;
	} else if ((1.0 / n) <= 1e+188) {
		tmp = t_0;
	} else {
		tmp = ((1.0 + (((0.3333333333333333 / x) + -0.5) / x)) / x) / n;
	}
	return tmp;
}
def code(x, n):
	t_0 = 1.0 - math.pow(x, (1.0 / n))
	tmp = 0
	if (1.0 / n) <= -1e+198:
		tmp = t_0
	elif (1.0 / n) <= 2e-9:
		tmp = math.log(((1.0 + x) / x)) / n
	elif (1.0 / n) <= 1e+188:
		tmp = t_0
	else:
		tmp = ((1.0 + (((0.3333333333333333 / x) + -0.5) / x)) / x) / n
	return tmp
function code(x, n)
	t_0 = Float64(1.0 - (x ^ Float64(1.0 / n)))
	tmp = 0.0
	if (Float64(1.0 / n) <= -1e+198)
		tmp = t_0;
	elseif (Float64(1.0 / n) <= 2e-9)
		tmp = Float64(log(Float64(Float64(1.0 + x) / x)) / n);
	elseif (Float64(1.0 / n) <= 1e+188)
		tmp = t_0;
	else
		tmp = Float64(Float64(Float64(1.0 + Float64(Float64(Float64(0.3333333333333333 / x) + -0.5) / x)) / x) / n);
	end
	return tmp
end
function tmp_2 = code(x, n)
	t_0 = 1.0 - (x ^ (1.0 / n));
	tmp = 0.0;
	if ((1.0 / n) <= -1e+198)
		tmp = t_0;
	elseif ((1.0 / n) <= 2e-9)
		tmp = log(((1.0 + x) / x)) / n;
	elseif ((1.0 / n) <= 1e+188)
		tmp = t_0;
	else
		tmp = ((1.0 + (((0.3333333333333333 / x) + -0.5) / x)) / x) / n;
	end
	tmp_2 = tmp;
end
code[x_, n_] := Block[{t$95$0 = N[(1.0 - N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(1.0 / n), $MachinePrecision], -1e+198], t$95$0, If[LessEqual[N[(1.0 / n), $MachinePrecision], 2e-9], N[(N[Log[N[(N[(1.0 + x), $MachinePrecision] / x), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 1e+188], t$95$0, N[(N[(N[(1.0 + N[(N[(N[(0.3333333333333333 / x), $MachinePrecision] + -0.5), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision] / n), $MachinePrecision]]]]]
\begin{array}{l}

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

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

\mathbf{elif}\;\frac{1}{n} \leq 10^{+188}:\\
\;\;\;\;t\_0\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{1 + \frac{\frac{0.3333333333333333}{x} + -0.5}{x}}{x}}{n}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (/.f64 #s(literal 1 binary64) n) < -1.00000000000000002e198 or 2.00000000000000012e-9 < (/.f64 #s(literal 1 binary64) n) < 1e188

    1. Initial program 91.1%

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

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

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

        \[\leadsto 1 - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      3. exp-to-pow74.5%

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

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

    if -1.00000000000000002e198 < (/.f64 #s(literal 1 binary64) n) < 2.00000000000000012e-9

    1. Initial program 42.3%

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

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

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

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

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

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

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

    if 1e188 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 11.2%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{\frac{1 + \left(\frac{0.3333333333333333 \cdot \frac{1}{x}}{x} - \frac{\color{blue}{0.5}}{x}\right)}{x}}{n} \]
      8. div-sub84.8%

        \[\leadsto \frac{\frac{1 + \color{blue}{\frac{0.3333333333333333 \cdot \frac{1}{x} - 0.5}{x}}}{x}}{n} \]
      9. sub-neg84.8%

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

        \[\leadsto \frac{\frac{1 + \frac{\color{blue}{\frac{0.3333333333333333 \cdot 1}{x}} + \left(-0.5\right)}{x}}{x}}{n} \]
      11. metadata-eval84.8%

        \[\leadsto \frac{\frac{1 + \frac{\frac{\color{blue}{0.3333333333333333}}{x} + \left(-0.5\right)}{x}}{x}}{n} \]
      12. metadata-eval84.8%

        \[\leadsto \frac{\frac{1 + \frac{\frac{0.3333333333333333}{x} + \color{blue}{-0.5}}{x}}{x}}{n} \]
    10. Simplified84.8%

      \[\leadsto \frac{\color{blue}{\frac{1 + \frac{\frac{0.3333333333333333}{x} + -0.5}{x}}{x}}}{n} \]
  3. Recombined 3 regimes into one program.
  4. Add Preprocessing

Alternative 12: 60.5% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 0.9:\\ \;\;\;\;\frac{x - \log x}{n}\\ \mathbf{elif}\;x \leq 3.3 \cdot 10^{+152}:\\ \;\;\;\;\frac{\frac{1 + \frac{\frac{0.3333333333333333 - \frac{1}{x} \cdot 0.25}{x} - 0.5}{x}}{x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (if (<= x 0.9)
   (/ (- x (log x)) n)
   (if (<= x 3.3e+152)
     (/
      (/
       (+ 1.0 (/ (- (/ (- 0.3333333333333333 (* (/ 1.0 x) 0.25)) x) 0.5) x))
       x)
      n)
     (/ 0.0 n))))
double code(double x, double n) {
	double tmp;
	if (x <= 0.9) {
		tmp = (x - log(x)) / n;
	} else if (x <= 3.3e+152) {
		tmp = ((1.0 + ((((0.3333333333333333 - ((1.0 / x) * 0.25)) / 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.9d0) then
        tmp = (x - log(x)) / n
    else if (x <= 3.3d+152) then
        tmp = ((1.0d0 + ((((0.3333333333333333d0 - ((1.0d0 / x) * 0.25d0)) / 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.9) {
		tmp = (x - Math.log(x)) / n;
	} else if (x <= 3.3e+152) {
		tmp = ((1.0 + ((((0.3333333333333333 - ((1.0 / x) * 0.25)) / x) - 0.5) / x)) / x) / n;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
def code(x, n):
	tmp = 0
	if x <= 0.9:
		tmp = (x - math.log(x)) / n
	elif x <= 3.3e+152:
		tmp = ((1.0 + ((((0.3333333333333333 - ((1.0 / x) * 0.25)) / x) - 0.5) / x)) / x) / n
	else:
		tmp = 0.0 / n
	return tmp
function code(x, n)
	tmp = 0.0
	if (x <= 0.9)
		tmp = Float64(Float64(x - log(x)) / n);
	elseif (x <= 3.3e+152)
		tmp = Float64(Float64(Float64(1.0 + Float64(Float64(Float64(Float64(0.3333333333333333 - Float64(Float64(1.0 / x) * 0.25)) / x) - 0.5) / 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.9)
		tmp = (x - log(x)) / n;
	elseif (x <= 3.3e+152)
		tmp = ((1.0 + ((((0.3333333333333333 - ((1.0 / x) * 0.25)) / x) - 0.5) / x)) / x) / n;
	else
		tmp = 0.0 / n;
	end
	tmp_2 = tmp;
end
code[x_, n_] := If[LessEqual[x, 0.9], N[(N[(x - N[Log[x], $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision], If[LessEqual[x, 3.3e+152], N[(N[(N[(1.0 + N[(N[(N[(N[(0.3333333333333333 - N[(N[(1.0 / x), $MachinePrecision] * 0.25), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision] - 0.5), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision] / n), $MachinePrecision], N[(0.0 / n), $MachinePrecision]]]
\begin{array}{l}

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

\mathbf{elif}\;x \leq 3.3 \cdot 10^{+152}:\\
\;\;\;\;\frac{\frac{1 + \frac{\frac{0.3333333333333333 - \frac{1}{x} \cdot 0.25}{x} - 0.5}{x}}{x}}{n}\\

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


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

    1. Initial program 37.3%

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

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

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

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

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

    if 0.900000000000000022 < x < 3.3000000000000001e152

    1. Initial program 36.6%

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

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

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

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

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

    if 3.3000000000000001e152 < x

    1. Initial program 92.8%

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

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

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 0.9:\\ \;\;\;\;\frac{x - \log x}{n}\\ \mathbf{elif}\;x \leq 3.3 \cdot 10^{+152}:\\ \;\;\;\;\frac{\frac{1 + \frac{\frac{0.3333333333333333 - \frac{1}{x} \cdot 0.25}{x} - 0.5}{x}}{x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \]
  5. Add Preprocessing

Alternative 13: 60.2% accurate, 1.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 0.7:\\ \;\;\;\;-\frac{\log x}{n}\\ \mathbf{elif}\;x \leq 2.6 \cdot 10^{+153}:\\ \;\;\;\;\frac{\frac{1 + \frac{\frac{0.3333333333333333 - \frac{1}{x} \cdot 0.25}{x} - 0.5}{x}}{x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (if (<= x 0.7)
   (- (/ (log x) n))
   (if (<= x 2.6e+153)
     (/
      (/
       (+ 1.0 (/ (- (/ (- 0.3333333333333333 (* (/ 1.0 x) 0.25)) x) 0.5) x))
       x)
      n)
     (/ 0.0 n))))
double code(double x, double n) {
	double tmp;
	if (x <= 0.7) {
		tmp = -(log(x) / n);
	} else if (x <= 2.6e+153) {
		tmp = ((1.0 + ((((0.3333333333333333 - ((1.0 / x) * 0.25)) / 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.7d0) then
        tmp = -(log(x) / n)
    else if (x <= 2.6d+153) then
        tmp = ((1.0d0 + ((((0.3333333333333333d0 - ((1.0d0 / x) * 0.25d0)) / 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.7) {
		tmp = -(Math.log(x) / n);
	} else if (x <= 2.6e+153) {
		tmp = ((1.0 + ((((0.3333333333333333 - ((1.0 / x) * 0.25)) / x) - 0.5) / x)) / x) / n;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
def code(x, n):
	tmp = 0
	if x <= 0.7:
		tmp = -(math.log(x) / n)
	elif x <= 2.6e+153:
		tmp = ((1.0 + ((((0.3333333333333333 - ((1.0 / x) * 0.25)) / x) - 0.5) / x)) / x) / n
	else:
		tmp = 0.0 / n
	return tmp
function code(x, n)
	tmp = 0.0
	if (x <= 0.7)
		tmp = Float64(-Float64(log(x) / n));
	elseif (x <= 2.6e+153)
		tmp = Float64(Float64(Float64(1.0 + Float64(Float64(Float64(Float64(0.3333333333333333 - Float64(Float64(1.0 / x) * 0.25)) / x) - 0.5) / 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.7)
		tmp = -(log(x) / n);
	elseif (x <= 2.6e+153)
		tmp = ((1.0 + ((((0.3333333333333333 - ((1.0 / x) * 0.25)) / x) - 0.5) / x)) / x) / n;
	else
		tmp = 0.0 / n;
	end
	tmp_2 = tmp;
end
code[x_, n_] := If[LessEqual[x, 0.7], (-N[(N[Log[x], $MachinePrecision] / n), $MachinePrecision]), If[LessEqual[x, 2.6e+153], N[(N[(N[(1.0 + N[(N[(N[(N[(0.3333333333333333 - N[(N[(1.0 / x), $MachinePrecision] * 0.25), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision] - 0.5), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision] / n), $MachinePrecision], N[(0.0 / n), $MachinePrecision]]]
\begin{array}{l}

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

\mathbf{elif}\;x \leq 2.6 \cdot 10^{+153}:\\
\;\;\;\;\frac{\frac{1 + \frac{\frac{0.3333333333333333 - \frac{1}{x} \cdot 0.25}{x} - 0.5}{x}}{x}}{n}\\

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


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

    1. Initial program 37.6%

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

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

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

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

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

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

      \[\leadsto \color{blue}{-1 \cdot \frac{\log x}{n}} \]
    7. Step-by-step derivation
      1. associate-*r/58.7%

        \[\leadsto \color{blue}{\frac{-1 \cdot \log x}{n}} \]
      2. neg-mul-158.7%

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

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

    if 0.69999999999999996 < x < 2.5999999999999999e153

    1. Initial program 36.0%

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

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

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

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

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

    if 2.5999999999999999e153 < x

    1. Initial program 92.8%

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

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

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 0.7:\\ \;\;\;\;-\frac{\log x}{n}\\ \mathbf{elif}\;x \leq 2.6 \cdot 10^{+153}:\\ \;\;\;\;\frac{\frac{1 + \frac{\frac{0.3333333333333333 - \frac{1}{x} \cdot 0.25}{x} - 0.5}{x}}{x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \]
  5. Add Preprocessing

Alternative 14: 49.3% accurate, 9.6× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;x \leq 2.5 \cdot 10^{+153}:\\ \;\;\;\;\frac{\frac{1}{n} + \frac{\frac{0.3333333333333333}{n \cdot x} + \frac{-0.5}{n}}{x}}{x}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (if (<= x 2.5e+153)
   (/ (+ (/ 1.0 n) (/ (+ (/ 0.3333333333333333 (* n x)) (/ -0.5 n)) x)) x)
   (/ 0.0 n)))
double code(double x, double n) {
	double tmp;
	if (x <= 2.5e+153) {
		tmp = ((1.0 / n) + (((0.3333333333333333 / (n * x)) + (-0.5 / n)) / x)) / x;
	} 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 <= 2.5d+153) then
        tmp = ((1.0d0 / n) + (((0.3333333333333333d0 / (n * x)) + ((-0.5d0) / n)) / x)) / x
    else
        tmp = 0.0d0 / n
    end if
    code = tmp
end function
public static double code(double x, double n) {
	double tmp;
	if (x <= 2.5e+153) {
		tmp = ((1.0 / n) + (((0.3333333333333333 / (n * x)) + (-0.5 / n)) / x)) / x;
	} else {
		tmp = 0.0 / n;
	}
	return tmp;
}
def code(x, n):
	tmp = 0
	if x <= 2.5e+153:
		tmp = ((1.0 / n) + (((0.3333333333333333 / (n * x)) + (-0.5 / n)) / x)) / x
	else:
		tmp = 0.0 / n
	return tmp
function code(x, n)
	tmp = 0.0
	if (x <= 2.5e+153)
		tmp = Float64(Float64(Float64(1.0 / n) + Float64(Float64(Float64(0.3333333333333333 / Float64(n * x)) + Float64(-0.5 / n)) / x)) / x);
	else
		tmp = Float64(0.0 / n);
	end
	return tmp
end
function tmp_2 = code(x, n)
	tmp = 0.0;
	if (x <= 2.5e+153)
		tmp = ((1.0 / n) + (((0.3333333333333333 / (n * x)) + (-0.5 / n)) / x)) / x;
	else
		tmp = 0.0 / n;
	end
	tmp_2 = tmp;
end
code[x_, n_] := If[LessEqual[x, 2.5e+153], N[(N[(N[(1.0 / n), $MachinePrecision] + N[(N[(N[(0.3333333333333333 / N[(n * x), $MachinePrecision]), $MachinePrecision] + N[(-0.5 / n), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision], N[(0.0 / n), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;x \leq 2.5 \cdot 10^{+153}:\\
\;\;\;\;\frac{\frac{1}{n} + \frac{\frac{0.3333333333333333}{n \cdot x} + \frac{-0.5}{n}}{x}}{x}\\

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


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

    1. Initial program 37.1%

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{\left(\frac{0.3333333333333333}{n \cdot {x}^{2}} + \frac{1}{n}\right) - \frac{0.5}{n \cdot x}}{x}} \]
    9. Step-by-step derivation
      1. Simplified44.0%

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

      if 2.50000000000000009e153 < x

      1. Initial program 92.8%

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

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

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

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

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

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

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

        \[\leadsto \frac{\log \color{blue}{1}}{n} \]
    10. Recombined 2 regimes into one program.
    11. Final simplification54.3%

      \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 2.5 \cdot 10^{+153}:\\ \;\;\;\;\frac{\frac{1}{n} + \frac{\frac{0.3333333333333333}{n \cdot x} + \frac{-0.5}{n}}{x}}{x}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \]
    12. Add Preprocessing

    Alternative 15: 45.6% accurate, 12.4× speedup?

    \[\begin{array}{l} \\ \frac{\frac{1}{n} + \frac{\frac{0.3333333333333333}{n \cdot x} + \frac{-0.5}{n}}{x}}{x} \end{array} \]
    (FPCore (x n)
     :precision binary64
     (/ (+ (/ 1.0 n) (/ (+ (/ 0.3333333333333333 (* n x)) (/ -0.5 n)) x)) x))
    double code(double x, double n) {
    	return ((1.0 / n) + (((0.3333333333333333 / (n * x)) + (-0.5 / n)) / x)) / x;
    }
    
    real(8) function code(x, n)
        real(8), intent (in) :: x
        real(8), intent (in) :: n
        code = ((1.0d0 / n) + (((0.3333333333333333d0 / (n * x)) + ((-0.5d0) / n)) / x)) / x
    end function
    
    public static double code(double x, double n) {
    	return ((1.0 / n) + (((0.3333333333333333 / (n * x)) + (-0.5 / n)) / x)) / x;
    }
    
    def code(x, n):
    	return ((1.0 / n) + (((0.3333333333333333 / (n * x)) + (-0.5 / n)) / x)) / x
    
    function code(x, n)
    	return Float64(Float64(Float64(1.0 / n) + Float64(Float64(Float64(0.3333333333333333 / Float64(n * x)) + Float64(-0.5 / n)) / x)) / x)
    end
    
    function tmp = code(x, n)
    	tmp = ((1.0 / n) + (((0.3333333333333333 / (n * x)) + (-0.5 / n)) / x)) / x;
    end
    
    code[x_, n_] := N[(N[(N[(1.0 / n), $MachinePrecision] + N[(N[(N[(0.3333333333333333 / N[(n * x), $MachinePrecision]), $MachinePrecision] + N[(-0.5 / n), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]
    
    \begin{array}{l}
    
    \\
    \frac{\frac{1}{n} + \frac{\frac{0.3333333333333333}{n \cdot x} + \frac{-0.5}{n}}{x}}{x}
    \end{array}
    
    Derivation
    1. Initial program 48.8%

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

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

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

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

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

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

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

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

        \[\leadsto \color{blue}{\frac{\frac{1}{n} + \frac{\frac{0.3333333333333333}{x \cdot n} + \frac{-0.5}{n}}{x}}{x}} \]
      2. Final simplification50.1%

        \[\leadsto \frac{\frac{1}{n} + \frac{\frac{0.3333333333333333}{n \cdot x} + \frac{-0.5}{n}}{x}}{x} \]
      3. Add Preprocessing

      Alternative 16: 45.6% accurate, 16.2× speedup?

      \[\begin{array}{l} \\ \frac{\frac{1 + \frac{\frac{0.3333333333333333}{x} + -0.5}{x}}{x}}{n} \end{array} \]
      (FPCore (x n)
       :precision binary64
       (/ (/ (+ 1.0 (/ (+ (/ 0.3333333333333333 x) -0.5) x)) x) n))
      double code(double x, double n) {
      	return ((1.0 + (((0.3333333333333333 / x) + -0.5) / x)) / x) / n;
      }
      
      real(8) function code(x, n)
          real(8), intent (in) :: x
          real(8), intent (in) :: n
          code = ((1.0d0 + (((0.3333333333333333d0 / x) + (-0.5d0)) / x)) / x) / n
      end function
      
      public static double code(double x, double n) {
      	return ((1.0 + (((0.3333333333333333 / x) + -0.5) / x)) / x) / n;
      }
      
      def code(x, n):
      	return ((1.0 + (((0.3333333333333333 / x) + -0.5) / x)) / x) / n
      
      function code(x, n)
      	return Float64(Float64(Float64(1.0 + Float64(Float64(Float64(0.3333333333333333 / x) + -0.5) / x)) / x) / n)
      end
      
      function tmp = code(x, n)
      	tmp = ((1.0 + (((0.3333333333333333 / x) + -0.5) / x)) / x) / n;
      end
      
      code[x_, n_] := N[(N[(N[(1.0 + N[(N[(N[(0.3333333333333333 / x), $MachinePrecision] + -0.5), $MachinePrecision] / x), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision] / n), $MachinePrecision]
      
      \begin{array}{l}
      
      \\
      \frac{\frac{1 + \frac{\frac{0.3333333333333333}{x} + -0.5}{x}}{x}}{n}
      \end{array}
      
      Derivation
      1. Initial program 48.8%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          \[\leadsto \frac{\frac{1 + \left(\frac{0.3333333333333333 \cdot \frac{1}{x}}{x} - \frac{\color{blue}{0.5}}{x}\right)}{x}}{n} \]
        8. div-sub50.1%

          \[\leadsto \frac{\frac{1 + \color{blue}{\frac{0.3333333333333333 \cdot \frac{1}{x} - 0.5}{x}}}{x}}{n} \]
        9. sub-neg50.1%

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

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

          \[\leadsto \frac{\frac{1 + \frac{\frac{\color{blue}{0.3333333333333333}}{x} + \left(-0.5\right)}{x}}{x}}{n} \]
        12. metadata-eval50.1%

          \[\leadsto \frac{\frac{1 + \frac{\frac{0.3333333333333333}{x} + \color{blue}{-0.5}}{x}}{x}}{n} \]
      10. Simplified50.1%

        \[\leadsto \frac{\color{blue}{\frac{1 + \frac{\frac{0.3333333333333333}{x} + -0.5}{x}}{x}}}{n} \]
      11. Add Preprocessing

      Alternative 17: 39.9% accurate, 42.2× speedup?

      \[\begin{array}{l} \\ \frac{\frac{1}{x}}{n} \end{array} \]
      (FPCore (x n) :precision binary64 (/ (/ 1.0 x) n))
      double code(double x, double n) {
      	return (1.0 / x) / n;
      }
      
      real(8) function code(x, n)
          real(8), intent (in) :: x
          real(8), intent (in) :: n
          code = (1.0d0 / x) / n
      end function
      
      public static double code(double x, double n) {
      	return (1.0 / x) / n;
      }
      
      def code(x, n):
      	return (1.0 / x) / n
      
      function code(x, n)
      	return Float64(Float64(1.0 / x) / n)
      end
      
      function tmp = code(x, n)
      	tmp = (1.0 / x) / n;
      end
      
      code[x_, n_] := N[(N[(1.0 / x), $MachinePrecision] / n), $MachinePrecision]
      
      \begin{array}{l}
      
      \\
      \frac{\frac{1}{x}}{n}
      \end{array}
      
      Derivation
      1. Initial program 48.8%

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

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

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

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

        \[\leadsto \frac{\color{blue}{\frac{1}{x}}}{n} \]
      7. Add Preprocessing

      Alternative 18: 39.3% 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 48.8%

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

        \[\leadsto \color{blue}{\frac{e^{-1 \cdot \frac{\log \left(\frac{1}{x}\right)}{n}}}{n \cdot x}} \]
      4. Step-by-step derivation
        1. mul-1-neg58.2%

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

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

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

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

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

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

          \[\leadsto \frac{e^{\frac{\log x}{n}}}{\color{blue}{x \cdot n}} \]
      5. Simplified58.2%

        \[\leadsto \color{blue}{\frac{e^{\frac{\log x}{n}}}{x \cdot n}} \]
      6. Taylor expanded in n around inf 45.9%

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

          \[\leadsto \frac{1}{\color{blue}{x \cdot n}} \]
      8. Simplified45.9%

        \[\leadsto \color{blue}{\frac{1}{x \cdot n}} \]
      9. Final simplification45.9%

        \[\leadsto \frac{1}{n \cdot x} \]
      10. Add Preprocessing

      Alternative 19: 4.6% accurate, 70.3× speedup?

      \[\begin{array}{l} \\ \frac{x}{n} \end{array} \]
      (FPCore (x n) :precision binary64 (/ x n))
      double code(double x, double n) {
      	return x / n;
      }
      
      real(8) function code(x, n)
          real(8), intent (in) :: x
          real(8), intent (in) :: n
          code = x / n
      end function
      
      public static double code(double x, double n) {
      	return x / n;
      }
      
      def code(x, n):
      	return x / n
      
      function code(x, n)
      	return Float64(x / n)
      end
      
      function tmp = code(x, n)
      	tmp = x / n;
      end
      
      code[x_, n_] := N[(x / n), $MachinePrecision]
      
      \begin{array}{l}
      
      \\
      \frac{x}{n}
      \end{array}
      
      Derivation
      1. Initial program 48.8%

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

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

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

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

        \[\leadsto \color{blue}{-1 \cdot \frac{\log x}{n} + \frac{x}{n}} \]
      7. Step-by-step derivation
        1. +-commutative34.2%

          \[\leadsto \color{blue}{\frac{x}{n} + -1 \cdot \frac{\log x}{n}} \]
        2. mul-1-neg34.2%

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

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

        \[\leadsto \color{blue}{\frac{x}{n} - \frac{\log x}{n}} \]
      9. Taylor expanded in x around inf 5.1%

        \[\leadsto \color{blue}{\frac{x}{n}} \]
      10. Add Preprocessing

      Reproduce

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