\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{NaChar}{e^{\frac{Vef + \left(\left(Ev - mu\right) + EAccept\right)}{KbT}} + 1} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r3560194 = NdChar;
double r3560195 = 1.0;
double r3560196 = Ec;
double r3560197 = Vef;
double r3560198 = r3560196 - r3560197;
double r3560199 = EDonor;
double r3560200 = r3560198 - r3560199;
double r3560201 = mu;
double r3560202 = r3560200 - r3560201;
double r3560203 = -r3560202;
double r3560204 = KbT;
double r3560205 = r3560203 / r3560204;
double r3560206 = exp(r3560205);
double r3560207 = r3560195 + r3560206;
double r3560208 = r3560194 / r3560207;
double r3560209 = NaChar;
double r3560210 = Ev;
double r3560211 = r3560210 + r3560197;
double r3560212 = EAccept;
double r3560213 = r3560211 + r3560212;
double r3560214 = -r3560201;
double r3560215 = r3560213 + r3560214;
double r3560216 = r3560215 / r3560204;
double r3560217 = exp(r3560216);
double r3560218 = r3560195 + r3560217;
double r3560219 = r3560209 / r3560218;
double r3560220 = r3560208 + r3560219;
return r3560220;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r3560221 = NaChar;
double r3560222 = Vef;
double r3560223 = Ev;
double r3560224 = mu;
double r3560225 = r3560223 - r3560224;
double r3560226 = EAccept;
double r3560227 = r3560225 + r3560226;
double r3560228 = r3560222 + r3560227;
double r3560229 = KbT;
double r3560230 = r3560228 / r3560229;
double r3560231 = exp(r3560230);
double r3560232 = 1.0;
double r3560233 = r3560231 + r3560232;
double r3560234 = r3560221 / r3560233;
double r3560235 = NdChar;
double r3560236 = Ec;
double r3560237 = r3560236 - r3560222;
double r3560238 = EDonor;
double r3560239 = r3560237 - r3560238;
double r3560240 = r3560224 - r3560239;
double r3560241 = r3560240 / r3560229;
double r3560242 = exp(r3560241);
double r3560243 = r3560242 + r3560232;
double r3560244 = r3560235 / r3560243;
double r3560245 = r3560234 + r3560244;
return r3560245;
}



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
Results
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019156
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
:name "Bulmash initializePoisson"
(+ (/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))