\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{NaChar}{e^{\frac{Vef + \left(\left(Ev - mu\right) + EAccept\right)}{KbT}} + 1} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r5108103 = NdChar;
double r5108104 = 1.0;
double r5108105 = Ec;
double r5108106 = Vef;
double r5108107 = r5108105 - r5108106;
double r5108108 = EDonor;
double r5108109 = r5108107 - r5108108;
double r5108110 = mu;
double r5108111 = r5108109 - r5108110;
double r5108112 = -r5108111;
double r5108113 = KbT;
double r5108114 = r5108112 / r5108113;
double r5108115 = exp(r5108114);
double r5108116 = r5108104 + r5108115;
double r5108117 = r5108103 / r5108116;
double r5108118 = NaChar;
double r5108119 = Ev;
double r5108120 = r5108119 + r5108106;
double r5108121 = EAccept;
double r5108122 = r5108120 + r5108121;
double r5108123 = -r5108110;
double r5108124 = r5108122 + r5108123;
double r5108125 = r5108124 / r5108113;
double r5108126 = exp(r5108125);
double r5108127 = r5108104 + r5108126;
double r5108128 = r5108118 / r5108127;
double r5108129 = r5108117 + r5108128;
return r5108129;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r5108130 = NaChar;
double r5108131 = Vef;
double r5108132 = Ev;
double r5108133 = mu;
double r5108134 = r5108132 - r5108133;
double r5108135 = EAccept;
double r5108136 = r5108134 + r5108135;
double r5108137 = r5108131 + r5108136;
double r5108138 = KbT;
double r5108139 = r5108137 / r5108138;
double r5108140 = exp(r5108139);
double r5108141 = 1.0;
double r5108142 = r5108140 + r5108141;
double r5108143 = r5108130 / r5108142;
double r5108144 = NdChar;
double r5108145 = Ec;
double r5108146 = r5108145 - r5108131;
double r5108147 = EDonor;
double r5108148 = r5108146 - r5108147;
double r5108149 = r5108133 - r5108148;
double r5108150 = r5108149 / r5108138;
double r5108151 = exp(r5108150);
double r5108152 = r5108151 + r5108141;
double r5108153 = r5108144 / r5108152;
double r5108154 = r5108143 + r5108153;
return r5108154;
}



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 2019155
(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))))))