Average Error: 0.0 → 0.0
Time: 13.7s
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}{\sqrt[3]{\left(\left(e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1\right) \cdot \left(e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1\right)\right) \cdot \left(e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1\right)}} + \frac{NaChar}{e^{\frac{Vef + \left(\left(Ev - mu\right) + EAccept\right)}{KbT}} + 1}\]
\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}{\sqrt[3]{\left(\left(e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1\right) \cdot \left(e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1\right)\right) \cdot \left(e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1\right)}} + \frac{NaChar}{e^{\frac{Vef + \left(\left(Ev - mu\right) + EAccept\right)}{KbT}} + 1}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r3090386 = NdChar;
        double r3090387 = 1.0;
        double r3090388 = Ec;
        double r3090389 = Vef;
        double r3090390 = r3090388 - r3090389;
        double r3090391 = EDonor;
        double r3090392 = r3090390 - r3090391;
        double r3090393 = mu;
        double r3090394 = r3090392 - r3090393;
        double r3090395 = -r3090394;
        double r3090396 = KbT;
        double r3090397 = r3090395 / r3090396;
        double r3090398 = exp(r3090397);
        double r3090399 = r3090387 + r3090398;
        double r3090400 = r3090386 / r3090399;
        double r3090401 = NaChar;
        double r3090402 = Ev;
        double r3090403 = r3090402 + r3090389;
        double r3090404 = EAccept;
        double r3090405 = r3090403 + r3090404;
        double r3090406 = -r3090393;
        double r3090407 = r3090405 + r3090406;
        double r3090408 = r3090407 / r3090396;
        double r3090409 = exp(r3090408);
        double r3090410 = r3090387 + r3090409;
        double r3090411 = r3090401 / r3090410;
        double r3090412 = r3090400 + r3090411;
        return r3090412;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r3090413 = NdChar;
        double r3090414 = mu;
        double r3090415 = Ec;
        double r3090416 = Vef;
        double r3090417 = r3090415 - r3090416;
        double r3090418 = EDonor;
        double r3090419 = r3090417 - r3090418;
        double r3090420 = r3090414 - r3090419;
        double r3090421 = KbT;
        double r3090422 = r3090420 / r3090421;
        double r3090423 = exp(r3090422);
        double r3090424 = 1.0;
        double r3090425 = r3090423 + r3090424;
        double r3090426 = r3090425 * r3090425;
        double r3090427 = r3090426 * r3090425;
        double r3090428 = cbrt(r3090427);
        double r3090429 = r3090413 / r3090428;
        double r3090430 = NaChar;
        double r3090431 = Ev;
        double r3090432 = r3090431 - r3090414;
        double r3090433 = EAccept;
        double r3090434 = r3090432 + r3090433;
        double r3090435 = r3090416 + r3090434;
        double r3090436 = r3090435 / r3090421;
        double r3090437 = exp(r3090436);
        double r3090438 = r3090437 + r3090424;
        double r3090439 = r3090430 / r3090438;
        double r3090440 = r3090429 + r3090439;
        return r3090440;
}

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. Simplified0.0

    \[\leadsto \color{blue}{\frac{NaChar}{1 + e^{\frac{\left(EAccept + \left(Ev - mu\right)\right) + Vef}{KbT}}} + \frac{NdChar}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1}}\]
  3. Using strategy rm
  4. Applied add-cbrt-cube0.0

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

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

Reproduce

herbie shell --seed 2019153 
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
  :name "Bulmash initializePoisson"
  (+ (/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))