Average Error: 0.0 → 0.0
Time: 10.7s
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 + \frac{1}{e^{\frac{\left(\left(Ec - Vef\right) - EDonor\right) - mu}{KbT}}}} + \frac{NaChar}{1 + \sqrt{e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}} \cdot \sqrt{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 + \frac{1}{e^{\frac{\left(\left(Ec - Vef\right) - EDonor\right) - mu}{KbT}}}} + \frac{NaChar}{1 + \sqrt{e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}} \cdot \sqrt{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 r331208 = NdChar;
        double r331209 = 1.0;
        double r331210 = Ec;
        double r331211 = Vef;
        double r331212 = r331210 - r331211;
        double r331213 = EDonor;
        double r331214 = r331212 - r331213;
        double r331215 = mu;
        double r331216 = r331214 - r331215;
        double r331217 = -r331216;
        double r331218 = KbT;
        double r331219 = r331217 / r331218;
        double r331220 = exp(r331219);
        double r331221 = r331209 + r331220;
        double r331222 = r331208 / r331221;
        double r331223 = NaChar;
        double r331224 = Ev;
        double r331225 = r331224 + r331211;
        double r331226 = EAccept;
        double r331227 = r331225 + r331226;
        double r331228 = -r331215;
        double r331229 = r331227 + r331228;
        double r331230 = r331229 / r331218;
        double r331231 = exp(r331230);
        double r331232 = r331209 + r331231;
        double r331233 = r331223 / r331232;
        double r331234 = r331222 + r331233;
        return r331234;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r331235 = NdChar;
        double r331236 = 1.0;
        double r331237 = 1.0;
        double r331238 = Ec;
        double r331239 = Vef;
        double r331240 = r331238 - r331239;
        double r331241 = EDonor;
        double r331242 = r331240 - r331241;
        double r331243 = mu;
        double r331244 = r331242 - r331243;
        double r331245 = KbT;
        double r331246 = r331244 / r331245;
        double r331247 = exp(r331246);
        double r331248 = r331237 / r331247;
        double r331249 = r331236 + r331248;
        double r331250 = r331235 / r331249;
        double r331251 = NaChar;
        double r331252 = Ev;
        double r331253 = r331252 + r331239;
        double r331254 = EAccept;
        double r331255 = r331253 + r331254;
        double r331256 = -r331243;
        double r331257 = r331255 + r331256;
        double r331258 = r331257 / r331245;
        double r331259 = exp(r331258);
        double r331260 = sqrt(r331259);
        double r331261 = r331260 * r331260;
        double r331262 = r331236 + r331261;
        double r331263 = r331251 / r331262;
        double r331264 = r331250 + r331263;
        return r331264;
}

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 distribute-frac-neg0.0

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

    \[\leadsto \frac{NdChar}{1 + \color{blue}{\frac{1}{e^{\frac{\left(\left(Ec - Vef\right) - EDonor\right) - mu}{KbT}}}}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}\]
  5. Using strategy rm
  6. Applied add-sqr-sqrt0.0

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

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

Reproduce

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