?

Average Accuracy: 99.8% → 99.9%
Time: 16.4s
Precision: binary32
Cost: 9760

?

\[0 \leq s \land s \leq 1.0651631\]
\[\frac{1}{1 + e^{\frac{-x}{s}}} \]
\[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 (exp (- (log1p (exp (/ (- x) s))))))
float code(float x, float s) {
	return 1.0f / (1.0f + expf((-x / s)));
}
float code(float x, float s) {
	return expf(-log1pf(expf((-x / s))));
}
function code(x, s)
	return Float32(Float32(1.0) / Float32(Float32(1.0) + exp(Float32(Float32(-x) / s))))
end
function code(x, s)
	return exp(Float32(-log1p(exp(Float32(Float32(-x) / s)))))
end
\frac{1}{1 + e^{\frac{-x}{s}}}
e^{-\mathsf{log1p}\left(e^{\frac{-x}{s}}\right)}

Error?

Try it out?

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation?

  1. Initial program 99.8%

    \[\frac{1}{1 + e^{\frac{-x}{s}}} \]
  2. Applied egg-rr99.8%

    \[\leadsto \frac{1}{1 + \color{blue}{\frac{1}{e^{\frac{x}{s}}}}} \]
    Proof
  3. No proof available- proof too large to flatten.
  4. Applied egg-rr99.2%

    \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(e^{-\mathsf{log1p}\left(e^{\frac{-x}{s}}\right)}\right)} - 1} \]
    Proof
  5. No proof available- proof too large to flatten.
  6. Simplified99.9%

    \[\leadsto \color{blue}{e^{-\mathsf{log1p}\left(e^{\frac{-x}{s}}\right)}} \]
    Proof

    [Start]99.2

    \[ e^{\mathsf{log1p}\left(e^{-\mathsf{log1p}\left(e^{\frac{-x}{s}}\right)}\right)} - 1 \]

    expm1-def [=>]99.8

    \[ \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(e^{-\mathsf{log1p}\left(e^{\frac{-x}{s}}\right)}\right)\right)} \]

    expm1-log1p [=>]99.9

    \[ \color{blue}{e^{-\mathsf{log1p}\left(e^{\frac{-x}{s}}\right)}} \]
  7. Final simplification99.9%

    \[\leadsto e^{-\mathsf{log1p}\left(e^{\frac{-x}{s}}\right)} \]

Alternatives

Alternative 1
Accuracy99.8%
Cost3488
\[\frac{1}{1 + \frac{1}{e^{\frac{x}{s}}}} \]
Alternative 2
Accuracy99.8%
Cost3456
\[\frac{1}{e^{\frac{-x}{s}} + 1} \]
Alternative 3
Accuracy93.3%
Cost872
\[\begin{array}{l} t_0 := \frac{-x}{s}\\ \mathbf{if}\;t_0 \leq 0.0005000000237487257:\\ \;\;\;\;\frac{1}{-1 + \left(1 + \left(1 + \frac{-1}{-1 - \frac{x}{s}}\right)\right)}\\ \mathbf{elif}\;t_0 \leq 2000000:\\ \;\;\;\;\frac{1}{\left(2 - \frac{x}{s}\right) + x \cdot \left(x \cdot \frac{0.5}{s \cdot s}\right)}\\ \mathbf{else}:\\ \;\;\;\;1 + \left(-1 + \frac{s}{x}\right)\\ \end{array} \]
Alternative 4
Accuracy93.0%
Cost680
\[\begin{array}{l} t_0 := \frac{-x}{s}\\ t_1 := 1 + \left(-1 + \frac{s}{x}\right)\\ \mathbf{if}\;t_0 \leq -5:\\ \;\;\;\;\frac{1}{-1 + \left(2 + \frac{s}{x}\right)}\\ \mathbf{elif}\;t_0 \leq 2:\\ \;\;\;\;0.5 + \frac{0.25}{t_1}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 5
Accuracy91.2%
Cost680
\[\begin{array}{l} \mathbf{if}\;-x \leq 4.999999999099794 \cdot 10^{-24}:\\ \;\;\;\;\frac{1}{-1 + \left(1 + \left(1 + \frac{-1}{-1 - \frac{x}{s}}\right)\right)}\\ \mathbf{elif}\;-x \leq 3.9999998989515007 \cdot 10^{-5}:\\ \;\;\;\;\frac{1}{2 + \left(\frac{x \cdot x}{s \cdot s} - \frac{x}{s}\right)}\\ \mathbf{else}:\\ \;\;\;\;1 + \left(-1 + \frac{s}{x}\right)\\ \end{array} \]
Alternative 6
Accuracy92.3%
Cost644
\[\begin{array}{l} \mathbf{if}\;\frac{-x}{s} \leq 100:\\ \;\;\;\;\frac{1}{-1 + \left(1 + \left(1 + \frac{-1}{-1 - \frac{x}{s}}\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;1 + \left(-1 + \frac{s}{x}\right)\\ \end{array} \]
Alternative 7
Accuracy92.3%
Cost580
\[\begin{array}{l} \mathbf{if}\;\frac{-x}{s} \leq 100:\\ \;\;\;\;\frac{1}{1 + \frac{1}{1 + \frac{1}{\frac{s}{x}}}}\\ \mathbf{else}:\\ \;\;\;\;1 + \left(-1 + \frac{s}{x}\right)\\ \end{array} \]
Alternative 8
Accuracy92.3%
Cost580
\[\begin{array}{l} \mathbf{if}\;\frac{-x}{s} \leq 100:\\ \;\;\;\;\frac{1}{-1 + \left(\frac{-1}{-1 - \frac{x}{s}} + 2\right)}\\ \mathbf{else}:\\ \;\;\;\;1 + \left(-1 + \frac{s}{x}\right)\\ \end{array} \]
Alternative 9
Accuracy75.1%
Cost552
\[\begin{array}{l} t_0 := \frac{-x}{s}\\ \mathbf{if}\;t_0 \leq -5:\\ \;\;\;\;1 - \frac{s}{x}\\ \mathbf{elif}\;t_0 \leq 2:\\ \;\;\;\;0.5 + \frac{x}{s} \cdot 0.25\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{t_0}\\ \end{array} \]
Alternative 10
Accuracy75.1%
Cost552
\[\begin{array}{l} t_0 := \frac{-x}{s}\\ \mathbf{if}\;t_0 \leq -5:\\ \;\;\;\;1 - \frac{s}{x}\\ \mathbf{elif}\;t_0 \leq 2:\\ \;\;\;\;0.5 + \frac{0.25}{\frac{s}{x}}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{t_0}\\ \end{array} \]
Alternative 11
Accuracy93.0%
Cost552
\[\begin{array}{l} t_0 := \frac{-x}{s}\\ \mathbf{if}\;t_0 \leq -5:\\ \;\;\;\;1 - \frac{s}{x}\\ \mathbf{elif}\;t_0 \leq 2:\\ \;\;\;\;0.5 + \frac{0.25}{\frac{s}{x}}\\ \mathbf{else}:\\ \;\;\;\;1 + \left(-1 + \frac{s}{x}\right)\\ \end{array} \]
Alternative 12
Accuracy93.0%
Cost552
\[\begin{array}{l} t_0 := \frac{-x}{s}\\ \mathbf{if}\;t_0 \leq -5:\\ \;\;\;\;\frac{1}{-1 + \left(2 + \frac{s}{x}\right)}\\ \mathbf{elif}\;t_0 \leq 2:\\ \;\;\;\;0.5 + \frac{0.25}{\frac{s}{x}}\\ \mathbf{else}:\\ \;\;\;\;1 + \left(-1 + \frac{s}{x}\right)\\ \end{array} \]
Alternative 13
Accuracy72.8%
Cost520
\[\begin{array}{l} t_0 := \frac{-x}{s}\\ \mathbf{if}\;t_0 \leq -5:\\ \;\;\;\;1 - \frac{s}{x}\\ \mathbf{elif}\;t_0 \leq 2:\\ \;\;\;\;0.5\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{t_0}\\ \end{array} \]
Alternative 14
Accuracy92.3%
Cost516
\[\begin{array}{l} \mathbf{if}\;\frac{-x}{s} \leq 100:\\ \;\;\;\;\frac{1}{1 + \frac{1}{1 + \frac{x}{s}}}\\ \mathbf{else}:\\ \;\;\;\;1 + \left(-1 + \frac{s}{x}\right)\\ \end{array} \]
Alternative 15
Accuracy67.4%
Cost360
\[\begin{array}{l} \mathbf{if}\;-x \leq -1.999999936531045 \cdot 10^{-19}:\\ \;\;\;\;1 - \frac{s}{x}\\ \mathbf{elif}\;-x \leq 3.9999998989515007 \cdot 10^{-5}:\\ \;\;\;\;0.5\\ \mathbf{else}:\\ \;\;\;\;s \cdot \frac{1}{x}\\ \end{array} \]
Alternative 16
Accuracy46.4%
Cost228
\[\begin{array}{l} \mathbf{if}\;x \leq -0.00019999999494757503:\\ \;\;\;\;s \cdot \frac{1}{x}\\ \mathbf{else}:\\ \;\;\;\;0.5\\ \end{array} \]
Alternative 17
Accuracy46.4%
Cost164
\[\begin{array}{l} \mathbf{if}\;x \leq -0.00019999999494757503:\\ \;\;\;\;\frac{s}{x}\\ \mathbf{else}:\\ \;\;\;\;0.5\\ \end{array} \]
Alternative 18
Accuracy35.1%
Cost32
\[0.5 \]

Error

Reproduce?

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