Average Error: 0.0 → 0.0
Time: 23.1s
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 r158213 = NdChar;
        double r158214 = 1.0;
        double r158215 = Ec;
        double r158216 = Vef;
        double r158217 = r158215 - r158216;
        double r158218 = EDonor;
        double r158219 = r158217 - r158218;
        double r158220 = mu;
        double r158221 = r158219 - r158220;
        double r158222 = -r158221;
        double r158223 = KbT;
        double r158224 = r158222 / r158223;
        double r158225 = exp(r158224);
        double r158226 = r158214 + r158225;
        double r158227 = r158213 / r158226;
        double r158228 = NaChar;
        double r158229 = Ev;
        double r158230 = r158229 + r158216;
        double r158231 = EAccept;
        double r158232 = r158230 + r158231;
        double r158233 = -r158220;
        double r158234 = r158232 + r158233;
        double r158235 = r158234 / r158223;
        double r158236 = exp(r158235);
        double r158237 = r158214 + r158236;
        double r158238 = r158228 / r158237;
        double r158239 = r158227 + r158238;
        return r158239;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r158240 = NdChar;
        double r158241 = 1.0;
        double r158242 = Ec;
        double r158243 = Vef;
        double r158244 = r158242 - r158243;
        double r158245 = EDonor;
        double r158246 = r158244 - r158245;
        double r158247 = mu;
        double r158248 = r158246 - r158247;
        double r158249 = -r158248;
        double r158250 = KbT;
        double r158251 = r158249 / r158250;
        double r158252 = exp(r158251);
        double r158253 = r158241 + r158252;
        double r158254 = r158240 / r158253;
        double r158255 = NaChar;
        double r158256 = Ev;
        double r158257 = r158256 + r158243;
        double r158258 = EAccept;
        double r158259 = r158257 + r158258;
        double r158260 = -r158247;
        double r158261 = r158259 + r158260;
        double r158262 = r158261 / r158250;
        double r158263 = exp(r158262);
        double r158264 = r158241 + r158263;
        double r158265 = r158255 / r158264;
        double r158266 = r158254 + r158265;
        return r158266;
}

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 2019208 
(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))))))