| Alternative 1 | |
|---|---|
| Error | 13.3 |
| Cost | 14420 |
(FPCore (x n) :precision binary64 (- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))
(FPCore (x n)
:precision binary64
(if (<= x 0.56)
(/
(/ (expm1 (/ (log x) (/ n 6.0))) (- -1.0 (pow (pow x (/ 1.0 n)) 3.0)))
(+
(pow (* x (+ x 1.0)) (/ 1.0 n))
(+ (pow x (/ 2.0 n)) (pow (+ x 1.0) (/ 2.0 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 <= 0.56) {
tmp = (expm1((log(x) / (n / 6.0))) / (-1.0 - pow(pow(x, (1.0 / n)), 3.0))) / (pow((x * (x + 1.0)), (1.0 / n)) + (pow(x, (2.0 / n)) + pow((x + 1.0), (2.0 / n))));
} else {
tmp = exp((log(x) / n)) / (x * n);
}
return tmp;
}
public static double code(double x, double n) {
return Math.pow((x + 1.0), (1.0 / n)) - Math.pow(x, (1.0 / n));
}
public static double code(double x, double n) {
double tmp;
if (x <= 0.56) {
tmp = (Math.expm1((Math.log(x) / (n / 6.0))) / (-1.0 - Math.pow(Math.pow(x, (1.0 / n)), 3.0))) / (Math.pow((x * (x + 1.0)), (1.0 / n)) + (Math.pow(x, (2.0 / n)) + Math.pow((x + 1.0), (2.0 / n))));
} else {
tmp = Math.exp((Math.log(x) / n)) / (x * n);
}
return tmp;
}
def code(x, n): return math.pow((x + 1.0), (1.0 / n)) - math.pow(x, (1.0 / n))
def code(x, n): tmp = 0 if x <= 0.56: tmp = (math.expm1((math.log(x) / (n / 6.0))) / (-1.0 - math.pow(math.pow(x, (1.0 / n)), 3.0))) / (math.pow((x * (x + 1.0)), (1.0 / n)) + (math.pow(x, (2.0 / n)) + math.pow((x + 1.0), (2.0 / n)))) else: tmp = math.exp((math.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 <= 0.56) tmp = Float64(Float64(expm1(Float64(log(x) / Float64(n / 6.0))) / Float64(-1.0 - ((x ^ Float64(1.0 / n)) ^ 3.0))) / Float64((Float64(x * Float64(x + 1.0)) ^ Float64(1.0 / n)) + Float64((x ^ Float64(2.0 / n)) + (Float64(x + 1.0) ^ Float64(2.0 / 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, 0.56], N[(N[(N[(Exp[N[(N[Log[x], $MachinePrecision] / N[(n / 6.0), $MachinePrecision]), $MachinePrecision]] - 1), $MachinePrecision] / N[(-1.0 - N[Power[N[Power[x, N[(1.0 / n), $MachinePrecision]], $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[Power[N[(x * N[(x + 1.0), $MachinePrecision]), $MachinePrecision], N[(1.0 / n), $MachinePrecision]], $MachinePrecision] + N[(N[Power[x, N[(2.0 / n), $MachinePrecision]], $MachinePrecision] + N[Power[N[(x + 1.0), $MachinePrecision], N[(2.0 / n), $MachinePrecision]], $MachinePrecision]), $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 0.56:\\
\;\;\;\;\frac{\frac{\mathsf{expm1}\left(\frac{\log x}{\frac{n}{6}}\right)}{-1 - {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}}}{{\left(x \cdot \left(x + 1\right)\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\left(x + 1\right)}^{\left(\frac{2}{n}\right)}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{e^{\frac{\log x}{n}}}{x \cdot n}\\
\end{array}
Results
if x < 0.56000000000000005Initial program 47.4
Applied egg-rr47.4
Simplified47.4
[Start]47.4 | \[ \left({\left(x + 1\right)}^{\left(\frac{3}{n}\right)} - {x}^{\left(\frac{3}{n}\right)}\right) \cdot \frac{1}{{\left(x + x \cdot x\right)}^{\left({n}^{-1}\right)} + \left({\left(x + 1\right)}^{\left(\frac{2}{n}\right)} + {x}^{\left(\frac{2}{n}\right)}\right)}
\] |
|---|---|
associate-*r/ [=>]47.4 | \[ \color{blue}{\frac{\left({\left(x + 1\right)}^{\left(\frac{3}{n}\right)} - {x}^{\left(\frac{3}{n}\right)}\right) \cdot 1}{{\left(x + x \cdot x\right)}^{\left({n}^{-1}\right)} + \left({\left(x + 1\right)}^{\left(\frac{2}{n}\right)} + {x}^{\left(\frac{2}{n}\right)}\right)}}
\] |
+-commutative [=>]47.4 | \[ \frac{\left({\color{blue}{\left(1 + x\right)}}^{\left(\frac{3}{n}\right)} - {x}^{\left(\frac{3}{n}\right)}\right) \cdot 1}{{\left(x + x \cdot x\right)}^{\left({n}^{-1}\right)} + \left({\left(x + 1\right)}^{\left(\frac{2}{n}\right)} + {x}^{\left(\frac{2}{n}\right)}\right)}
\] |
distribute-rgt1-in [=>]47.4 | \[ \frac{\left({\left(1 + x\right)}^{\left(\frac{3}{n}\right)} - {x}^{\left(\frac{3}{n}\right)}\right) \cdot 1}{{\color{blue}{\left(\left(x + 1\right) \cdot x\right)}}^{\left({n}^{-1}\right)} + \left({\left(x + 1\right)}^{\left(\frac{2}{n}\right)} + {x}^{\left(\frac{2}{n}\right)}\right)}
\] |
+-commutative [=>]47.4 | \[ \frac{\left({\left(1 + x\right)}^{\left(\frac{3}{n}\right)} - {x}^{\left(\frac{3}{n}\right)}\right) \cdot 1}{{\left(\color{blue}{\left(1 + x\right)} \cdot x\right)}^{\left({n}^{-1}\right)} + \left({\left(x + 1\right)}^{\left(\frac{2}{n}\right)} + {x}^{\left(\frac{2}{n}\right)}\right)}
\] |
unpow-1 [=>]47.4 | \[ \frac{\left({\left(1 + x\right)}^{\left(\frac{3}{n}\right)} - {x}^{\left(\frac{3}{n}\right)}\right) \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\color{blue}{\left(\frac{1}{n}\right)}} + \left({\left(x + 1\right)}^{\left(\frac{2}{n}\right)} + {x}^{\left(\frac{2}{n}\right)}\right)}
\] |
+-commutative [=>]47.4 | \[ \frac{\left({\left(1 + x\right)}^{\left(\frac{3}{n}\right)} - {x}^{\left(\frac{3}{n}\right)}\right) \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \color{blue}{\left({x}^{\left(\frac{2}{n}\right)} + {\left(x + 1\right)}^{\left(\frac{2}{n}\right)}\right)}}
\] |
+-commutative [=>]47.4 | \[ \frac{\left({\left(1 + x\right)}^{\left(\frac{3}{n}\right)} - {x}^{\left(\frac{3}{n}\right)}\right) \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\color{blue}{\left(1 + x\right)}}^{\left(\frac{2}{n}\right)}\right)}
\] |
Taylor expanded in x around 0 47.4
Applied egg-rr47.4
Simplified1.9
[Start]47.4 | \[ \frac{\frac{-\left(1 - e^{\frac{\log x}{n} \cdot 6}\right)}{-\left(1 + {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)} \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\left(1 + x\right)}^{\left(\frac{2}{n}\right)}\right)}
\] |
|---|---|
neg-sub0 [=>]47.4 | \[ \frac{\frac{\color{blue}{0 - \left(1 - e^{\frac{\log x}{n} \cdot 6}\right)}}{-\left(1 + {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)} \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\left(1 + x\right)}^{\left(\frac{2}{n}\right)}\right)}
\] |
associate--r- [=>]47.4 | \[ \frac{\frac{\color{blue}{\left(0 - 1\right) + e^{\frac{\log x}{n} \cdot 6}}}{-\left(1 + {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)} \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\left(1 + x\right)}^{\left(\frac{2}{n}\right)}\right)}
\] |
metadata-eval [=>]47.4 | \[ \frac{\frac{\color{blue}{-1} + e^{\frac{\log x}{n} \cdot 6}}{-\left(1 + {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)} \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\left(1 + x\right)}^{\left(\frac{2}{n}\right)}\right)}
\] |
+-commutative [<=]47.4 | \[ \frac{\frac{\color{blue}{e^{\frac{\log x}{n} \cdot 6} + -1}}{-\left(1 + {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)} \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\left(1 + x\right)}^{\left(\frac{2}{n}\right)}\right)}
\] |
metadata-eval [<=]47.4 | \[ \frac{\frac{e^{\frac{\log x}{n} \cdot 6} + \color{blue}{\left(-1\right)}}{-\left(1 + {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)} \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\left(1 + x\right)}^{\left(\frac{2}{n}\right)}\right)}
\] |
sub-neg [<=]47.4 | \[ \frac{\frac{\color{blue}{e^{\frac{\log x}{n} \cdot 6} - 1}}{-\left(1 + {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)} \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\left(1 + x\right)}^{\left(\frac{2}{n}\right)}\right)}
\] |
expm1-def [=>]1.9 | \[ \frac{\frac{\color{blue}{\mathsf{expm1}\left(\frac{\log x}{n} \cdot 6\right)}}{-\left(1 + {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)} \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\left(1 + x\right)}^{\left(\frac{2}{n}\right)}\right)}
\] |
associate-*l/ [=>]1.9 | \[ \frac{\frac{\mathsf{expm1}\left(\color{blue}{\frac{\log x \cdot 6}{n}}\right)}{-\left(1 + {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)} \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\left(1 + x\right)}^{\left(\frac{2}{n}\right)}\right)}
\] |
associate-/l* [=>]1.9 | \[ \frac{\frac{\mathsf{expm1}\left(\color{blue}{\frac{\log x}{\frac{n}{6}}}\right)}{-\left(1 + {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)} \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\left(1 + x\right)}^{\left(\frac{2}{n}\right)}\right)}
\] |
neg-sub0 [=>]1.9 | \[ \frac{\frac{\mathsf{expm1}\left(\frac{\log x}{\frac{n}{6}}\right)}{\color{blue}{0 - \left(1 + {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}\right)}} \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\left(1 + x\right)}^{\left(\frac{2}{n}\right)}\right)}
\] |
associate--r+ [=>]1.9 | \[ \frac{\frac{\mathsf{expm1}\left(\frac{\log x}{\frac{n}{6}}\right)}{\color{blue}{\left(0 - 1\right) - {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}}} \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\left(1 + x\right)}^{\left(\frac{2}{n}\right)}\right)}
\] |
metadata-eval [=>]1.9 | \[ \frac{\frac{\mathsf{expm1}\left(\frac{\log x}{\frac{n}{6}}\right)}{\color{blue}{-1} - {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}} \cdot 1}{{\left(\left(1 + x\right) \cdot x\right)}^{\left(\frac{1}{n}\right)} + \left({x}^{\left(\frac{2}{n}\right)} + {\left(1 + x\right)}^{\left(\frac{2}{n}\right)}\right)}
\] |
if 0.56000000000000005 < x Initial program 21.1
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 simplification1.9
| Alternative 1 | |
|---|---|
| Error | 13.3 |
| Cost | 14420 |
| Alternative 2 | |
|---|---|
| Error | 13.2 |
| Cost | 14420 |
| Alternative 3 | |
|---|---|
| Error | 7.4 |
| Cost | 13644 |
| Alternative 4 | |
|---|---|
| Error | 7.4 |
| Cost | 13644 |
| Alternative 5 | |
|---|---|
| Error | 14.1 |
| Cost | 8336 |
| Alternative 6 | |
|---|---|
| Error | 16.2 |
| Cost | 7369 |
| Alternative 7 | |
|---|---|
| Error | 16.2 |
| Cost | 7241 |
| Alternative 8 | |
|---|---|
| Error | 16.2 |
| Cost | 7113 |
| Alternative 9 | |
|---|---|
| Error | 16.9 |
| Cost | 6852 |
| Alternative 10 | |
|---|---|
| Error | 17.1 |
| Cost | 6788 |
| Alternative 11 | |
|---|---|
| Error | 35.9 |
| Cost | 840 |
| Alternative 12 | |
|---|---|
| Error | 40.8 |
| Cost | 320 |
| Alternative 13 | |
|---|---|
| Error | 40.4 |
| Cost | 320 |
| Alternative 14 | |
|---|---|
| Error | 61.1 |
| Cost | 192 |
herbie shell --seed 2023039
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))