\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}{\sqrt[3]{{\left(1 + e^{-\frac{\left(Ec - Vef\right) - \left(mu + EDonor\right)}{KbT}}\right)}^{3}}} + \frac{NaChar}{e^{\frac{\left(-mu\right) + \left(\left(Vef + Ev\right) + EAccept\right)}{KbT}} + 1}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r198110 = NdChar;
double r198111 = 1.0;
double r198112 = Ec;
double r198113 = Vef;
double r198114 = r198112 - r198113;
double r198115 = EDonor;
double r198116 = r198114 - r198115;
double r198117 = mu;
double r198118 = r198116 - r198117;
double r198119 = -r198118;
double r198120 = KbT;
double r198121 = r198119 / r198120;
double r198122 = exp(r198121);
double r198123 = r198111 + r198122;
double r198124 = r198110 / r198123;
double r198125 = NaChar;
double r198126 = Ev;
double r198127 = r198126 + r198113;
double r198128 = EAccept;
double r198129 = r198127 + r198128;
double r198130 = -r198117;
double r198131 = r198129 + r198130;
double r198132 = r198131 / r198120;
double r198133 = exp(r198132);
double r198134 = r198111 + r198133;
double r198135 = r198125 / r198134;
double r198136 = r198124 + r198135;
return r198136;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r198137 = NdChar;
double r198138 = 1.0;
double r198139 = Ec;
double r198140 = Vef;
double r198141 = r198139 - r198140;
double r198142 = mu;
double r198143 = EDonor;
double r198144 = r198142 + r198143;
double r198145 = r198141 - r198144;
double r198146 = KbT;
double r198147 = r198145 / r198146;
double r198148 = -r198147;
double r198149 = exp(r198148);
double r198150 = r198138 + r198149;
double r198151 = 3.0;
double r198152 = pow(r198150, r198151);
double r198153 = cbrt(r198152);
double r198154 = r198137 / r198153;
double r198155 = NaChar;
double r198156 = -r198142;
double r198157 = Ev;
double r198158 = r198140 + r198157;
double r198159 = EAccept;
double r198160 = r198158 + r198159;
double r198161 = r198156 + r198160;
double r198162 = r198161 / r198146;
double r198163 = exp(r198162);
double r198164 = r198163 + r198138;
double r198165 = r198155 / r198164;
double r198166 = r198154 + r198165;
return r198166;
}



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-cbrt-cube0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019196 +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))))))