Average Error: 0.0 → 0.0
Time: 20.3s
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}}} + \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 + 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 r283778 = NdChar;
        double r283779 = 1.0;
        double r283780 = Ec;
        double r283781 = Vef;
        double r283782 = r283780 - r283781;
        double r283783 = EDonor;
        double r283784 = r283782 - r283783;
        double r283785 = mu;
        double r283786 = r283784 - r283785;
        double r283787 = -r283786;
        double r283788 = KbT;
        double r283789 = r283787 / r283788;
        double r283790 = exp(r283789);
        double r283791 = r283779 + r283790;
        double r283792 = r283778 / r283791;
        double r283793 = NaChar;
        double r283794 = Ev;
        double r283795 = r283794 + r283781;
        double r283796 = EAccept;
        double r283797 = r283795 + r283796;
        double r283798 = -r283785;
        double r283799 = r283797 + r283798;
        double r283800 = r283799 / r283788;
        double r283801 = exp(r283800);
        double r283802 = r283779 + r283801;
        double r283803 = r283793 / r283802;
        double r283804 = r283792 + r283803;
        return r283804;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r283805 = NdChar;
        double r283806 = 1.0;
        double r283807 = Ec;
        double r283808 = Vef;
        double r283809 = r283807 - r283808;
        double r283810 = EDonor;
        double r283811 = r283809 - r283810;
        double r283812 = mu;
        double r283813 = r283811 - r283812;
        double r283814 = -r283813;
        double r283815 = KbT;
        double r283816 = r283814 / r283815;
        double r283817 = exp(r283816);
        double r283818 = r283806 + r283817;
        double r283819 = r283805 / r283818;
        double r283820 = NaChar;
        double r283821 = Ev;
        double r283822 = r283821 + r283808;
        double r283823 = EAccept;
        double r283824 = r283822 + r283823;
        double r283825 = -r283812;
        double r283826 = r283824 + r283825;
        double r283827 = r283826 / r283815;
        double r283828 = exp(r283827);
        double r283829 = r283806 + r283828;
        double r283830 = r283820 / r283829;
        double r283831 = r283819 + r283830;
        return r283831;
}

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

    \[\leadsto \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}}}\]

Reproduce

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