?

Average Error: 0.1 → 0.1
Time: 16.7s
Precision: binary32
Cost: 19840

?

\[0 \leq s \land s \leq 1.0651631\]
\[\frac{e^{\frac{-\left|x\right|}{s}}}{\left(s \cdot \left(1 + e^{\frac{-\left|x\right|}{s}}\right)\right) \cdot \left(1 + e^{\frac{-\left|x\right|}{s}}\right)} \]
\[\begin{array}{l} t_0 := e^{\frac{-\left|x\right|}{s}}\\ t_1 := 1 + t_0\\ \frac{t_0}{\left(s \cdot t_1\right) \cdot t_1} \end{array} \]
(FPCore (x s)
 :precision binary32
 (/
  (exp (/ (- (fabs x)) s))
  (* (* s (+ 1.0 (exp (/ (- (fabs x)) s)))) (+ 1.0 (exp (/ (- (fabs x)) s))))))
(FPCore (x s)
 :precision binary32
 (let* ((t_0 (exp (/ (- (fabs x)) s))) (t_1 (+ 1.0 t_0)))
   (/ t_0 (* (* s t_1) t_1))))
float code(float x, float s) {
	return expf((-fabsf(x) / s)) / ((s * (1.0f + expf((-fabsf(x) / s)))) * (1.0f + expf((-fabsf(x) / s))));
}
float code(float x, float s) {
	float t_0 = expf((-fabsf(x) / s));
	float t_1 = 1.0f + t_0;
	return t_0 / ((s * t_1) * t_1);
}
real(4) function code(x, s)
    real(4), intent (in) :: x
    real(4), intent (in) :: s
    code = exp((-abs(x) / s)) / ((s * (1.0e0 + exp((-abs(x) / s)))) * (1.0e0 + exp((-abs(x) / s))))
end function
real(4) function code(x, s)
    real(4), intent (in) :: x
    real(4), intent (in) :: s
    real(4) :: t_0
    real(4) :: t_1
    t_0 = exp((-abs(x) / s))
    t_1 = 1.0e0 + t_0
    code = t_0 / ((s * t_1) * t_1)
end function
function code(x, s)
	return Float32(exp(Float32(Float32(-abs(x)) / s)) / Float32(Float32(s * Float32(Float32(1.0) + exp(Float32(Float32(-abs(x)) / s)))) * Float32(Float32(1.0) + exp(Float32(Float32(-abs(x)) / s)))))
end
function code(x, s)
	t_0 = exp(Float32(Float32(-abs(x)) / s))
	t_1 = Float32(Float32(1.0) + t_0)
	return Float32(t_0 / Float32(Float32(s * t_1) * t_1))
end
function tmp = code(x, s)
	tmp = exp((-abs(x) / s)) / ((s * (single(1.0) + exp((-abs(x) / s)))) * (single(1.0) + exp((-abs(x) / s))));
end
function tmp = code(x, s)
	t_0 = exp((-abs(x) / s));
	t_1 = single(1.0) + t_0;
	tmp = t_0 / ((s * t_1) * t_1);
end
\frac{e^{\frac{-\left|x\right|}{s}}}{\left(s \cdot \left(1 + e^{\frac{-\left|x\right|}{s}}\right)\right) \cdot \left(1 + e^{\frac{-\left|x\right|}{s}}\right)}
\begin{array}{l}
t_0 := e^{\frac{-\left|x\right|}{s}}\\
t_1 := 1 + t_0\\
\frac{t_0}{\left(s \cdot t_1\right) \cdot t_1}
\end{array}

Error?

Try it out?

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation?

  1. Initial program 0.1

    \[\frac{e^{\frac{-\left|x\right|}{s}}}{\left(s \cdot \left(1 + e^{\frac{-\left|x\right|}{s}}\right)\right) \cdot \left(1 + e^{\frac{-\left|x\right|}{s}}\right)} \]
  2. Final simplification0.1

    \[\leadsto \frac{e^{\frac{-\left|x\right|}{s}}}{\left(s \cdot \left(1 + e^{\frac{-\left|x\right|}{s}}\right)\right) \cdot \left(1 + e^{\frac{-\left|x\right|}{s}}\right)} \]

Alternatives

Alternative 1
Error0.1
Cost16448
\[\frac{e^{\frac{-\left|x\right|}{s}}}{s \cdot {\left(e^{-\frac{\left|x\right|}{s}} + 1\right)}^{2}} \]
Alternative 2
Error1.1
Cost13344
\[\frac{e^{\frac{-\left|x\right|}{s}}}{s \cdot {\left(\frac{1}{\frac{\left|x\right|}{s} + 1} + 1\right)}^{2}} \]
Alternative 3
Error1.2
Cost13312
\[\frac{e^{\frac{-\left|x\right|}{s}}}{s \cdot {\left(\left(\left(-\frac{\left|x\right|}{s}\right) + 1\right) + 1\right)}^{2}} \]
Alternative 4
Error1.2
Cost13216
\[\frac{e^{\frac{-\left|x\right|}{s}}}{s \cdot {\left(2 - \frac{\left|x\right|}{s}\right)}^{2}} \]
Alternative 5
Error3.9
Cost6728
\[\begin{array}{l} t_0 := \frac{e^{\frac{-\left|x\right|}{s}}}{s}\\ \mathbf{if}\;x \leq -1.000000045813705 \cdot 10^{-18}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;x \leq 1.3999999555717316 \cdot 10^{-19}:\\ \;\;\;\;\frac{0.25}{s}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 6
Error1.7
Cost6656
\[\frac{e^{\frac{-\left|x\right|}{s}}}{s \cdot 4} \]
Alternative 7
Error22.6
Cost3488
\[\frac{1}{s \cdot 4 + \left|x\right| \cdot -2} \]
Alternative 8
Error23.2
Cost96
\[\frac{0.25}{s} \]

Error

Reproduce?

herbie shell --seed 2023090 
(FPCore (x s)
  :name "Logistic distribution"
  :precision binary32
  :pre (and (<= 0.0 s) (<= s 1.0651631))
  (/ (exp (/ (- (fabs x)) s)) (* (* s (+ 1.0 (exp (/ (- (fabs x)) s)))) (+ 1.0 (exp (/ (- (fabs x)) s))))))