| Alternative 1 | |
|---|---|
| Accuracy | 99.8% |
| Cost | 6880 |
\[\frac{1}{1 + e^{\frac{x}{\frac{s}{-0.6666666666666666}}} \cdot e^{\frac{x}{s} \cdot -0.3333333333333333}}
\]
(FPCore (x s) :precision binary32 (/ 1.0 (+ 1.0 (exp (/ (- x) s)))))
(FPCore (x s)
:precision binary32
(/
1.0
(+
1.0
(/
(exp (/ (* x -0.6666666666666666) s))
(exp (* (/ x s) 0.3333333333333333))))))float code(float x, float s) {
return 1.0f / (1.0f + expf((-x / s)));
}
float code(float x, float s) {
return 1.0f / (1.0f + (expf(((x * -0.6666666666666666f) / s)) / expf(((x / s) * 0.3333333333333333f))));
}
real(4) function code(x, s)
real(4), intent (in) :: x
real(4), intent (in) :: s
code = 1.0e0 / (1.0e0 + exp((-x / s)))
end function
real(4) function code(x, s)
real(4), intent (in) :: x
real(4), intent (in) :: s
code = 1.0e0 / (1.0e0 + (exp(((x * (-0.6666666666666666e0)) / s)) / exp(((x / s) * 0.3333333333333333e0))))
end function
function code(x, s) return Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(-x) / s)))) end
function code(x, s) return Float32(Float32(1.0) / Float32(Float32(1.0) + Float32(exp(Float32(Float32(x * Float32(-0.6666666666666666)) / s)) / exp(Float32(Float32(x / s) * Float32(0.3333333333333333)))))) end
function tmp = code(x, s) tmp = single(1.0) / (single(1.0) + exp((-x / s))); end
function tmp = code(x, s) tmp = single(1.0) / (single(1.0) + (exp(((x * single(-0.6666666666666666)) / s)) / exp(((x / s) * single(0.3333333333333333))))); end
\frac{1}{1 + e^{\frac{-x}{s}}}
\frac{1}{1 + \frac{e^{\frac{x \cdot -0.6666666666666666}{s}}}{e^{\frac{x}{s} \cdot 0.3333333333333333}}}
Results
Initial program 99.8%
Applied egg-rr99.7%
Applied egg-rr99.7%
Simplified99.8%
[Start]99.7 | \[ \frac{1}{1 + \frac{e^{\mathsf{log1p}\left({\left(\sqrt[3]{e^{\frac{x}{s}}}\right)}^{-2}\right)} - 1}{\sqrt[3]{e^{\frac{x}{s}}}}}
\] |
|---|---|
expm1-def [=>]99.7 | \[ \frac{1}{1 + \frac{\color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left({\left(\sqrt[3]{e^{\frac{x}{s}}}\right)}^{-2}\right)\right)}}{\sqrt[3]{e^{\frac{x}{s}}}}}
\] |
expm1-log1p [=>]99.7 | \[ \frac{1}{1 + \frac{\color{blue}{{\left(\sqrt[3]{e^{\frac{x}{s}}}\right)}^{-2}}}{\sqrt[3]{e^{\frac{x}{s}}}}}
\] |
unpow1/3 [<=]99.7 | \[ \frac{1}{1 + \frac{{\color{blue}{\left({\left(e^{\frac{x}{s}}\right)}^{0.3333333333333333}\right)}}^{-2}}{\sqrt[3]{e^{\frac{x}{s}}}}}
\] |
exp-prod [<=]99.7 | \[ \frac{1}{1 + \frac{{\color{blue}{\left(e^{\frac{x}{s} \cdot 0.3333333333333333}\right)}}^{-2}}{\sqrt[3]{e^{\frac{x}{s}}}}}
\] |
*-commutative [<=]99.7 | \[ \frac{1}{1 + \frac{{\left(e^{\color{blue}{0.3333333333333333 \cdot \frac{x}{s}}}\right)}^{-2}}{\sqrt[3]{e^{\frac{x}{s}}}}}
\] |
exp-prod [<=]99.8 | \[ \frac{1}{1 + \frac{\color{blue}{e^{\left(0.3333333333333333 \cdot \frac{x}{s}\right) \cdot -2}}}{\sqrt[3]{e^{\frac{x}{s}}}}}
\] |
*-commutative [=>]99.8 | \[ \frac{1}{1 + \frac{e^{\color{blue}{-2 \cdot \left(0.3333333333333333 \cdot \frac{x}{s}\right)}}}{\sqrt[3]{e^{\frac{x}{s}}}}}
\] |
associate-*r* [=>]99.8 | \[ \frac{1}{1 + \frac{e^{\color{blue}{\left(-2 \cdot 0.3333333333333333\right) \cdot \frac{x}{s}}}}{\sqrt[3]{e^{\frac{x}{s}}}}}
\] |
metadata-eval [=>]99.8 | \[ \frac{1}{1 + \frac{e^{\color{blue}{-0.6666666666666666} \cdot \frac{x}{s}}}{\sqrt[3]{e^{\frac{x}{s}}}}}
\] |
exp-prod [=>]99.8 | \[ \frac{1}{1 + \frac{\color{blue}{{\left(e^{-0.6666666666666666}\right)}^{\left(\frac{x}{s}\right)}}}{\sqrt[3]{e^{\frac{x}{s}}}}}
\] |
Taylor expanded in x around inf 99.8%
Simplified99.8%
[Start]99.8 | \[ \frac{1}{1 + \frac{e^{-0.6666666666666666 \cdot \frac{x}{s}}}{\sqrt[3]{e^{\frac{x}{s}}}}}
\] |
|---|---|
associate-*r/ [=>]99.8 | \[ \frac{1}{1 + \frac{e^{\color{blue}{\frac{-0.6666666666666666 \cdot x}{s}}}}{\sqrt[3]{e^{\frac{x}{s}}}}}
\] |
*-commutative [=>]99.8 | \[ \frac{1}{1 + \frac{e^{\frac{\color{blue}{x \cdot -0.6666666666666666}}{s}}}{\sqrt[3]{e^{\frac{x}{s}}}}}
\] |
Applied egg-rr99.8%
Final simplification99.8%
| Alternative 1 | |
|---|---|
| Accuracy | 99.8% |
| Cost | 6880 |
| Alternative 2 | |
|---|---|
| Accuracy | 99.8% |
| Cost | 3456 |
| Alternative 3 | |
|---|---|
| Accuracy | 65.2% |
| Cost | 580 |
| Alternative 4 | |
|---|---|
| Accuracy | 65.2% |
| Cost | 388 |
| Alternative 5 | |
|---|---|
| Accuracy | 47.7% |
| Cost | 356 |
| Alternative 6 | |
|---|---|
| Accuracy | 46.1% |
| Cost | 164 |
| Alternative 7 | |
|---|---|
| Accuracy | 34.9% |
| Cost | 32 |
herbie shell --seed 2023129
(FPCore (x s)
:name "Logistic function"
:precision binary32
:pre (and (<= 0.0 s) (<= s 1.0651631))
(/ 1.0 (+ 1.0 (exp (/ (- x) s)))))