\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 + \left(\sqrt[3]{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \sqrt[3]{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}\right) \cdot \sqrt[3]{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}} + \frac{NaChar}{1 + \sqrt[3]{{\left(e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\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 r357964 = NdChar;
double r357965 = 1.0;
double r357966 = Ec;
double r357967 = Vef;
double r357968 = r357966 - r357967;
double r357969 = EDonor;
double r357970 = r357968 - r357969;
double r357971 = mu;
double r357972 = r357970 - r357971;
double r357973 = -r357972;
double r357974 = KbT;
double r357975 = r357973 / r357974;
double r357976 = exp(r357975);
double r357977 = r357965 + r357976;
double r357978 = r357964 / r357977;
double r357979 = NaChar;
double r357980 = Ev;
double r357981 = r357980 + r357967;
double r357982 = EAccept;
double r357983 = r357981 + r357982;
double r357984 = -r357971;
double r357985 = r357983 + r357984;
double r357986 = r357985 / r357974;
double r357987 = exp(r357986);
double r357988 = r357965 + r357987;
double r357989 = r357979 / r357988;
double r357990 = r357978 + r357989;
return r357990;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r357991 = NdChar;
double r357992 = 1.0;
double r357993 = Ec;
double r357994 = Vef;
double r357995 = r357993 - r357994;
double r357996 = EDonor;
double r357997 = r357995 - r357996;
double r357998 = mu;
double r357999 = r357997 - r357998;
double r358000 = -r357999;
double r358001 = KbT;
double r358002 = r358000 / r358001;
double r358003 = exp(r358002);
double r358004 = cbrt(r358003);
double r358005 = r358004 * r358004;
double r358006 = r358005 * r358004;
double r358007 = r357992 + r358006;
double r358008 = r357991 / r358007;
double r358009 = NaChar;
double r358010 = Ev;
double r358011 = r358010 + r357994;
double r358012 = EAccept;
double r358013 = r358011 + r358012;
double r358014 = -r357998;
double r358015 = r358013 + r358014;
double r358016 = r358015 / r358001;
double r358017 = exp(r358016);
double r358018 = 3.0;
double r358019 = pow(r358017, r358018);
double r358020 = cbrt(r358019);
double r358021 = r357992 + r358020;
double r358022 = r358009 / r358021;
double r358023 = r358008 + r358022;
return r358023;
}



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-cube-cbrt0.0
rmApplied add-cbrt-cube0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020047 +o rules:numerics
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
:name "Bulmash initializePoisson"
:precision binary64
(+ (/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))