Average Error: 0.0 → 0.0
Time: 6.1s
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 r197450 = NdChar;
        double r197451 = 1.0;
        double r197452 = Ec;
        double r197453 = Vef;
        double r197454 = r197452 - r197453;
        double r197455 = EDonor;
        double r197456 = r197454 - r197455;
        double r197457 = mu;
        double r197458 = r197456 - r197457;
        double r197459 = -r197458;
        double r197460 = KbT;
        double r197461 = r197459 / r197460;
        double r197462 = exp(r197461);
        double r197463 = r197451 + r197462;
        double r197464 = r197450 / r197463;
        double r197465 = NaChar;
        double r197466 = Ev;
        double r197467 = r197466 + r197453;
        double r197468 = EAccept;
        double r197469 = r197467 + r197468;
        double r197470 = -r197457;
        double r197471 = r197469 + r197470;
        double r197472 = r197471 / r197460;
        double r197473 = exp(r197472);
        double r197474 = r197451 + r197473;
        double r197475 = r197465 / r197474;
        double r197476 = r197464 + r197475;
        return r197476;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r197477 = NdChar;
        double r197478 = 1.0;
        double r197479 = Ec;
        double r197480 = Vef;
        double r197481 = r197479 - r197480;
        double r197482 = EDonor;
        double r197483 = r197481 - r197482;
        double r197484 = mu;
        double r197485 = r197483 - r197484;
        double r197486 = -r197485;
        double r197487 = KbT;
        double r197488 = r197486 / r197487;
        double r197489 = exp(r197488);
        double r197490 = r197478 + r197489;
        double r197491 = r197477 / r197490;
        double r197492 = NaChar;
        double r197493 = Ev;
        double r197494 = r197493 + r197480;
        double r197495 = EAccept;
        double r197496 = r197494 + r197495;
        double r197497 = -r197484;
        double r197498 = r197496 + r197497;
        double r197499 = r197498 / r197487;
        double r197500 = exp(r197499);
        double r197501 = r197478 + r197500;
        double r197502 = r197492 / r197501;
        double r197503 = r197491 + r197502;
        return r197503;
}

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