Average Error: 0.0 → 0.1
Time: 15.3s
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{1}{\frac{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}{NdChar}} + \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{1}{\frac{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}{NdChar}} + \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 r330160 = NdChar;
        double r330161 = 1.0;
        double r330162 = Ec;
        double r330163 = Vef;
        double r330164 = r330162 - r330163;
        double r330165 = EDonor;
        double r330166 = r330164 - r330165;
        double r330167 = mu;
        double r330168 = r330166 - r330167;
        double r330169 = -r330168;
        double r330170 = KbT;
        double r330171 = r330169 / r330170;
        double r330172 = exp(r330171);
        double r330173 = r330161 + r330172;
        double r330174 = r330160 / r330173;
        double r330175 = NaChar;
        double r330176 = Ev;
        double r330177 = r330176 + r330163;
        double r330178 = EAccept;
        double r330179 = r330177 + r330178;
        double r330180 = -r330167;
        double r330181 = r330179 + r330180;
        double r330182 = r330181 / r330170;
        double r330183 = exp(r330182);
        double r330184 = r330161 + r330183;
        double r330185 = r330175 / r330184;
        double r330186 = r330174 + r330185;
        return r330186;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r330187 = 1.0;
        double r330188 = 1.0;
        double r330189 = Ec;
        double r330190 = Vef;
        double r330191 = r330189 - r330190;
        double r330192 = EDonor;
        double r330193 = r330191 - r330192;
        double r330194 = mu;
        double r330195 = r330193 - r330194;
        double r330196 = -r330195;
        double r330197 = KbT;
        double r330198 = r330196 / r330197;
        double r330199 = exp(r330198);
        double r330200 = r330188 + r330199;
        double r330201 = NdChar;
        double r330202 = r330200 / r330201;
        double r330203 = r330187 / r330202;
        double r330204 = NaChar;
        double r330205 = Ev;
        double r330206 = r330205 + r330190;
        double r330207 = EAccept;
        double r330208 = r330206 + r330207;
        double r330209 = -r330194;
        double r330210 = r330208 + r330209;
        double r330211 = r330210 / r330197;
        double r330212 = exp(r330211);
        double r330213 = r330188 + r330212;
        double r330214 = r330204 / r330213;
        double r330215 = r330203 + r330214;
        return r330215;
}

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. Using strategy rm
  3. Applied clear-num0.1

    \[\leadsto \color{blue}{\frac{1}{\frac{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}{NdChar}}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}\]
  4. Final simplification0.1

    \[\leadsto \frac{1}{\frac{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}{NdChar}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}\]

Reproduce

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