\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 + \sqrt{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}} \cdot \sqrt{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}}} + \frac{NaChar}{e^{\frac{Vef + \left(\left(Ev - mu\right) + EAccept\right)}{KbT}} + 1}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r3750308 = NdChar;
double r3750309 = 1.0;
double r3750310 = Ec;
double r3750311 = Vef;
double r3750312 = r3750310 - r3750311;
double r3750313 = EDonor;
double r3750314 = r3750312 - r3750313;
double r3750315 = mu;
double r3750316 = r3750314 - r3750315;
double r3750317 = -r3750316;
double r3750318 = KbT;
double r3750319 = r3750317 / r3750318;
double r3750320 = exp(r3750319);
double r3750321 = r3750309 + r3750320;
double r3750322 = r3750308 / r3750321;
double r3750323 = NaChar;
double r3750324 = Ev;
double r3750325 = r3750324 + r3750311;
double r3750326 = EAccept;
double r3750327 = r3750325 + r3750326;
double r3750328 = -r3750315;
double r3750329 = r3750327 + r3750328;
double r3750330 = r3750329 / r3750318;
double r3750331 = exp(r3750330);
double r3750332 = r3750309 + r3750331;
double r3750333 = r3750323 / r3750332;
double r3750334 = r3750322 + r3750333;
return r3750334;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r3750335 = NdChar;
double r3750336 = 1.0;
double r3750337 = mu;
double r3750338 = Ec;
double r3750339 = Vef;
double r3750340 = r3750338 - r3750339;
double r3750341 = EDonor;
double r3750342 = r3750340 - r3750341;
double r3750343 = r3750337 - r3750342;
double r3750344 = KbT;
double r3750345 = r3750343 / r3750344;
double r3750346 = exp(r3750345);
double r3750347 = sqrt(r3750346);
double r3750348 = r3750347 * r3750347;
double r3750349 = r3750336 + r3750348;
double r3750350 = r3750335 / r3750349;
double r3750351 = NaChar;
double r3750352 = Ev;
double r3750353 = r3750352 - r3750337;
double r3750354 = EAccept;
double r3750355 = r3750353 + r3750354;
double r3750356 = r3750339 + r3750355;
double r3750357 = r3750356 / r3750344;
double r3750358 = exp(r3750357);
double r3750359 = r3750358 + r3750336;
double r3750360 = r3750351 / r3750359;
double r3750361 = r3750350 + r3750360;
return r3750361;
}



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-sqr-sqrt0.0
Final simplification0.0
herbie shell --seed 2019154
(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))))))