\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(\left(e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}} + 1\right) \cdot \left(e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}} + 1\right)\right) \cdot \left(e^{\frac{EDonor - \left(\left(Ec - Vef\right) - mu\right)}{KbT}} + 1\right)}} + \frac{NaChar}{e^{\frac{\left(\left(Vef - mu\right) + Ev\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 r4157124 = NdChar;
double r4157125 = 1.0;
double r4157126 = Ec;
double r4157127 = Vef;
double r4157128 = r4157126 - r4157127;
double r4157129 = EDonor;
double r4157130 = r4157128 - r4157129;
double r4157131 = mu;
double r4157132 = r4157130 - r4157131;
double r4157133 = -r4157132;
double r4157134 = KbT;
double r4157135 = r4157133 / r4157134;
double r4157136 = exp(r4157135);
double r4157137 = r4157125 + r4157136;
double r4157138 = r4157124 / r4157137;
double r4157139 = NaChar;
double r4157140 = Ev;
double r4157141 = r4157140 + r4157127;
double r4157142 = EAccept;
double r4157143 = r4157141 + r4157142;
double r4157144 = -r4157131;
double r4157145 = r4157143 + r4157144;
double r4157146 = r4157145 / r4157134;
double r4157147 = exp(r4157146);
double r4157148 = r4157125 + r4157147;
double r4157149 = r4157139 / r4157148;
double r4157150 = r4157138 + r4157149;
return r4157150;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r4157151 = NdChar;
double r4157152 = EDonor;
double r4157153 = Ec;
double r4157154 = Vef;
double r4157155 = r4157153 - r4157154;
double r4157156 = mu;
double r4157157 = r4157155 - r4157156;
double r4157158 = r4157152 - r4157157;
double r4157159 = KbT;
double r4157160 = r4157158 / r4157159;
double r4157161 = exp(r4157160);
double r4157162 = 1.0;
double r4157163 = r4157161 + r4157162;
double r4157164 = r4157163 * r4157163;
double r4157165 = r4157164 * r4157163;
double r4157166 = cbrt(r4157165);
double r4157167 = r4157151 / r4157166;
double r4157168 = NaChar;
double r4157169 = r4157154 - r4157156;
double r4157170 = Ev;
double r4157171 = r4157169 + r4157170;
double r4157172 = EAccept;
double r4157173 = r4157171 + r4157172;
double r4157174 = r4157173 / r4157159;
double r4157175 = exp(r4157174);
double r4157176 = r4157175 + r4157162;
double r4157177 = r4157168 / r4157176;
double r4157178 = r4157167 + r4157177;
return r4157178;
}



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
rmApplied add-cbrt-cube0.0
Final simplification0.0
herbie shell --seed 2019151 +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))))))