\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}{1 + \left(\sqrt[3]{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}} \cdot \sqrt[3]{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}}\right) \cdot \sqrt[3]{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}}}} + \frac{NaChar}{1 + \sqrt{e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}} \cdot \sqrt{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 r366155 = NdChar;
double r366156 = 1.0;
double r366157 = Ec;
double r366158 = Vef;
double r366159 = r366157 - r366158;
double r366160 = EDonor;
double r366161 = r366159 - r366160;
double r366162 = mu;
double r366163 = r366161 - r366162;
double r366164 = -r366163;
double r366165 = KbT;
double r366166 = r366164 / r366165;
double r366167 = exp(r366166);
double r366168 = r366156 + r366167;
double r366169 = r366155 / r366168;
double r366170 = NaChar;
double r366171 = Ev;
double r366172 = r366171 + r366158;
double r366173 = EAccept;
double r366174 = r366172 + r366173;
double r366175 = -r366162;
double r366176 = r366174 + r366175;
double r366177 = r366176 / r366165;
double r366178 = exp(r366177);
double r366179 = r366156 + r366178;
double r366180 = r366170 / r366179;
double r366181 = r366169 + r366180;
return r366181;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r366182 = NdChar;
double r366183 = 1.0;
double r366184 = mu;
double r366185 = Ec;
double r366186 = Vef;
double r366187 = r366185 - r366186;
double r366188 = EDonor;
double r366189 = r366187 - r366188;
double r366190 = r366184 - r366189;
double r366191 = KbT;
double r366192 = r366190 / r366191;
double r366193 = exp(r366192);
double r366194 = cbrt(r366193);
double r366195 = r366194 * r366194;
double r366196 = r366195 * r366194;
double r366197 = r366183 + r366196;
double r366198 = r366182 / r366197;
double r366199 = NaChar;
double r366200 = Ev;
double r366201 = r366200 + r366186;
double r366202 = EAccept;
double r366203 = r366201 + r366202;
double r366204 = r366203 - r366184;
double r366205 = r366204 / r366191;
double r366206 = exp(r366205);
double r366207 = sqrt(r366206);
double r366208 = r366207 * r366207;
double r366209 = r366183 + r366208;
double r366210 = r366199 / r366209;
double r366211 = r366198 + r366210;
return r366211;
}



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
rmApplied add-sqr-sqrt0.0
Simplified0.0
Simplified0.0
rmApplied add-cube-cbrt0.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020047 +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))))))