Average Error: 0.0 → 0.1
Time: 15.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{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 r250830 = NdChar;
        double r250831 = 1.0;
        double r250832 = Ec;
        double r250833 = Vef;
        double r250834 = r250832 - r250833;
        double r250835 = EDonor;
        double r250836 = r250834 - r250835;
        double r250837 = mu;
        double r250838 = r250836 - r250837;
        double r250839 = -r250838;
        double r250840 = KbT;
        double r250841 = r250839 / r250840;
        double r250842 = exp(r250841);
        double r250843 = r250831 + r250842;
        double r250844 = r250830 / r250843;
        double r250845 = NaChar;
        double r250846 = Ev;
        double r250847 = r250846 + r250833;
        double r250848 = EAccept;
        double r250849 = r250847 + r250848;
        double r250850 = -r250837;
        double r250851 = r250849 + r250850;
        double r250852 = r250851 / r250840;
        double r250853 = exp(r250852);
        double r250854 = r250831 + r250853;
        double r250855 = r250845 / r250854;
        double r250856 = r250844 + r250855;
        return r250856;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r250857 = 1.0;
        double r250858 = 1.0;
        double r250859 = Ec;
        double r250860 = Vef;
        double r250861 = r250859 - r250860;
        double r250862 = EDonor;
        double r250863 = r250861 - r250862;
        double r250864 = mu;
        double r250865 = r250863 - r250864;
        double r250866 = -r250865;
        double r250867 = KbT;
        double r250868 = r250866 / r250867;
        double r250869 = exp(r250868);
        double r250870 = r250858 + r250869;
        double r250871 = NdChar;
        double r250872 = r250870 / r250871;
        double r250873 = r250857 / r250872;
        double r250874 = NaChar;
        double r250875 = Ev;
        double r250876 = r250875 + r250860;
        double r250877 = EAccept;
        double r250878 = r250876 + r250877;
        double r250879 = -r250864;
        double r250880 = r250878 + r250879;
        double r250881 = r250880 / r250867;
        double r250882 = exp(r250881);
        double r250883 = r250858 + r250882;
        double r250884 = r250874 / r250883;
        double r250885 = r250873 + r250884;
        return r250885;
}

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 +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))))))