Average Error: 0.2 → 0.2
Time: 15.9s
Precision: binary32
Cost: 10080
\[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)} \]
\[\frac{1}{\left(1 + e^{\frac{x}{s}}\right) \cdot \left(s + \frac{s}{{e}^{\left(\frac{x}{s}\right)}}\right)} \]
(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
 (/ 1.0 (* (+ 1.0 (exp (/ x s))) (+ s (/ s (pow E (/ x s)))))))
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) {
	return 1.0f / ((1.0f + expf((x / s))) * (s + (s / powf(((float) M_E), (x / s)))));
}
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)
	return Float32(Float32(1.0) / Float32(Float32(Float32(1.0) + exp(Float32(x / s))) * Float32(s + Float32(s / (Float32(exp(1)) ^ Float32(x / s))))))
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)
	tmp = single(1.0) / ((single(1.0) + exp((x / s))) * (s + (s / (single(2.71828182845904523536) ^ (x / s)))));
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)}
\frac{1}{\left(1 + e^{\frac{x}{s}}\right) \cdot \left(s + \frac{s}{{e}^{\left(\frac{x}{s}\right)}}\right)}

Error

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\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. Simplified0.2

    \[\leadsto \color{blue}{\frac{1}{\left(s + \frac{s}{e^{\frac{\left|x\right|}{s}}}\right) \cdot \left(1 + e^{\frac{\left|x\right|}{s}}\right)}} \]
    Proof
    (/.f32 1 (*.f32 (+.f32 s (/.f32 s (exp.f32 (/.f32 (fabs.f32 x) s)))) (+.f32 1 (exp.f32 (/.f32 (fabs.f32 x) s))))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (+.f32 (Rewrite<= *-rgt-identity_binary32 (*.f32 s 1)) (/.f32 s (exp.f32 (/.f32 (fabs.f32 x) s)))) (+.f32 1 (exp.f32 (/.f32 (fabs.f32 x) s))))): 4 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (+.f32 (*.f32 s 1) (/.f32 (Rewrite<= *-lft-identity_binary32 (*.f32 1 s)) (exp.f32 (/.f32 (fabs.f32 x) s)))) (+.f32 1 (exp.f32 (/.f32 (fabs.f32 x) s))))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (+.f32 (*.f32 s 1) (Rewrite<= associate-*l/_binary32 (*.f32 (/.f32 1 (exp.f32 (/.f32 (fabs.f32 x) s))) s))) (+.f32 1 (exp.f32 (/.f32 (fabs.f32 x) s))))): 0 points increase in error, 4 points decrease in error
    (/.f32 1 (*.f32 (+.f32 (*.f32 s 1) (*.f32 (Rewrite<= exp-neg_binary32 (exp.f32 (neg.f32 (/.f32 (fabs.f32 x) s)))) s)) (+.f32 1 (exp.f32 (/.f32 (fabs.f32 x) s))))): 4 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (+.f32 (*.f32 s 1) (*.f32 (exp.f32 (Rewrite<= distribute-frac-neg_binary32 (/.f32 (neg.f32 (fabs.f32 x)) s))) s)) (+.f32 1 (exp.f32 (/.f32 (fabs.f32 x) s))))): 38 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (+.f32 (*.f32 s 1) (Rewrite=> *-commutative_binary32 (*.f32 s (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))) (+.f32 1 (exp.f32 (/.f32 (fabs.f32 x) s))))): 0 points increase in error, 37 points decrease in error
    (/.f32 1 (*.f32 (Rewrite<= distribute-lft-in_binary32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))) (+.f32 1 (exp.f32 (/.f32 (fabs.f32 x) s))))): 0 points increase in error, 6 points decrease in error
    (/.f32 1 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 (Rewrite<= rgt-mult-inverse_binary32 (*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (/.f32 1 (exp.f32 (/.f32 (fabs.f32 x) s))))) (exp.f32 (/.f32 (fabs.f32 x) s))))): 4 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 (*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (Rewrite<= exp-neg_binary32 (exp.f32 (neg.f32 (/.f32 (fabs.f32 x) s))))) (exp.f32 (/.f32 (fabs.f32 x) s))))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 (*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (exp.f32 (Rewrite<= distribute-frac-neg_binary32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (exp.f32 (/.f32 (fabs.f32 x) s))))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 (*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))) (Rewrite<= *-rgt-identity_binary32 (*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) 1))))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (Rewrite<= distribute-lft-in_binary32 (*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (+.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) 1))))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (Rewrite<= +-commutative_binary32 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (Rewrite<= *-lft-identity_binary32 (*.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))))): 0 points increase in error, 4 points decrease in error
    (/.f32 1 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (*.f32 (exp.f32 (/.f32 (fabs.f32 x) s)) (Rewrite<= *-commutative_binary32 (*.f32 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))) 1))))): 4 points increase in error, 0 points decrease in error
    (/.f32 1 (Rewrite=> associate-*r*_binary32 (*.f32 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (exp.f32 (/.f32 (fabs.f32 x) s))) (*.f32 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))) 1)))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (Rewrite<= *-commutative_binary32 (*.f32 (*.f32 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))) 1) (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (exp.f32 (/.f32 (fabs.f32 x) s)))))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (Rewrite<= associate-*l*_binary32 (*.f32 (*.f32 (*.f32 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))) 1) (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))) (exp.f32 (/.f32 (fabs.f32 x) s))))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (Rewrite<= associate-*r*_binary32 (*.f32 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))) (*.f32 1 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))))) (exp.f32 (/.f32 (fabs.f32 x) s)))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (*.f32 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))) (Rewrite=> *-lft-identity_binary32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))) (exp.f32 (/.f32 (fabs.f32 x) s)))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (Rewrite<= *-commutative_binary32 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))) (exp.f32 (/.f32 (fabs.f32 x) s)))): 0 points increase in error, 4 points decrease in error
    (/.f32 1 (*.f32 (Rewrite<= /-rgt-identity_binary32 (/.f32 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) 1)) (exp.f32 (/.f32 (fabs.f32 x) s)))): 39 points increase in error, 0 points decrease in error
    (/.f32 1 (Rewrite<= associate-/r/_binary32 (/.f32 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (/.f32 1 (exp.f32 (/.f32 (fabs.f32 x) s)))))): 4 points increase in error, 35 points decrease in error
    (/.f32 1 (/.f32 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (Rewrite<= exp-neg_binary32 (exp.f32 (neg.f32 (/.f32 (fabs.f32 x) s)))))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (/.f32 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (exp.f32 (Rewrite<= distribute-frac-neg_binary32 (/.f32 (neg.f32 (fabs.f32 x)) s))))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (/.f32 (Rewrite<= /-rgt-identity_binary32 (/.f32 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) 1)) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (Rewrite<= associate-/r*_binary32 (/.f32 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (*.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))): 0 points increase in error, 4 points decrease in error
    (/.f32 1 (/.f32 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (Rewrite<= *-lft-identity_binary32 (*.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))) (*.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))): 4 points increase in error, 0 points decrease in error
    (/.f32 1 (/.f32 (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (Rewrite<= *-commutative_binary32 (*.f32 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))) 1))) (*.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))): 0 points increase in error, 4 points decrease in error
    (/.f32 1 (Rewrite=> times-frac_binary32 (*.f32 (/.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) 1) (/.f32 (*.f32 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))) 1) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))): 34 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (Rewrite=> /-rgt-identity_binary32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))) (/.f32 (*.f32 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))) 1) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))): 0 points increase in error, 34 points decrease in error
    (Rewrite<= associate-/l/_binary32 (/.f32 (/.f32 1 (/.f32 (*.f32 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))) 1) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))): 0 points increase in error, 0 points decrease in error
    (/.f32 (Rewrite<= associate-/l*_binary32 (/.f32 (*.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))) (*.f32 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))) 1))) (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))): 4 points increase in error, 0 points decrease in error
    (/.f32 (Rewrite<= associate-*r/_binary32 (*.f32 1 (/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))) 1)))) (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))): 0 points increase in error, 4 points decrease in error
    (/.f32 (*.f32 1 (/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (Rewrite=> *-commutative_binary32 (*.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))))) (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))): 0 points increase in error, 0 points decrease in error
    (/.f32 (*.f32 1 (/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (Rewrite=> *-lft-identity_binary32 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))) (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))): 4 points increase in error, 0 points decrease in error
    (/.f32 (Rewrite=> *-lft-identity_binary32 (/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))) (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))): 0 points increase in error, 0 points decrease in error
    (Rewrite=> associate-/l/_binary32 (/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 1 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))): 0 points increase in error, 0 points decrease in error
  3. Applied egg-rr0.8

    \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(\frac{1}{\left(s + \frac{s}{e^{\frac{x}{s}}}\right) \cdot \left(e^{\frac{x}{s}} + 1\right)}\right)} - 1} \]
  4. Simplified0.2

    \[\leadsto \color{blue}{\frac{1}{\left(1 + e^{\frac{x}{s}}\right) \cdot \left(s + \frac{s}{e^{\frac{x}{s}}}\right)}} \]
    Proof
    (/.f32 1 (*.f32 (+.f32 1 (exp.f32 (/.f32 x s))) (+.f32 s (/.f32 s (exp.f32 (/.f32 x s)))))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (*.f32 (Rewrite<= +-commutative_binary32 (+.f32 (exp.f32 (/.f32 x s)) 1)) (+.f32 s (/.f32 s (exp.f32 (/.f32 x s)))))): 0 points increase in error, 2 points decrease in error
    (/.f32 1 (Rewrite<= *-commutative_binary32 (*.f32 (+.f32 s (/.f32 s (exp.f32 (/.f32 x s)))) (+.f32 (exp.f32 (/.f32 x s)) 1)))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (Rewrite<= /-rgt-identity_binary32 (/.f32 (*.f32 (+.f32 s (/.f32 s (exp.f32 (/.f32 x s)))) (+.f32 (exp.f32 (/.f32 x s)) 1)) 1))): 0 points increase in error, 0 points decrease in error
    (/.f32 1 (/.f32 (Rewrite=> *-commutative_binary32 (*.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) (+.f32 s (/.f32 s (exp.f32 (/.f32 x s)))))) 1)): 2 points increase in error, 0 points decrease in error
    (/.f32 1 (Rewrite=> associate-/l*_binary32 (/.f32 (+.f32 (exp.f32 (/.f32 x s)) 1) (/.f32 1 (+.f32 s (/.f32 s (exp.f32 (/.f32 x s)))))))): 9 points increase in error, 0 points decrease in error
    (Rewrite<= associate-/l*_binary32 (/.f32 (*.f32 1 (/.f32 1 (+.f32 s (/.f32 s (exp.f32 (/.f32 x s)))))) (+.f32 (exp.f32 (/.f32 x s)) 1))): 2 points increase in error, 7 points decrease in error
    (/.f32 (Rewrite=> associate-*r/_binary32 (/.f32 (*.f32 1 1) (+.f32 s (/.f32 s (exp.f32 (/.f32 x s)))))) (+.f32 (exp.f32 (/.f32 x s)) 1)): 0 points increase in error, 2 points decrease in error
    (/.f32 (/.f32 (Rewrite=> metadata-eval 1) (+.f32 s (/.f32 s (exp.f32 (/.f32 x s))))) (+.f32 (exp.f32 (/.f32 x s)) 1)): 0 points increase in error, 0 points decrease in error
    (Rewrite<= associate-/r*_binary32 (/.f32 1 (*.f32 (+.f32 s (/.f32 s (exp.f32 (/.f32 x s)))) (+.f32 (exp.f32 (/.f32 x s)) 1)))): 0 points increase in error, 0 points decrease in error
    (Rewrite<= expm1-log1p_binary32 (expm1.f32 (log1p.f32 (/.f32 1 (*.f32 (+.f32 s (/.f32 s (exp.f32 (/.f32 x s)))) (+.f32 (exp.f32 (/.f32 x s)) 1)))))): 0 points increase in error, 0 points decrease in error
    (Rewrite<= expm1-def_binary32 (-.f32 (exp.f32 (log1p.f32 (/.f32 1 (*.f32 (+.f32 s (/.f32 s (exp.f32 (/.f32 x s)))) (+.f32 (exp.f32 (/.f32 x s)) 1))))) 1)): 0 points increase in error, 0 points decrease in error
  5. Applied egg-rr0.2

    \[\leadsto \frac{1}{\left(1 + e^{\frac{x}{s}}\right) \cdot \left(s + \frac{s}{\color{blue}{{e}^{\left(\frac{x}{s}\right)}}}\right)} \]
  6. Final simplification0.2

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

Alternatives

Alternative 1
Error0.2
Cost6880
\[\begin{array}{l} t_0 := e^{\frac{x}{s}}\\ \frac{1}{\left(1 + t_0\right) \cdot \left(s + \frac{s}{t_0}\right)} \end{array} \]
Alternative 2
Error0.2
Cost6880
\[\frac{1}{\left(\mathsf{expm1}\left(\frac{x}{s}\right) + 2\right) \cdot \left(s + \frac{s}{e^{\frac{x}{s}}}\right)} \]
Alternative 3
Error1.2
Cost6688
\[\frac{1}{s \cdot \left(3 + e^{\frac{\left|x\right|}{s}}\right)} \]
Alternative 4
Error1.6
Cost6656
\[\frac{e^{\frac{-\left|x\right|}{s}}}{s \cdot 4} \]
Alternative 5
Error1.1
Cost3812
\[\begin{array}{l} t_0 := e^{\frac{x}{s}}\\ \mathbf{if}\;x \leq -5.00000011871114 \cdot 10^{-33}:\\ \;\;\;\;\frac{1}{\left(s + \frac{s}{t_0}\right) \cdot \left(\frac{x}{s} + 2\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\left(1 + t_0\right) \cdot \left(s + \frac{s}{1 + \frac{x}{s}}\right)}\\ \end{array} \]
Alternative 6
Error1.2
Cost3748
\[\begin{array}{l} t_0 := e^{\frac{x}{s}}\\ \mathbf{if}\;x \leq 1.0000000180025095 \cdot 10^{-35}:\\ \;\;\;\;\frac{1}{\left(s + \frac{s}{t_0}\right) \cdot \left(\frac{x}{s} + 2\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{-1}{t_0 + 3}}{-s}\\ \end{array} \]
Alternative 7
Error1.3
Cost3620
\[\begin{array}{l} t_0 := e^{\frac{x}{s}}\\ \mathbf{if}\;x \leq -6.000000050617872 \cdot 10^{-34}:\\ \;\;\;\;\frac{1}{2 \cdot \left(s + \frac{s}{t_0}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{s \cdot \left(t_0 + 3\right)}\\ \end{array} \]
Alternative 8
Error4.5
Cost3556
\[\begin{array}{l} \mathbf{if}\;x \leq -1.1000000297155601 \cdot 10^{-19}:\\ \;\;\;\;\frac{1}{s \cdot \left(3 + \frac{0.5 \cdot \left(x \cdot x\right)}{s \cdot s}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{s \cdot \left(e^{\frac{x}{s}} + 3\right)}\\ \end{array} \]
Alternative 9
Error5.8
Cost804
\[\begin{array}{l} \mathbf{if}\;x \leq -200000:\\ \;\;\;\;\frac{1}{s \cdot \left(3 + \frac{0.5 \cdot \left(x \cdot x\right)}{s \cdot s}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\left(\frac{x}{s} + \left(2 + 0.5 \cdot \frac{x}{\frac{s \cdot s}{x}}\right)\right) \cdot \left(s \cdot 2 - x\right)}\\ \end{array} \]
Alternative 10
Error6.4
Cost740
\[\begin{array}{l} \mathbf{if}\;x \leq -0.20000000298023224:\\ \;\;\;\;\frac{1}{s \cdot \left(3 + \frac{0.5 \cdot \left(x \cdot x\right)}{s \cdot s}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{s \cdot \left(3 + \left(\frac{x}{s} + \left(1 + 0.5 \cdot \left(x \cdot \frac{x}{s \cdot s}\right)\right)\right)\right)}\\ \end{array} \]
Alternative 11
Error7.6
Cost676
\[\begin{array}{l} t_0 := \frac{0.5 \cdot \left(x \cdot x\right)}{s \cdot s}\\ \mathbf{if}\;x \leq -0.20000000298023224:\\ \;\;\;\;\frac{1}{s \cdot \left(3 + t_0\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{s \cdot \left(4 + \left(\frac{x}{s} + t_0\right)\right)}\\ \end{array} \]
Alternative 12
Error7.8
Cost617
\[\begin{array}{l} \mathbf{if}\;x \leq -1.1000000297155601 \cdot 10^{-19} \lor \neg \left(x \leq 2.000000033724767 \cdot 10^{-16}\right):\\ \;\;\;\;\frac{1}{s \cdot \left(3 + \frac{0.5 \cdot \left(x \cdot x\right)}{s \cdot s}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.25}{s}\\ \end{array} \]
Alternative 13
Error11.5
Cost425
\[\begin{array}{l} \mathbf{if}\;x \leq -0.20000000298023224 \lor \neg \left(x \leq 6.000000052353016 \cdot 10^{-9}\right):\\ \;\;\;\;\frac{1}{0.5 \cdot \left(x \cdot \frac{x}{s}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.25}{s}\\ \end{array} \]
Alternative 14
Error22.8
Cost224
\[\frac{1}{x + s \cdot 4} \]
Alternative 15
Error23.5
Cost96
\[\frac{0.25}{s} \]

Error

Reproduce

herbie shell --seed 2022343 
(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))))))