Average Error: 0.0 → 0.0
Time: 16.6s
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 + \sqrt{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \sqrt{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 + \sqrt{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \sqrt{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 r290141 = NdChar;
        double r290142 = 1.0;
        double r290143 = Ec;
        double r290144 = Vef;
        double r290145 = r290143 - r290144;
        double r290146 = EDonor;
        double r290147 = r290145 - r290146;
        double r290148 = mu;
        double r290149 = r290147 - r290148;
        double r290150 = -r290149;
        double r290151 = KbT;
        double r290152 = r290150 / r290151;
        double r290153 = exp(r290152);
        double r290154 = r290142 + r290153;
        double r290155 = r290141 / r290154;
        double r290156 = NaChar;
        double r290157 = Ev;
        double r290158 = r290157 + r290144;
        double r290159 = EAccept;
        double r290160 = r290158 + r290159;
        double r290161 = -r290148;
        double r290162 = r290160 + r290161;
        double r290163 = r290162 / r290151;
        double r290164 = exp(r290163);
        double r290165 = r290142 + r290164;
        double r290166 = r290156 / r290165;
        double r290167 = r290155 + r290166;
        return r290167;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r290168 = NdChar;
        double r290169 = 1.0;
        double r290170 = Ec;
        double r290171 = Vef;
        double r290172 = r290170 - r290171;
        double r290173 = EDonor;
        double r290174 = r290172 - r290173;
        double r290175 = mu;
        double r290176 = r290174 - r290175;
        double r290177 = -r290176;
        double r290178 = KbT;
        double r290179 = r290177 / r290178;
        double r290180 = exp(r290179);
        double r290181 = sqrt(r290180);
        double r290182 = r290181 * r290181;
        double r290183 = r290169 + r290182;
        double r290184 = r290168 / r290183;
        double r290185 = NaChar;
        double r290186 = Ev;
        double r290187 = r290186 + r290171;
        double r290188 = EAccept;
        double r290189 = r290187 + r290188;
        double r290190 = -r290175;
        double r290191 = r290189 + r290190;
        double r290192 = r290191 / r290178;
        double r290193 = exp(r290192);
        double r290194 = r290169 + r290193;
        double r290195 = r290185 / r290194;
        double r290196 = r290184 + r290195;
        return r290196;
}

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 add-sqr-sqrt0.0

    \[\leadsto \frac{NdChar}{1 + \color{blue}{\sqrt{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \sqrt{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}}}\]
  4. Final simplification0.0

    \[\leadsto \frac{NdChar}{1 + \sqrt{e^{\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}}} \cdot \sqrt{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 2019347 +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))))))