\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 r272109 = NdChar;
double r272110 = 1.0;
double r272111 = Ec;
double r272112 = Vef;
double r272113 = r272111 - r272112;
double r272114 = EDonor;
double r272115 = r272113 - r272114;
double r272116 = mu;
double r272117 = r272115 - r272116;
double r272118 = -r272117;
double r272119 = KbT;
double r272120 = r272118 / r272119;
double r272121 = exp(r272120);
double r272122 = r272110 + r272121;
double r272123 = r272109 / r272122;
double r272124 = NaChar;
double r272125 = Ev;
double r272126 = r272125 + r272112;
double r272127 = EAccept;
double r272128 = r272126 + r272127;
double r272129 = -r272116;
double r272130 = r272128 + r272129;
double r272131 = r272130 / r272119;
double r272132 = exp(r272131);
double r272133 = r272110 + r272132;
double r272134 = r272124 / r272133;
double r272135 = r272123 + r272134;
return r272135;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r272136 = NdChar;
double r272137 = mu;
double r272138 = EDonor;
double r272139 = Ec;
double r272140 = Vef;
double r272141 = r272139 - r272140;
double r272142 = r272138 - r272141;
double r272143 = r272137 + r272142;
double r272144 = KbT;
double r272145 = r272143 / r272144;
double r272146 = exp(r272145);
double r272147 = 1.0;
double r272148 = r272146 + r272147;
double r272149 = r272136 / r272148;
double r272150 = NaChar;
double r272151 = Ev;
double r272152 = r272151 + r272140;
double r272153 = EAccept;
double r272154 = r272152 + r272153;
double r272155 = r272154 - r272137;
double r272156 = r272155 / r272144;
double r272157 = exp(r272156);
double r272158 = r272147 + r272157;
double r272159 = r272150 / r272158;
double r272160 = r272149 + r272159;
return r272160;
}



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 2020042 +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))))))