\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}}}NaChar \cdot \frac{1}{e^{\frac{\left(Ev + Vef\right) + \left(EAccept - mu\right)}{KbT}} + 1} + \frac{NdChar}{\sqrt[3]{{\left(1 + e^{-\frac{\left(Ec - Vef\right) - \left(mu + EDonor\right)}{KbT}}\right)}^{3}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r227087 = NdChar;
double r227088 = 1.0;
double r227089 = Ec;
double r227090 = Vef;
double r227091 = r227089 - r227090;
double r227092 = EDonor;
double r227093 = r227091 - r227092;
double r227094 = mu;
double r227095 = r227093 - r227094;
double r227096 = -r227095;
double r227097 = KbT;
double r227098 = r227096 / r227097;
double r227099 = exp(r227098);
double r227100 = r227088 + r227099;
double r227101 = r227087 / r227100;
double r227102 = NaChar;
double r227103 = Ev;
double r227104 = r227103 + r227090;
double r227105 = EAccept;
double r227106 = r227104 + r227105;
double r227107 = -r227094;
double r227108 = r227106 + r227107;
double r227109 = r227108 / r227097;
double r227110 = exp(r227109);
double r227111 = r227088 + r227110;
double r227112 = r227102 / r227111;
double r227113 = r227101 + r227112;
return r227113;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r227114 = NaChar;
double r227115 = 1.0;
double r227116 = Ev;
double r227117 = Vef;
double r227118 = r227116 + r227117;
double r227119 = EAccept;
double r227120 = mu;
double r227121 = r227119 - r227120;
double r227122 = r227118 + r227121;
double r227123 = KbT;
double r227124 = r227122 / r227123;
double r227125 = exp(r227124);
double r227126 = 1.0;
double r227127 = r227125 + r227126;
double r227128 = r227115 / r227127;
double r227129 = r227114 * r227128;
double r227130 = NdChar;
double r227131 = Ec;
double r227132 = r227131 - r227117;
double r227133 = EDonor;
double r227134 = r227120 + r227133;
double r227135 = r227132 - r227134;
double r227136 = r227135 / r227123;
double r227137 = -r227136;
double r227138 = exp(r227137);
double r227139 = r227126 + r227138;
double r227140 = 3.0;
double r227141 = pow(r227139, r227140);
double r227142 = cbrt(r227141);
double r227143 = r227130 / r227142;
double r227144 = r227129 + r227143;
return r227144;
}



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 div-inv0.0
Simplified0.0
rmApplied add-cbrt-cube0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019179
(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))))))