Average Error: 0.0 → 0.1
Time: 45.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{1}{\left(1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right) \cdot \frac{1}{NaChar}}\]
\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{1}{\left(1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}\right) \cdot \frac{1}{NaChar}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r175344 = NdChar;
        double r175345 = 1.0;
        double r175346 = Ec;
        double r175347 = Vef;
        double r175348 = r175346 - r175347;
        double r175349 = EDonor;
        double r175350 = r175348 - r175349;
        double r175351 = mu;
        double r175352 = r175350 - r175351;
        double r175353 = -r175352;
        double r175354 = KbT;
        double r175355 = r175353 / r175354;
        double r175356 = exp(r175355);
        double r175357 = r175345 + r175356;
        double r175358 = r175344 / r175357;
        double r175359 = NaChar;
        double r175360 = Ev;
        double r175361 = r175360 + r175347;
        double r175362 = EAccept;
        double r175363 = r175361 + r175362;
        double r175364 = -r175351;
        double r175365 = r175363 + r175364;
        double r175366 = r175365 / r175354;
        double r175367 = exp(r175366);
        double r175368 = r175345 + r175367;
        double r175369 = r175359 / r175368;
        double r175370 = r175358 + r175369;
        return r175370;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r175371 = NdChar;
        double r175372 = 1.0;
        double r175373 = Ec;
        double r175374 = Vef;
        double r175375 = r175373 - r175374;
        double r175376 = EDonor;
        double r175377 = r175375 - r175376;
        double r175378 = mu;
        double r175379 = r175377 - r175378;
        double r175380 = -r175379;
        double r175381 = KbT;
        double r175382 = r175380 / r175381;
        double r175383 = exp(r175382);
        double r175384 = r175372 + r175383;
        double r175385 = r175371 / r175384;
        double r175386 = 1.0;
        double r175387 = Ev;
        double r175388 = r175387 + r175374;
        double r175389 = EAccept;
        double r175390 = r175388 + r175389;
        double r175391 = r175390 - r175378;
        double r175392 = r175391 / r175381;
        double r175393 = exp(r175392);
        double r175394 = r175372 + r175393;
        double r175395 = NaChar;
        double r175396 = r175386 / r175395;
        double r175397 = r175394 * r175396;
        double r175398 = r175386 / r175397;
        double r175399 = r175385 + r175398;
        return r175399;
}

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. Using strategy rm
  3. Applied clear-num0.1

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

    \[\leadsto \frac{NdChar}{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + \frac{1}{\color{blue}{\frac{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}{NaChar}}}\]
  5. Using strategy rm
  6. Applied div-inv0.1

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

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

Reproduce

herbie shell --seed 2019306 
(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))))))