Average Error: 0.0 → 0.0
Time: 13.4s
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}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1} + \frac{NaChar}{1 + \sqrt{e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}} \cdot \sqrt{e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{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}{e^{\frac{mu - \left(\left(Ec - Vef\right) - EDonor\right)}{KbT}} + 1} + \frac{NaChar}{1 + \sqrt{e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}} \cdot \sqrt{e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) - mu}{KbT}}}}
double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r345044 = NdChar;
        double r345045 = 1.0;
        double r345046 = Ec;
        double r345047 = Vef;
        double r345048 = r345046 - r345047;
        double r345049 = EDonor;
        double r345050 = r345048 - r345049;
        double r345051 = mu;
        double r345052 = r345050 - r345051;
        double r345053 = -r345052;
        double r345054 = KbT;
        double r345055 = r345053 / r345054;
        double r345056 = exp(r345055);
        double r345057 = r345045 + r345056;
        double r345058 = r345044 / r345057;
        double r345059 = NaChar;
        double r345060 = Ev;
        double r345061 = r345060 + r345047;
        double r345062 = EAccept;
        double r345063 = r345061 + r345062;
        double r345064 = -r345051;
        double r345065 = r345063 + r345064;
        double r345066 = r345065 / r345054;
        double r345067 = exp(r345066);
        double r345068 = r345045 + r345067;
        double r345069 = r345059 / r345068;
        double r345070 = r345058 + r345069;
        return r345070;
}

double f(double NdChar, double Ec, double Vef, double EDonor, double mu, double KbT, double NaChar, double Ev, double EAccept) {
        double r345071 = NdChar;
        double r345072 = mu;
        double r345073 = Ec;
        double r345074 = Vef;
        double r345075 = r345073 - r345074;
        double r345076 = EDonor;
        double r345077 = r345075 - r345076;
        double r345078 = r345072 - r345077;
        double r345079 = KbT;
        double r345080 = r345078 / r345079;
        double r345081 = exp(r345080);
        double r345082 = 1.0;
        double r345083 = r345081 + r345082;
        double r345084 = r345071 / r345083;
        double r345085 = NaChar;
        double r345086 = Ev;
        double r345087 = r345086 + r345074;
        double r345088 = EAccept;
        double r345089 = r345087 + r345088;
        double r345090 = r345089 - r345072;
        double r345091 = r345090 / r345079;
        double r345092 = exp(r345091);
        double r345093 = sqrt(r345092);
        double r345094 = r345093 * r345093;
        double r345095 = r345082 + r345094;
        double r345096 = r345085 / r345095;
        double r345097 = r345084 + r345096;
        return r345097;
}

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. Simplified0.0

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

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

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

Reproduce

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