Average Error: 0.0 → 0.0
Time: 13.2s
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 r290428 = NdChar;
        double r290429 = 1.0;
        double r290430 = Ec;
        double r290431 = Vef;
        double r290432 = r290430 - r290431;
        double r290433 = EDonor;
        double r290434 = r290432 - r290433;
        double r290435 = mu;
        double r290436 = r290434 - r290435;
        double r290437 = -r290436;
        double r290438 = KbT;
        double r290439 = r290437 / r290438;
        double r290440 = exp(r290439);
        double r290441 = r290429 + r290440;
        double r290442 = r290428 / r290441;
        double r290443 = NaChar;
        double r290444 = Ev;
        double r290445 = r290444 + r290431;
        double r290446 = EAccept;
        double r290447 = r290445 + r290446;
        double r290448 = -r290435;
        double r290449 = r290447 + r290448;
        double r290450 = r290449 / r290438;
        double r290451 = exp(r290450);
        double r290452 = r290429 + r290451;
        double r290453 = r290443 / r290452;
        double r290454 = r290442 + r290453;
        return r290454;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r290455 = NdChar;
        double r290456 = 1.0;
        double r290457 = Ec;
        double r290458 = Vef;
        double r290459 = r290457 - r290458;
        double r290460 = EDonor;
        double r290461 = r290459 - r290460;
        double r290462 = mu;
        double r290463 = r290461 - r290462;
        double r290464 = -r290463;
        double r290465 = KbT;
        double r290466 = r290464 / r290465;
        double r290467 = exp(r290466);
        double r290468 = r290456 + r290467;
        double r290469 = r290455 / r290468;
        double r290470 = NaChar;
        double r290471 = Ev;
        double r290472 = r290471 + r290458;
        double r290473 = EAccept;
        double r290474 = r290472 + r290473;
        double r290475 = -r290462;
        double r290476 = r290474 + r290475;
        double r290477 = r290476 / r290465;
        double r290478 = exp(r290477);
        double r290479 = r290456 + r290478;
        double r290480 = r290470 / r290479;
        double r290481 = r290469 + r290480;
        return r290481;
}

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