| Alternative 1 | |
|---|---|
| Accuracy | 99.7% |
| Cost | 26372 |
(FPCore (x y) :precision binary64 (- (/ 2.0 (+ 1.0 (exp (* -2.0 x)))) 1.0))
(FPCore (x y)
:precision binary64
(if (<= (* -2.0 x) -0.1)
(/
(/
(+ (* 4.0 (/ 1.0 (pow (+ 1.0 (exp (* -2.0 x))) 2.0))) -1.0)
(pow (cbrt (+ 1.0 (/ 2.0 (+ 1.0 (exp (- (- x) x)))))) 2.0))
(cbrt (+ 1.0 (/ 2.0 (+ 1.0 (pow (exp -2.0) x))))))
(if (<= (* -2.0 x) 0.002)
(+
(* -0.3333333333333333 (pow x 3.0))
(+ x (* 0.13333333333333333 (pow x 5.0))))
-1.0)))double code(double x, double y) {
return (2.0 / (1.0 + exp((-2.0 * x)))) - 1.0;
}
double code(double x, double y) {
double tmp;
if ((-2.0 * x) <= -0.1) {
tmp = (((4.0 * (1.0 / pow((1.0 + exp((-2.0 * x))), 2.0))) + -1.0) / pow(cbrt((1.0 + (2.0 / (1.0 + exp((-x - x)))))), 2.0)) / cbrt((1.0 + (2.0 / (1.0 + pow(exp(-2.0), x)))));
} else if ((-2.0 * x) <= 0.002) {
tmp = (-0.3333333333333333 * pow(x, 3.0)) + (x + (0.13333333333333333 * pow(x, 5.0)));
} else {
tmp = -1.0;
}
return tmp;
}
public static double code(double x, double y) {
return (2.0 / (1.0 + Math.exp((-2.0 * x)))) - 1.0;
}
public static double code(double x, double y) {
double tmp;
if ((-2.0 * x) <= -0.1) {
tmp = (((4.0 * (1.0 / Math.pow((1.0 + Math.exp((-2.0 * x))), 2.0))) + -1.0) / Math.pow(Math.cbrt((1.0 + (2.0 / (1.0 + Math.exp((-x - x)))))), 2.0)) / Math.cbrt((1.0 + (2.0 / (1.0 + Math.pow(Math.exp(-2.0), x)))));
} else if ((-2.0 * x) <= 0.002) {
tmp = (-0.3333333333333333 * Math.pow(x, 3.0)) + (x + (0.13333333333333333 * Math.pow(x, 5.0)));
} else {
tmp = -1.0;
}
return tmp;
}
function code(x, y) return Float64(Float64(2.0 / Float64(1.0 + exp(Float64(-2.0 * x)))) - 1.0) end
function code(x, y) tmp = 0.0 if (Float64(-2.0 * x) <= -0.1) tmp = Float64(Float64(Float64(Float64(4.0 * Float64(1.0 / (Float64(1.0 + exp(Float64(-2.0 * x))) ^ 2.0))) + -1.0) / (cbrt(Float64(1.0 + Float64(2.0 / Float64(1.0 + exp(Float64(Float64(-x) - x)))))) ^ 2.0)) / cbrt(Float64(1.0 + Float64(2.0 / Float64(1.0 + (exp(-2.0) ^ x)))))); elseif (Float64(-2.0 * x) <= 0.002) tmp = Float64(Float64(-0.3333333333333333 * (x ^ 3.0)) + Float64(x + Float64(0.13333333333333333 * (x ^ 5.0)))); else tmp = -1.0; end return tmp end
code[x_, y_] := N[(N[(2.0 / N[(1.0 + N[Exp[N[(-2.0 * x), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - 1.0), $MachinePrecision]
code[x_, y_] := If[LessEqual[N[(-2.0 * x), $MachinePrecision], -0.1], N[(N[(N[(N[(4.0 * N[(1.0 / N[Power[N[(1.0 + N[Exp[N[(-2.0 * x), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + -1.0), $MachinePrecision] / N[Power[N[Power[N[(1.0 + N[(2.0 / N[(1.0 + N[Exp[N[((-x) - x), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] / N[Power[N[(1.0 + N[(2.0 / N[(1.0 + N[Power[N[Exp[-2.0], $MachinePrecision], x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision], If[LessEqual[N[(-2.0 * x), $MachinePrecision], 0.002], N[(N[(-0.3333333333333333 * N[Power[x, 3.0], $MachinePrecision]), $MachinePrecision] + N[(x + N[(0.13333333333333333 * N[Power[x, 5.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], -1.0]]
\frac{2}{1 + e^{-2 \cdot x}} - 1
\begin{array}{l}
\mathbf{if}\;-2 \cdot x \leq -0.1:\\
\;\;\;\;\frac{\frac{4 \cdot \frac{1}{{\left(1 + e^{-2 \cdot x}\right)}^{2}} + -1}{{\left(\sqrt[3]{1 + \frac{2}{1 + e^{\left(-x\right) - x}}}\right)}^{2}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}\\
\mathbf{elif}\;-2 \cdot x \leq 0.002:\\
\;\;\;\;-0.3333333333333333 \cdot {x}^{3} + \left(x + 0.13333333333333333 \cdot {x}^{5}\right)\\
\mathbf{else}:\\
\;\;\;\;-1\\
\end{array}
Results
if (*.f64 -2 x) < -0.10000000000000001Initial program 100.0%
Applied egg-rr100.0%
[Start]100.0 | \[ \frac{2}{1 + e^{-2 \cdot x}} - 1
\] |
|---|---|
flip-- [=>]100.0 | \[ \color{blue}{\frac{\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}}
\] |
add-cube-cbrt [=>]100.0 | \[ \frac{\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}} - 1 \cdot 1}{\color{blue}{\left(\sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} + 1} \cdot \sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} + 1}\right) \cdot \sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} + 1}}}
\] |
associate-/r* [=>]100.0 | \[ \color{blue}{\frac{\frac{\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}} - 1 \cdot 1}{\sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} + 1} \cdot \sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} + 1}}}{\sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} + 1}}}
\] |
Applied egg-rr100.0%
[Start]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}} \cdot \sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
|---|---|
expm1-log1p-u [=>]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{\color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}} \cdot \sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}\right)\right)}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
expm1-udef [=>]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{\color{blue}{e^{\mathsf{log1p}\left(\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}} \cdot \sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}\right)} - 1}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
Simplified100.0%
[Start]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{e^{\mathsf{log1p}\left({\left(\sqrt[3]{1 + \frac{-2}{-1 - {\left(e^{-2}\right)}^{x}}}\right)}^{2}\right)} - 1}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
|---|---|
expm1-def [=>]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{\color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left({\left(\sqrt[3]{1 + \frac{-2}{-1 - {\left(e^{-2}\right)}^{x}}}\right)}^{2}\right)\right)}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
expm1-log1p [=>]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{\color{blue}{{\left(\sqrt[3]{1 + \frac{-2}{-1 - {\left(e^{-2}\right)}^{x}}}\right)}^{2}}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
exp-prod [<=]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{{\left(\sqrt[3]{1 + \frac{-2}{-1 - \color{blue}{e^{-2 \cdot x}}}}\right)}^{2}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
*-commutative [=>]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{{\left(\sqrt[3]{1 + \frac{-2}{-1 - e^{\color{blue}{x \cdot -2}}}}\right)}^{2}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
exp-prod [=>]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{{\left(\sqrt[3]{1 + \frac{-2}{-1 - \color{blue}{{\left(e^{x}\right)}^{-2}}}}\right)}^{2}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
Taylor expanded in x around inf 100.0%
Simplified100.0%
[Start]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{{\left({\left(2 \cdot \frac{1}{1 + \frac{1}{{\left(e^{x}\right)}^{2}}} + 1\right)}^{0.3333333333333333}\right)}^{2}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
|---|---|
unpow1/3 [=>]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{{\color{blue}{\left(\sqrt[3]{2 \cdot \frac{1}{1 + \frac{1}{{\left(e^{x}\right)}^{2}}} + 1}\right)}}^{2}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
+-commutative [=>]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{{\left(\sqrt[3]{\color{blue}{1 + 2 \cdot \frac{1}{1 + \frac{1}{{\left(e^{x}\right)}^{2}}}}}\right)}^{2}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
+-commutative [<=]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{{\left(\sqrt[3]{1 + 2 \cdot \frac{1}{\color{blue}{\frac{1}{{\left(e^{x}\right)}^{2}} + 1}}}\right)}^{2}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
associate-*r/ [=>]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{{\left(\sqrt[3]{1 + \color{blue}{\frac{2 \cdot 1}{\frac{1}{{\left(e^{x}\right)}^{2}} + 1}}}\right)}^{2}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
metadata-eval [=>]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{{\left(\sqrt[3]{1 + \frac{\color{blue}{2}}{\frac{1}{{\left(e^{x}\right)}^{2}} + 1}}\right)}^{2}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
+-commutative [=>]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{{\left(\sqrt[3]{1 + \frac{2}{\color{blue}{1 + \frac{1}{{\left(e^{x}\right)}^{2}}}}}\right)}^{2}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
unpow2 [=>]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{{\left(\sqrt[3]{1 + \frac{2}{1 + \frac{1}{\color{blue}{e^{x} \cdot e^{x}}}}}\right)}^{2}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
prod-exp [=>]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{{\left(\sqrt[3]{1 + \frac{2}{1 + \frac{1}{\color{blue}{e^{x + x}}}}}\right)}^{2}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
rec-exp [=>]100.0 | \[ \frac{\frac{\frac{4}{{\left(1 + {\left(e^{-2}\right)}^{x}\right)}^{2}} + -1}{{\left(\sqrt[3]{1 + \frac{2}{1 + \color{blue}{e^{-\left(x + x\right)}}}}\right)}^{2}}}{\sqrt[3]{1 + \frac{2}{1 + {\left(e^{-2}\right)}^{x}}}}
\] |
Taylor expanded in x around inf 100.0%
if -0.10000000000000001 < (*.f64 -2 x) < 2e-3Initial program 7.9%
Simplified7.9%
[Start]7.9 | \[ \frac{2}{1 + e^{-2 \cdot x}} - 1
\] |
|---|---|
sub-neg [=>]7.9 | \[ \color{blue}{\frac{2}{1 + e^{-2 \cdot x}} + \left(-1\right)}
\] |
*-commutative [=>]7.9 | \[ \frac{2}{1 + e^{\color{blue}{x \cdot -2}}} + \left(-1\right)
\] |
exp-prod [=>]7.9 | \[ \frac{2}{1 + \color{blue}{{\left(e^{x}\right)}^{-2}}} + \left(-1\right)
\] |
metadata-eval [=>]7.9 | \[ \frac{2}{1 + {\left(e^{x}\right)}^{-2}} + \color{blue}{-1}
\] |
Taylor expanded in x around 0 100.0%
if 2e-3 < (*.f64 -2 x) Initial program 99.9%
Taylor expanded in x around 0 97.1%
Simplified97.1%
[Start]97.1 | \[ \frac{2}{2 + -2 \cdot x} - 1
\] |
|---|---|
*-commutative [=>]97.1 | \[ \frac{2}{2 + \color{blue}{x \cdot -2}} - 1
\] |
Taylor expanded in x around inf 98.8%
Final simplification99.7%
| Alternative 1 | |
|---|---|
| Accuracy | 99.7% |
| Cost | 26372 |
| Alternative 2 | |
|---|---|
| Accuracy | 99.7% |
| Cost | 14024 |
| Alternative 3 | |
|---|---|
| Accuracy | 99.6% |
| Cost | 7304 |
| Alternative 4 | |
|---|---|
| Accuracy | 79.7% |
| Cost | 7048 |
| Alternative 5 | |
|---|---|
| Accuracy | 79.4% |
| Cost | 584 |
| Alternative 6 | |
|---|---|
| Accuracy | 78.9% |
| Cost | 580 |
| Alternative 7 | |
|---|---|
| Accuracy | 79.4% |
| Cost | 328 |
| Alternative 8 | |
|---|---|
| Accuracy | 32.5% |
| Cost | 196 |
| Alternative 9 | |
|---|---|
| Accuracy | 27.6% |
| Cost | 64 |
herbie shell --seed 2023138
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
:precision binary64
(- (/ 2.0 (+ 1.0 (exp (* -2.0 x)))) 1.0))