2nthrt (problem 3.4.6)

Percentage Accurate: 53.7% → 85.1%
Time: 26.4s
Alternatives: 21
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 21 alternatives:

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

Initial Program: 53.7% 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: 85.1% accurate, 0.3× speedup?

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

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

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

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

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


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

    1. Initial program 96.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 99.9%

      \[\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-rec99.9%

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

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

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

        \[\leadsto \frac{e^{-\frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      5. distribute-frac-neg99.9%

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

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

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

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

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

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

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

    if -1.00000000000000008e-5 < (/.f64 #s(literal 1 binary64) n) < 1.0000000000000001e-133

    1. Initial program 39.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 83.7%

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\log \left(1 + x\right)}^{2}}{n} - \color{blue}{\left(0.5 \cdot \frac{{\log x}^{2}}{n} + \log x\right)}\right)}{n} \]
      4. associate--r+83.7%

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

        \[\leadsto \frac{\mathsf{log1p}\left(x\right) + \left(\color{blue}{0.5 \cdot \left(\frac{{\log \left(1 + x\right)}^{2}}{n} - \frac{{\log x}^{2}}{n}\right)} - \log x\right)}{n} \]
      6. div-sub83.7%

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

        \[\leadsto \frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\color{blue}{\left(\mathsf{log1p}\left(x\right)\right)}}^{2} - {\log x}^{2}}{n} - \log x\right)}{n} \]
    5. Simplified83.7%

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

    if 1.0000000000000001e-133 < (/.f64 #s(literal 1 binary64) n) < 1.9999999999999999e-7

    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 x around inf 69.7%

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

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

    if 1.9999999999999999e-7 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 47.1%

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\sqrt[3]{{\left(e^{\frac{\mathsf{log1p}\left(x\right)}{n}}\right)}^{3}}} - {x}^{\left(\frac{1}{n}\right)} \]
    5. Step-by-step derivation
      1. rem-cbrt-cube99.8%

        \[\leadsto \color{blue}{e^{\frac{\mathsf{log1p}\left(x\right)}{n}}} - {x}^{\left(\frac{1}{n}\right)} \]
      2. *-un-lft-identity99.8%

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

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

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

      \[\leadsto {\left(e^{1}\right)}^{\color{blue}{\left(\frac{x}{n}\right)}} - {x}^{\left(\frac{1}{n}\right)} \]
    8. Step-by-step derivation
      1. add-cbrt-cube99.9%

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

        \[\leadsto \color{blue}{{\left(\left(\left({\left(e^{1}\right)}^{\left(\frac{x}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right) \cdot \left({\left(e^{1}\right)}^{\left(\frac{x}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)\right) \cdot \left({\left(e^{1}\right)}^{\left(\frac{x}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)\right)}^{0.3333333333333333}} \]
      3. pow399.8%

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

        \[\leadsto {\left({\left(\color{blue}{e^{1 \cdot \frac{x}{n}}} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}^{0.3333333333333333} \]
      5. *-un-lft-identity100.0%

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

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

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

Alternative 2: 85.1% accurate, 0.3× speedup?

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

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

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

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-7}:\\
\;\;\;\;\frac{\frac{1 + \frac{\log x}{n}}{x}}{n}\\

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


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

    1. Initial program 96.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 99.9%

      \[\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-rec99.9%

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

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

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

        \[\leadsto \frac{e^{-\frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      5. distribute-frac-neg99.9%

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

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

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

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

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

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

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

    if -1.00000000000000008e-5 < (/.f64 #s(literal 1 binary64) n) < 2.0000000000000001e-133

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

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\log \left(1 + x\right)}^{2}}{n} - \color{blue}{\left(0.5 \cdot \frac{{\log x}^{2}}{n} + \log x\right)}\right)}{n} \]
      4. associate--r+83.7%

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

        \[\leadsto \frac{\mathsf{log1p}\left(x\right) + \left(\color{blue}{0.5 \cdot \left(\frac{{\log \left(1 + x\right)}^{2}}{n} - \frac{{\log x}^{2}}{n}\right)} - \log x\right)}{n} \]
      6. div-sub83.7%

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

        \[\leadsto \frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\color{blue}{\left(\mathsf{log1p}\left(x\right)\right)}}^{2} - {\log x}^{2}}{n} - \log x\right)}{n} \]
    5. Simplified83.7%

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

    if 2.0000000000000001e-133 < (/.f64 #s(literal 1 binary64) n) < 1.9999999999999999e-7

    1. Initial program 16.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 44.9%

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\log \left(1 + x\right)}^{2}}{n} - \color{blue}{\left(0.5 \cdot \frac{{\log x}^{2}}{n} + \log x\right)}\right)}{n} \]
      4. associate--r+44.9%

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

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

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

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

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2} - {\log x}^{2}}{n} - \log x\right)}{n}} \]
    6. Taylor expanded in x around inf 68.2%

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

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

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

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

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

        \[\leadsto \frac{\frac{\color{blue}{\frac{\log x}{n}} + 1}{x}}{n} \]
    8. Simplified68.2%

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

    if 1.9999999999999999e-7 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 47.1%

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\sqrt[3]{{\left(e^{\frac{\mathsf{log1p}\left(x\right)}{n}}\right)}^{3}}} - {x}^{\left(\frac{1}{n}\right)} \]
    5. Step-by-step derivation
      1. rem-cbrt-cube99.8%

        \[\leadsto \color{blue}{e^{\frac{\mathsf{log1p}\left(x\right)}{n}}} - {x}^{\left(\frac{1}{n}\right)} \]
      2. *-un-lft-identity99.8%

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

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

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

      \[\leadsto {\left(e^{1}\right)}^{\color{blue}{\left(\frac{x}{n}\right)}} - {x}^{\left(\frac{1}{n}\right)} \]
    8. Step-by-step derivation
      1. add-cbrt-cube99.9%

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

        \[\leadsto \color{blue}{{\left(\left(\left({\left(e^{1}\right)}^{\left(\frac{x}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right) \cdot \left({\left(e^{1}\right)}^{\left(\frac{x}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)\right) \cdot \left({\left(e^{1}\right)}^{\left(\frac{x}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)\right)}^{0.3333333333333333}} \]
      3. pow399.8%

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

        \[\leadsto {\left({\left(\color{blue}{e^{1 \cdot \frac{x}{n}}} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}^{0.3333333333333333} \]
      5. *-un-lft-identity100.0%

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

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

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

Alternative 3: 77.5% accurate, 0.4× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := {x}^{\left(\frac{1}{n}\right)}\\ t_1 := {\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - t\_0\\ t_2 := \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}\\ \mathbf{if}\;t\_1 \leq -\infty:\\ \;\;\;\;1 - t\_0\\ \mathbf{elif}\;t\_1 \leq 5 \cdot 10^{-10}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{0.5 - t\_2}{n}}}{\frac{n \cdot x}{\frac{-0.5 + t\_2}{n}}}}}\\ \end{array} \end{array} \]
(FPCore (x n)
 :precision binary64
 (let* ((t_0 (pow x (/ 1.0 n)))
        (t_1 (- (pow (+ 1.0 x) (/ 1.0 n)) t_0))
        (t_2 (/ (+ -0.3333333333333333 (/ 0.25 x)) x)))
   (if (<= t_1 (- INFINITY))
     (- 1.0 t_0)
     (if (<= t_1 5e-10)
       (/ (log (/ (+ 1.0 x) x)) n)
       (/
        1.0
        (/
         x
         (/ (+ n (/ x (/ (- 0.5 t_2) n))) (/ (* n x) (/ (+ -0.5 t_2) n)))))))))
double code(double x, double n) {
	double t_0 = pow(x, (1.0 / n));
	double t_1 = pow((1.0 + x), (1.0 / n)) - t_0;
	double t_2 = (-0.3333333333333333 + (0.25 / x)) / x;
	double tmp;
	if (t_1 <= -((double) INFINITY)) {
		tmp = 1.0 - t_0;
	} else if (t_1 <= 5e-10) {
		tmp = log(((1.0 + x) / x)) / n;
	} else {
		tmp = 1.0 / (x / ((n + (x / ((0.5 - t_2) / n))) / ((n * x) / ((-0.5 + t_2) / n))));
	}
	return tmp;
}
public static double code(double x, double n) {
	double t_0 = Math.pow(x, (1.0 / n));
	double t_1 = Math.pow((1.0 + x), (1.0 / n)) - t_0;
	double t_2 = (-0.3333333333333333 + (0.25 / x)) / x;
	double tmp;
	if (t_1 <= -Double.POSITIVE_INFINITY) {
		tmp = 1.0 - t_0;
	} else if (t_1 <= 5e-10) {
		tmp = Math.log(((1.0 + x) / x)) / n;
	} else {
		tmp = 1.0 / (x / ((n + (x / ((0.5 - t_2) / n))) / ((n * x) / ((-0.5 + t_2) / n))));
	}
	return tmp;
}
def code(x, n):
	t_0 = math.pow(x, (1.0 / n))
	t_1 = math.pow((1.0 + x), (1.0 / n)) - t_0
	t_2 = (-0.3333333333333333 + (0.25 / x)) / x
	tmp = 0
	if t_1 <= -math.inf:
		tmp = 1.0 - t_0
	elif t_1 <= 5e-10:
		tmp = math.log(((1.0 + x) / x)) / n
	else:
		tmp = 1.0 / (x / ((n + (x / ((0.5 - t_2) / n))) / ((n * x) / ((-0.5 + t_2) / n))))
	return tmp
function code(x, n)
	t_0 = x ^ Float64(1.0 / n)
	t_1 = Float64((Float64(1.0 + x) ^ Float64(1.0 / n)) - t_0)
	t_2 = Float64(Float64(-0.3333333333333333 + Float64(0.25 / x)) / x)
	tmp = 0.0
	if (t_1 <= Float64(-Inf))
		tmp = Float64(1.0 - t_0);
	elseif (t_1 <= 5e-10)
		tmp = Float64(log(Float64(Float64(1.0 + x) / x)) / n);
	else
		tmp = Float64(1.0 / Float64(x / Float64(Float64(n + Float64(x / Float64(Float64(0.5 - t_2) / n))) / Float64(Float64(n * x) / Float64(Float64(-0.5 + t_2) / n)))));
	end
	return tmp
end
function tmp_2 = code(x, n)
	t_0 = x ^ (1.0 / n);
	t_1 = ((1.0 + x) ^ (1.0 / n)) - t_0;
	t_2 = (-0.3333333333333333 + (0.25 / x)) / x;
	tmp = 0.0;
	if (t_1 <= -Inf)
		tmp = 1.0 - t_0;
	elseif (t_1 <= 5e-10)
		tmp = log(((1.0 + x) / x)) / n;
	else
		tmp = 1.0 / (x / ((n + (x / ((0.5 - t_2) / n))) / ((n * x) / ((-0.5 + t_2) / n))));
	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[Power[N[(1.0 + x), $MachinePrecision], N[(1.0 / n), $MachinePrecision]], $MachinePrecision] - t$95$0), $MachinePrecision]}, Block[{t$95$2 = N[(N[(-0.3333333333333333 + N[(0.25 / x), $MachinePrecision]), $MachinePrecision] / x), $MachinePrecision]}, If[LessEqual[t$95$1, (-Infinity)], N[(1.0 - t$95$0), $MachinePrecision], If[LessEqual[t$95$1, 5e-10], N[(N[Log[N[(N[(1.0 + x), $MachinePrecision] / x), $MachinePrecision]], $MachinePrecision] / n), $MachinePrecision], N[(1.0 / N[(x / N[(N[(n + N[(x / N[(N[(0.5 - t$95$2), $MachinePrecision] / n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(n * x), $MachinePrecision] / N[(N[(-0.5 + t$95$2), $MachinePrecision] / n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]]
\begin{array}{l}

\\
\begin{array}{l}
t_0 := {x}^{\left(\frac{1}{n}\right)}\\
t_1 := {\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - t\_0\\
t_2 := \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}\\
\mathbf{if}\;t\_1 \leq -\infty:\\
\;\;\;\;1 - t\_0\\

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

\mathbf{else}:\\
\;\;\;\;\frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{0.5 - t\_2}{n}}}{\frac{n \cdot x}{\frac{-0.5 + t\_2}{n}}}}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if (-.f64 (pow.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) n)) (pow.f64 x (/.f64 #s(literal 1 binary64) n))) < -inf.0

    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^{\color{blue}{\frac{\log x}{n} \cdot 1}} \]
      2. associate-*l/100.0%

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

        \[\leadsto 1 - e^{\color{blue}{\log x \cdot \frac{1}{n}}} \]
      4. 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 -inf.0 < (-.f64 (pow.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) n)) (pow.f64 x (/.f64 #s(literal 1 binary64) n))) < 5.00000000000000031e-10

    1. Initial program 47.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 79.7%

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

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

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

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

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

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

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

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

    if 5.00000000000000031e-10 < (-.f64 (pow.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) n)) (pow.f64 x (/.f64 #s(literal 1 binary64) n)))

    1. Initial program 47.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. 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 0.3%

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

        \[\leadsto \color{blue}{\frac{-1 \cdot \left(-1 \cdot \frac{-1 \cdot \frac{0.25 \cdot \frac{1}{n \cdot x} - 0.3333333333333333 \cdot \frac{1}{n}}{x} - 0.5 \cdot \frac{1}{n}}{x} - \frac{1}{n}\right)}{x}} \]
    8. Simplified0.3%

      \[\leadsto \color{blue}{\frac{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}{x}} \]
    9. Step-by-step derivation
      1. clear-num0.3%

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}}} \]
      2. inv-pow0.3%

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

      \[\leadsto \color{blue}{{\left(\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}\right)}^{-1}} \]
    11. Step-by-step derivation
      1. unpow-150.7%

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}}} \]
      2. sub-neg50.7%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}}} \]
      3. *-lft-identity50.7%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{1 \cdot \frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      4. *-lft-identity50.7%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      5. associate-/l/50.7%

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

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

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

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \color{blue}{\frac{-1}{n}}}} \]
      9. metadata-eval50.7%

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{\color{blue}{-1}}{n}}} \]
    12. Simplified50.7%

      \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{-1}{n}}}} \]
    13. Step-by-step derivation
      1. clear-num50.7%

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

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{1 \cdot n + \frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}}} \]
      3. *-un-lft-identity52.9%

        \[\leadsto \frac{1}{\frac{x}{\frac{\color{blue}{n} + \frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}} \]
      4. associate-/r*52.9%

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

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}} \]
      6. associate-/r*52.9%

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

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot -1}{\frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}} \cdot n}}} \]
    14. Applied egg-rr52.9%

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

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

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

Alternative 4: 85.0% accurate, 0.5× speedup?

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

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

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

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-7}:\\
\;\;\;\;\frac{\frac{1 + \frac{\log x}{n}}{x}}{n}\\

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


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

    1. Initial program 96.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 99.9%

      \[\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-rec99.9%

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

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

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

        \[\leadsto \frac{e^{-\frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      5. distribute-frac-neg99.9%

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

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

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

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

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

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

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

    if -1.00000000000000008e-5 < (/.f64 #s(literal 1 binary64) n) < 2.0000000000000001e-133

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

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

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

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

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

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

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

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

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

    if 2.0000000000000001e-133 < (/.f64 #s(literal 1 binary64) n) < 1.9999999999999999e-7

    1. Initial program 16.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 44.9%

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\log \left(1 + x\right)}^{2}}{n} - \color{blue}{\left(0.5 \cdot \frac{{\log x}^{2}}{n} + \log x\right)}\right)}{n} \]
      4. associate--r+44.9%

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

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

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

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

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2} - {\log x}^{2}}{n} - \log x\right)}{n}} \]
    6. Taylor expanded in x around inf 68.2%

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

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

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

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

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

        \[\leadsto \frac{\frac{\color{blue}{\frac{\log x}{n}} + 1}{x}}{n} \]
    8. Simplified68.2%

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

    if 1.9999999999999999e-7 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 47.1%

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\sqrt[3]{{\left(e^{\frac{\mathsf{log1p}\left(x\right)}{n}}\right)}^{3}}} - {x}^{\left(\frac{1}{n}\right)} \]
    5. Step-by-step derivation
      1. rem-cbrt-cube99.8%

        \[\leadsto \color{blue}{e^{\frac{\mathsf{log1p}\left(x\right)}{n}}} - {x}^{\left(\frac{1}{n}\right)} \]
      2. *-un-lft-identity99.8%

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

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

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

      \[\leadsto {\left(e^{1}\right)}^{\color{blue}{\left(\frac{x}{n}\right)}} - {x}^{\left(\frac{1}{n}\right)} \]
    8. Step-by-step derivation
      1. add-cbrt-cube99.9%

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

        \[\leadsto \color{blue}{{\left(\left(\left({\left(e^{1}\right)}^{\left(\frac{x}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right) \cdot \left({\left(e^{1}\right)}^{\left(\frac{x}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)\right) \cdot \left({\left(e^{1}\right)}^{\left(\frac{x}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)\right)}^{0.3333333333333333}} \]
      3. pow399.8%

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

        \[\leadsto {\left({\left(\color{blue}{e^{1 \cdot \frac{x}{n}}} - {x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}^{0.3333333333333333} \]
      5. *-un-lft-identity100.0%

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

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

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

Alternative 5: 85.0% accurate, 0.9× speedup?

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

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

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

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-7}:\\
\;\;\;\;\frac{\frac{1 + \frac{\log x}{n}}{x}}{n}\\

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


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

    1. Initial program 96.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 99.9%

      \[\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-rec99.9%

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

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

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

        \[\leadsto \frac{e^{-\frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      5. distribute-frac-neg99.9%

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

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

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

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

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

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

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

    if -1.00000000000000008e-5 < (/.f64 #s(literal 1 binary64) n) < 2.0000000000000001e-133

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

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

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

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

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

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

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

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

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

    if 2.0000000000000001e-133 < (/.f64 #s(literal 1 binary64) n) < 1.9999999999999999e-7

    1. Initial program 16.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 44.9%

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\log \left(1 + x\right)}^{2}}{n} - \color{blue}{\left(0.5 \cdot \frac{{\log x}^{2}}{n} + \log x\right)}\right)}{n} \]
      4. associate--r+44.9%

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

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

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

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

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2} - {\log x}^{2}}{n} - \log x\right)}{n}} \]
    6. Taylor expanded in x around inf 68.2%

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

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

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

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

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

        \[\leadsto \frac{\frac{\color{blue}{\frac{\log x}{n}} + 1}{x}}{n} \]
    8. Simplified68.2%

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

    if 1.9999999999999999e-7 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 47.1%

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\sqrt[3]{{\left(e^{\frac{\mathsf{log1p}\left(x\right)}{n}}\right)}^{3}}} - {x}^{\left(\frac{1}{n}\right)} \]
    5. Step-by-step derivation
      1. rem-cbrt-cube99.8%

        \[\leadsto \color{blue}{e^{\frac{\mathsf{log1p}\left(x\right)}{n}}} - {x}^{\left(\frac{1}{n}\right)} \]
      2. *-un-lft-identity99.8%

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

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

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

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

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

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

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

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

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

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

Alternative 6: 85.1% accurate, 0.9× speedup?

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

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

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

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-7}:\\
\;\;\;\;\frac{\frac{1 + \frac{\log x}{n}}{x}}{n}\\

\mathbf{else}:\\
\;\;\;\;e^{\frac{x}{n}} - t\_0\\


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

    1. Initial program 96.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 99.9%

      \[\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-rec99.9%

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

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

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

        \[\leadsto \frac{e^{-\frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      5. distribute-frac-neg99.9%

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

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

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

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

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

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

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

    if -1.00000000000000008e-5 < (/.f64 #s(literal 1 binary64) n) < 2.0000000000000001e-133

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

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

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

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

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

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

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

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

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

    if 2.0000000000000001e-133 < (/.f64 #s(literal 1 binary64) n) < 1.9999999999999999e-7

    1. Initial program 16.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 44.9%

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\log \left(1 + x\right)}^{2}}{n} - \color{blue}{\left(0.5 \cdot \frac{{\log x}^{2}}{n} + \log x\right)}\right)}{n} \]
      4. associate--r+44.9%

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

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

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

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

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2} - {\log x}^{2}}{n} - \log x\right)}{n}} \]
    6. Taylor expanded in x around inf 68.2%

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

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

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

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

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

        \[\leadsto \frac{\frac{\color{blue}{\frac{\log x}{n}} + 1}{x}}{n} \]
    8. Simplified68.2%

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

    if 1.9999999999999999e-7 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 47.1%

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

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

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

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

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

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

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

      \[\leadsto \color{blue}{\sqrt[3]{{\left(e^{\frac{\mathsf{log1p}\left(x\right)}{n}}\right)}^{3}}} - {x}^{\left(\frac{1}{n}\right)} \]
    5. Step-by-step derivation
      1. rem-cbrt-cube99.8%

        \[\leadsto \color{blue}{e^{\frac{\mathsf{log1p}\left(x\right)}{n}}} - {x}^{\left(\frac{1}{n}\right)} \]
      2. *-un-lft-identity99.8%

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

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

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

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

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

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

Alternative 7: 78.0% accurate, 1.0× speedup?

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

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

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

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


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

    1. Initial program 96.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 99.9%

      \[\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-rec99.9%

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

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

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

        \[\leadsto \frac{e^{-\frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      5. distribute-frac-neg99.9%

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

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

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

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

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

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

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

    if -1.00000000000000008e-5 < (/.f64 #s(literal 1 binary64) n) < 2.0000000000000001e-133

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

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

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

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

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

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

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

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

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

    if 2.0000000000000001e-133 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 35.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 19.8%

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}{x}} \]
    9. Taylor expanded in x around inf 44.4%

      \[\leadsto \frac{\color{blue}{\frac{1}{n}}}{x} \]
    10. Step-by-step derivation
      1. log1p-expm1-u60.8%

        \[\leadsto \frac{\color{blue}{\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{1}{n}\right)\right)}}{x} \]
    11. Applied egg-rr60.8%

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

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

Alternative 8: 77.8% accurate, 1.0× speedup?

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

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

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

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


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

    1. Initial program 96.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 99.9%

      \[\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-rec99.9%

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

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

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

        \[\leadsto \frac{e^{-\frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      5. distribute-frac-neg99.9%

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

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

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

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

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

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

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

    if -1.00000000000000008e-5 < (/.f64 #s(literal 1 binary64) n) < 2.0000000000000001e-133

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

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

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

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

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

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

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

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

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

    if 2.0000000000000001e-133 < (/.f64 #s(literal 1 binary64) n)

    1. Initial program 35.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 19.8%

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

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

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

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

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

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

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

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

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

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

Alternative 9: 61.9% accurate, 1.5× speedup?

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

\\
\begin{array}{l}
t_0 := \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}\\
\mathbf{if}\;\frac{1}{n} \leq -200000000:\\
\;\;\;\;\frac{\frac{0.25}{n}}{{x}^{4}}\\

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

\mathbf{elif}\;\frac{1}{n} \leq 5 \cdot 10^{-180}:\\
\;\;\;\;\log x \cdot \frac{-1}{n}\\

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

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

\mathbf{else}:\\
\;\;\;\;\frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{0.5 - t\_0}{n}}}{\frac{n \cdot x}{\frac{-0.5 + t\_0}{n}}}}}\\


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

    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 53.4%

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}{x}} \]
    9. Step-by-step derivation
      1. clear-num1.8%

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

        \[\leadsto \color{blue}{{\left(\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}\right)}^{-1}} \]
    10. Applied egg-rr43.0%

      \[\leadsto \color{blue}{{\left(\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}\right)}^{-1}} \]
    11. Step-by-step derivation
      1. unpow-143.0%

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}}} \]
      2. sub-neg43.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}}} \]
      3. *-lft-identity43.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{1 \cdot \frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      4. *-lft-identity43.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      5. associate-/l/43.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\color{blue}{\frac{\frac{0.25}{x} - 0.3333333333333333}{x \cdot n}} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
      6. sub-neg43.0%

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

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + \color{blue}{-0.3333333333333333}}{x \cdot n} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
      8. distribute-neg-frac43.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \color{blue}{\frac{-1}{n}}}} \]
      9. metadata-eval43.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{\color{blue}{-1}}{n}}} \]
    12. Simplified43.0%

      \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{-1}{n}}}} \]
    13. Taylor expanded in x around 0 82.1%

      \[\leadsto \color{blue}{\frac{0.25}{n \cdot {x}^{4}}} \]
    14. Step-by-step derivation
      1. associate-/r*82.1%

        \[\leadsto \color{blue}{\frac{\frac{0.25}{n}}{{x}^{4}}} \]
    15. Simplified82.1%

      \[\leadsto \color{blue}{\frac{\frac{0.25}{n}}{{x}^{4}}} \]

    if -2e8 < (/.f64 #s(literal 1 binary64) n) < 5.0000000000000001e-264

    1. Initial program 37.6%

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

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

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

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

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

    if 5.0000000000000001e-264 < (/.f64 #s(literal 1 binary64) n) < 5.0000000000000001e-180

    1. Initial program 35.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 99.5%

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

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

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

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

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

      \[\leadsto \color{blue}{\left(-1 \cdot \log x\right)} \cdot \frac{1}{n} \]
    9. Step-by-step derivation
      1. neg-mul-170.9%

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

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

    if 5.0000000000000001e-180 < (/.f64 #s(literal 1 binary64) n) < 2.00000000000000014e-17

    1. Initial program 25.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 61.5%

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

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

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

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

    if 2.00000000000000014e-17 < (/.f64 #s(literal 1 binary64) n) < 8.00000000000000041e142

    1. Initial program 75.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 68.9%

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

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

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

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

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

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

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

    1. Initial program 29.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. 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 0.2%

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

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

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

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}}} \]
      2. inv-pow0.2%

        \[\leadsto \color{blue}{{\left(\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}\right)}^{-1}} \]
    10. Applied egg-rr69.0%

      \[\leadsto \color{blue}{{\left(\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}\right)}^{-1}} \]
    11. Step-by-step derivation
      1. unpow-169.0%

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}}} \]
      2. sub-neg69.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}}} \]
      3. *-lft-identity69.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{1 \cdot \frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      4. *-lft-identity69.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      5. associate-/l/69.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\color{blue}{\frac{\frac{0.25}{x} - 0.3333333333333333}{x \cdot n}} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
      6. sub-neg69.0%

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

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + \color{blue}{-0.3333333333333333}}{x \cdot n} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
      8. distribute-neg-frac69.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \color{blue}{\frac{-1}{n}}}} \]
      9. metadata-eval69.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{\color{blue}{-1}}{n}}} \]
    12. Simplified69.0%

      \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{-1}{n}}}} \]
    13. Step-by-step derivation
      1. clear-num69.0%

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

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{1 \cdot n + \frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}}} \]
      3. *-un-lft-identity72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{\color{blue}{n} + \frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}} \]
      4. associate-/r*72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x}}{n}} - \frac{0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}} \]
      5. sub-div72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}} \]
      6. associate-/r*72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot -1}{\frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x}}{n}} - \frac{0.5}{n}} \cdot n}}} \]
      7. sub-div72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot -1}{\frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}} \cdot n}}} \]
    14. Applied egg-rr72.3%

      \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{n + \frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot n}}}} \]
    15. Simplified72.3%

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -200000000:\\ \;\;\;\;\frac{\frac{0.25}{n}}{{x}^{4}}\\ \mathbf{elif}\;\frac{1}{n} \leq 5 \cdot 10^{-264}:\\ \;\;\;\;\frac{\frac{1}{x}}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 5 \cdot 10^{-180}:\\ \;\;\;\;\log x \cdot \frac{-1}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-17}:\\ \;\;\;\;\frac{\frac{1 + \frac{0.3333333333333333 \cdot \frac{1}{x} - 0.5}{x}}{x}}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 8 \cdot 10^{+142}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{0.5 - \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}}{\frac{n \cdot x}{\frac{-0.5 + \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}}}}\\ \end{array} \]
  5. Add Preprocessing

Alternative 10: 81.3% accurate, 1.5× speedup?

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

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

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

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-7}:\\
\;\;\;\;\frac{\frac{1 + \frac{\log x}{n}}{x}}{n}\\

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

\mathbf{else}:\\
\;\;\;\;\frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{0.5 - t\_1}{n}}}{\frac{n \cdot x}{\frac{-0.5 + t\_1}{n}}}}}\\


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

    1. Initial program 96.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 99.9%

      \[\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-rec99.9%

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

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

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

        \[\leadsto \frac{e^{-\frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      5. distribute-frac-neg99.9%

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

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

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

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

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

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

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

    if -1.00000000000000008e-5 < (/.f64 #s(literal 1 binary64) n) < 2.0000000000000001e-133

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

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

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

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

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

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

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

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

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

    if 2.0000000000000001e-133 < (/.f64 #s(literal 1 binary64) n) < 1.9999999999999999e-7

    1. Initial program 16.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 44.9%

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\log \left(1 + x\right)}^{2}}{n} - \color{blue}{\left(0.5 \cdot \frac{{\log x}^{2}}{n} + \log x\right)}\right)}{n} \]
      4. associate--r+44.9%

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

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

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

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

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2} - {\log x}^{2}}{n} - \log x\right)}{n}} \]
    6. Taylor expanded in x around inf 68.2%

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

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

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

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

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

        \[\leadsto \frac{\frac{\color{blue}{\frac{\log x}{n}} + 1}{x}}{n} \]
    8. Simplified68.2%

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

    if 1.9999999999999999e-7 < (/.f64 #s(literal 1 binary64) n) < 8.00000000000000041e142

    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 74.3%

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

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

    1. Initial program 29.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. 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 0.2%

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

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

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

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}}} \]
      2. inv-pow0.2%

        \[\leadsto \color{blue}{{\left(\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}\right)}^{-1}} \]
    10. Applied egg-rr69.0%

      \[\leadsto \color{blue}{{\left(\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}\right)}^{-1}} \]
    11. Step-by-step derivation
      1. unpow-169.0%

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}}} \]
      2. sub-neg69.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}}} \]
      3. *-lft-identity69.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{1 \cdot \frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      4. *-lft-identity69.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      5. associate-/l/69.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\color{blue}{\frac{\frac{0.25}{x} - 0.3333333333333333}{x \cdot n}} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
      6. sub-neg69.0%

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

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + \color{blue}{-0.3333333333333333}}{x \cdot n} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
      8. distribute-neg-frac69.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \color{blue}{\frac{-1}{n}}}} \]
      9. metadata-eval69.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{\color{blue}{-1}}{n}}} \]
    12. Simplified69.0%

      \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{-1}{n}}}} \]
    13. Step-by-step derivation
      1. clear-num69.0%

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

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{1 \cdot n + \frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}}} \]
      3. *-un-lft-identity72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{\color{blue}{n} + \frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}} \]
      4. associate-/r*72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x}}{n}} - \frac{0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}} \]
      5. sub-div72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}} \]
      6. associate-/r*72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot -1}{\frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x}}{n}} - \frac{0.5}{n}} \cdot n}}} \]
      7. sub-div72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot -1}{\frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}} \cdot n}}} \]
    14. Applied egg-rr72.3%

      \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{n + \frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot n}}}} \]
    15. Simplified72.3%

      \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{n + \frac{x}{\frac{0.5 - \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}}{\frac{x \cdot n}{\frac{\frac{-0.3333333333333333 + \frac{0.25}{x}}{x} + -0.5}{n}}}}}} \]
  3. Recombined 5 regimes into one program.
  4. Final simplification84.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-5}:\\ \;\;\;\;\frac{{x}^{\left(\frac{1}{n}\right)}}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-133}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-7}:\\ \;\;\;\;\frac{\frac{1 + \frac{\log x}{n}}{x}}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 8 \cdot 10^{+142}:\\ \;\;\;\;\left(1 + \frac{x}{n}\right) - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{0.5 - \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}}{\frac{n \cdot x}{\frac{-0.5 + \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}}}}\\ \end{array} \]
  5. Add Preprocessing

Alternative 11: 81.3% accurate, 1.6× speedup?

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

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

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

\mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-7}:\\
\;\;\;\;\frac{\frac{1 + \frac{\log x}{n}}{x}}{n}\\

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

\mathbf{else}:\\
\;\;\;\;\frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{0.5 - t\_0}{n}}}{\frac{n \cdot x}{\frac{-0.5 + t\_0}{n}}}}}\\


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

    1. Initial program 96.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 99.9%

      \[\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-rec99.9%

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

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

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

        \[\leadsto \frac{e^{-\frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      5. distribute-frac-neg99.9%

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

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

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

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

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

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

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

    if -1.00000000000000008e-5 < (/.f64 #s(literal 1 binary64) n) < 2.0000000000000001e-133

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

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

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

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

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

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

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

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

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

    if 2.0000000000000001e-133 < (/.f64 #s(literal 1 binary64) n) < 1.9999999999999999e-7

    1. Initial program 16.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 44.9%

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

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

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

        \[\leadsto \frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\log \left(1 + x\right)}^{2}}{n} - \color{blue}{\left(0.5 \cdot \frac{{\log x}^{2}}{n} + \log x\right)}\right)}{n} \]
      4. associate--r+44.9%

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

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

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

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

      \[\leadsto \color{blue}{\frac{\mathsf{log1p}\left(x\right) + \left(0.5 \cdot \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2} - {\log x}^{2}}{n} - \log x\right)}{n}} \]
    6. Taylor expanded in x around inf 68.2%

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

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

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

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

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

        \[\leadsto \frac{\frac{\color{blue}{\frac{\log x}{n}} + 1}{x}}{n} \]
    8. Simplified68.2%

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

    if 1.9999999999999999e-7 < (/.f64 #s(literal 1 binary64) n) < 8.00000000000000041e142

    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 74.2%

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

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

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

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

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

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

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

    1. Initial program 29.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. 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 0.2%

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

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

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

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}}} \]
      2. inv-pow0.2%

        \[\leadsto \color{blue}{{\left(\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}\right)}^{-1}} \]
    10. Applied egg-rr69.0%

      \[\leadsto \color{blue}{{\left(\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}\right)}^{-1}} \]
    11. Step-by-step derivation
      1. unpow-169.0%

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}}} \]
      2. sub-neg69.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}}} \]
      3. *-lft-identity69.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{1 \cdot \frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      4. *-lft-identity69.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      5. associate-/l/69.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\color{blue}{\frac{\frac{0.25}{x} - 0.3333333333333333}{x \cdot n}} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
      6. sub-neg69.0%

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

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + \color{blue}{-0.3333333333333333}}{x \cdot n} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
      8. distribute-neg-frac69.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \color{blue}{\frac{-1}{n}}}} \]
      9. metadata-eval69.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{\color{blue}{-1}}{n}}} \]
    12. Simplified69.0%

      \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{-1}{n}}}} \]
    13. Step-by-step derivation
      1. clear-num69.0%

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

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{1 \cdot n + \frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}}} \]
      3. *-un-lft-identity72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{\color{blue}{n} + \frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}} \]
      4. associate-/r*72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x}}{n}} - \frac{0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}} \]
      5. sub-div72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}} \]
      6. associate-/r*72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot -1}{\frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x}}{n}} - \frac{0.5}{n}} \cdot n}}} \]
      7. sub-div72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot -1}{\frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}} \cdot n}}} \]
    14. Applied egg-rr72.3%

      \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{n + \frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot n}}}} \]
    15. Simplified72.3%

      \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{n + \frac{x}{\frac{0.5 - \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}}{\frac{x \cdot n}{\frac{\frac{-0.3333333333333333 + \frac{0.25}{x}}{x} + -0.5}{n}}}}}} \]
  3. Recombined 5 regimes into one program.
  4. Final simplification84.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-5}:\\ \;\;\;\;\frac{{x}^{\left(\frac{1}{n}\right)}}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-133}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-7}:\\ \;\;\;\;\frac{\frac{1 + \frac{\log x}{n}}{x}}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 8 \cdot 10^{+142}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{0.5 - \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}}{\frac{n \cdot x}{\frac{-0.5 + \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}}}}\\ \end{array} \]
  5. Add Preprocessing

Alternative 12: 81.1% accurate, 1.6× speedup?

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

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

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

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

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

\mathbf{else}:\\
\;\;\;\;\frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{0.5 - t\_0}{n}}}{\frac{n \cdot x}{\frac{-0.5 + t\_0}{n}}}}}\\


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

    1. Initial program 96.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 99.9%

      \[\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-rec99.9%

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

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

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

        \[\leadsto \frac{e^{-\frac{\color{blue}{-\log x}}{n}}}{n \cdot x} \]
      5. distribute-frac-neg99.9%

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

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

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

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

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

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

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

    if -1.00000000000000008e-5 < (/.f64 #s(literal 1 binary64) n) < 2.0000000000000001e-133

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

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

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

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

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

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

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

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

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

    if 2.0000000000000001e-133 < (/.f64 #s(literal 1 binary64) n) < 2.00000000000000014e-17

    1. Initial program 14.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 43.9%

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

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

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

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

    if 2.00000000000000014e-17 < (/.f64 #s(literal 1 binary64) n) < 8.00000000000000041e142

    1. Initial program 75.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 68.9%

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

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

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

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

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

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

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

    1. Initial program 29.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. 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 0.2%

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

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

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

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}}} \]
      2. inv-pow0.2%

        \[\leadsto \color{blue}{{\left(\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}\right)}^{-1}} \]
    10. Applied egg-rr69.0%

      \[\leadsto \color{blue}{{\left(\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}\right)}^{-1}} \]
    11. Step-by-step derivation
      1. unpow-169.0%

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}}} \]
      2. sub-neg69.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}}} \]
      3. *-lft-identity69.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{1 \cdot \frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      4. *-lft-identity69.0%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      5. associate-/l/69.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\color{blue}{\frac{\frac{0.25}{x} - 0.3333333333333333}{x \cdot n}} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
      6. sub-neg69.0%

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

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + \color{blue}{-0.3333333333333333}}{x \cdot n} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
      8. distribute-neg-frac69.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \color{blue}{\frac{-1}{n}}}} \]
      9. metadata-eval69.0%

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{\color{blue}{-1}}{n}}} \]
    12. Simplified69.0%

      \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{-1}{n}}}} \]
    13. Step-by-step derivation
      1. clear-num69.0%

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

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{1 \cdot n + \frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}}} \]
      3. *-un-lft-identity72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{\color{blue}{n} + \frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}} \]
      4. associate-/r*72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x}}{n}} - \frac{0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}} \]
      5. sub-div72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}} \cdot -1}{\frac{x}{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}} \cdot n}}} \]
      6. associate-/r*72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot -1}{\frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x}}{n}} - \frac{0.5}{n}} \cdot n}}} \]
      7. sub-div72.3%

        \[\leadsto \frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot -1}{\frac{x}{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}} \cdot n}}} \]
    14. Applied egg-rr72.3%

      \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{n + \frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot -1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}} \cdot n}}}} \]
    15. Simplified72.3%

      \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{n + \frac{x}{\frac{0.5 - \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}}{\frac{x \cdot n}{\frac{\frac{-0.3333333333333333 + \frac{0.25}{x}}{x} + -0.5}{n}}}}}} \]
  3. Recombined 5 regimes into one program.
  4. Final simplification84.7%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \leq -1 \cdot 10^{-5}:\\ \;\;\;\;\frac{{x}^{\left(\frac{1}{n}\right)}}{n \cdot x}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-133}:\\ \;\;\;\;\frac{\log \left(\frac{1 + x}{x}\right)}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 2 \cdot 10^{-17}:\\ \;\;\;\;\frac{\frac{1}{x}}{n}\\ \mathbf{elif}\;\frac{1}{n} \leq 8 \cdot 10^{+142}:\\ \;\;\;\;1 - {x}^{\left(\frac{1}{n}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{x}{\frac{n + \frac{x}{\frac{0.5 - \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}}{\frac{n \cdot x}{\frac{-0.5 + \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}}}}\\ \end{array} \]
  5. Add Preprocessing

Alternative 13: 57.6% accurate, 1.8× speedup?

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

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

\mathbf{elif}\;x \leq 7.8 \cdot 10^{+119}:\\
\;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{\frac{0.5 - \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}{x}\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{-0.25}{n \cdot {x}^{4}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if x < 3.5000000000000001e-88

    1. Initial program 42.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 51.5%

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

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

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

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

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

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

    if 3.5000000000000001e-88 < x < 7.7999999999999997e119

    1. Initial program 43.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 42.8%

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}{x}} \]
    9. Step-by-step derivation
      1. clear-num34.7%

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}}} \]
      2. inv-pow34.7%

        \[\leadsto \color{blue}{{\left(\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}\right)}^{-1}} \]
    10. Applied egg-rr29.9%

      \[\leadsto \color{blue}{{\left(\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}\right)}^{-1}} \]
    11. Step-by-step derivation
      1. unpow-129.9%

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}}} \]
      2. sub-neg29.9%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}}} \]
      3. *-lft-identity29.9%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{1 \cdot \frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      4. *-lft-identity29.9%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      5. associate-/l/29.9%

        \[\leadsto \frac{1}{\frac{x}{\frac{\color{blue}{\frac{\frac{0.25}{x} - 0.3333333333333333}{x \cdot n}} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
      6. sub-neg29.9%

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

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + \color{blue}{-0.3333333333333333}}{x \cdot n} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
      8. distribute-neg-frac29.9%

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

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

      \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{-1}{n}}}} \]
    13. Step-by-step derivation
      1. associate-/r/29.8%

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

        \[\leadsto \frac{1}{x} \cdot \color{blue}{\left(\frac{-1}{n} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right)} \]
      3. add-sqr-sqrt12.4%

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

        \[\leadsto \frac{1}{x} \cdot \left(\color{blue}{\sqrt{\frac{-1}{n} \cdot \frac{-1}{n}}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right) \]
      5. frac-times36.3%

        \[\leadsto \frac{1}{x} \cdot \left(\sqrt{\color{blue}{\frac{-1 \cdot -1}{n \cdot n}}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right) \]
      6. metadata-eval36.3%

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

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

        \[\leadsto \frac{1}{x} \cdot \left(\sqrt{\color{blue}{\frac{1}{n} \cdot \frac{1}{n}}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right) \]
      9. sqrt-unprod31.9%

        \[\leadsto \frac{1}{x} \cdot \left(\color{blue}{\sqrt{\frac{1}{n}} \cdot \sqrt{\frac{1}{n}}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right) \]
      10. add-sqr-sqrt56.3%

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

        \[\leadsto \frac{1}{x} \cdot \left(\frac{1}{n} + \frac{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x}}{n}} - \frac{0.5}{n}}{x}\right) \]
      12. sub-div56.3%

        \[\leadsto \frac{1}{x} \cdot \left(\frac{1}{n} + \frac{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}}{x}\right) \]
    14. Applied egg-rr56.3%

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

    if 7.7999999999999997e119 < x

    1. Initial program 81.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 81.0%

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

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

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

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

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

      \[\leadsto \color{blue}{\frac{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}{x}} \]
    9. Taylor expanded in x around 0 81.0%

      \[\leadsto \color{blue}{\frac{-0.25}{n \cdot {x}^{4}}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification61.6%

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 3.5 \cdot 10^{-88}:\\ \;\;\;\;\frac{\log x}{-n}\\ \mathbf{elif}\;x \leq 7.8 \cdot 10^{+119}:\\ \;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{\frac{0.5 - \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}{x}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{-0.25}{n \cdot {x}^{4}}\\ \end{array} \]
  5. Add Preprocessing

Alternative 14: 54.3% accurate, 1.9× speedup?

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

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

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


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if x < 3.94999999999999983e-88

    1. Initial program 42.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 51.5%

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

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

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

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

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

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

    if 3.94999999999999983e-88 < x

    1. Initial program 61.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 61.3%

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

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

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

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

        \[\leadsto \color{blue}{\frac{-1 \cdot \left(-1 \cdot \frac{-1 \cdot \frac{0.25 \cdot \frac{1}{n \cdot x} - 0.3333333333333333 \cdot \frac{1}{n}}{x} - 0.5 \cdot \frac{1}{n}}{x} - \frac{1}{n}\right)}{x}} \]
    8. Simplified50.9%

      \[\leadsto \color{blue}{\frac{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}{x}} \]
    9. Step-by-step derivation
      1. clear-num48.9%

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}}} \]
      2. inv-pow48.9%

        \[\leadsto \color{blue}{{\left(\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}\right)}^{-1}} \]
    10. Applied egg-rr40.2%

      \[\leadsto \color{blue}{{\left(\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}\right)}^{-1}} \]
    11. Step-by-step derivation
      1. unpow-140.2%

        \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}}} \]
      2. sub-neg40.2%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}}} \]
      3. *-lft-identity40.2%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{1 \cdot \frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      4. *-lft-identity40.2%

        \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
      5. associate-/l/40.2%

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

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

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

        \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \color{blue}{\frac{-1}{n}}}} \]
      9. metadata-eval40.2%

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

      \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{-1}{n}}}} \]
    13. Step-by-step derivation
      1. associate-/r/40.1%

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

        \[\leadsto \frac{1}{x} \cdot \color{blue}{\left(\frac{-1}{n} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right)} \]
      3. add-sqr-sqrt18.5%

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

        \[\leadsto \frac{1}{x} \cdot \left(\color{blue}{\sqrt{\frac{-1}{n} \cdot \frac{-1}{n}}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right) \]
      5. frac-times45.9%

        \[\leadsto \frac{1}{x} \cdot \left(\sqrt{\color{blue}{\frac{-1 \cdot -1}{n \cdot n}}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right) \]
      6. metadata-eval45.9%

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

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

        \[\leadsto \frac{1}{x} \cdot \left(\sqrt{\color{blue}{\frac{1}{n} \cdot \frac{1}{n}}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right) \]
      9. sqrt-unprod31.5%

        \[\leadsto \frac{1}{x} \cdot \left(\color{blue}{\sqrt{\frac{1}{n}} \cdot \sqrt{\frac{1}{n}}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right) \]
      10. add-sqr-sqrt61.5%

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

        \[\leadsto \frac{1}{x} \cdot \left(\frac{1}{n} + \frac{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x}}{n}} - \frac{0.5}{n}}{x}\right) \]
      12. sub-div61.5%

        \[\leadsto \frac{1}{x} \cdot \left(\frac{1}{n} + \frac{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}}{x}\right) \]
    14. Applied egg-rr61.5%

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \leq 3.95 \cdot 10^{-88}:\\ \;\;\;\;\frac{\log x}{-n}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{\frac{0.5 - \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}{x}\right)\\ \end{array} \]
  5. Add Preprocessing

Alternative 15: 47.4% accurate, 10.0× speedup?

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

\\
\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{\frac{0.5 - \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}{x}\right)
\end{array}
Derivation
  1. Initial program 54.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 57.4%

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

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

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

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

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

    \[\leadsto \color{blue}{\frac{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}{x}} \]
  9. Step-by-step derivation
    1. clear-num29.9%

      \[\leadsto \color{blue}{\frac{1}{\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}}} \]
    2. inv-pow29.9%

      \[\leadsto \color{blue}{{\left(\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}\right)}^{-1}} \]
  10. Applied egg-rr37.9%

    \[\leadsto \color{blue}{{\left(\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}\right)}^{-1}} \]
  11. Step-by-step derivation
    1. unpow-137.9%

      \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}}} \]
    2. sub-neg37.9%

      \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}}} \]
    3. *-lft-identity37.9%

      \[\leadsto \frac{1}{\frac{x}{\color{blue}{1 \cdot \frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
    4. *-lft-identity37.9%

      \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
    5. associate-/l/37.9%

      \[\leadsto \frac{1}{\frac{x}{\frac{\color{blue}{\frac{\frac{0.25}{x} - 0.3333333333333333}{x \cdot n}} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
    6. sub-neg37.9%

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

      \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + \color{blue}{-0.3333333333333333}}{x \cdot n} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
    8. distribute-neg-frac37.9%

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

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

    \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{-1}{n}}}} \]
  13. Step-by-step derivation
    1. associate-/r/37.9%

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

      \[\leadsto \frac{1}{x} \cdot \color{blue}{\left(\frac{-1}{n} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right)} \]
    3. add-sqr-sqrt20.0%

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

      \[\leadsto \frac{1}{x} \cdot \left(\color{blue}{\sqrt{\frac{-1}{n} \cdot \frac{-1}{n}}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right) \]
    5. frac-times37.0%

      \[\leadsto \frac{1}{x} \cdot \left(\sqrt{\color{blue}{\frac{-1 \cdot -1}{n \cdot n}}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right) \]
    6. metadata-eval37.0%

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

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

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

      \[\leadsto \frac{1}{x} \cdot \left(\color{blue}{\sqrt{\frac{1}{n}} \cdot \sqrt{\frac{1}{n}}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right) \]
    10. add-sqr-sqrt50.8%

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

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

      \[\leadsto \frac{1}{x} \cdot \left(\frac{1}{n} + \frac{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}}{x}\right) \]
  14. Applied egg-rr50.8%

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

    \[\leadsto \frac{1}{x} \cdot \left(\frac{1}{n} - \frac{\frac{0.5 - \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n}}{x}\right) \]
  16. Add Preprocessing

Alternative 16: 47.4% accurate, 11.1× speedup?

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

\\
\frac{\frac{1}{n} + \frac{-0.5 + \frac{-0.3333333333333333 + \frac{0.25}{x}}{x}}{n \cdot x}}{x}
\end{array}
Derivation
  1. Initial program 54.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 57.4%

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

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

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

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

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

    \[\leadsto \color{blue}{\frac{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}{x}} \]
  9. Step-by-step derivation
    1. clear-num29.9%

      \[\leadsto \color{blue}{\frac{1}{\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}}} \]
    2. inv-pow29.9%

      \[\leadsto \color{blue}{{\left(\frac{x}{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}\right)}^{-1}} \]
  10. Applied egg-rr37.9%

    \[\leadsto \color{blue}{{\left(\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}\right)}^{-1}} \]
  11. Step-by-step derivation
    1. unpow-137.9%

      \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} - \frac{1}{n}}}} \]
    2. sub-neg37.9%

      \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}}} \]
    3. *-lft-identity37.9%

      \[\leadsto \frac{1}{\frac{x}{\color{blue}{1 \cdot \frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
    4. *-lft-identity37.9%

      \[\leadsto \frac{1}{\frac{x}{\color{blue}{\frac{\frac{\frac{\frac{0.25}{x} - 0.3333333333333333}{n}}{x} - \frac{0.5}{n}}{x}} + \left(-\frac{1}{n}\right)}} \]
    5. associate-/l/37.9%

      \[\leadsto \frac{1}{\frac{x}{\frac{\color{blue}{\frac{\frac{0.25}{x} - 0.3333333333333333}{x \cdot n}} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
    6. sub-neg37.9%

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

      \[\leadsto \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + \color{blue}{-0.3333333333333333}}{x \cdot n} - \frac{0.5}{n}}{x} + \left(-\frac{1}{n}\right)}} \]
    8. distribute-neg-frac37.9%

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

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

    \[\leadsto \color{blue}{\frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{-1}{n}}}} \]
  13. Step-by-step derivation
    1. *-un-lft-identity37.9%

      \[\leadsto \color{blue}{1 \cdot \frac{1}{\frac{x}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x} + \frac{-1}{n}}}} \]
    2. associate-/r/37.9%

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

      \[\leadsto 1 \cdot \left(\frac{1}{x} \cdot \color{blue}{\left(\frac{-1}{n} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right)}\right) \]
    4. add-sqr-sqrt20.0%

      \[\leadsto 1 \cdot \left(\frac{1}{x} \cdot \left(\color{blue}{\sqrt{\frac{-1}{n}} \cdot \sqrt{\frac{-1}{n}}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right)\right) \]
    5. sqrt-unprod37.0%

      \[\leadsto 1 \cdot \left(\frac{1}{x} \cdot \left(\color{blue}{\sqrt{\frac{-1}{n} \cdot \frac{-1}{n}}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right)\right) \]
    6. frac-times37.0%

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

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

      \[\leadsto 1 \cdot \left(\frac{1}{x} \cdot \left(\sqrt{\frac{\color{blue}{1 \cdot 1}}{n \cdot n}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right)\right) \]
    9. frac-times37.0%

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

      \[\leadsto 1 \cdot \left(\frac{1}{x} \cdot \left(\color{blue}{\sqrt{\frac{1}{n}} \cdot \sqrt{\frac{1}{n}}} + \frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x \cdot n} - \frac{0.5}{n}}{x}\right)\right) \]
    11. add-sqr-sqrt50.8%

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

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

      \[\leadsto 1 \cdot \left(\frac{1}{x} \cdot \left(\frac{1}{n} + \frac{\color{blue}{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}}{x}\right)\right) \]
  14. Applied egg-rr50.8%

    \[\leadsto \color{blue}{1 \cdot \left(\frac{1}{x} \cdot \left(\frac{1}{n} + \frac{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}{x}\right)\right)} \]
  15. Step-by-step derivation
    1. *-lft-identity50.8%

      \[\leadsto \color{blue}{\frac{1}{x} \cdot \left(\frac{1}{n} + \frac{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}{x}\right)} \]
    2. associate-*l/50.8%

      \[\leadsto \color{blue}{\frac{1 \cdot \left(\frac{1}{n} + \frac{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}{x}\right)}{x}} \]
    3. *-lft-identity50.8%

      \[\leadsto \frac{\color{blue}{\frac{1}{n} + \frac{\frac{\frac{\frac{0.25}{x} + -0.3333333333333333}{x} - 0.5}{n}}{x}}}{x} \]
    4. associate-/l/50.8%

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

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

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

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

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

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

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

      \[\leadsto \frac{\frac{1}{n} + \frac{\frac{-0.3333333333333333 + \frac{0.25}{x}}{x} + \color{blue}{-0.5}}{x \cdot n}}{x} \]
  16. Simplified50.8%

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

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

Alternative 17: 46.8% accurate, 12.4× speedup?

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

\\
\frac{\frac{1}{n} - \frac{\frac{0.5}{n} + \frac{-0.3333333333333333}{n \cdot x}}{x}}{x}
\end{array}
Derivation
  1. Initial program 54.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 57.4%

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

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

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

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

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

    \[\leadsto \color{blue}{\frac{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}{x}} \]
  9. Taylor expanded in x around -inf 50.3%

    \[\leadsto \frac{\color{blue}{-1 \cdot \frac{0.5 \cdot \frac{1}{n} - 0.3333333333333333 \cdot \frac{1}{n \cdot x}}{x} + \frac{1}{n}}}{x} \]
  10. Step-by-step derivation
    1. +-commutative50.3%

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

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

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

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

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

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

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

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

      \[\leadsto \frac{\frac{1}{n} - \frac{\frac{0.5}{n} + \left(-\frac{0.3333333333333333}{\color{blue}{x \cdot n}}\right)}{x}}{x} \]
    10. distribute-neg-frac50.3%

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

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

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

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

Alternative 18: 46.8% accurate, 14.1× speedup?

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

\\
\frac{\frac{1 + \frac{0.3333333333333333 \cdot \frac{1}{x} - 0.5}{x}}{x}}{n}
\end{array}
Derivation
  1. Initial program 54.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 57.4%

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

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

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

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

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

Alternative 19: 41.2% 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 54.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 57.4%

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

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

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

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

Alternative 20: 41.2% accurate, 42.2× speedup?

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

\\
\frac{\frac{1}{n}}{x}
\end{array}
Derivation
  1. Initial program 54.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 57.4%

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

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

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

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

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

    \[\leadsto \color{blue}{\frac{-\left(\frac{-\left(\frac{-\left(\frac{0.25}{x \cdot n} - \frac{0.3333333333333333}{n}\right)}{x} - \frac{0.5}{n}\right)}{x} - \frac{1}{n}\right)}{x}} \]
  9. Taylor expanded in x around inf 42.9%

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

Alternative 21: 40.6% accurate, 42.2× speedup?

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

\\
\frac{1}{n \cdot x}
\end{array}
Derivation
  1. Initial program 54.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 57.4%

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

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

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

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

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

    \[\leadsto \color{blue}{\frac{1}{x \cdot n}} \]
  9. Final simplification41.7%

    \[\leadsto \frac{1}{n \cdot x} \]
  10. Add Preprocessing

Reproduce

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