Average Error: 0.0 → 0.1
Time: 12.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}{\log \left(e^{1} \cdot e^{e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}\right)}\]
\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}{\log \left(e^{1} \cdot e^{e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}\right)}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r350379 = NdChar;
        double r350380 = 1.0;
        double r350381 = Ec;
        double r350382 = Vef;
        double r350383 = r350381 - r350382;
        double r350384 = EDonor;
        double r350385 = r350383 - r350384;
        double r350386 = mu;
        double r350387 = r350385 - r350386;
        double r350388 = -r350387;
        double r350389 = KbT;
        double r350390 = r350388 / r350389;
        double r350391 = exp(r350390);
        double r350392 = r350380 + r350391;
        double r350393 = r350379 / r350392;
        double r350394 = NaChar;
        double r350395 = Ev;
        double r350396 = r350395 + r350382;
        double r350397 = EAccept;
        double r350398 = r350396 + r350397;
        double r350399 = -r350386;
        double r350400 = r350398 + r350399;
        double r350401 = r350400 / r350389;
        double r350402 = exp(r350401);
        double r350403 = r350380 + r350402;
        double r350404 = r350394 / r350403;
        double r350405 = r350393 + r350404;
        return r350405;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r350406 = NdChar;
        double r350407 = 1.0;
        double r350408 = Ec;
        double r350409 = Vef;
        double r350410 = r350408 - r350409;
        double r350411 = EDonor;
        double r350412 = r350410 - r350411;
        double r350413 = mu;
        double r350414 = r350412 - r350413;
        double r350415 = -r350414;
        double r350416 = KbT;
        double r350417 = r350415 / r350416;
        double r350418 = exp(r350417);
        double r350419 = r350407 + r350418;
        double r350420 = r350406 / r350419;
        double r350421 = NaChar;
        double r350422 = exp(r350407);
        double r350423 = Ev;
        double r350424 = r350423 + r350409;
        double r350425 = EAccept;
        double r350426 = r350424 + r350425;
        double r350427 = -r350413;
        double r350428 = r350426 + r350427;
        double r350429 = r350428 / r350416;
        double r350430 = exp(r350429);
        double r350431 = exp(r350430);
        double r350432 = r350422 * r350431;
        double r350433 = log(r350432);
        double r350434 = r350421 / r350433;
        double r350435 = r350420 + r350434;
        return r350435;
}

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 add-sqr-sqrt0.2

    \[\leadsto \frac{NdChar}{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + \frac{NaChar}{\color{blue}{\sqrt{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}} \cdot \sqrt{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}}}\]
  4. Using strategy rm
  5. Applied add-log-exp0.2

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

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

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

Reproduce

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