Average Error: 0.0 → 0.0
Time: 7.4s
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 r313416 = NdChar;
        double r313417 = 1.0;
        double r313418 = Ec;
        double r313419 = Vef;
        double r313420 = r313418 - r313419;
        double r313421 = EDonor;
        double r313422 = r313420 - r313421;
        double r313423 = mu;
        double r313424 = r313422 - r313423;
        double r313425 = -r313424;
        double r313426 = KbT;
        double r313427 = r313425 / r313426;
        double r313428 = exp(r313427);
        double r313429 = r313417 + r313428;
        double r313430 = r313416 / r313429;
        double r313431 = NaChar;
        double r313432 = Ev;
        double r313433 = r313432 + r313419;
        double r313434 = EAccept;
        double r313435 = r313433 + r313434;
        double r313436 = -r313423;
        double r313437 = r313435 + r313436;
        double r313438 = r313437 / r313426;
        double r313439 = exp(r313438);
        double r313440 = r313417 + r313439;
        double r313441 = r313431 / r313440;
        double r313442 = r313430 + r313441;
        return r313442;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r313443 = NdChar;
        double r313444 = 1.0;
        double r313445 = Ec;
        double r313446 = Vef;
        double r313447 = r313445 - r313446;
        double r313448 = EDonor;
        double r313449 = r313447 - r313448;
        double r313450 = mu;
        double r313451 = r313449 - r313450;
        double r313452 = -r313451;
        double r313453 = KbT;
        double r313454 = r313452 / r313453;
        double r313455 = exp(r313454);
        double r313456 = r313444 + r313455;
        double r313457 = r313443 / r313456;
        double r313458 = NaChar;
        double r313459 = Ev;
        double r313460 = r313459 + r313446;
        double r313461 = EAccept;
        double r313462 = r313460 + r313461;
        double r313463 = -r313450;
        double r313464 = r313462 + r313463;
        double r313465 = r313464 / r313453;
        double r313466 = exp(r313465);
        double r313467 = r313444 + r313466;
        double r313468 = r313458 / r313467;
        double r313469 = r313457 + r313468;
        return r313469;
}

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