\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{1}{\frac{KbT}{mu + \left(EDonor - \left(Ec - Vef\right)\right)}}} + 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 r144086 = NdChar;
double r144087 = 1.0;
double r144088 = Ec;
double r144089 = Vef;
double r144090 = r144088 - r144089;
double r144091 = EDonor;
double r144092 = r144090 - r144091;
double r144093 = mu;
double r144094 = r144092 - r144093;
double r144095 = -r144094;
double r144096 = KbT;
double r144097 = r144095 / r144096;
double r144098 = exp(r144097);
double r144099 = r144087 + r144098;
double r144100 = r144086 / r144099;
double r144101 = NaChar;
double r144102 = Ev;
double r144103 = r144102 + r144089;
double r144104 = EAccept;
double r144105 = r144103 + r144104;
double r144106 = -r144093;
double r144107 = r144105 + r144106;
double r144108 = r144107 / r144096;
double r144109 = exp(r144108);
double r144110 = r144087 + r144109;
double r144111 = r144101 / r144110;
double r144112 = r144100 + r144111;
return r144112;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r144113 = NdChar;
double r144114 = 1.0;
double r144115 = KbT;
double r144116 = mu;
double r144117 = EDonor;
double r144118 = Ec;
double r144119 = Vef;
double r144120 = r144118 - r144119;
double r144121 = r144117 - r144120;
double r144122 = r144116 + r144121;
double r144123 = r144115 / r144122;
double r144124 = r144114 / r144123;
double r144125 = exp(r144124);
double r144126 = 1.0;
double r144127 = r144125 + r144126;
double r144128 = r144113 / r144127;
double r144129 = NaChar;
double r144130 = Ev;
double r144131 = r144130 + r144119;
double r144132 = EAccept;
double r144133 = r144131 + r144132;
double r144134 = r144133 - r144116;
double r144135 = r144134 / r144115;
double r144136 = exp(r144135);
double r144137 = r144126 + r144136;
double r144138 = r144129 / r144137;
double r144139 = r144128 + r144138;
return r144139;
}



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.0
Final simplification0.0
herbie shell --seed 2019347 +o rules:numerics
(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))))))