Average Error: 0.0 → 0.0
Time: 21.8s
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}}} + NaChar \cdot \frac{1}{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 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + NaChar \cdot \frac{1}{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 r372749 = NdChar;
        double r372750 = 1.0;
        double r372751 = Ec;
        double r372752 = Vef;
        double r372753 = r372751 - r372752;
        double r372754 = EDonor;
        double r372755 = r372753 - r372754;
        double r372756 = mu;
        double r372757 = r372755 - r372756;
        double r372758 = -r372757;
        double r372759 = KbT;
        double r372760 = r372758 / r372759;
        double r372761 = exp(r372760);
        double r372762 = r372750 + r372761;
        double r372763 = r372749 / r372762;
        double r372764 = NaChar;
        double r372765 = Ev;
        double r372766 = r372765 + r372752;
        double r372767 = EAccept;
        double r372768 = r372766 + r372767;
        double r372769 = -r372756;
        double r372770 = r372768 + r372769;
        double r372771 = r372770 / r372759;
        double r372772 = exp(r372771);
        double r372773 = r372750 + r372772;
        double r372774 = r372764 / r372773;
        double r372775 = r372763 + r372774;
        return r372775;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r372776 = NdChar;
        double r372777 = 1.0;
        double r372778 = Ec;
        double r372779 = Vef;
        double r372780 = r372778 - r372779;
        double r372781 = EDonor;
        double r372782 = r372780 - r372781;
        double r372783 = mu;
        double r372784 = r372782 - r372783;
        double r372785 = -r372784;
        double r372786 = KbT;
        double r372787 = r372785 / r372786;
        double r372788 = exp(r372787);
        double r372789 = r372777 + r372788;
        double r372790 = r372776 / r372789;
        double r372791 = NaChar;
        double r372792 = 1.0;
        double r372793 = Ev;
        double r372794 = r372793 + r372779;
        double r372795 = EAccept;
        double r372796 = r372794 + r372795;
        double r372797 = -r372783;
        double r372798 = r372796 + r372797;
        double r372799 = r372798 / r372786;
        double r372800 = exp(r372799);
        double r372801 = r372777 + r372800;
        double r372802 = r372792 / r372801;
        double r372803 = r372791 * r372802;
        double r372804 = r372790 + r372803;
        return r372804;
}

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

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

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

Reproduce

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