Average Error: 0.0 → 0.0
Time: 15.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}{1 + \sqrt{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \sqrt{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 + \sqrt{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \sqrt{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 r297287 = NdChar;
        double r297288 = 1.0;
        double r297289 = Ec;
        double r297290 = Vef;
        double r297291 = r297289 - r297290;
        double r297292 = EDonor;
        double r297293 = r297291 - r297292;
        double r297294 = mu;
        double r297295 = r297293 - r297294;
        double r297296 = -r297295;
        double r297297 = KbT;
        double r297298 = r297296 / r297297;
        double r297299 = exp(r297298);
        double r297300 = r297288 + r297299;
        double r297301 = r297287 / r297300;
        double r297302 = NaChar;
        double r297303 = Ev;
        double r297304 = r297303 + r297290;
        double r297305 = EAccept;
        double r297306 = r297304 + r297305;
        double r297307 = -r297294;
        double r297308 = r297306 + r297307;
        double r297309 = r297308 / r297297;
        double r297310 = exp(r297309);
        double r297311 = r297288 + r297310;
        double r297312 = r297302 / r297311;
        double r297313 = r297301 + r297312;
        return r297313;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r297314 = NdChar;
        double r297315 = 1.0;
        double r297316 = Ec;
        double r297317 = Vef;
        double r297318 = r297316 - r297317;
        double r297319 = EDonor;
        double r297320 = r297318 - r297319;
        double r297321 = mu;
        double r297322 = r297320 - r297321;
        double r297323 = -r297322;
        double r297324 = KbT;
        double r297325 = r297323 / r297324;
        double r297326 = exp(r297325);
        double r297327 = sqrt(r297326);
        double r297328 = r297327 * r297327;
        double r297329 = r297315 + r297328;
        double r297330 = r297314 / r297329;
        double r297331 = NaChar;
        double r297332 = Ev;
        double r297333 = r297332 + r297317;
        double r297334 = EAccept;
        double r297335 = r297333 + r297334;
        double r297336 = -r297321;
        double r297337 = r297335 + r297336;
        double r297338 = r297337 / r297324;
        double r297339 = exp(r297338);
        double r297340 = r297315 + r297339;
        double r297341 = r297331 / r297340;
        double r297342 = r297330 + r297341;
        return r297342;
}

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

    \[\leadsto \frac{NdChar}{1 + \color{blue}{\sqrt{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \sqrt{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}}}\]
  4. Final simplification0.0

    \[\leadsto \frac{NdChar}{1 + \sqrt{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \sqrt{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 2020020 +o rules:numerics
(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))))))