\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^{\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}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r214531 = NdChar;
double r214532 = 1.0;
double r214533 = Ec;
double r214534 = Vef;
double r214535 = r214533 - r214534;
double r214536 = EDonor;
double r214537 = r214535 - r214536;
double r214538 = mu;
double r214539 = r214537 - r214538;
double r214540 = -r214539;
double r214541 = KbT;
double r214542 = r214540 / r214541;
double r214543 = exp(r214542);
double r214544 = r214532 + r214543;
double r214545 = r214531 / r214544;
double r214546 = NaChar;
double r214547 = Ev;
double r214548 = r214547 + r214534;
double r214549 = EAccept;
double r214550 = r214548 + r214549;
double r214551 = -r214538;
double r214552 = r214550 + r214551;
double r214553 = r214552 / r214541;
double r214554 = exp(r214553);
double r214555 = r214532 + r214554;
double r214556 = r214546 / r214555;
double r214557 = r214545 + r214556;
return r214557;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r214558 = NdChar;
double r214559 = 1.0;
double r214560 = Ec;
double r214561 = Vef;
double r214562 = r214560 - r214561;
double r214563 = EDonor;
double r214564 = r214562 - r214563;
double r214565 = mu;
double r214566 = r214564 - r214565;
double r214567 = -r214566;
double r214568 = KbT;
double r214569 = r214567 / r214568;
double r214570 = exp(r214569);
double r214571 = r214559 + r214570;
double r214572 = r214558 / r214571;
double r214573 = NaChar;
double r214574 = Ev;
double r214575 = r214574 + r214561;
double r214576 = EAccept;
double r214577 = r214575 + r214576;
double r214578 = -r214565;
double r214579 = r214577 + r214578;
double r214580 = r214579 / r214568;
double r214581 = exp(r214580);
double r214582 = r214559 + r214581;
double r214583 = r214573 / r214582;
double r214584 = r214572 + r214583;
return r214584;
}



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