\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 + e^{-\frac{Ec - \left(EDonor + \left(mu + Vef\right)\right)}{KbT}}} + \frac{NaChar}{e^{\frac{\left(\left(Ev + Vef\right) - mu\right) + EAccept}{KbT}} + 1}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r47865094 = NdChar;
double r47865095 = 1.0;
double r47865096 = Ec;
double r47865097 = Vef;
double r47865098 = r47865096 - r47865097;
double r47865099 = EDonor;
double r47865100 = r47865098 - r47865099;
double r47865101 = mu;
double r47865102 = r47865100 - r47865101;
double r47865103 = -r47865102;
double r47865104 = KbT;
double r47865105 = r47865103 / r47865104;
double r47865106 = exp(r47865105);
double r47865107 = r47865095 + r47865106;
double r47865108 = r47865094 / r47865107;
double r47865109 = NaChar;
double r47865110 = Ev;
double r47865111 = r47865110 + r47865097;
double r47865112 = EAccept;
double r47865113 = r47865111 + r47865112;
double r47865114 = -r47865101;
double r47865115 = r47865113 + r47865114;
double r47865116 = r47865115 / r47865104;
double r47865117 = exp(r47865116);
double r47865118 = r47865095 + r47865117;
double r47865119 = r47865109 / r47865118;
double r47865120 = r47865108 + r47865119;
return r47865120;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r47865121 = NdChar;
double r47865122 = 1.0;
double r47865123 = Ec;
double r47865124 = EDonor;
double r47865125 = mu;
double r47865126 = Vef;
double r47865127 = r47865125 + r47865126;
double r47865128 = r47865124 + r47865127;
double r47865129 = r47865123 - r47865128;
double r47865130 = KbT;
double r47865131 = r47865129 / r47865130;
double r47865132 = -r47865131;
double r47865133 = exp(r47865132);
double r47865134 = r47865122 + r47865133;
double r47865135 = r47865121 / r47865134;
double r47865136 = NaChar;
double r47865137 = Ev;
double r47865138 = r47865137 + r47865126;
double r47865139 = r47865138 - r47865125;
double r47865140 = EAccept;
double r47865141 = r47865139 + r47865140;
double r47865142 = r47865141 / r47865130;
double r47865143 = exp(r47865142);
double r47865144 = r47865143 + r47865122;
double r47865145 = r47865136 / r47865144;
double r47865146 = r47865135 + r47865145;
return r47865146;
}



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 2019121 +o rules:numerics
(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))))))