Average Error: 0.0 → 0.0
Time: 4.6s
Precision: 64
\[\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}}} + \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}}} + \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}}} + \frac{NaChar}{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 r252142 = NdChar;
        double r252143 = 1.0;
        double r252144 = Ec;
        double r252145 = Vef;
        double r252146 = r252144 - r252145;
        double r252147 = EDonor;
        double r252148 = r252146 - r252147;
        double r252149 = mu;
        double r252150 = r252148 - r252149;
        double r252151 = -r252150;
        double r252152 = KbT;
        double r252153 = r252151 / r252152;
        double r252154 = exp(r252153);
        double r252155 = r252143 + r252154;
        double r252156 = r252142 / r252155;
        double r252157 = NaChar;
        double r252158 = Ev;
        double r252159 = r252158 + r252145;
        double r252160 = EAccept;
        double r252161 = r252159 + r252160;
        double r252162 = -r252149;
        double r252163 = r252161 + r252162;
        double r252164 = r252163 / r252152;
        double r252165 = exp(r252164);
        double r252166 = r252143 + r252165;
        double r252167 = r252157 / r252166;
        double r252168 = r252156 + r252167;
        return r252168;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r252169 = NdChar;
        double r252170 = 1.0;
        double r252171 = Ec;
        double r252172 = Vef;
        double r252173 = r252171 - r252172;
        double r252174 = EDonor;
        double r252175 = r252173 - r252174;
        double r252176 = mu;
        double r252177 = r252175 - r252176;
        double r252178 = -r252177;
        double r252179 = KbT;
        double r252180 = r252178 / r252179;
        double r252181 = exp(r252180);
        double r252182 = r252170 + r252181;
        double r252183 = r252169 / r252182;
        double r252184 = NaChar;
        double r252185 = Ev;
        double r252186 = r252185 + r252172;
        double r252187 = EAccept;
        double r252188 = r252186 + r252187;
        double r252189 = -r252176;
        double r252190 = r252188 + r252189;
        double r252191 = r252190 / r252179;
        double r252192 = exp(r252191);
        double r252193 = r252170 + r252192;
        double r252194 = r252184 / r252193;
        double r252195 = r252183 + r252194;
        return r252195;
}

Error

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\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}}}\]
  2. Final simplification0.0

    \[\leadsto \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}}}\]

Reproduce

herbie shell --seed 2020018 
(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))))))