\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 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r206096 = NdChar;
double r206097 = 1.0;
double r206098 = Ec;
double r206099 = Vef;
double r206100 = r206098 - r206099;
double r206101 = EDonor;
double r206102 = r206100 - r206101;
double r206103 = mu;
double r206104 = r206102 - r206103;
double r206105 = -r206104;
double r206106 = KbT;
double r206107 = r206105 / r206106;
double r206108 = exp(r206107);
double r206109 = r206097 + r206108;
double r206110 = r206096 / r206109;
double r206111 = NaChar;
double r206112 = Ev;
double r206113 = r206112 + r206099;
double r206114 = EAccept;
double r206115 = r206113 + r206114;
double r206116 = -r206103;
double r206117 = r206115 + r206116;
double r206118 = r206117 / r206106;
double r206119 = exp(r206118);
double r206120 = r206097 + r206119;
double r206121 = r206111 / r206120;
double r206122 = r206110 + r206121;
return r206122;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r206123 = NdChar;
double r206124 = mu;
double r206125 = EDonor;
double r206126 = Ec;
double r206127 = Vef;
double r206128 = r206126 - r206127;
double r206129 = r206125 - r206128;
double r206130 = r206124 + r206129;
double r206131 = KbT;
double r206132 = r206130 / r206131;
double r206133 = exp(r206132);
double r206134 = 1.0;
double r206135 = r206133 + r206134;
double r206136 = r206123 / r206135;
double r206137 = NaChar;
double r206138 = Ev;
double r206139 = r206138 + r206127;
double r206140 = EAccept;
double r206141 = r206139 + r206140;
double r206142 = r206141 - r206124;
double r206143 = r206142 / r206131;
double r206144 = exp(r206143);
double r206145 = r206134 + r206144;
double r206146 = r206137 / r206145;
double r206147 = r206136 + r206146;
return r206147;
}



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 2019199
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
:name "Bulmash initializePoisson"
(+ (/ NdChar (+ 1.0 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1.0 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))