Average Error: 0.0 → 0.1
Time: 15.5s
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{1}{\frac{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}{NdChar}} + \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{1}{\frac{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}}{NdChar}} + \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 r253804 = NdChar;
        double r253805 = 1.0;
        double r253806 = Ec;
        double r253807 = Vef;
        double r253808 = r253806 - r253807;
        double r253809 = EDonor;
        double r253810 = r253808 - r253809;
        double r253811 = mu;
        double r253812 = r253810 - r253811;
        double r253813 = -r253812;
        double r253814 = KbT;
        double r253815 = r253813 / r253814;
        double r253816 = exp(r253815);
        double r253817 = r253805 + r253816;
        double r253818 = r253804 / r253817;
        double r253819 = NaChar;
        double r253820 = Ev;
        double r253821 = r253820 + r253807;
        double r253822 = EAccept;
        double r253823 = r253821 + r253822;
        double r253824 = -r253811;
        double r253825 = r253823 + r253824;
        double r253826 = r253825 / r253814;
        double r253827 = exp(r253826);
        double r253828 = r253805 + r253827;
        double r253829 = r253819 / r253828;
        double r253830 = r253818 + r253829;
        return r253830;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r253831 = 1.0;
        double r253832 = 1.0;
        double r253833 = Ec;
        double r253834 = Vef;
        double r253835 = r253833 - r253834;
        double r253836 = EDonor;
        double r253837 = r253835 - r253836;
        double r253838 = mu;
        double r253839 = r253837 - r253838;
        double r253840 = -r253839;
        double r253841 = KbT;
        double r253842 = r253840 / r253841;
        double r253843 = exp(r253842);
        double r253844 = r253832 + r253843;
        double r253845 = NdChar;
        double r253846 = r253844 / r253845;
        double r253847 = r253831 / r253846;
        double r253848 = NaChar;
        double r253849 = Ev;
        double r253850 = r253849 + r253834;
        double r253851 = EAccept;
        double r253852 = r253850 + r253851;
        double r253853 = -r253838;
        double r253854 = r253852 + r253853;
        double r253855 = r253854 / r253841;
        double r253856 = exp(r253855);
        double r253857 = r253832 + r253856;
        double r253858 = r253848 / r253857;
        double r253859 = r253847 + r253858;
        return r253859;
}

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 clear-num0.1

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

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

Reproduce

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