Average Error: 0.0 → 0.0
Time: 17.7s
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 r321146 = NdChar;
        double r321147 = 1.0;
        double r321148 = Ec;
        double r321149 = Vef;
        double r321150 = r321148 - r321149;
        double r321151 = EDonor;
        double r321152 = r321150 - r321151;
        double r321153 = mu;
        double r321154 = r321152 - r321153;
        double r321155 = -r321154;
        double r321156 = KbT;
        double r321157 = r321155 / r321156;
        double r321158 = exp(r321157);
        double r321159 = r321147 + r321158;
        double r321160 = r321146 / r321159;
        double r321161 = NaChar;
        double r321162 = Ev;
        double r321163 = r321162 + r321149;
        double r321164 = EAccept;
        double r321165 = r321163 + r321164;
        double r321166 = -r321153;
        double r321167 = r321165 + r321166;
        double r321168 = r321167 / r321156;
        double r321169 = exp(r321168);
        double r321170 = r321147 + r321169;
        double r321171 = r321161 / r321170;
        double r321172 = r321160 + r321171;
        return r321172;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r321173 = NdChar;
        double r321174 = 1.0;
        double r321175 = Ec;
        double r321176 = Vef;
        double r321177 = r321175 - r321176;
        double r321178 = EDonor;
        double r321179 = r321177 - r321178;
        double r321180 = mu;
        double r321181 = r321179 - r321180;
        double r321182 = -r321181;
        double r321183 = KbT;
        double r321184 = r321182 / r321183;
        double r321185 = exp(r321184);
        double r321186 = r321174 + r321185;
        double r321187 = r321173 / r321186;
        double r321188 = NaChar;
        double r321189 = Ev;
        double r321190 = r321189 + r321176;
        double r321191 = EAccept;
        double r321192 = r321190 + r321191;
        double r321193 = -r321180;
        double r321194 = r321192 + r321193;
        double r321195 = r321194 / r321183;
        double r321196 = exp(r321195);
        double r321197 = r321174 + r321196;
        double r321198 = r321188 / r321197;
        double r321199 = r321187 + r321198;
        return r321199;
}

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 2020065 
(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))))))