\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}{\sqrt[3]{{\left(1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}\right)}^{3}}} + \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 r336557 = NdChar;
double r336558 = 1.0;
double r336559 = Ec;
double r336560 = Vef;
double r336561 = r336559 - r336560;
double r336562 = EDonor;
double r336563 = r336561 - r336562;
double r336564 = mu;
double r336565 = r336563 - r336564;
double r336566 = -r336565;
double r336567 = KbT;
double r336568 = r336566 / r336567;
double r336569 = exp(r336568);
double r336570 = r336558 + r336569;
double r336571 = r336557 / r336570;
double r336572 = NaChar;
double r336573 = Ev;
double r336574 = r336573 + r336560;
double r336575 = EAccept;
double r336576 = r336574 + r336575;
double r336577 = -r336564;
double r336578 = r336576 + r336577;
double r336579 = r336578 / r336567;
double r336580 = exp(r336579);
double r336581 = r336558 + r336580;
double r336582 = r336572 / r336581;
double r336583 = r336571 + r336582;
return r336583;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r336584 = NdChar;
double r336585 = 1.0;
double r336586 = Ec;
double r336587 = Vef;
double r336588 = r336586 - r336587;
double r336589 = EDonor;
double r336590 = r336588 - r336589;
double r336591 = mu;
double r336592 = r336590 - r336591;
double r336593 = -r336592;
double r336594 = KbT;
double r336595 = r336593 / r336594;
double r336596 = exp(r336595);
double r336597 = r336585 + r336596;
double r336598 = 3.0;
double r336599 = pow(r336597, r336598);
double r336600 = cbrt(r336599);
double r336601 = r336584 / r336600;
double r336602 = NaChar;
double r336603 = Ev;
double r336604 = r336603 + r336587;
double r336605 = EAccept;
double r336606 = r336604 + r336605;
double r336607 = -r336591;
double r336608 = r336606 + r336607;
double r336609 = r336608 / r336594;
double r336610 = exp(r336609);
double r336611 = r336585 + r336610;
double r336612 = r336602 / r336611;
double r336613 = r336601 + r336612;
return r336613;
}



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
rmApplied add-cbrt-cube0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020002
(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))))))