Average Error: 0.0 → 0.0
Time: 14.0s
Precision: binary64
\[\frac{NdChar}{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}} \]
\[\frac{NdChar}{1 + {e}^{\left(\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}\right)}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Vef + Ev\right) + EAccept\right) - mu}{KbT}}} \]
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (+
  (/ NdChar (+ 1.0 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT))))
  (/ NaChar (+ 1.0 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
 :precision binary64
 (+
  (/ NdChar (+ 1.0 (pow E (/ (- mu (- (- Ec Vef) EDonor)) KbT))))
  (/ NaChar (+ 1.0 (exp (/ (- (+ (+ Vef Ev) EAccept) mu) KbT))))))
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return (NdChar / (1.0 + exp((-(((Ec - Vef) - EDonor) - mu) / KbT)))) + (NaChar / (1.0 + exp(((((Ev + Vef) + EAccept) + -mu) / KbT))));
}
double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return (NdChar / (1.0 + pow(((double) M_E), ((mu - ((Ec - Vef) - EDonor)) / KbT)))) + (NaChar / (1.0 + exp(((((Vef + Ev) + EAccept) - mu) / KbT))));
}
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return (NdChar / (1.0 + Math.exp((-(((Ec - Vef) - EDonor) - mu) / KbT)))) + (NaChar / (1.0 + Math.exp(((((Ev + Vef) + EAccept) + -mu) / KbT))));
}
public static double code(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
	return (NdChar / (1.0 + Math.pow(Math.E, ((mu - ((Ec - Vef) - EDonor)) / KbT)))) + (NaChar / (1.0 + Math.exp(((((Vef + Ev) + EAccept) - mu) / KbT))));
}
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	return (NdChar / (1.0 + math.exp((-(((Ec - Vef) - EDonor) - mu) / KbT)))) + (NaChar / (1.0 + math.exp(((((Ev + Vef) + EAccept) + -mu) / KbT))))
def code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept):
	return (NdChar / (1.0 + math.pow(math.e, ((mu - ((Ec - Vef) - EDonor)) / KbT)))) + (NaChar / (1.0 + math.exp(((((Vef + Ev) + EAccept) - mu) / KbT))))
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	return Float64(Float64(NdChar / Float64(1.0 + exp(Float64(Float64(-Float64(Float64(Float64(Ec - Vef) - EDonor) - mu)) / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Float64(Ev + Vef) + EAccept) + Float64(-mu)) / KbT)))))
end
function code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	return Float64(Float64(NdChar / Float64(1.0 + (exp(1) ^ Float64(Float64(mu - Float64(Float64(Ec - Vef) - EDonor)) / KbT)))) + Float64(NaChar / Float64(1.0 + exp(Float64(Float64(Float64(Float64(Vef + Ev) + EAccept) - mu) / KbT)))))
end
function tmp = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = (NdChar / (1.0 + exp((-(((Ec - Vef) - EDonor) - mu) / KbT)))) + (NaChar / (1.0 + exp(((((Ev + Vef) + EAccept) + -mu) / KbT))));
end
function tmp = code(NdChar, Ec, Vef, EDonor, mu, KbT, NaChar, Ev, EAccept)
	tmp = (NdChar / (1.0 + (2.71828182845904523536 ^ ((mu - ((Ec - Vef) - EDonor)) / KbT)))) + (NaChar / (1.0 + exp(((((Vef + Ev) + EAccept) - mu) / KbT))));
end
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := N[(N[(NdChar / N[(1.0 + N[Exp[N[((-N[(N[(N[(Ec - Vef), $MachinePrecision] - EDonor), $MachinePrecision] - mu), $MachinePrecision]) / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(N[(Ev + Vef), $MachinePrecision] + EAccept), $MachinePrecision] + (-mu)), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[NdChar_, Ec_, Vef_, EDonor_, mu_, KbT_, NaChar_, Ev_, EAccept_] := N[(N[(NdChar / N[(1.0 + N[Power[E, N[(N[(mu - N[(N[(Ec - Vef), $MachinePrecision] - EDonor), $MachinePrecision]), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(NaChar / N[(1.0 + N[Exp[N[(N[(N[(N[(Vef + Ev), $MachinePrecision] + EAccept), $MachinePrecision] - mu), $MachinePrecision] / KbT), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\frac{NdChar}{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}
\frac{NdChar}{1 + {e}^{\left(\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}\right)}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Vef + Ev\right) + EAccept\right) - mu}{KbT}}}

Error

Bits error versus NdChar

Bits error versus Ec

Bits error versus Vef

Bits error versus EDonor

Bits error versus mu

Bits error versus KbT

Bits error versus NaChar

Bits error versus Ev

Bits error versus EAccept

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\frac{NdChar}{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}} \]
  2. Simplified0.0

    \[\leadsto \color{blue}{\frac{NdChar}{1 + e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Vef + Ev\right) + EAccept\right) - mu}{KbT}}}} \]
  3. Applied *-un-lft-identity_binary640.0

    \[\leadsto \frac{NdChar}{1 + e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{\color{blue}{1 \cdot KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Vef + Ev\right) + EAccept\right) - mu}{KbT}}} \]
  4. Applied *-un-lft-identity_binary640.0

    \[\leadsto \frac{NdChar}{1 + e^{\frac{\color{blue}{1 \cdot \left(mu - \left(\left(Ec - Vef\right) - EDonor\right)\right)}}{1 \cdot KbT}}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Vef + Ev\right) + EAccept\right) - mu}{KbT}}} \]
  5. Applied times-frac_binary640.0

    \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{\frac{1}{1} \cdot \frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Vef + Ev\right) + EAccept\right) - mu}{KbT}}} \]
  6. Applied exp-prod_binary640.0

    \[\leadsto \frac{NdChar}{1 + \color{blue}{{\left(e^{\frac{1}{1}}\right)}^{\left(\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}\right)}}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Vef + Ev\right) + EAccept\right) - mu}{KbT}}} \]
  7. Simplified0.0

    \[\leadsto \frac{NdChar}{1 + {\color{blue}{e}}^{\left(\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}\right)}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Vef + Ev\right) + EAccept\right) - mu}{KbT}}} \]
  8. Final simplification0.0

    \[\leadsto \frac{NdChar}{1 + {e}^{\left(\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}\right)}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Vef + Ev\right) + EAccept\right) - mu}{KbT}}} \]

Reproduce

herbie shell --seed 2022130 
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
  :name "Bulmash initializePoisson"
  :precision binary64
  (+ (/ NdChar (+ 1.0 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1.0 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))