2nthrt (problem 3.4.6)

Percentage Accurate: 52.8% → 84.6%
Time: 50.5s
Alternatives: 17
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 17 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: 52.8% 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: 84.6% accurate, 0.3× speedup?

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

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

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

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

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

\mathbf{elif}\;\frac{1}{n} \leq 200000:\\
\;\;\;\;t\_1\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if (/.f64 1 n) < -5.00000000000000009e-88 or 1.99999999999999996e-12 < (/.f64 1 n) < 2e5

    1. Initial program 71.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 inf 90.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. log-rec90.2%

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

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

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

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

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

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

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

        \[\leadsto \frac{\color{blue}{{x}^{\left(\frac{1}{n}\right)}}}{n \cdot x} \]
      9. *-commutative90.3%

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

      \[\leadsto \color{blue}{\frac{{x}^{\left(\frac{1}{n}\right)}}{x \cdot n}} \]
    6. Step-by-step derivation
      1. *-un-lft-identity90.3%

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

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

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

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

      \[\leadsto \color{blue}{1 \cdot \frac{{x}^{\left(\frac{1}{n} - 1\right)}}{n}} \]
    8. Step-by-step derivation
      1. *-lft-identity90.9%

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

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

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

      \[\leadsto \color{blue}{\frac{{x}^{\left(\frac{1}{n} + -1\right)}}{n}} \]
    10. Step-by-step derivation
      1. +-commutative90.9%

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

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

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

      \[\leadsto \frac{\color{blue}{\frac{1}{x} \cdot {x}^{\left(\frac{1}{n}\right)}}}{n} \]
    12. Step-by-step derivation
      1. associate-*l/91.3%

        \[\leadsto \frac{\color{blue}{\frac{1 \cdot {x}^{\left(\frac{1}{n}\right)}}{x}}}{n} \]
      2. *-lft-identity91.3%

        \[\leadsto \frac{\frac{\color{blue}{{x}^{\left(\frac{1}{n}\right)}}}{x}}{n} \]
    13. Simplified91.3%

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

    if -5.00000000000000009e-88 < (/.f64 1 n) < 5.0000000000000001e-101

    1. Initial program 38.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 90.1%

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

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

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

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

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

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

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

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

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

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

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

    if 5.0000000000000001e-101 < (/.f64 1 n) < 2.0000000000000001e-33

    1. Initial program 4.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 39.1%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if 2.0000000000000001e-33 < (/.f64 1 n) < 1.99999999999999996e-12

    1. Initial program 15.9%

      \[{\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.8%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \log \left(1 - {\left(\frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n}\right)}^{2}\right) - \log \left(1 - \frac{\log \left(\frac{1 + x}{x}\right)}{n}\right) \]
      7. log-div15.9%

        \[\leadsto \log \left(1 - {\left(\frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right)}^{2}\right) - \log \left(1 - \frac{\color{blue}{\log \left(1 + x\right) - \log x}}{n}\right) \]
      8. log1p-define15.9%

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

      \[\leadsto \color{blue}{\log \left(1 - {\left(\frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right)}^{2}\right) - \log \left(1 - \frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right)} \]
    11. Step-by-step derivation
      1. sub-neg15.9%

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

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

        \[\leadsto \mathsf{log1p}\left(-{\left(\frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right)}^{2}\right) - \log \color{blue}{\left(1 + \left(-\frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right)\right)} \]
      4. distribute-neg-frac15.2%

        \[\leadsto \mathsf{log1p}\left(-{\left(\frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right)}^{2}\right) - \log \left(1 + \color{blue}{\frac{-\left(\mathsf{log1p}\left(x\right) - \log x\right)}{n}}\right) \]
      5. neg-sub015.2%

        \[\leadsto \mathsf{log1p}\left(-{\left(\frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right)}^{2}\right) - \log \left(1 + \frac{\color{blue}{0 - \left(\mathsf{log1p}\left(x\right) - \log x\right)}}{n}\right) \]
      6. associate--r-15.2%

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

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

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

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

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

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

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

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

        \[\leadsto \mathsf{log1p}\left(-{\left(\frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right)}^{2}\right) - \log \left(1 + \frac{\log x + \left(-\color{blue}{\mathsf{log1p}\left(x\right)}\right)}{n}\right) \]
      15. sub-neg15.2%

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

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

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

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

    if 2e5 < (/.f64 1 n)

    1. Initial program 49.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 0 49.8%

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-88}:\\ \;\;\;\;\frac{\frac{{x}^{\left(\frac{1}{n}\right)}}{x}}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 5 \cdot 10^{-101}:\\ \;\;\;\;\frac{\log \left(\frac{x}{1 + x}\right)}{-n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-33}:\\ \;\;\;\;\frac{\frac{1}{x} + \left(\frac{0.3333333333333333}{{x}^{3}} + \frac{-0.5}{{x}^{2}}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-12}:\\ \;\;\;\;\mathsf{log1p}\left(-{\left(\frac{\mathsf{log1p}\left(x\right) - \log x}{n}\right)}^{2}\right) - \mathsf{log1p}\left(\frac{\log x - \mathsf{log1p}\left(x\right)}{n}\right)\\ \mathbf{elif}\;\frac{1}{n} \leq 200000:\\ \;\;\;\;\frac{\frac{{x}^{\left(\frac{1}{n}\right)}}{x}}{n}\\ \mathbf{else}:\\ \;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\ \end{array} \]
  5. Add Preprocessing

Alternative 2: 84.6% accurate, 0.6× speedup?

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

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

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

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

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

\mathbf{elif}\;\frac{1}{n} \leq 200000:\\
\;\;\;\;t\_1\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if (/.f64 1 n) < -5.00000000000000009e-88 or 1.0000000000000001e-18 < (/.f64 1 n) < 2e5

    1. Initial program 70.2%

      \[{\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 89.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. log-rec89.4%

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

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{{x}^{\left(\frac{1}{n}\right)}}{x \cdot n}} \]
    6. Step-by-step derivation
      1. *-un-lft-identity89.5%

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

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

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

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

      \[\leadsto \color{blue}{1 \cdot \frac{{x}^{\left(\frac{1}{n} - 1\right)}}{n}} \]
    8. Step-by-step derivation
      1. *-lft-identity90.1%

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

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

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

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

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

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

        \[\leadsto \frac{\color{blue}{\frac{1}{x}} \cdot {x}^{\left(\frac{1}{n}\right)}}{n} \]
    11. Applied egg-rr90.5%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} \cdot {x}^{\left(\frac{1}{n}\right)}}}{n} \]
    12. Step-by-step derivation
      1. associate-*l/90.5%

        \[\leadsto \frac{\color{blue}{\frac{1 \cdot {x}^{\left(\frac{1}{n}\right)}}{x}}}{n} \]
      2. *-lft-identity90.5%

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

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

    if -5.00000000000000009e-88 < (/.f64 1 n) < 5.0000000000000001e-101

    1. Initial program 38.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 90.1%

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

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

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

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

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

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

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

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

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

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

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

    if 5.0000000000000001e-101 < (/.f64 1 n) < 2.0000000000000001e-33

    1. Initial program 4.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 39.1%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if 2.0000000000000001e-33 < (/.f64 1 n) < 1.0000000000000001e-18

    1. Initial program 8.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 99.6%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \log \left({\left(\frac{e^{\color{blue}{\log \left(1 + x\right)}}}{x}\right)}^{\left(\frac{1}{n}\right)}\right) \]
      7. rem-exp-log7.2%

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

      \[\leadsto \color{blue}{\log \left({\left(\frac{1 + x}{x}\right)}^{\left(\frac{1}{n}\right)}\right)} \]
    8. Step-by-step derivation
      1. pow-to-exp7.2%

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

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

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

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

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(x\right) \cdot n - n \cdot \log x}{\color{blue}{{n}^{2}}} \]
    9. Applied egg-rr100.0%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) \cdot n - n \cdot \log x}{{n}^{2}}} \]
    10. Step-by-step derivation
      1. *-commutative100.0%

        \[\leadsto \frac{\color{blue}{n \cdot \mathsf{log1p}\left(x\right)} - n \cdot \log x}{{n}^{2}} \]
      2. distribute-lft-out--100.0%

        \[\leadsto \frac{\color{blue}{n \cdot \left(\mathsf{log1p}\left(x\right) - \log x\right)}}{{n}^{2}} \]
      3. log1p-define100.0%

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

        \[\leadsto \frac{n \cdot \color{blue}{\log \left(\frac{1 + x}{x}\right)}}{{n}^{2}} \]
      5. *-lft-identity100.0%

        \[\leadsto \frac{n \cdot \log \left(\frac{\color{blue}{1 \cdot \left(1 + x\right)}}{x}\right)}{{n}^{2}} \]
      6. associate-*l/100.0%

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

        \[\leadsto \frac{n \cdot \log \left(\frac{1}{x} \cdot \color{blue}{\left(x + 1\right)}\right)}{{n}^{2}} \]
      8. distribute-rgt-in100.0%

        \[\leadsto \frac{n \cdot \log \color{blue}{\left(x \cdot \frac{1}{x} + 1 \cdot \frac{1}{x}\right)}}{{n}^{2}} \]
      9. rgt-mult-inverse100.0%

        \[\leadsto \frac{n \cdot \log \left(\color{blue}{1} + 1 \cdot \frac{1}{x}\right)}{{n}^{2}} \]
      10. *-lft-identity100.0%

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

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

    if 2e5 < (/.f64 1 n)

    1. Initial program 49.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 0 49.8%

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

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

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

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

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

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

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

Alternative 3: 80.4% accurate, 0.9× speedup?

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

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

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

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-39}:\\
\;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{{x}^{2}}}{n}\\

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

\mathbf{elif}\;\frac{1}{n} \leq 200000:\\
\;\;\;\;t\_1\\

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 6 regimes
  2. if (/.f64 1 n) < -5.00000000000000009e-88 or 1.0000000000000001e-18 < (/.f64 1 n) < 2e5

    1. Initial program 70.2%

      \[{\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 89.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. log-rec89.4%

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

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{{x}^{\left(\frac{1}{n}\right)}}{x \cdot n}} \]
    6. Step-by-step derivation
      1. *-un-lft-identity89.5%

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

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

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

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

      \[\leadsto \color{blue}{1 \cdot \frac{{x}^{\left(\frac{1}{n} - 1\right)}}{n}} \]
    8. Step-by-step derivation
      1. *-lft-identity90.1%

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

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

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

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

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

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

        \[\leadsto \frac{\color{blue}{\frac{1}{x}} \cdot {x}^{\left(\frac{1}{n}\right)}}{n} \]
    11. Applied egg-rr90.5%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} \cdot {x}^{\left(\frac{1}{n}\right)}}}{n} \]
    12. Step-by-step derivation
      1. associate-*l/90.5%

        \[\leadsto \frac{\color{blue}{\frac{1 \cdot {x}^{\left(\frac{1}{n}\right)}}{x}}}{n} \]
      2. *-lft-identity90.5%

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

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

    if -5.00000000000000009e-88 < (/.f64 1 n) < 5.0000000000000001e-101

    1. Initial program 38.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 90.1%

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

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

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

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

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

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

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

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

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

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

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

    if 5.0000000000000001e-101 < (/.f64 1 n) < 1.99999999999999986e-39

    1. Initial program 4.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 37.3%

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

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

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

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

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

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

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

        \[\leadsto \frac{\frac{1}{x} - \frac{\color{blue}{0.5}}{{x}^{2}}}{n} \]
    8. Simplified72.9%

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

    if 1.99999999999999986e-39 < (/.f64 1 n) < 1.0000000000000001e-18

    1. Initial program 6.9%

      \[{\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 83.9%

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

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

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

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

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

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

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

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

    if 2e5 < (/.f64 1 n) < 2.00000000000000002e78

    1. Initial program 100.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 100.0%

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

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

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

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

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

    if 2.00000000000000002e78 < (/.f64 1 n)

    1. Initial program 26.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 5.9%

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

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

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

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

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

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

        \[\leadsto \frac{1}{\color{blue}{x \cdot n}} \]
    8. Simplified35.4%

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-88}:\\ \;\;\;\;\frac{\frac{{x}^{\left(\frac{1}{n}\right)}}{x}}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 5 \cdot 10^{-101}:\\ \;\;\;\;\frac{\log \left(\frac{x}{1 + x}\right)}{-n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-39}:\\ \;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{{x}^{2}}}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{-18}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 200000:\\ \;\;\;\;\frac{\frac{{x}^{\left(\frac{1}{n}\right)}}{x}}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+78}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{1}{n \cdot x}\right)\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 4: 80.4% accurate, 0.9× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {x}^{\left(\frac{1}{n}\right)}\\ t_1 := \frac{\frac{t\_0}{x}}{n}\\ \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-88}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;\frac{1}{n} \leq 5 \cdot 10^{-101}:\\ \;\;\;\;\frac{\log \left(\frac{x}{1 + x}\right)}{-n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-33}:\\ \;\;\;\;\frac{\frac{1}{x} + \left(\frac{0.3333333333333333}{{x}^{3}} + \frac{-0.5}{{x}^{2}}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 10^{-18}:\\ \;\;\;\;\frac{n \cdot \log \left(1 + \frac{1}{x}\right)}{{n}^{2}}\\ \mathbf{elif}\;\frac{1}{n} \leq 200000:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+78}:\\ \;\;\;\;1 - t\_0\\ \mathbf{else}:\\ \;\;\;\;\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{1}{n \cdot x}\right)\right)\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (pow x (/ 1.0 n))) (t_1 (/ (/ t_0 x) n)))
   (if (<= (/ 1.0 n) -5e-88)
     t_1
     (if (<= (/ 1.0 n) 5e-101)
       (/ (log (/ x (+ 1.0 x))) (- n))
       (if (<= (/ 1.0 n) 2e-33)
         (/
          (+
           (/ 1.0 x)
           (+ (/ 0.3333333333333333 (pow x 3.0)) (/ -0.5 (pow x 2.0))))
          n)
         (if (<= (/ 1.0 n) 1e-18)
           (/ (* n (log (+ 1.0 (/ 1.0 x)))) (pow n 2.0))
           (if (<= (/ 1.0 n) 200000.0)
             t_1
             (if (<= (/ 1.0 n) 2e+78)
               (- 1.0 t_0)
               (log1p (expm1 (/ 1.0 (* n x))))))))))))
double code(double x, double n) {
	double t_0 = pow(x, (1.0 / n));
	double t_1 = (t_0 / x) / n;
	double tmp;
	if ((1.0 / n) <= -5e-88) {
		tmp = t_1;
	} else if ((1.0 / n) <= 5e-101) {
		tmp = log((x / (1.0 + x))) / -n;
	} else if ((1.0 / n) <= 2e-33) {
		tmp = ((1.0 / x) + ((0.3333333333333333 / pow(x, 3.0)) + (-0.5 / pow(x, 2.0)))) / n;
	} else if ((1.0 / n) <= 1e-18) {
		tmp = (n * log((1.0 + (1.0 / x)))) / pow(n, 2.0);
	} else if ((1.0 / n) <= 200000.0) {
		tmp = t_1;
	} else if ((1.0 / n) <= 2e+78) {
		tmp = 1.0 - t_0;
	} else {
		tmp = log1p(expm1((1.0 / (n * x))));
	}
	return tmp;
}
public static double code(double x, double n) {
	double t_0 = Math.pow(x, (1.0 / n));
	double t_1 = (t_0 / x) / n;
	double tmp;
	if ((1.0 / n) <= -5e-88) {
		tmp = t_1;
	} else if ((1.0 / n) <= 5e-101) {
		tmp = Math.log((x / (1.0 + x))) / -n;
	} else if ((1.0 / n) <= 2e-33) {
		tmp = ((1.0 / x) + ((0.3333333333333333 / Math.pow(x, 3.0)) + (-0.5 / Math.pow(x, 2.0)))) / n;
	} else if ((1.0 / n) <= 1e-18) {
		tmp = (n * Math.log((1.0 + (1.0 / x)))) / Math.pow(n, 2.0);
	} else if ((1.0 / n) <= 200000.0) {
		tmp = t_1;
	} else if ((1.0 / n) <= 2e+78) {
		tmp = 1.0 - t_0;
	} else {
		tmp = Math.log1p(Math.expm1((1.0 / (n * x))));
	}
	return tmp;
}
def code(x, n):
	t_0 = math.pow(x, (1.0 / n))
	t_1 = (t_0 / x) / n
	tmp = 0
	if (1.0 / n) <= -5e-88:
		tmp = t_1
	elif (1.0 / n) <= 5e-101:
		tmp = math.log((x / (1.0 + x))) / -n
	elif (1.0 / n) <= 2e-33:
		tmp = ((1.0 / x) + ((0.3333333333333333 / math.pow(x, 3.0)) + (-0.5 / math.pow(x, 2.0)))) / n
	elif (1.0 / n) <= 1e-18:
		tmp = (n * math.log((1.0 + (1.0 / x)))) / math.pow(n, 2.0)
	elif (1.0 / n) <= 200000.0:
		tmp = t_1
	elif (1.0 / n) <= 2e+78:
		tmp = 1.0 - t_0
	else:
		tmp = math.log1p(math.expm1((1.0 / (n * x))))
	return tmp
function code(x, n)
	t_0 = x ^ Float64(1.0 / n)
	t_1 = Float64(Float64(t_0 / x) / n)
	tmp = 0.0
	if (Float64(1.0 / n) <= -5e-88)
		tmp = t_1;
	elseif (Float64(1.0 / n) <= 5e-101)
		tmp = Float64(log(Float64(x / Float64(1.0 + x))) / Float64(-n));
	elseif (Float64(1.0 / n) <= 2e-33)
		tmp = Float64(Float64(Float64(1.0 / x) + Float64(Float64(0.3333333333333333 / (x ^ 3.0)) + Float64(-0.5 / (x ^ 2.0)))) / n);
	elseif (Float64(1.0 / n) <= 1e-18)
		tmp = Float64(Float64(n * log(Float64(1.0 + Float64(1.0 / x)))) / (n ^ 2.0));
	elseif (Float64(1.0 / n) <= 200000.0)
		tmp = t_1;
	elseif (Float64(1.0 / n) <= 2e+78)
		tmp = Float64(1.0 - t_0);
	else
		tmp = log1p(expm1(Float64(1.0 / Float64(n * x))));
	end
	return tmp
end
code[x_, n_] := Block[{t$95$0 = N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$1 = N[(N[(t$95$0 / x), $MachinePrecision] / n), $MachinePrecision]}, If[LessEqual[N[(1.0 / n), $MachinePrecision], -5e-88], t$95$1, If[LessEqual[N[(1.0 / n), $MachinePrecision], 5e-101], N[(N[Log[N[(x / N[(1.0 + x), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / (-n)), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 2e-33], N[(N[(N[(1.0 / x), $MachinePrecision] + N[(N[(0.3333333333333333 / N[Power[x, 3.0], $MachinePrecision]), $MachinePrecision] + N[(-0.5 / N[Power[x, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 1e-18], N[(N[(n * N[Log[N[(1.0 + N[(1.0 / x), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[Power[n, 2.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(1.0 / n), $MachinePrecision], 200000.0], t$95$1, If[LessEqual[N[(1.0 / n), $MachinePrecision], 2e+78], N[(1.0 - t$95$0), $MachinePrecision], N[Log[1 + N[(Exp[N[(1.0 / N[(n * x), $MachinePrecision]), $MachinePrecision]] - 1), $MachinePrecision]], $MachinePrecision]]]]]]]]]
\begin{array}{l}

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

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

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

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

\mathbf{elif}\;\frac{1}{n} \leq 200000:\\
\;\;\;\;t\_1\\

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 6 regimes
  2. if (/.f64 1 n) < -5.00000000000000009e-88 or 1.0000000000000001e-18 < (/.f64 1 n) < 2e5

    1. Initial program 70.2%

      \[{\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 89.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. log-rec89.4%

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

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{{x}^{\left(\frac{1}{n}\right)}}{x \cdot n}} \]
    6. Step-by-step derivation
      1. *-un-lft-identity89.5%

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

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

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

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

      \[\leadsto \color{blue}{1 \cdot \frac{{x}^{\left(\frac{1}{n} - 1\right)}}{n}} \]
    8. Step-by-step derivation
      1. *-lft-identity90.1%

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

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

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

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

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

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

        \[\leadsto \frac{\color{blue}{\frac{1}{x}} \cdot {x}^{\left(\frac{1}{n}\right)}}{n} \]
    11. Applied egg-rr90.5%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} \cdot {x}^{\left(\frac{1}{n}\right)}}}{n} \]
    12. Step-by-step derivation
      1. associate-*l/90.5%

        \[\leadsto \frac{\color{blue}{\frac{1 \cdot {x}^{\left(\frac{1}{n}\right)}}{x}}}{n} \]
      2. *-lft-identity90.5%

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

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

    if -5.00000000000000009e-88 < (/.f64 1 n) < 5.0000000000000001e-101

    1. Initial program 38.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 90.1%

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

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

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

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

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

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

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

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

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

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

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

    if 5.0000000000000001e-101 < (/.f64 1 n) < 2.0000000000000001e-33

    1. Initial program 4.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 39.1%

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if 2.0000000000000001e-33 < (/.f64 1 n) < 1.0000000000000001e-18

    1. Initial program 8.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 99.6%

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \log \left({\left(\frac{e^{\color{blue}{\log \left(1 + x\right)}}}{x}\right)}^{\left(\frac{1}{n}\right)}\right) \]
      7. rem-exp-log7.2%

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

      \[\leadsto \color{blue}{\log \left({\left(\frac{1 + x}{x}\right)}^{\left(\frac{1}{n}\right)}\right)} \]
    8. Step-by-step derivation
      1. pow-to-exp7.2%

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

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

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

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

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(x\right) \cdot n - n \cdot \log x}{\color{blue}{{n}^{2}}} \]
    9. Applied egg-rr100.0%

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) \cdot n - n \cdot \log x}{{n}^{2}}} \]
    10. Step-by-step derivation
      1. *-commutative100.0%

        \[\leadsto \frac{\color{blue}{n \cdot \mathsf{log1p}\left(x\right)} - n \cdot \log x}{{n}^{2}} \]
      2. distribute-lft-out--100.0%

        \[\leadsto \frac{\color{blue}{n \cdot \left(\mathsf{log1p}\left(x\right) - \log x\right)}}{{n}^{2}} \]
      3. log1p-define100.0%

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

        \[\leadsto \frac{n \cdot \color{blue}{\log \left(\frac{1 + x}{x}\right)}}{{n}^{2}} \]
      5. *-lft-identity100.0%

        \[\leadsto \frac{n \cdot \log \left(\frac{\color{blue}{1 \cdot \left(1 + x\right)}}{x}\right)}{{n}^{2}} \]
      6. associate-*l/100.0%

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

        \[\leadsto \frac{n \cdot \log \left(\frac{1}{x} \cdot \color{blue}{\left(x + 1\right)}\right)}{{n}^{2}} \]
      8. distribute-rgt-in100.0%

        \[\leadsto \frac{n \cdot \log \color{blue}{\left(x \cdot \frac{1}{x} + 1 \cdot \frac{1}{x}\right)}}{{n}^{2}} \]
      9. rgt-mult-inverse100.0%

        \[\leadsto \frac{n \cdot \log \left(\color{blue}{1} + 1 \cdot \frac{1}{x}\right)}{{n}^{2}} \]
      10. *-lft-identity100.0%

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

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

    if 2e5 < (/.f64 1 n) < 2.00000000000000002e78

    1. Initial program 100.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 100.0%

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

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

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

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

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

    if 2.00000000000000002e78 < (/.f64 1 n)

    1. Initial program 26.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 5.9%

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

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

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

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

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

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

        \[\leadsto \frac{1}{\color{blue}{x \cdot n}} \]
    8. Simplified35.4%

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

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

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

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

Alternative 5: 79.9% accurate, 1.4× speedup?

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

\\
\begin{array}{l}
t_0 := \frac{x}{1 + x}\\
t_1 := {x}^{\left(\frac{1}{n}\right)}\\
t_2 := \frac{\frac{t\_1}{x}}{n}\\
\mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-88}:\\
\;\;\;\;t\_2\\

\mathbf{elif}\;\frac{1}{n} \leq 5 \cdot 10^{-101}:\\
\;\;\;\;\frac{\log t\_0}{-n}\\

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-39}:\\
\;\;\;\;\frac{\frac{1}{x} - \frac{0.5}{{x}^{2}}}{n}\\

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

\mathbf{elif}\;\frac{1}{n} \leq 200000:\\
\;\;\;\;t\_2\\

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+78}:\\
\;\;\;\;1 - t\_1\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 6 regimes
  2. if (/.f64 1 n) < -5.00000000000000009e-88 or 1.0000000000000001e-18 < (/.f64 1 n) < 2e5

    1. Initial program 70.2%

      \[{\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 89.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. log-rec89.4%

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

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{{x}^{\left(\frac{1}{n}\right)}}{x \cdot n}} \]
    6. Step-by-step derivation
      1. *-un-lft-identity89.5%

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

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

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

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

      \[\leadsto \color{blue}{1 \cdot \frac{{x}^{\left(\frac{1}{n} - 1\right)}}{n}} \]
    8. Step-by-step derivation
      1. *-lft-identity90.1%

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

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

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

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

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

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

        \[\leadsto \frac{\color{blue}{\frac{1}{x}} \cdot {x}^{\left(\frac{1}{n}\right)}}{n} \]
    11. Applied egg-rr90.5%

      \[\leadsto \frac{\color{blue}{\frac{1}{x} \cdot {x}^{\left(\frac{1}{n}\right)}}}{n} \]
    12. Step-by-step derivation
      1. associate-*l/90.5%

        \[\leadsto \frac{\color{blue}{\frac{1 \cdot {x}^{\left(\frac{1}{n}\right)}}{x}}}{n} \]
      2. *-lft-identity90.5%

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

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

    if -5.00000000000000009e-88 < (/.f64 1 n) < 5.0000000000000001e-101

    1. Initial program 38.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 90.1%

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

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

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

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

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

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

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

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

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

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

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

    if 5.0000000000000001e-101 < (/.f64 1 n) < 1.99999999999999986e-39

    1. Initial program 4.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 37.3%

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

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

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

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

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

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

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

        \[\leadsto \frac{\frac{1}{x} - \frac{\color{blue}{0.5}}{{x}^{2}}}{n} \]
    8. Simplified72.9%

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

    if 1.99999999999999986e-39 < (/.f64 1 n) < 1.0000000000000001e-18

    1. Initial program 6.9%

      \[{\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 83.9%

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

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

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

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

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

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

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

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

    if 2e5 < (/.f64 1 n) < 2.00000000000000002e78

    1. Initial program 100.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 100.0%

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

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

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

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

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

    if 2.00000000000000002e78 < (/.f64 1 n)

    1. Initial program 26.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 5.9%

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{-\sqrt{\color{blue}{\left(-\log \left(\frac{x}{1 + x}\right)\right) \cdot \left(-\log \left(\frac{x}{1 + x}\right)\right)}}}{n} \]
      4. neg-log0.4%

        \[\leadsto \frac{-\sqrt{\color{blue}{\log \left(\frac{1}{\frac{x}{1 + x}}\right)} \cdot \left(-\log \left(\frac{x}{1 + x}\right)\right)}}{n} \]
      5. clear-num0.4%

        \[\leadsto \frac{-\sqrt{\log \color{blue}{\left(\frac{1 + x}{x}\right)} \cdot \left(-\log \left(\frac{x}{1 + x}\right)\right)}}{n} \]
      6. neg-log0.4%

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

        \[\leadsto \frac{-\sqrt{\log \left(\frac{1 + x}{x}\right) \cdot \log \color{blue}{\left(\frac{1 + x}{x}\right)}}}{n} \]
      8. sqrt-unprod0.4%

        \[\leadsto \frac{-\color{blue}{\sqrt{\log \left(\frac{1 + x}{x}\right)} \cdot \sqrt{\log \left(\frac{1 + x}{x}\right)}}}{n} \]
      9. add-sqr-sqrt0.4%

        \[\leadsto \frac{-\color{blue}{\log \left(\frac{1 + x}{x}\right)}}{n} \]
      10. log1p-expm1-u0.4%

        \[\leadsto \frac{-\color{blue}{\mathsf{log1p}\left(\mathsf{expm1}\left(\log \left(\frac{1 + x}{x}\right)\right)\right)}}{n} \]
      11. add-sqr-sqrt0.4%

        \[\leadsto \frac{-\mathsf{log1p}\left(\mathsf{expm1}\left(\color{blue}{\sqrt{\log \left(\frac{1 + x}{x}\right)} \cdot \sqrt{\log \left(\frac{1 + x}{x}\right)}}\right)\right)}{n} \]
      12. sqrt-unprod0.4%

        \[\leadsto \frac{-\mathsf{log1p}\left(\mathsf{expm1}\left(\color{blue}{\sqrt{\log \left(\frac{1 + x}{x}\right) \cdot \log \left(\frac{1 + x}{x}\right)}}\right)\right)}{n} \]
      13. clear-num0.4%

        \[\leadsto \frac{-\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt{\log \color{blue}{\left(\frac{1}{\frac{x}{1 + x}}\right)} \cdot \log \left(\frac{1 + x}{x}\right)}\right)\right)}{n} \]
      14. neg-log0.4%

        \[\leadsto \frac{-\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt{\color{blue}{\left(-\log \left(\frac{x}{1 + x}\right)\right)} \cdot \log \left(\frac{1 + x}{x}\right)}\right)\right)}{n} \]
      15. clear-num0.4%

        \[\leadsto \frac{-\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt{\left(-\log \left(\frac{x}{1 + x}\right)\right) \cdot \log \color{blue}{\left(\frac{1}{\frac{x}{1 + x}}\right)}}\right)\right)}{n} \]
      16. neg-log0.4%

        \[\leadsto \frac{-\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt{\left(-\log \left(\frac{x}{1 + x}\right)\right) \cdot \color{blue}{\left(-\log \left(\frac{x}{1 + x}\right)\right)}}\right)\right)}{n} \]
    11. Applied egg-rr74.5%

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

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

Alternative 6: 65.6% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \frac{\log \left(\frac{x}{1 + x}\right)}{-n}\\ t_1 := 1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{if}\;n \leq -4.5 \cdot 10^{+87}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;n \leq -1400:\\ \;\;\;\;\frac{1}{n} \cdot \frac{1}{x}\\ \mathbf{elif}\;n \leq -4.5 \cdot 10^{-150}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;n \leq -1.2 \cdot 10^{-275}:\\ \;\;\;\;\frac{0}{n}\\ \mathbf{elif}\;n \leq 1.52 \cdot 10^{-217}:\\ \;\;\;\;\frac{1}{n \cdot x}\\ \mathbf{elif}\;n \leq 1350000000:\\ \;\;\;\;t\_1\\ \mathbf{else}:\\ \;\;\;\;t\_0\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (/ (log (/ x (+ 1.0 x))) (- n))) (t_1 (- 1.0 (pow x (/ 1.0 n)))))
   (if (<= n -4.5e+87)
     t_0
     (if (<= n -1400.0)
       (* (/ 1.0 n) (/ 1.0 x))
       (if (<= n -4.5e-150)
         t_1
         (if (<= n -1.2e-275)
           (/ 0.0 n)
           (if (<= n 1.52e-217)
             (/ 1.0 (* n x))
             (if (<= n 1350000000.0) t_1 t_0))))))))
double code(double x, double n) {
	double t_0 = log((x / (1.0 + x))) / -n;
	double t_1 = 1.0 - pow(x, (1.0 / n));
	double tmp;
	if (n <= -4.5e+87) {
		tmp = t_0;
	} else if (n <= -1400.0) {
		tmp = (1.0 / n) * (1.0 / x);
	} else if (n <= -4.5e-150) {
		tmp = t_1;
	} else if (n <= -1.2e-275) {
		tmp = 0.0 / n;
	} else if (n <= 1.52e-217) {
		tmp = 1.0 / (n * x);
	} else if (n <= 1350000000.0) {
		tmp = t_1;
	} else {
		tmp = t_0;
	}
	return tmp;
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = log((x / (1.0d0 + x))) / -n
    t_1 = 1.0d0 - (x ** (1.0d0 / n))
    if (n <= (-4.5d+87)) then
        tmp = t_0
    else if (n <= (-1400.0d0)) then
        tmp = (1.0d0 / n) * (1.0d0 / x)
    else if (n <= (-4.5d-150)) then
        tmp = t_1
    else if (n <= (-1.2d-275)) then
        tmp = 0.0d0 / n
    else if (n <= 1.52d-217) then
        tmp = 1.0d0 / (n * x)
    else if (n <= 1350000000.0d0) then
        tmp = t_1
    else
        tmp = t_0
    end if
    code = tmp
end function
public static double code(double x, double n) {
	double t_0 = Math.log((x / (1.0 + x))) / -n;
	double t_1 = 1.0 - Math.pow(x, (1.0 / n));
	double tmp;
	if (n <= -4.5e+87) {
		tmp = t_0;
	} else if (n <= -1400.0) {
		tmp = (1.0 / n) * (1.0 / x);
	} else if (n <= -4.5e-150) {
		tmp = t_1;
	} else if (n <= -1.2e-275) {
		tmp = 0.0 / n;
	} else if (n <= 1.52e-217) {
		tmp = 1.0 / (n * x);
	} else if (n <= 1350000000.0) {
		tmp = t_1;
	} else {
		tmp = t_0;
	}
	return tmp;
}
def code(x, n):
	t_0 = math.log((x / (1.0 + x))) / -n
	t_1 = 1.0 - math.pow(x, (1.0 / n))
	tmp = 0
	if n <= -4.5e+87:
		tmp = t_0
	elif n <= -1400.0:
		tmp = (1.0 / n) * (1.0 / x)
	elif n <= -4.5e-150:
		tmp = t_1
	elif n <= -1.2e-275:
		tmp = 0.0 / n
	elif n <= 1.52e-217:
		tmp = 1.0 / (n * x)
	elif n <= 1350000000.0:
		tmp = t_1
	else:
		tmp = t_0
	return tmp
function code(x, n)
	t_0 = Float64(log(Float64(x / Float64(1.0 + x))) / Float64(-n))
	t_1 = Float64(1.0 - (x ^ Float64(1.0 / n)))
	tmp = 0.0
	if (n <= -4.5e+87)
		tmp = t_0;
	elseif (n <= -1400.0)
		tmp = Float64(Float64(1.0 / n) * Float64(1.0 / x));
	elseif (n <= -4.5e-150)
		tmp = t_1;
	elseif (n <= -1.2e-275)
		tmp = Float64(0.0 / n);
	elseif (n <= 1.52e-217)
		tmp = Float64(1.0 / Float64(n * x));
	elseif (n <= 1350000000.0)
		tmp = t_1;
	else
		tmp = t_0;
	end
	return tmp
end
function tmp_2 = code(x, n)
	t_0 = log((x / (1.0 + x))) / -n;
	t_1 = 1.0 - (x ^ (1.0 / n));
	tmp = 0.0;
	if (n <= -4.5e+87)
		tmp = t_0;
	elseif (n <= -1400.0)
		tmp = (1.0 / n) * (1.0 / x);
	elseif (n <= -4.5e-150)
		tmp = t_1;
	elseif (n <= -1.2e-275)
		tmp = 0.0 / n;
	elseif (n <= 1.52e-217)
		tmp = 1.0 / (n * x);
	elseif (n <= 1350000000.0)
		tmp = t_1;
	else
		tmp = t_0;
	end
	tmp_2 = tmp;
end
code[x_, n_] := Block[{t$95$0 = N[(N[Log[N[(x / N[(1.0 + x), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / (-n)), $MachinePrecision]}, Block[{t$95$1 = N[(1.0 - N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, If[LessEqual[n, -4.5e+87], t$95$0, If[LessEqual[n, -1400.0], N[(N[(1.0 / n), $MachinePrecision] * N[(1.0 / x), $MachinePrecision]), $MachinePrecision], If[LessEqual[n, -4.5e-150], t$95$1, If[LessEqual[n, -1.2e-275], N[(0.0 / n), $MachinePrecision], If[LessEqual[n, 1.52e-217], N[(1.0 / N[(n * x), $MachinePrecision]), $MachinePrecision], If[LessEqual[n, 1350000000.0], t$95$1, t$95$0]]]]]]]]
\begin{array}{l}

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

\mathbf{elif}\;n \leq -1400:\\
\;\;\;\;\frac{1}{n} \cdot \frac{1}{x}\\

\mathbf{elif}\;n \leq -4.5 \cdot 10^{-150}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;n \leq -1.2 \cdot 10^{-275}:\\
\;\;\;\;\frac{0}{n}\\

\mathbf{elif}\;n \leq 1.52 \cdot 10^{-217}:\\
\;\;\;\;\frac{1}{n \cdot x}\\

\mathbf{elif}\;n \leq 1350000000:\\
\;\;\;\;t\_1\\

\mathbf{else}:\\
\;\;\;\;t\_0\\


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if n < -4.5000000000000003e87 or 1.35e9 < n

    1. Initial program 32.9%

      \[{\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 82.2%

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

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

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

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

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

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

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

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

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

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

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

    if -4.5000000000000003e87 < n < -1400

    1. Initial program 12.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 36.9%

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

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

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

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

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

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

        \[\leadsto \frac{1}{\color{blue}{x \cdot n}} \]
    8. Simplified64.2%

      \[\leadsto \color{blue}{\frac{1}{x \cdot n}} \]
    9. Step-by-step derivation
      1. inv-pow64.2%

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

        \[\leadsto \color{blue}{{x}^{-1} \cdot {n}^{-1}} \]
      3. inv-pow64.5%

        \[\leadsto \color{blue}{\frac{1}{x}} \cdot {n}^{-1} \]
      4. inv-pow64.5%

        \[\leadsto \frac{1}{x} \cdot \color{blue}{\frac{1}{n}} \]
    10. Applied egg-rr64.5%

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

    if -1400 < n < -4.5000000000000002e-150 or 1.5199999999999999e-217 < n < 1.35e9

    1. Initial program 80.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 58.2%

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

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

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

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

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

    if -4.5000000000000002e-150 < n < -1.19999999999999995e-275

    1. Initial program 100.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 60.5%

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

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

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      3. 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. Step-by-step derivation
      1. log1p-undefine60.5%

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

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

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

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

    if -1.19999999999999995e-275 < n < 1.5199999999999999e-217

    1. Initial program 63.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 32.7%

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

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

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \leq -4.5 \cdot 10^{+87}:\\ \;\;\;\;\frac{\log \left(\frac{x}{1 + x}\right)}{-n}\\ \mathbf{elif}\;n \leq -1400:\\ \;\;\;\;\frac{1}{n} \cdot \frac{1}{x}\\ \mathbf{elif}\;n \leq -4.5 \cdot 10^{-150}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{elif}\;n \leq -1.2 \cdot 10^{-275}:\\ \;\;\;\;\frac{0}{n}\\ \mathbf{elif}\;n \leq 1.52 \cdot 10^{-217}:\\ \;\;\;\;\frac{1}{n \cdot x}\\ \mathbf{elif}\;n \leq 1350000000:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\log \left(\frac{x}{1 + x}\right)}{-n}\\ \end{array} \]
  5. Add Preprocessing

Alternative 7: 79.8% accurate, 1.5× speedup?

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

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

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

\mathbf{elif}\;\frac{1}{n} \leq 200000:\\
\;\;\;\;t\_1\\

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (/.f64 1 n) < -5.00000000000000009e-88 or 1.99999999999999999e-73 < (/.f64 1 n) < 2e5

    1. Initial program 62.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 inf 85.3%

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

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

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{{x}^{\left(\frac{1}{n}\right)}}{x \cdot n}} \]
    6. Step-by-step derivation
      1. *-un-lft-identity85.4%

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

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

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

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

      \[\leadsto \color{blue}{1 \cdot \frac{{x}^{\left(\frac{1}{n} - 1\right)}}{n}} \]
    8. Step-by-step derivation
      1. *-lft-identity85.9%

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

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

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

      \[\leadsto \color{blue}{\frac{{x}^{\left(\frac{1}{n} + -1\right)}}{n}} \]
    10. Step-by-step derivation
      1. +-commutative85.9%

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

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

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

      \[\leadsto \frac{\color{blue}{\frac{1}{x} \cdot {x}^{\left(\frac{1}{n}\right)}}}{n} \]
    12. Step-by-step derivation
      1. associate-*l/86.3%

        \[\leadsto \frac{\color{blue}{\frac{1 \cdot {x}^{\left(\frac{1}{n}\right)}}{x}}}{n} \]
      2. *-lft-identity86.3%

        \[\leadsto \frac{\frac{\color{blue}{{x}^{\left(\frac{1}{n}\right)}}}{x}}{n} \]
    13. Simplified86.3%

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

    if -5.00000000000000009e-88 < (/.f64 1 n) < 1.99999999999999999e-73

    1. Initial program 36.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 87.9%

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

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

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

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

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

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

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

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

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

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

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

    if 2e5 < (/.f64 1 n) < 1.99999999999999995e233

    1. Initial program 62.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 60.6%

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

    if 1.99999999999999995e233 < (/.f64 1 n)

    1. Initial program 3.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 8.7%

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

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

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

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

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

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

        \[\leadsto \frac{1}{\color{blue}{x \cdot n}} \]
    8. Simplified85.1%

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-88}:\\ \;\;\;\;\frac{\frac{{x}^{\left(\frac{1}{n}\right)}}{x}}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-73}:\\ \;\;\;\;\frac{\log \left(\frac{x}{1 + x}\right)}{-n}\\ \mathbf{elif}\;\frac{1}{n} \leq 200000:\\ \;\;\;\;\frac{\frac{{x}^{\left(\frac{1}{n}\right)}}{x}}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+233}:\\ \;\;\;\;\left(1 + \frac{x}{n}\right) - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{n \cdot x}\\ \end{array} \]
  5. Add Preprocessing

Alternative 8: 79.7% accurate, 1.5× speedup?

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

\\
\begin{array}{l}
t_0 := \frac{x}{1 + x}\\
t_1 := {x}^{\left(\frac{1}{n}\right)}\\
t_2 := \frac{\frac{t\_1}{x}}{n}\\
\mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-88}:\\
\;\;\;\;t\_2\\

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-73}:\\
\;\;\;\;\frac{\log t\_0}{-n}\\

\mathbf{elif}\;\frac{1}{n} \leq 200000:\\
\;\;\;\;t\_2\\

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{+78}:\\
\;\;\;\;1 - t\_1\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (/.f64 1 n) < -5.00000000000000009e-88 or 1.99999999999999999e-73 < (/.f64 1 n) < 2e5

    1. Initial program 62.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 inf 85.3%

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

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

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{{x}^{\left(\frac{1}{n}\right)}}{x \cdot n}} \]
    6. Step-by-step derivation
      1. *-un-lft-identity85.4%

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

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

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

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

      \[\leadsto \color{blue}{1 \cdot \frac{{x}^{\left(\frac{1}{n} - 1\right)}}{n}} \]
    8. Step-by-step derivation
      1. *-lft-identity85.9%

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

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

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

      \[\leadsto \color{blue}{\frac{{x}^{\left(\frac{1}{n} + -1\right)}}{n}} \]
    10. Step-by-step derivation
      1. +-commutative85.9%

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

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

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

      \[\leadsto \frac{\color{blue}{\frac{1}{x} \cdot {x}^{\left(\frac{1}{n}\right)}}}{n} \]
    12. Step-by-step derivation
      1. associate-*l/86.3%

        \[\leadsto \frac{\color{blue}{\frac{1 \cdot {x}^{\left(\frac{1}{n}\right)}}{x}}}{n} \]
      2. *-lft-identity86.3%

        \[\leadsto \frac{\frac{\color{blue}{{x}^{\left(\frac{1}{n}\right)}}}{x}}{n} \]
    13. Simplified86.3%

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

    if -5.00000000000000009e-88 < (/.f64 1 n) < 1.99999999999999999e-73

    1. Initial program 36.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 87.9%

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

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

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

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

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

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

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

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

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

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

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

    if 2e5 < (/.f64 1 n) < 2.00000000000000002e78

    1. Initial program 100.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 100.0%

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

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

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

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

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

    if 2.00000000000000002e78 < (/.f64 1 n)

    1. Initial program 26.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 5.9%

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

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

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

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

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

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

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

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

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

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

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

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

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

        \[\leadsto \frac{-\sqrt{\color{blue}{\left(-\log \left(\frac{x}{1 + x}\right)\right) \cdot \left(-\log \left(\frac{x}{1 + x}\right)\right)}}}{n} \]
      4. neg-log0.4%

        \[\leadsto \frac{-\sqrt{\color{blue}{\log \left(\frac{1}{\frac{x}{1 + x}}\right)} \cdot \left(-\log \left(\frac{x}{1 + x}\right)\right)}}{n} \]
      5. clear-num0.4%

        \[\leadsto \frac{-\sqrt{\log \color{blue}{\left(\frac{1 + x}{x}\right)} \cdot \left(-\log \left(\frac{x}{1 + x}\right)\right)}}{n} \]
      6. neg-log0.4%

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

        \[\leadsto \frac{-\sqrt{\log \left(\frac{1 + x}{x}\right) \cdot \log \color{blue}{\left(\frac{1 + x}{x}\right)}}}{n} \]
      8. sqrt-unprod0.4%

        \[\leadsto \frac{-\color{blue}{\sqrt{\log \left(\frac{1 + x}{x}\right)} \cdot \sqrt{\log \left(\frac{1 + x}{x}\right)}}}{n} \]
      9. add-sqr-sqrt0.4%

        \[\leadsto \frac{-\color{blue}{\log \left(\frac{1 + x}{x}\right)}}{n} \]
      10. log1p-expm1-u0.4%

        \[\leadsto \frac{-\color{blue}{\mathsf{log1p}\left(\mathsf{expm1}\left(\log \left(\frac{1 + x}{x}\right)\right)\right)}}{n} \]
      11. add-sqr-sqrt0.4%

        \[\leadsto \frac{-\mathsf{log1p}\left(\mathsf{expm1}\left(\color{blue}{\sqrt{\log \left(\frac{1 + x}{x}\right)} \cdot \sqrt{\log \left(\frac{1 + x}{x}\right)}}\right)\right)}{n} \]
      12. sqrt-unprod0.4%

        \[\leadsto \frac{-\mathsf{log1p}\left(\mathsf{expm1}\left(\color{blue}{\sqrt{\log \left(\frac{1 + x}{x}\right) \cdot \log \left(\frac{1 + x}{x}\right)}}\right)\right)}{n} \]
      13. clear-num0.4%

        \[\leadsto \frac{-\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt{\log \color{blue}{\left(\frac{1}{\frac{x}{1 + x}}\right)} \cdot \log \left(\frac{1 + x}{x}\right)}\right)\right)}{n} \]
      14. neg-log0.4%

        \[\leadsto \frac{-\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt{\color{blue}{\left(-\log \left(\frac{x}{1 + x}\right)\right)} \cdot \log \left(\frac{1 + x}{x}\right)}\right)\right)}{n} \]
      15. clear-num0.4%

        \[\leadsto \frac{-\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt{\left(-\log \left(\frac{x}{1 + x}\right)\right) \cdot \log \color{blue}{\left(\frac{1}{\frac{x}{1 + x}}\right)}}\right)\right)}{n} \]
      16. neg-log0.4%

        \[\leadsto \frac{-\mathsf{log1p}\left(\mathsf{expm1}\left(\sqrt{\left(-\log \left(\frac{x}{1 + x}\right)\right) \cdot \color{blue}{\left(-\log \left(\frac{x}{1 + x}\right)\right)}}\right)\right)}{n} \]
    11. Applied egg-rr74.5%

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

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

Alternative 9: 65.5% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := 1 - {x}^{\left(\frac{1}{n}\right)}\\ t_1 := \frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{if}\;n \leq -1.5 \cdot 10^{+88}:\\ \;\;\;\;t\_1\\ \mathbf{elif}\;n \leq -1400:\\ \;\;\;\;\frac{1}{n} \cdot \frac{1}{x}\\ \mathbf{elif}\;n \leq -3.15 \cdot 10^{-145}:\\ \;\;\;\;t\_0\\ \mathbf{elif}\;n \leq -9 \cdot 10^{-276}:\\ \;\;\;\;\frac{0}{n}\\ \mathbf{elif}\;n \leq 1.9 \cdot 10^{-223}:\\ \;\;\;\;\frac{1}{n \cdot x}\\ \mathbf{elif}\;n \leq 1900000000:\\ \;\;\;\;t\_0\\ \mathbf{else}:\\ \;\;\;\;t\_1\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (- 1.0 (pow x (/ 1.0 n)))) (t_1 (/ (log (/ (+ 1.0 x) x)) n)))
   (if (<= n -1.5e+88)
     t_1
     (if (<= n -1400.0)
       (* (/ 1.0 n) (/ 1.0 x))
       (if (<= n -3.15e-145)
         t_0
         (if (<= n -9e-276)
           (/ 0.0 n)
           (if (<= n 1.9e-223)
             (/ 1.0 (* n x))
             (if (<= n 1900000000.0) t_0 t_1))))))))
double code(double x, double n) {
	double t_0 = 1.0 - pow(x, (1.0 / n));
	double t_1 = log(((1.0 + x) / x)) / n;
	double tmp;
	if (n <= -1.5e+88) {
		tmp = t_1;
	} else if (n <= -1400.0) {
		tmp = (1.0 / n) * (1.0 / x);
	} else if (n <= -3.15e-145) {
		tmp = t_0;
	} else if (n <= -9e-276) {
		tmp = 0.0 / n;
	} else if (n <= 1.9e-223) {
		tmp = 1.0 / (n * x);
	} else if (n <= 1900000000.0) {
		tmp = t_0;
	} else {
		tmp = t_1;
	}
	return tmp;
}
real(8) function code(x, n)
    real(8), intent (in) :: x
    real(8), intent (in) :: n
    real(8) :: t_0
    real(8) :: t_1
    real(8) :: tmp
    t_0 = 1.0d0 - (x ** (1.0d0 / n))
    t_1 = log(((1.0d0 + x) / x)) / n
    if (n <= (-1.5d+88)) then
        tmp = t_1
    else if (n <= (-1400.0d0)) then
        tmp = (1.0d0 / n) * (1.0d0 / x)
    else if (n <= (-3.15d-145)) then
        tmp = t_0
    else if (n <= (-9d-276)) then
        tmp = 0.0d0 / n
    else if (n <= 1.9d-223) then
        tmp = 1.0d0 / (n * x)
    else if (n <= 1900000000.0d0) then
        tmp = t_0
    else
        tmp = t_1
    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 t_1 = Math.log(((1.0 + x) / x)) / n;
	double tmp;
	if (n <= -1.5e+88) {
		tmp = t_1;
	} else if (n <= -1400.0) {
		tmp = (1.0 / n) * (1.0 / x);
	} else if (n <= -3.15e-145) {
		tmp = t_0;
	} else if (n <= -9e-276) {
		tmp = 0.0 / n;
	} else if (n <= 1.9e-223) {
		tmp = 1.0 / (n * x);
	} else if (n <= 1900000000.0) {
		tmp = t_0;
	} else {
		tmp = t_1;
	}
	return tmp;
}
def code(x, n):
	t_0 = 1.0 - math.pow(x, (1.0 / n))
	t_1 = math.log(((1.0 + x) / x)) / n
	tmp = 0
	if n <= -1.5e+88:
		tmp = t_1
	elif n <= -1400.0:
		tmp = (1.0 / n) * (1.0 / x)
	elif n <= -3.15e-145:
		tmp = t_0
	elif n <= -9e-276:
		tmp = 0.0 / n
	elif n <= 1.9e-223:
		tmp = 1.0 / (n * x)
	elif n <= 1900000000.0:
		tmp = t_0
	else:
		tmp = t_1
	return tmp
function code(x, n)
	t_0 = Float64(1.0 - (x ^ Float64(1.0 / n)))
	t_1 = Float64(log(Float64(Float64(1.0 + x) / x)) / n)
	tmp = 0.0
	if (n <= -1.5e+88)
		tmp = t_1;
	elseif (n <= -1400.0)
		tmp = Float64(Float64(1.0 / n) * Float64(1.0 / x));
	elseif (n <= -3.15e-145)
		tmp = t_0;
	elseif (n <= -9e-276)
		tmp = Float64(0.0 / n);
	elseif (n <= 1.9e-223)
		tmp = Float64(1.0 / Float64(n * x));
	elseif (n <= 1900000000.0)
		tmp = t_0;
	else
		tmp = t_1;
	end
	return tmp
end
function tmp_2 = code(x, n)
	t_0 = 1.0 - (x ^ (1.0 / n));
	t_1 = log(((1.0 + x) / x)) / n;
	tmp = 0.0;
	if (n <= -1.5e+88)
		tmp = t_1;
	elseif (n <= -1400.0)
		tmp = (1.0 / n) * (1.0 / x);
	elseif (n <= -3.15e-145)
		tmp = t_0;
	elseif (n <= -9e-276)
		tmp = 0.0 / n;
	elseif (n <= 1.9e-223)
		tmp = 1.0 / (n * x);
	elseif (n <= 1900000000.0)
		tmp = t_0;
	else
		tmp = t_1;
	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]}, Block[{t$95$1 = N[(N[Log[N[(N[(1.0 + x), $MachinePrecision] / x), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision]}, If[LessEqual[n, -1.5e+88], t$95$1, If[LessEqual[n, -1400.0], N[(N[(1.0 / n), $MachinePrecision] * N[(1.0 / x), $MachinePrecision]), $MachinePrecision], If[LessEqual[n, -3.15e-145], t$95$0, If[LessEqual[n, -9e-276], N[(0.0 / n), $MachinePrecision], If[LessEqual[n, 1.9e-223], N[(1.0 / N[(n * x), $MachinePrecision]), $MachinePrecision], If[LessEqual[n, 1900000000.0], t$95$0, t$95$1]]]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := 1 - {x}^{\left(\frac{1}{n}\right)}\\
t_1 := \frac{\log \left(\frac{1 + x}{x}\right)}{n}\\
\mathbf{if}\;n \leq -1.5 \cdot 10^{+88}:\\
\;\;\;\;t\_1\\

\mathbf{elif}\;n \leq -1400:\\
\;\;\;\;\frac{1}{n} \cdot \frac{1}{x}\\

\mathbf{elif}\;n \leq -3.15 \cdot 10^{-145}:\\
\;\;\;\;t\_0\\

\mathbf{elif}\;n \leq -9 \cdot 10^{-276}:\\
\;\;\;\;\frac{0}{n}\\

\mathbf{elif}\;n \leq 1.9 \cdot 10^{-223}:\\
\;\;\;\;\frac{1}{n \cdot x}\\

\mathbf{elif}\;n \leq 1900000000:\\
\;\;\;\;t\_0\\

\mathbf{else}:\\
\;\;\;\;t\_1\\


\end{array}
\end{array}
Derivation
  1. Split input into 5 regimes
  2. if n < -1.50000000000000003e88 or 1.9e9 < n

    1. Initial program 32.9%

      \[{\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 82.2%

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

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

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

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

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

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

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

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

    if -1.50000000000000003e88 < n < -1400

    1. Initial program 12.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 36.9%

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

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

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

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

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

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

        \[\leadsto \frac{1}{\color{blue}{x \cdot n}} \]
    8. Simplified64.2%

      \[\leadsto \color{blue}{\frac{1}{x \cdot n}} \]
    9. Step-by-step derivation
      1. inv-pow64.2%

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

        \[\leadsto \color{blue}{{x}^{-1} \cdot {n}^{-1}} \]
      3. inv-pow64.5%

        \[\leadsto \color{blue}{\frac{1}{x}} \cdot {n}^{-1} \]
      4. inv-pow64.5%

        \[\leadsto \frac{1}{x} \cdot \color{blue}{\frac{1}{n}} \]
    10. Applied egg-rr64.5%

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

    if -1400 < n < -3.15e-145 or 1.90000000000000006e-223 < n < 1.9e9

    1. Initial program 80.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 58.2%

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

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

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

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

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

    if -3.15e-145 < n < -8.99999999999999925e-276

    1. Initial program 100.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 60.5%

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

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

        \[\leadsto \frac{\color{blue}{\log \left(1 + x\right)} - \log x}{n} \]
      3. 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. Step-by-step derivation
      1. log1p-undefine60.5%

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

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

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

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

    if -8.99999999999999925e-276 < n < 1.90000000000000006e-223

    1. Initial program 63.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 32.7%

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

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

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \leq -1.5 \cdot 10^{+88}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{elif}\;n \leq -1400:\\ \;\;\;\;\frac{1}{n} \cdot \frac{1}{x}\\ \mathbf{elif}\;n \leq -3.15 \cdot 10^{-145}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{elif}\;n \leq -9 \cdot 10^{-276}:\\ \;\;\;\;\frac{0}{n}\\ \mathbf{elif}\;n \leq 1.9 \cdot 10^{-223}:\\ \;\;\;\;\frac{1}{n \cdot x}\\ \mathbf{elif}\;n \leq 1900000000:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \end{array} \]
  5. Add Preprocessing

Alternative 10: 80.0% accurate, 1.6× speedup?

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

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

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

\mathbf{elif}\;\frac{1}{n} \leq 200000:\\
\;\;\;\;t\_1\\

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 4 regimes
  2. if (/.f64 1 n) < -5.00000000000000009e-88 or 1.99999999999999999e-73 < (/.f64 1 n) < 2e5

    1. Initial program 62.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 inf 85.3%

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

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

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

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{{x}^{\left(\frac{1}{n}\right)}}{x \cdot n}} \]
    6. Step-by-step derivation
      1. *-un-lft-identity85.4%

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

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

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

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

      \[\leadsto \color{blue}{1 \cdot \frac{{x}^{\left(\frac{1}{n} - 1\right)}}{n}} \]
    8. Step-by-step derivation
      1. *-lft-identity85.9%

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

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

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

      \[\leadsto \color{blue}{\frac{{x}^{\left(\frac{1}{n} + -1\right)}}{n}} \]
    10. Step-by-step derivation
      1. +-commutative85.9%

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

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

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

      \[\leadsto \frac{\color{blue}{\frac{1}{x} \cdot {x}^{\left(\frac{1}{n}\right)}}}{n} \]
    12. Step-by-step derivation
      1. associate-*l/86.3%

        \[\leadsto \frac{\color{blue}{\frac{1 \cdot {x}^{\left(\frac{1}{n}\right)}}{x}}}{n} \]
      2. *-lft-identity86.3%

        \[\leadsto \frac{\frac{\color{blue}{{x}^{\left(\frac{1}{n}\right)}}}{x}}{n} \]
    13. Simplified86.3%

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

    if -5.00000000000000009e-88 < (/.f64 1 n) < 1.99999999999999999e-73

    1. Initial program 36.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 87.9%

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

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

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

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

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

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

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

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

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

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

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

    if 2e5 < (/.f64 1 n) < 4.9999999999999995e211

    1. Initial program 64.2%

      \[{\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 59.4%

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

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

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

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

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

    if 4.9999999999999995e211 < (/.f64 1 n)

    1. Initial program 13.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 7.8%

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

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

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -5 \cdot 10^{-88}:\\ \;\;\;\;\frac{\frac{{x}^{\left(\frac{1}{n}\right)}}{x}}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-73}:\\ \;\;\;\;\frac{\log \left(\frac{x}{1 + x}\right)}{-n}\\ \mathbf{elif}\;\frac{1}{n} \leq 200000:\\ \;\;\;\;\frac{\frac{{x}^{\left(\frac{1}{n}\right)}}{x}}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 5 \cdot 10^{+211}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{n \cdot x}\\ \end{array} \]
  5. Add Preprocessing

Alternative 11: 60.7% accurate, 1.8× speedup?

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

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

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

\mathbf{elif}\;x \leq 2.05 \cdot 10^{-7}:\\
\;\;\;\;\frac{x - \log x}{n}\\

\mathbf{elif}\;x \leq 1.5 \cdot 10^{+185}:\\
\;\;\;\;\frac{\frac{1}{x}}{n}\\

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


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

    1. Initial program 27.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 inf 81.4%

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

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

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

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

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

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

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

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

    if 2.1e-248 < x < 4.00000000000000019e-230

    1. Initial program 84.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 84.8%

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

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

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

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

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

    if 4.00000000000000019e-230 < x < 2.05e-7

    1. Initial program 36.9%

      \[{\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 54.9%

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

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

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

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

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

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

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

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

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

    if 2.05e-7 < x < 1.49999999999999997e185

    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 46.5%

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

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

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

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

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

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

    if 1.49999999999999997e185 < x

    1. Initial program 83.9%

      \[{\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 83.9%

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

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

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

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 2.1 \cdot 10^{-248}:\\ \;\;\;\;\frac{\log x}{-n}\\ \mathbf{elif}\;x \leq 4 \cdot 10^{-230}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{elif}\;x \leq 2.05 \cdot 10^{-7}:\\ \;\;\;\;\frac{x - \log x}{n}\\ \mathbf{elif}\;x \leq 1.5 \cdot 10^{+185}:\\ \;\;\;\;\frac{\frac{1}{x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \]
  5. Add Preprocessing

Alternative 12: 60.4% accurate, 1.9× speedup?

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

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

\mathbf{elif}\;x \leq 1.7 \cdot 10^{+186}:\\
\;\;\;\;\frac{\frac{1}{x}}{n}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if x < 2.05e-7

    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 59.0%

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

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

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

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

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

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

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

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

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

    if 2.05e-7 < x < 1.70000000000000003e186

    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 46.5%

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

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

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

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

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

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

    if 1.70000000000000003e186 < x

    1. Initial program 83.9%

      \[{\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 83.9%

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

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

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

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 2.05 \cdot 10^{-7}:\\ \;\;\;\;\frac{x - \log x}{n}\\ \mathbf{elif}\;x \leq 1.7 \cdot 10^{+186}:\\ \;\;\;\;\frac{\frac{1}{x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \]
  5. Add Preprocessing

Alternative 13: 60.3% accurate, 1.9× speedup?

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

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

\mathbf{elif}\;x \leq 10^{+182}:\\
\;\;\;\;\frac{\frac{1}{x}}{n}\\

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


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if x < 2.05e-7

    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 59.0%

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

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

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

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

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

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

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

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

    if 2.05e-7 < x < 1.0000000000000001e182

    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 46.5%

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

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

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

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

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

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

    if 1.0000000000000001e182 < x

    1. Initial program 83.9%

      \[{\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 83.9%

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

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

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

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 2.05 \cdot 10^{-7}:\\ \;\;\;\;\frac{\log x}{-n}\\ \mathbf{elif}\;x \leq 10^{+182}:\\ \;\;\;\;\frac{\frac{1}{x}}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{0}{n}\\ \end{array} \]
  5. Add Preprocessing

Alternative 14: 46.6% accurate, 17.6× speedup?

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

\\
\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \leq -2 \cdot 10^{+14}:\\
\;\;\;\;\frac{0}{n}\\

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


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

    1. Initial program 100.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 49.6%

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

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

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

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

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

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

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

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

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

    if -2e14 < (/.f64 1 n)

    1. Initial program 32.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 63.0%

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

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

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

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

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

      \[\leadsto \frac{\color{blue}{\frac{1}{x}}}{n} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification47.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -2 \cdot 10^{+14}:\\ \;\;\;\;\frac{0}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{x}}{n}\\ \end{array} \]
  5. Add Preprocessing

Alternative 15: 40.4% 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 49.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 59.8%

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

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

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

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

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

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

      \[\leadsto \frac{1}{\color{blue}{x \cdot n}} \]
  8. Simplified41.1%

    \[\leadsto \color{blue}{\frac{1}{x \cdot n}} \]
  9. Final simplification41.1%

    \[\leadsto \frac{1}{n \cdot x} \]
  10. Add Preprocessing

Alternative 16: 41.1% 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 49.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 59.8%

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

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

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

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

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

    \[\leadsto \frac{\color{blue}{\frac{1}{x}}}{n} \]
  7. Final simplification41.8%

    \[\leadsto \frac{\frac{1}{x}}{n} \]
  8. Add Preprocessing

Alternative 17: 4.5% 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 49.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 28.2%

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

    \[\leadsto \color{blue}{\frac{x}{n}} \]
  5. Final simplification4.4%

    \[\leadsto \frac{x}{n} \]
  6. Add Preprocessing

Reproduce

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