\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{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + NaChar \cdot \frac{1}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r199654 = NdChar;
double r199655 = 1.0;
double r199656 = Ec;
double r199657 = Vef;
double r199658 = r199656 - r199657;
double r199659 = EDonor;
double r199660 = r199658 - r199659;
double r199661 = mu;
double r199662 = r199660 - r199661;
double r199663 = -r199662;
double r199664 = KbT;
double r199665 = r199663 / r199664;
double r199666 = exp(r199665);
double r199667 = r199655 + r199666;
double r199668 = r199654 / r199667;
double r199669 = NaChar;
double r199670 = Ev;
double r199671 = r199670 + r199657;
double r199672 = EAccept;
double r199673 = r199671 + r199672;
double r199674 = -r199661;
double r199675 = r199673 + r199674;
double r199676 = r199675 / r199664;
double r199677 = exp(r199676);
double r199678 = r199655 + r199677;
double r199679 = r199669 / r199678;
double r199680 = r199668 + r199679;
return r199680;
}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
double r199681 = NdChar;
double r199682 = 1.0;
double r199683 = Ec;
double r199684 = Vef;
double r199685 = r199683 - r199684;
double r199686 = EDonor;
double r199687 = r199685 - r199686;
double r199688 = mu;
double r199689 = r199687 - r199688;
double r199690 = -r199689;
double r199691 = KbT;
double r199692 = r199690 / r199691;
double r199693 = exp(r199692);
double r199694 = r199682 + r199693;
double r199695 = r199681 / r199694;
double r199696 = NaChar;
double r199697 = 1.0;
double r199698 = Ev;
double r199699 = r199698 + r199684;
double r199700 = EAccept;
double r199701 = r199699 + r199700;
double r199702 = -r199688;
double r199703 = r199701 + r199702;
double r199704 = r199703 / r199691;
double r199705 = exp(r199704);
double r199706 = r199682 + r199705;
double r199707 = r199697 / r199706;
double r199708 = r199696 * r199707;
double r199709 = r199695 + r199708;
return r199709;
}



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
Final simplification0.0
herbie shell --seed 2020060 +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))))))