| Alternative 1 | |
|---|---|
| Error | 7.7 |
| Cost | 20744 |
(FPCore (x n) :precision binary64 (- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))
(FPCore (x n)
:precision binary64
(if (<= x 5.8e-171)
(/ (- (log x)) n)
(if (<= x 8e-159)
(/
(/ (- 1.0 (pow x (/ 4.0 n))) (+ 1.0 (pow x (/ 2.0 n))))
(+ 1.0 (pow x (/ 1.0 n))))
(if (<= x 3.1)
(+
(fma
0.5
(/ (pow (log1p x) 2.0) (* n n))
(/
(* 0.16666666666666666 (- (pow (log1p x) 3.0) (pow (log x) 3.0)))
(pow n 3.0)))
(-
(* (/ (pow (log x) 2.0) (* n n)) -0.5)
(/ (fma -1.0 (log1p x) (log x)) n)))
(/ (exp (/ (log x) n)) (* x n))))))double code(double x, double n) {
return pow((x + 1.0), (1.0 / n)) - pow(x, (1.0 / n));
}
double code(double x, double n) {
double tmp;
if (x <= 5.8e-171) {
tmp = -log(x) / n;
} else if (x <= 8e-159) {
tmp = ((1.0 - pow(x, (4.0 / n))) / (1.0 + pow(x, (2.0 / n)))) / (1.0 + pow(x, (1.0 / n)));
} else if (x <= 3.1) {
tmp = fma(0.5, (pow(log1p(x), 2.0) / (n * n)), ((0.16666666666666666 * (pow(log1p(x), 3.0) - pow(log(x), 3.0))) / pow(n, 3.0))) + (((pow(log(x), 2.0) / (n * n)) * -0.5) - (fma(-1.0, log1p(x), log(x)) / n));
} else {
tmp = exp((log(x) / n)) / (x * n);
}
return tmp;
}
function code(x, n) return Float64((Float64(x + 1.0) ^ Float64(1.0 / n)) - (x ^ Float64(1.0 / n))) end
function code(x, n) tmp = 0.0 if (x <= 5.8e-171) tmp = Float64(Float64(-log(x)) / n); elseif (x <= 8e-159) tmp = Float64(Float64(Float64(1.0 - (x ^ Float64(4.0 / n))) / Float64(1.0 + (x ^ Float64(2.0 / n)))) / Float64(1.0 + (x ^ Float64(1.0 / n)))); elseif (x <= 3.1) tmp = Float64(fma(0.5, Float64((log1p(x) ^ 2.0) / Float64(n * n)), Float64(Float64(0.16666666666666666 * Float64((log1p(x) ^ 3.0) - (log(x) ^ 3.0))) / (n ^ 3.0))) + Float64(Float64(Float64((log(x) ^ 2.0) / Float64(n * n)) * -0.5) - Float64(fma(-1.0, log1p(x), log(x)) / n))); else tmp = Float64(exp(Float64(log(x) / n)) / Float64(x * n)); end return tmp 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]
code[x_, n_] := If[LessEqual[x, 5.8e-171], N[((-N[Log[x], $MachinePrecision]) / n), $MachinePrecision], If[LessEqual[x, 8e-159], N[(N[(N[(1.0 - N[Power[x, N[(4.0 / n), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[(1.0 + N[Power[x, N[(2.0 / n), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(1.0 + N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 3.1], N[(N[(0.5 * N[(N[Power[N[Log[1 + x], $MachinePrecision], 2.0], $MachinePrecision] / N[(n * n), $MachinePrecision]), $MachinePrecision] + N[(N[(0.16666666666666666 * N[(N[Power[N[Log[1 + x], $MachinePrecision], 3.0], $MachinePrecision] - N[Power[N[Log[x], $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[n, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(N[Power[N[Log[x], $MachinePrecision], 2.0], $MachinePrecision] / N[(n * n), $MachinePrecision]), $MachinePrecision] * -0.5), $MachinePrecision] - N[(N[(-1.0 * N[Log[1 + x], $MachinePrecision] + N[Log[x], $MachinePrecision]), $MachinePrecision] / n), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[Exp[N[(N[Log[x], $MachinePrecision] / n), $MachinePrecision]], $MachinePrecision] / N[(x * n), $MachinePrecision]), $MachinePrecision]]]]
{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}
\begin{array}{l}
\mathbf{if}\;x \leq 5.8 \cdot 10^{-171}:\\
\;\;\;\;\frac{-\log x}{n}\\
\mathbf{elif}\;x \leq 8 \cdot 10^{-159}:\\
\;\;\;\;\frac{\frac{1 - {x}^{\left(\frac{4}{n}\right)}}{1 + {x}^{\left(\frac{2}{n}\right)}}}{1 + {x}^{\left(\frac{1}{n}\right)}}\\
\mathbf{elif}\;x \leq 3.1:\\
\;\;\;\;\mathsf{fma}\left(0.5, \frac{{\left(\mathsf{log1p}\left(x\right)\right)}^{2}}{n \cdot n}, \frac{0.16666666666666666 \cdot \left({\left(\mathsf{log1p}\left(x\right)\right)}^{3} - {\log x}^{3}\right)}{{n}^{3}}\right) + \left(\frac{{\log x}^{2}}{n \cdot n} \cdot -0.5 - \frac{\mathsf{fma}\left(-1, \mathsf{log1p}\left(x\right), \log x\right)}{n}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{e^{\frac{\log x}{n}}}{x \cdot n}\\
\end{array}
if x < 5.7999999999999997e-171Initial program 42.6
Taylor expanded in n around inf 18.3
Simplified18.3
[Start]18.3 | \[ \frac{\log \left(1 + x\right) - \log x}{n}
\] |
|---|---|
log1p-def [=>]18.3 | \[ \frac{\color{blue}{\mathsf{log1p}\left(x\right)} - \log x}{n}
\] |
Taylor expanded in x around 0 18.3
Simplified18.3
[Start]18.3 | \[ \frac{-1 \cdot \log x}{n}
\] |
|---|---|
mul-1-neg [=>]18.3 | \[ \frac{\color{blue}{-\log x}}{n}
\] |
if 5.7999999999999997e-171 < x < 7.99999999999999991e-159Initial program 47.6
Taylor expanded in x around 0 47.6
Applied egg-rr47.5
Simplified47.5
[Start]47.5 | \[ \left(1 - {x}^{\left(2 \cdot {n}^{-1}\right)}\right) \cdot \frac{1}{1 + {x}^{\left({n}^{-1}\right)}}
\] |
|---|---|
associate-*r/ [=>]47.5 | \[ \color{blue}{\frac{\left(1 - {x}^{\left(2 \cdot {n}^{-1}\right)}\right) \cdot 1}{1 + {x}^{\left({n}^{-1}\right)}}}
\] |
*-rgt-identity [=>]47.5 | \[ \frac{\color{blue}{1 - {x}^{\left(2 \cdot {n}^{-1}\right)}}}{1 + {x}^{\left({n}^{-1}\right)}}
\] |
unpow-1 [=>]47.5 | \[ \frac{1 - {x}^{\left(2 \cdot \color{blue}{\frac{1}{n}}\right)}}{1 + {x}^{\left({n}^{-1}\right)}}
\] |
associate-*r/ [=>]47.5 | \[ \frac{1 - {x}^{\color{blue}{\left(\frac{2 \cdot 1}{n}\right)}}}{1 + {x}^{\left({n}^{-1}\right)}}
\] |
metadata-eval [=>]47.5 | \[ \frac{1 - {x}^{\left(\frac{\color{blue}{2}}{n}\right)}}{1 + {x}^{\left({n}^{-1}\right)}}
\] |
unpow-1 [=>]47.5 | \[ \frac{1 - {x}^{\left(\frac{2}{n}\right)}}{1 + {x}^{\color{blue}{\left(\frac{1}{n}\right)}}}
\] |
Applied egg-rr47.5
Simplified47.5
[Start]47.5 | \[ \frac{\left(1 - {x}^{\left(2 \cdot \frac{2}{n}\right)}\right) \cdot \frac{1}{1 + {x}^{\left(\frac{2}{n}\right)}}}{1 + {x}^{\left(\frac{1}{n}\right)}}
\] |
|---|---|
/-rgt-identity [<=]47.5 | \[ \frac{\color{blue}{\frac{1 - {x}^{\left(2 \cdot \frac{2}{n}\right)}}{1}} \cdot \frac{1}{1 + {x}^{\left(\frac{2}{n}\right)}}}{1 + {x}^{\left(\frac{1}{n}\right)}}
\] |
associate-/r/ [<=]47.5 | \[ \frac{\color{blue}{\frac{1 - {x}^{\left(2 \cdot \frac{2}{n}\right)}}{\frac{1}{\frac{1}{1 + {x}^{\left(\frac{2}{n}\right)}}}}}}{1 + {x}^{\left(\frac{1}{n}\right)}}
\] |
remove-double-div [=>]47.5 | \[ \frac{\frac{1 - {x}^{\left(2 \cdot \frac{2}{n}\right)}}{\color{blue}{1 + {x}^{\left(\frac{2}{n}\right)}}}}{1 + {x}^{\left(\frac{1}{n}\right)}}
\] |
div-sub [=>]47.5 | \[ \frac{\color{blue}{\frac{1}{1 + {x}^{\left(\frac{2}{n}\right)}} - \frac{{x}^{\left(2 \cdot \frac{2}{n}\right)}}{1 + {x}^{\left(\frac{2}{n}\right)}}}}{1 + {x}^{\left(\frac{1}{n}\right)}}
\] |
pow-sqr [<=]47.5 | \[ \frac{\frac{1}{1 + {x}^{\left(\frac{2}{n}\right)}} - \frac{\color{blue}{{x}^{\left(\frac{2}{n}\right)} \cdot {x}^{\left(\frac{2}{n}\right)}}}{1 + {x}^{\left(\frac{2}{n}\right)}}}{1 + {x}^{\left(\frac{1}{n}\right)}}
\] |
sqr-neg [<=]47.5 | \[ \frac{\frac{1}{1 + {x}^{\left(\frac{2}{n}\right)}} - \frac{\color{blue}{\left(-{x}^{\left(\frac{2}{n}\right)}\right) \cdot \left(-{x}^{\left(\frac{2}{n}\right)}\right)}}{1 + {x}^{\left(\frac{2}{n}\right)}}}{1 + {x}^{\left(\frac{1}{n}\right)}}
\] |
div-sub [<=]47.5 | \[ \frac{\color{blue}{\frac{1 - \left(-{x}^{\left(\frac{2}{n}\right)}\right) \cdot \left(-{x}^{\left(\frac{2}{n}\right)}\right)}{1 + {x}^{\left(\frac{2}{n}\right)}}}}{1 + {x}^{\left(\frac{1}{n}\right)}}
\] |
sqr-neg [=>]47.5 | \[ \frac{\frac{1 - \color{blue}{{x}^{\left(\frac{2}{n}\right)} \cdot {x}^{\left(\frac{2}{n}\right)}}}{1 + {x}^{\left(\frac{2}{n}\right)}}}{1 + {x}^{\left(\frac{1}{n}\right)}}
\] |
pow-sqr [=>]47.5 | \[ \frac{\frac{1 - \color{blue}{{x}^{\left(2 \cdot \frac{2}{n}\right)}}}{1 + {x}^{\left(\frac{2}{n}\right)}}}{1 + {x}^{\left(\frac{1}{n}\right)}}
\] |
associate-*r/ [=>]47.5 | \[ \frac{\frac{1 - {x}^{\color{blue}{\left(\frac{2 \cdot 2}{n}\right)}}}{1 + {x}^{\left(\frac{2}{n}\right)}}}{1 + {x}^{\left(\frac{1}{n}\right)}}
\] |
metadata-eval [=>]47.5 | \[ \frac{\frac{1 - {x}^{\left(\frac{\color{blue}{4}}{n}\right)}}{1 + {x}^{\left(\frac{2}{n}\right)}}}{1 + {x}^{\left(\frac{1}{n}\right)}}
\] |
if 7.99999999999999991e-159 < x < 3.10000000000000009Initial program 52.2
Taylor expanded in n around -inf 7.7
Simplified7.7
[Start]7.7 | \[ \left(0.5 \cdot \frac{{\log \left(1 + x\right)}^{2}}{{n}^{2}} + \left(-1 \cdot \frac{-0.16666666666666666 \cdot {\log \left(1 + x\right)}^{3} - -0.16666666666666666 \cdot {\log x}^{3}}{{n}^{3}} + -1 \cdot \frac{-1 \cdot \log \left(1 + x\right) - -1 \cdot \log x}{n}\right)\right) - 0.5 \cdot \frac{{\log x}^{2}}{{n}^{2}}
\] |
|---|
if 3.10000000000000009 < x Initial program 21.4
Taylor expanded in x around inf 1.8
Simplified1.8
[Start]1.8 | \[ \frac{e^{-1 \cdot \frac{\log \left(\frac{1}{x}\right)}{n}}}{n \cdot x}
\] |
|---|---|
mul-1-neg [=>]1.8 | \[ \frac{e^{\color{blue}{-\frac{\log \left(\frac{1}{x}\right)}{n}}}}{n \cdot x}
\] |
log-rec [=>]1.8 | \[ \frac{e^{-\frac{\color{blue}{-\log x}}{n}}}{n \cdot x}
\] |
mul-1-neg [<=]1.8 | \[ \frac{e^{-\frac{\color{blue}{-1 \cdot \log x}}{n}}}{n \cdot x}
\] |
distribute-neg-frac [=>]1.8 | \[ \frac{e^{\color{blue}{\frac{--1 \cdot \log x}{n}}}}{n \cdot x}
\] |
mul-1-neg [=>]1.8 | \[ \frac{e^{\frac{-\color{blue}{\left(-\log x\right)}}{n}}}{n \cdot x}
\] |
remove-double-neg [=>]1.8 | \[ \frac{e^{\frac{\color{blue}{\log x}}{n}}}{n \cdot x}
\] |
*-commutative [=>]1.8 | \[ \frac{e^{\frac{\log x}{n}}}{\color{blue}{x \cdot n}}
\] |
Final simplification7.5
| Alternative 1 | |
|---|---|
| Error | 7.7 |
| Cost | 20744 |
| Alternative 2 | |
|---|---|
| Error | 7.7 |
| Cost | 20616 |
| Alternative 3 | |
|---|---|
| Error | 7.7 |
| Cost | 19912 |
| Alternative 4 | |
|---|---|
| Error | 7.7 |
| Cost | 13644 |
| Alternative 5 | |
|---|---|
| Error | 23.7 |
| Cost | 8604 |
| Alternative 6 | |
|---|---|
| Error | 14.8 |
| Cost | 7833 |
| Alternative 7 | |
|---|---|
| Error | 14.9 |
| Cost | 7641 |
| Alternative 8 | |
|---|---|
| Error | 14.9 |
| Cost | 7641 |
| Alternative 9 | |
|---|---|
| Error | 16.3 |
| Cost | 6852 |
| Alternative 10 | |
|---|---|
| Error | 16.5 |
| Cost | 6788 |
| Alternative 11 | |
|---|---|
| Error | 34.3 |
| Cost | 964 |
| Alternative 12 | |
|---|---|
| Error | 32.9 |
| Cost | 964 |
| Alternative 13 | |
|---|---|
| Error | 35.8 |
| Cost | 841 |
| Alternative 14 | |
|---|---|
| Error | 28.7 |
| Cost | 585 |
| Alternative 15 | |
|---|---|
| Error | 40.7 |
| Cost | 320 |
| Alternative 16 | |
|---|---|
| Error | 40.2 |
| Cost | 320 |
herbie shell --seed 2023060
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))