Average Error: 0.0 → 0.0
Time: 8.4s
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 + {\left(\frac{1}{e}\right)}^{\left(\frac{\left(\left(Ec - Vef\right) - EDonor\right) - mu}{KbT}\right)}} + \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 + {\left(\frac{1}{e}\right)}^{\left(\frac{\left(\left(Ec - Vef\right) - EDonor\right) - mu}{KbT}\right)}} + \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 r296643 = NdChar;
        double r296644 = 1.0;
        double r296645 = Ec;
        double r296646 = Vef;
        double r296647 = r296645 - r296646;
        double r296648 = EDonor;
        double r296649 = r296647 - r296648;
        double r296650 = mu;
        double r296651 = r296649 - r296650;
        double r296652 = -r296651;
        double r296653 = KbT;
        double r296654 = r296652 / r296653;
        double r296655 = exp(r296654);
        double r296656 = r296644 + r296655;
        double r296657 = r296643 / r296656;
        double r296658 = NaChar;
        double r296659 = Ev;
        double r296660 = r296659 + r296646;
        double r296661 = EAccept;
        double r296662 = r296660 + r296661;
        double r296663 = -r296650;
        double r296664 = r296662 + r296663;
        double r296665 = r296664 / r296653;
        double r296666 = exp(r296665);
        double r296667 = r296644 + r296666;
        double r296668 = r296658 / r296667;
        double r296669 = r296657 + r296668;
        return r296669;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r296670 = NdChar;
        double r296671 = 1.0;
        double r296672 = 1.0;
        double r296673 = exp(1.0);
        double r296674 = r296672 / r296673;
        double r296675 = Ec;
        double r296676 = Vef;
        double r296677 = r296675 - r296676;
        double r296678 = EDonor;
        double r296679 = r296677 - r296678;
        double r296680 = mu;
        double r296681 = r296679 - r296680;
        double r296682 = KbT;
        double r296683 = r296681 / r296682;
        double r296684 = pow(r296674, r296683);
        double r296685 = r296671 + r296684;
        double r296686 = r296670 / r296685;
        double r296687 = NaChar;
        double r296688 = Ev;
        double r296689 = r296688 + r296676;
        double r296690 = EAccept;
        double r296691 = r296689 + r296690;
        double r296692 = -r296680;
        double r296693 = r296691 + r296692;
        double r296694 = r296693 / r296682;
        double r296695 = exp(r296694);
        double r296696 = r296671 + r296695;
        double r296697 = r296687 / r296696;
        double r296698 = r296686 + r296697;
        return r296698;
}

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 *-un-lft-identity0.0

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

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

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

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

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

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

Reproduce

herbie shell --seed 2020027 +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))))))