Average Error: 0.0 → 0.0
Time: 42.4s
Precision: 64
Internal precision: 128
\[\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}^{\left(\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}\right)}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}\]

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

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 *-un-lft-identity 0.0

    \[\leadsto \frac{NdChar}{1 + e^{\color{blue}{1 \cdot \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. Applied exp-prod 0.0

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

    \[\leadsto \frac{NdChar}{1 + {\color{blue}{e}}^{\left(\frac{-\left(\left(\left(Ec - Vef\right) - EDonor\right) - mu\right)}{KbT}\right)}} + \frac{NaChar}{1 + e^{\frac{\left(\left(Ev + Vef\right) + EAccept\right) + \left(-mu\right)}{KbT}}}\]
  6. Removed slow pow expressions

Runtime

Time bar (total: 42.4s) Debug log

Please include this information when filing a bug report:

herbie --seed '#(3460578336 2105642181 3100282765 282083897 170357399 61093655)'
(FPCore (NdChar Ec Vef EDonor mu KbT NaChar Ev EAccept)
  :name "Bulmash initializePoisson"
  (+ (/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))))))