Average Error: 0.0 → 0.0
Time: 17.0s
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{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}} + \frac{NdChar}{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}} + 1}\]
\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{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}} + \frac{NdChar}{e^{\frac{mu + \left(EDonor - \left(Ec - Vef\right)\right)}{KbT}} + 1}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r150336 = NdChar;
        double r150337 = 1.0;
        double r150338 = Ec;
        double r150339 = Vef;
        double r150340 = r150338 - r150339;
        double r150341 = EDonor;
        double r150342 = r150340 - r150341;
        double r150343 = mu;
        double r150344 = r150342 - r150343;
        double r150345 = -r150344;
        double r150346 = KbT;
        double r150347 = r150345 / r150346;
        double r150348 = exp(r150347);
        double r150349 = r150337 + r150348;
        double r150350 = r150336 / r150349;
        double r150351 = NaChar;
        double r150352 = Ev;
        double r150353 = r150352 + r150339;
        double r150354 = EAccept;
        double r150355 = r150353 + r150354;
        double r150356 = -r150343;
        double r150357 = r150355 + r150356;
        double r150358 = r150357 / r150346;
        double r150359 = exp(r150358);
        double r150360 = r150337 + r150359;
        double r150361 = r150351 / r150360;
        double r150362 = r150350 + r150361;
        return r150362;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r150363 = NaChar;
        double r150364 = 1.0;
        double r150365 = Ev;
        double r150366 = Vef;
        double r150367 = r150365 + r150366;
        double r150368 = EAccept;
        double r150369 = r150367 + r150368;
        double r150370 = mu;
        double r150371 = r150369 - r150370;
        double r150372 = KbT;
        double r150373 = r150371 / r150372;
        double r150374 = exp(r150373);
        double r150375 = r150364 + r150374;
        double r150376 = r150363 / r150375;
        double r150377 = NdChar;
        double r150378 = EDonor;
        double r150379 = Ec;
        double r150380 = r150379 - r150366;
        double r150381 = r150378 - r150380;
        double r150382 = r150370 + r150381;
        double r150383 = r150382 / r150372;
        double r150384 = exp(r150383);
        double r150385 = r150384 + r150364;
        double r150386 = r150377 / r150385;
        double r150387 = r150376 + r150386;
        return r150387;
}

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. Simplified0.0

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

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

Reproduce

herbie shell --seed 2019195 
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
  :name "Bulmash initializePoisson"
  (+ (/ NdChar (+ 1.0 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1.0 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))