| Alternative 1 | |
|---|---|
| Error | 0.3 |
| Cost | 58112 |
\[\begin{array}{l}
t_0 := \sqrt[3]{e^{w}}\\
\frac{{\ell}^{\left(e^{w}\right)}}{t_0 \cdot {\left({\left(\sqrt[3]{t_0}\right)}^{3}\right)}^{2}}
\end{array}
\]
(FPCore (w l) :precision binary64 (* (exp (- w)) (pow l (exp w))))
(FPCore (w l)
:precision binary64
(let* ((t_0 (cbrt (exp w))))
(/
(pow l (exp w))
(*
t_0
(pow
(*
(pow (pow (exp w) 0.05555555555555555) 3.0)
(pow (pow t_0 0.16666666666666666) 3.0))
2.0)))))double code(double w, double l) {
return exp(-w) * pow(l, exp(w));
}
double code(double w, double l) {
double t_0 = cbrt(exp(w));
return pow(l, exp(w)) / (t_0 * pow((pow(pow(exp(w), 0.05555555555555555), 3.0) * pow(pow(t_0, 0.16666666666666666), 3.0)), 2.0));
}
public static double code(double w, double l) {
return Math.exp(-w) * Math.pow(l, Math.exp(w));
}
public static double code(double w, double l) {
double t_0 = Math.cbrt(Math.exp(w));
return Math.pow(l, Math.exp(w)) / (t_0 * Math.pow((Math.pow(Math.pow(Math.exp(w), 0.05555555555555555), 3.0) * Math.pow(Math.pow(t_0, 0.16666666666666666), 3.0)), 2.0));
}
function code(w, l) return Float64(exp(Float64(-w)) * (l ^ exp(w))) end
function code(w, l) t_0 = cbrt(exp(w)) return Float64((l ^ exp(w)) / Float64(t_0 * (Float64(((exp(w) ^ 0.05555555555555555) ^ 3.0) * ((t_0 ^ 0.16666666666666666) ^ 3.0)) ^ 2.0))) end
code[w_, l_] := N[(N[Exp[(-w)], $MachinePrecision] * N[Power[l, N[Exp[w], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
code[w_, l_] := Block[{t$95$0 = N[Power[N[Exp[w], $MachinePrecision], 1/3], $MachinePrecision]}, N[(N[Power[l, N[Exp[w], $MachinePrecision]], $MachinePrecision] / N[(t$95$0 * N[Power[N[(N[Power[N[Power[N[Exp[w], $MachinePrecision], 0.05555555555555555], $MachinePrecision], 3.0], $MachinePrecision] * N[Power[N[Power[t$95$0, 0.16666666666666666], $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
e^{-w} \cdot {\ell}^{\left(e^{w}\right)}
\begin{array}{l}
t_0 := \sqrt[3]{e^{w}}\\
\frac{{\ell}^{\left(e^{w}\right)}}{t_0 \cdot {\left({\left({\left(e^{w}\right)}^{0.05555555555555555}\right)}^{3} \cdot {\left({t_0}^{0.16666666666666666}\right)}^{3}\right)}^{2}}
\end{array}
Results
Initial program 0.3
Simplified0.3
[Start]0.3 | \[ e^{-w} \cdot {\ell}^{\left(e^{w}\right)}
\] |
|---|---|
exp-neg [=>]0.3 | \[ \color{blue}{\frac{1}{e^{w}}} \cdot {\ell}^{\left(e^{w}\right)}
\] |
associate-*l/ [=>]0.3 | \[ \color{blue}{\frac{1 \cdot {\ell}^{\left(e^{w}\right)}}{e^{w}}}
\] |
*-lft-identity [=>]0.3 | \[ \frac{\color{blue}{{\ell}^{\left(e^{w}\right)}}}{e^{w}}
\] |
Applied egg-rr0.3
Simplified0.3
[Start]0.3 | \[ \frac{1}{{\left(\sqrt[3]{e^{w}}\right)}^{2}} \cdot \frac{{\ell}^{\left(e^{w}\right)}}{\sqrt[3]{e^{w}}}
\] |
|---|---|
associate-*l/ [=>]0.3 | \[ \color{blue}{\frac{1 \cdot \frac{{\ell}^{\left(e^{w}\right)}}{\sqrt[3]{e^{w}}}}{{\left(\sqrt[3]{e^{w}}\right)}^{2}}}
\] |
*-lft-identity [=>]0.3 | \[ \frac{\color{blue}{\frac{{\ell}^{\left(e^{w}\right)}}{\sqrt[3]{e^{w}}}}}{{\left(\sqrt[3]{e^{w}}\right)}^{2}}
\] |
associate-/l/ [=>]0.3 | \[ \color{blue}{\frac{{\ell}^{\left(e^{w}\right)}}{{\left(\sqrt[3]{e^{w}}\right)}^{2} \cdot \sqrt[3]{e^{w}}}}
\] |
Applied egg-rr0.3
Applied egg-rr0.3
Applied egg-rr0.3
Simplified0.3
[Start]0.3 | \[ \frac{{\ell}^{\left(e^{w}\right)}}{{\left(\left({\left({\left(e^{w}\right)}^{0.027777777777777776}\right)}^{3} \cdot {\left({\left(e^{w}\right)}^{0.027777777777777776}\right)}^{3}\right) \cdot {\left({\left(\sqrt[3]{e^{w}}\right)}^{0.16666666666666666}\right)}^{3}\right)}^{2} \cdot \sqrt[3]{e^{w}}}
\] |
|---|---|
cube-prod [<=]0.3 | \[ \frac{{\ell}^{\left(e^{w}\right)}}{{\left(\color{blue}{{\left({\left(e^{w}\right)}^{0.027777777777777776} \cdot {\left(e^{w}\right)}^{0.027777777777777776}\right)}^{3}} \cdot {\left({\left(\sqrt[3]{e^{w}}\right)}^{0.16666666666666666}\right)}^{3}\right)}^{2} \cdot \sqrt[3]{e^{w}}}
\] |
pow-sqr [=>]0.3 | \[ \frac{{\ell}^{\left(e^{w}\right)}}{{\left({\color{blue}{\left({\left(e^{w}\right)}^{\left(2 \cdot 0.027777777777777776\right)}\right)}}^{3} \cdot {\left({\left(\sqrt[3]{e^{w}}\right)}^{0.16666666666666666}\right)}^{3}\right)}^{2} \cdot \sqrt[3]{e^{w}}}
\] |
metadata-eval [=>]0.3 | \[ \frac{{\ell}^{\left(e^{w}\right)}}{{\left({\left({\left(e^{w}\right)}^{\color{blue}{0.05555555555555555}}\right)}^{3} \cdot {\left({\left(\sqrt[3]{e^{w}}\right)}^{0.16666666666666666}\right)}^{3}\right)}^{2} \cdot \sqrt[3]{e^{w}}}
\] |
Final simplification0.3
| Alternative 1 | |
|---|---|
| Error | 0.3 |
| Cost | 58112 |
| Alternative 2 | |
|---|---|
| Error | 0.3 |
| Cost | 19520 |
| Alternative 3 | |
|---|---|
| Error | 0.3 |
| Cost | 19456 |
| Alternative 4 | |
|---|---|
| Error | 0.7 |
| Cost | 13568 |
| Alternative 5 | |
|---|---|
| Error | 0.9 |
| Cost | 13184 |
| Alternative 6 | |
|---|---|
| Error | 1.3 |
| Cost | 12928 |
| Alternative 7 | |
|---|---|
| Error | 1.7 |
| Cost | 6660 |
| Alternative 8 | |
|---|---|
| Error | 1.7 |
| Cost | 6656 |
| Alternative 9 | |
|---|---|
| Error | 1.7 |
| Cost | 6592 |
| Alternative 10 | |
|---|---|
| Error | 2.3 |
| Cost | 452 |
| Alternative 11 | |
|---|---|
| Error | 13.3 |
| Cost | 64 |
herbie shell --seed 2022364
(FPCore (w l)
:name "exp-w (used to crash)"
:precision binary64
(* (exp (- w)) (pow l (exp w))))