Average Error: 0.0 → 0.1
Time: 1.1m
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{1}{\frac{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}{NaChar}}\]
\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{1}{\frac{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}{NaChar}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r123097 = NdChar;
        double r123098 = 1.0;
        double r123099 = Ec;
        double r123100 = Vef;
        double r123101 = r123099 - r123100;
        double r123102 = EDonor;
        double r123103 = r123101 - r123102;
        double r123104 = mu;
        double r123105 = r123103 - r123104;
        double r123106 = -r123105;
        double r123107 = KbT;
        double r123108 = r123106 / r123107;
        double r123109 = exp(r123108);
        double r123110 = r123098 + r123109;
        double r123111 = r123097 / r123110;
        double r123112 = NaChar;
        double r123113 = Ev;
        double r123114 = r123113 + r123100;
        double r123115 = EAccept;
        double r123116 = r123114 + r123115;
        double r123117 = -r123104;
        double r123118 = r123116 + r123117;
        double r123119 = r123118 / r123107;
        double r123120 = exp(r123119);
        double r123121 = r123098 + r123120;
        double r123122 = r123112 / r123121;
        double r123123 = r123111 + r123122;
        return r123123;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r123124 = NdChar;
        double r123125 = 1.0;
        double r123126 = Ec;
        double r123127 = Vef;
        double r123128 = r123126 - r123127;
        double r123129 = EDonor;
        double r123130 = r123128 - r123129;
        double r123131 = mu;
        double r123132 = r123130 - r123131;
        double r123133 = -r123132;
        double r123134 = KbT;
        double r123135 = r123133 / r123134;
        double r123136 = exp(r123135);
        double r123137 = r123125 + r123136;
        double r123138 = r123124 / r123137;
        double r123139 = 1.0;
        double r123140 = Ev;
        double r123141 = r123140 + r123127;
        double r123142 = EAccept;
        double r123143 = r123141 + r123142;
        double r123144 = r123143 - r123131;
        double r123145 = r123144 / r123134;
        double r123146 = exp(r123145);
        double r123147 = r123125 + r123146;
        double r123148 = NaChar;
        double r123149 = r123147 / r123148;
        double r123150 = r123139 / r123149;
        double r123151 = r123138 + r123150;
        return r123151;
}

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 \frac{NdChar}{1 + e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} + \color{blue}{\frac{1}{\frac{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}{NaChar}}}\]
  4. Simplified0.1

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

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

Reproduce

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