\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}{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}} + 1} + \frac{NaChar}{1 + \sqrt[3]{{\left(e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right)}^{3}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r255299 = NdChar;
double r255300 = 1.0;
double r255301 = Ec;
double r255302 = Vef;
double r255303 = r255301 - r255302;
double r255304 = EDonor;
double r255305 = r255303 - r255304;
double r255306 = mu;
double r255307 = r255305 - r255306;
double r255308 = -r255307;
double r255309 = KbT;
double r255310 = r255308 / r255309;
double r255311 = exp(r255310);
double r255312 = r255300 + r255311;
double r255313 = r255299 / r255312;
double r255314 = NaChar;
double r255315 = Ev;
double r255316 = r255315 + r255302;
double r255317 = EAccept;
double r255318 = r255316 + r255317;
double r255319 = -r255306;
double r255320 = r255318 + r255319;
double r255321 = r255320 / r255309;
double r255322 = exp(r255321);
double r255323 = r255300 + r255322;
double r255324 = r255314 / r255323;
double r255325 = r255313 + r255324;
return r255325;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r255326 = NdChar;
double r255327 = mu;
double r255328 = EDonor;
double r255329 = Ec;
double r255330 = Vef;
double r255331 = r255329 - r255330;
double r255332 = r255328 - r255331;
double r255333 = r255327 + r255332;
double r255334 = KbT;
double r255335 = r255333 / r255334;
double r255336 = exp(r255335);
double r255337 = 1.0;
double r255338 = r255336 + r255337;
double r255339 = r255326 / r255338;
double r255340 = NaChar;
double r255341 = Ev;
double r255342 = r255341 + r255330;
double r255343 = EAccept;
double r255344 = r255342 + r255343;
double r255345 = r255344 - r255327;
double r255346 = r255345 / r255334;
double r255347 = exp(r255346);
double r255348 = 3.0;
double r255349 = pow(r255347, r255348);
double r255350 = cbrt(r255349);
double r255351 = r255337 + r255350;
double r255352 = r255340 / r255351;
double r255353 = r255339 + r255352;
return r255353;
}



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
rmApplied add-cbrt-cube0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020047
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
:name "Bulmash initializePoisson"
:precision binary64
(+ (/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))