\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{mu + \left(\left(EDonor - Ec\right) + Vef\right)}{KbT}}} + \frac{NaChar}{1 + \sqrt[3]{e^{\mathsf{fma}\left(2, \frac{EAccept - \left(mu - \left(Ev + Vef\right)\right)}{KbT}, \frac{EAccept - \left(mu - \left(Ev + Vef\right)\right)}{KbT}\right)}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r6622069 = NdChar;
double r6622070 = 1.0;
double r6622071 = Ec;
double r6622072 = Vef;
double r6622073 = r6622071 - r6622072;
double r6622074 = EDonor;
double r6622075 = r6622073 - r6622074;
double r6622076 = mu;
double r6622077 = r6622075 - r6622076;
double r6622078 = -r6622077;
double r6622079 = KbT;
double r6622080 = r6622078 / r6622079;
double r6622081 = exp(r6622080);
double r6622082 = r6622070 + r6622081;
double r6622083 = r6622069 / r6622082;
double r6622084 = NaChar;
double r6622085 = Ev;
double r6622086 = r6622085 + r6622072;
double r6622087 = EAccept;
double r6622088 = r6622086 + r6622087;
double r6622089 = -r6622076;
double r6622090 = r6622088 + r6622089;
double r6622091 = r6622090 / r6622079;
double r6622092 = exp(r6622091);
double r6622093 = r6622070 + r6622092;
double r6622094 = r6622084 / r6622093;
double r6622095 = r6622083 + r6622094;
return r6622095;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r6622096 = NdChar;
double r6622097 = 1.0;
double r6622098 = mu;
double r6622099 = EDonor;
double r6622100 = Ec;
double r6622101 = r6622099 - r6622100;
double r6622102 = Vef;
double r6622103 = r6622101 + r6622102;
double r6622104 = r6622098 + r6622103;
double r6622105 = KbT;
double r6622106 = r6622104 / r6622105;
double r6622107 = exp(r6622106);
double r6622108 = r6622097 + r6622107;
double r6622109 = r6622096 / r6622108;
double r6622110 = NaChar;
double r6622111 = 2.0;
double r6622112 = EAccept;
double r6622113 = Ev;
double r6622114 = r6622113 + r6622102;
double r6622115 = r6622098 - r6622114;
double r6622116 = r6622112 - r6622115;
double r6622117 = r6622116 / r6622105;
double r6622118 = fma(r6622111, r6622117, r6622117);
double r6622119 = exp(r6622118);
double r6622120 = cbrt(r6622119);
double r6622121 = r6622097 + r6622120;
double r6622122 = r6622110 / r6622121;
double r6622123 = r6622109 + r6622122;
return r6622123;
}



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
Initial program 0.0
Simplified0.0
rmApplied add-cbrt-cube0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019171 +o rules:numerics
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
:name "Bulmash initializePoisson"
(+ (/ NdChar (+ 1.0 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1.0 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))