| Alternative 1 | |
|---|---|
| Error | 0.0 |
| Cost | 9760 |
\[e^{-\mathsf{log1p}\left(e^{\frac{-x}{s}}\right)}
\]
(FPCore (x s) :precision binary32 (/ 1.0 (+ 1.0 (exp (/ (- x) s)))))
(FPCore (x s) :precision binary32 (/ 1.0 (+ 1.0 (/ (pow (exp -0.5) (/ x s)) (exp (* (/ x s) 0.5))))))
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 + (powf(expf(-0.5f), (x / s)) / expf(((x / s) * 0.5f))));
}
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((-0.5e0)) ** (x / s)) / exp(((x / s) * 0.5e0))))
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(-0.5)) ^ Float32(x / s)) / exp(Float32(Float32(x / s) * Float32(0.5)))))) 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(single(-0.5)) ^ (x / s)) / exp(((x / s) * single(0.5))))); end
\frac{1}{1 + e^{\frac{-x}{s}}}
\frac{1}{1 + \frac{{\left(e^{-0.5}\right)}^{\left(\frac{x}{s}\right)}}{e^{\frac{x}{s} \cdot 0.5}}}
Results
Initial program 0.1
Applied egg-rr0.1
Taylor expanded in x around inf 0.1
Simplified0.1
[Start]0.1 | \[ \frac{1}{1 + \frac{\sqrt{\frac{1}{e^{\frac{x}{s}}}}}{\sqrt{e^{\frac{x}{s}}}}}
\] |
|---|---|
unpow-1 [<=]0.1 | \[ \frac{1}{1 + \frac{\sqrt{\color{blue}{{\left(e^{\frac{x}{s}}\right)}^{-1}}}}{\sqrt{e^{\frac{x}{s}}}}}
\] |
metadata-eval [<=]0.1 | \[ \frac{1}{1 + \frac{\sqrt{{\left(e^{\frac{x}{s}}\right)}^{\color{blue}{\left(2 \cdot -0.5\right)}}}}{\sqrt{e^{\frac{x}{s}}}}}
\] |
pow-sqr [<=]0.1 | \[ \frac{1}{1 + \frac{\sqrt{\color{blue}{{\left(e^{\frac{x}{s}}\right)}^{-0.5} \cdot {\left(e^{\frac{x}{s}}\right)}^{-0.5}}}}{\sqrt{e^{\frac{x}{s}}}}}
\] |
rem-sqrt-square [=>]0.1 | \[ \frac{1}{1 + \frac{\color{blue}{\left|{\left(e^{\frac{x}{s}}\right)}^{-0.5}\right|}}{\sqrt{e^{\frac{x}{s}}}}}
\] |
sqr-pow [=>]0.1 | \[ \frac{1}{1 + \frac{\left|\color{blue}{{\left(e^{\frac{x}{s}}\right)}^{\left(\frac{-0.5}{2}\right)} \cdot {\left(e^{\frac{x}{s}}\right)}^{\left(\frac{-0.5}{2}\right)}}\right|}{\sqrt{e^{\frac{x}{s}}}}}
\] |
fabs-sqr [=>]0.1 | \[ \frac{1}{1 + \frac{\color{blue}{{\left(e^{\frac{x}{s}}\right)}^{\left(\frac{-0.5}{2}\right)} \cdot {\left(e^{\frac{x}{s}}\right)}^{\left(\frac{-0.5}{2}\right)}}}{\sqrt{e^{\frac{x}{s}}}}}
\] |
sqr-pow [<=]0.1 | \[ \frac{1}{1 + \frac{\color{blue}{{\left(e^{\frac{x}{s}}\right)}^{-0.5}}}{\sqrt{e^{\frac{x}{s}}}}}
\] |
exp-prod [<=]0.1 | \[ \frac{1}{1 + \frac{\color{blue}{e^{\frac{x}{s} \cdot -0.5}}}{\sqrt{e^{\frac{x}{s}}}}}
\] |
*-commutative [<=]0.1 | \[ \frac{1}{1 + \frac{e^{\color{blue}{-0.5 \cdot \frac{x}{s}}}}{\sqrt{e^{\frac{x}{s}}}}}
\] |
exp-prod [=>]0.1 | \[ \frac{1}{1 + \frac{\color{blue}{{\left(e^{-0.5}\right)}^{\left(\frac{x}{s}\right)}}}{\sqrt{e^{\frac{x}{s}}}}}
\] |
Applied egg-rr0.1
Final simplification0.1
| Alternative 1 | |
|---|---|
| Error | 0.0 |
| Cost | 9760 |
| Alternative 2 | |
|---|---|
| Error | 0.1 |
| Cost | 3520 |
| Alternative 3 | |
|---|---|
| Error | 0.1 |
| Cost | 3456 |
| Alternative 4 | |
|---|---|
| Error | 1.5 |
| Cost | 516 |
| Alternative 5 | |
|---|---|
| Error | 10.0 |
| Cost | 196 |
| Alternative 6 | |
|---|---|
| Error | 20.9 |
| Cost | 32 |
herbie shell --seed 2023125
(FPCore (x s)
:name "Logistic function"
:precision binary32
:pre (and (<= 0.0 s) (<= s 1.0651631))
(/ 1.0 (+ 1.0 (exp (/ (- x) s)))))