Average Error: 0.0 → 0.0
Time: 17.5s
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 r241318 = NdChar;
        double r241319 = 1.0;
        double r241320 = Ec;
        double r241321 = Vef;
        double r241322 = r241320 - r241321;
        double r241323 = EDonor;
        double r241324 = r241322 - r241323;
        double r241325 = mu;
        double r241326 = r241324 - r241325;
        double r241327 = -r241326;
        double r241328 = KbT;
        double r241329 = r241327 / r241328;
        double r241330 = exp(r241329);
        double r241331 = r241319 + r241330;
        double r241332 = r241318 / r241331;
        double r241333 = NaChar;
        double r241334 = Ev;
        double r241335 = r241334 + r241321;
        double r241336 = EAccept;
        double r241337 = r241335 + r241336;
        double r241338 = -r241325;
        double r241339 = r241337 + r241338;
        double r241340 = r241339 / r241328;
        double r241341 = exp(r241340);
        double r241342 = r241319 + r241341;
        double r241343 = r241333 / r241342;
        double r241344 = r241332 + r241343;
        return r241344;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r241345 = NdChar;
        double r241346 = 1.0;
        double r241347 = Ec;
        double r241348 = Vef;
        double r241349 = r241347 - r241348;
        double r241350 = EDonor;
        double r241351 = r241349 - r241350;
        double r241352 = mu;
        double r241353 = r241351 - r241352;
        double r241354 = -r241353;
        double r241355 = KbT;
        double r241356 = r241354 / r241355;
        double r241357 = exp(r241356);
        double r241358 = r241346 + r241357;
        double r241359 = r241345 / r241358;
        double r241360 = NaChar;
        double r241361 = Ev;
        double r241362 = r241361 + r241348;
        double r241363 = EAccept;
        double r241364 = r241362 + r241363;
        double r241365 = -r241352;
        double r241366 = r241364 + r241365;
        double r241367 = r241366 / r241355;
        double r241368 = exp(r241367);
        double r241369 = r241346 + r241368;
        double r241370 = r241360 / r241369;
        double r241371 = r241359 + r241370;
        return r241371;
}

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