\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{Ec - \left(\left(Vef + mu\right) + EDonor\right)}{KbT}} + 1} + \frac{1}{\frac{1 + e^{\frac{EAccept + \left(\left(Vef + Ev\right) - mu\right)}{KbT}}}{NaChar}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r92389094 = NdChar;
double r92389095 = 1.0;
double r92389096 = Ec;
double r92389097 = Vef;
double r92389098 = r92389096 - r92389097;
double r92389099 = EDonor;
double r92389100 = r92389098 - r92389099;
double r92389101 = mu;
double r92389102 = r92389100 - r92389101;
double r92389103 = -r92389102;
double r92389104 = KbT;
double r92389105 = r92389103 / r92389104;
double r92389106 = exp(r92389105);
double r92389107 = r92389095 + r92389106;
double r92389108 = r92389094 / r92389107;
double r92389109 = NaChar;
double r92389110 = Ev;
double r92389111 = r92389110 + r92389097;
double r92389112 = EAccept;
double r92389113 = r92389111 + r92389112;
double r92389114 = -r92389101;
double r92389115 = r92389113 + r92389114;
double r92389116 = r92389115 / r92389104;
double r92389117 = exp(r92389116);
double r92389118 = r92389095 + r92389117;
double r92389119 = r92389109 / r92389118;
double r92389120 = r92389108 + r92389119;
return r92389120;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r92389121 = NdChar;
double r92389122 = Ec;
double r92389123 = Vef;
double r92389124 = mu;
double r92389125 = r92389123 + r92389124;
double r92389126 = EDonor;
double r92389127 = r92389125 + r92389126;
double r92389128 = r92389122 - r92389127;
double r92389129 = KbT;
double r92389130 = r92389128 / r92389129;
double r92389131 = -r92389130;
double r92389132 = exp(r92389131);
double r92389133 = 1.0;
double r92389134 = r92389132 + r92389133;
double r92389135 = r92389121 / r92389134;
double r92389136 = EAccept;
double r92389137 = Ev;
double r92389138 = r92389123 + r92389137;
double r92389139 = r92389138 - r92389124;
double r92389140 = r92389136 + r92389139;
double r92389141 = r92389140 / r92389129;
double r92389142 = exp(r92389141);
double r92389143 = r92389133 + r92389142;
double r92389144 = NaChar;
double r92389145 = r92389143 / r92389144;
double r92389146 = r92389133 / r92389145;
double r92389147 = r92389135 + r92389146;
return r92389147;
}



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 clear-num0.1
Final simplification0.1
herbie shell --seed 2019125
(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))))))