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

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 *-un-lft-identity0.0

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

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

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

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

Reproduce

herbie shell --seed 2019010 +o rules:numerics
(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))))))

Details

Time bar (total: 38.2s)Debug log

sample112.0ms

Algorithm
intervals

simplify305.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
305.0ms
(+ (/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)))) (/ NaChar (+ 1 (exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT)))))

prune22.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.0b

localize95.0ms

Local error

Found 4 expressions with local error:

0.0b
(exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))
0.0b
(/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT)
0.0b
(/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT))))
0.0b
(/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)

rewrite209.0ms

Algorithm
rewrite-expression-head
Rules
14×associate-/l*
12×*-un-lft-identity
10×add-cube-cbrt
10×add-sqr-sqrt
div-sub
add-log-exp
associate-/l/
div-inv
log1p-expm1-u
add-exp-log
add-cbrt-cube
exp-prod
pow1
expm1-log1p-u
exp-diff
frac-2neg
distribute-rgt-neg-in
associate-/r*
clear-num
distribute-lft-neg-in
neg-sub0
distribute-neg-frac
flip-+
associate-/r/
unsub-neg
flip3-+
associate-+r-
rem-exp-log
distribute-lft-out
flip--
distribute-frac-neg
flip3--
neg-mul-1
Counts
4 → 81
Calls
4 calls:
Slowest
67.0ms
(exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))
57.0ms
(/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT)
54.0ms
(/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)
28.0ms
(/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT))))

series368.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
160.0ms
(/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT))))
81.0ms
(exp (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))
66.0ms
(/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)
60.0ms
(/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT)

simplify8.5s

Counts
43 → 93
Calls
43 calls:
Slowest
853.0ms
(- (* (+ (+ Ev Vef) EAccept) (+ (+ Ev Vef) EAccept)) (* (- mu) (- mu)))
712.0ms
(+ (pow (+ (+ Ev Vef) EAccept) 3) (pow (- mu) 3))
639.0ms
(- (+ (/ Ev KbT) (+ (/ Vef KbT) (+ (/ EAccept KbT) 1))) (/ mu KbT))
563.0ms
(* (cbrt (- (- (- Ec Vef) EDonor) mu)) (cbrt (- (- (- Ec Vef) EDonor) mu)))
514.0ms
(- (sqrt (- (- (- Ec Vef) EDonor) mu)))

prune2.4s

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0b

localize27.0ms

Local error

Found 4 expressions with local error:

0.0b
(pow E (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))
0.0b
(/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT)
0.0b
(/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT))))
0.0b
(/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)

rewrite170.0ms

Algorithm
rewrite-expression-head
Rules
14×associate-/l*
12×*-un-lft-identity
10×add-cube-cbrt
10×add-sqr-sqrt
div-sub
associate-/l/
add-log-exp
div-inv
log1p-expm1-u
add-exp-log
add-cbrt-cube
pow-unpow
pow1
expm1-log1p-u
pow-sub
frac-2neg
distribute-rgt-neg-in
associate-/r*
clear-num
distribute-lft-neg-in
neg-sub0
distribute-neg-frac
flip-+
associate-/r/
unsub-neg
flip3-+
associate-+r-
distribute-lft-out
flip--
distribute-frac-neg
flip3--
neg-mul-1
pow-to-exp
Counts
4 → 81
Calls
4 calls:
Slowest
90.0ms
(/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)
40.0ms
(/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT)
21.0ms
(pow E (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))
17.0ms
(/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT))))

series347.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
152.0ms
(/ NdChar (+ 1 (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT))))
68.0ms
(pow E (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))
67.0ms
(/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)
61.0ms
(/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT)

simplify7.9s

Counts
42 → 93
Calls
42 calls:
Slowest
731.0ms
(- (* (+ (+ Ev Vef) EAccept) (+ (+ Ev Vef) EAccept)) (* (- mu) (- mu)))
719.0ms
(+ (pow (+ (+ Ev Vef) EAccept) 3) (pow (- mu) 3))
640.0ms
(- (+ (/ Ev KbT) (+ (/ Vef KbT) (+ (/ EAccept KbT) 1))) (/ mu KbT))
554.0ms
(* (cbrt (- (- (- Ec Vef) EDonor) mu)) (cbrt (- (- (- Ec Vef) EDonor) mu)))
446.0ms
(- (sqrt (- (- (- Ec Vef) EDonor) mu)))

prune2.2s

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

localize49.0ms

Local error

Found 4 expressions with local error:

0.5b
(* (/ NdChar (+ (pow 1 3) (pow (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)) 3))) (fma (expm1 (/ (- mu (- (- Ec EDonor) Vef)) KbT)) (exp (/ (- mu (- (- Ec EDonor) Vef)) KbT)) 1))
0.0b
(pow E (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))
0.0b
(pow (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)) 3)
0.0b
(/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT)

rewrite133.0ms

Algorithm
rewrite-expression-head
Rules
13×*-un-lft-identity
11×add-cube-cbrt
11×add-sqr-sqrt
div-sub
add-cbrt-cube
pow1
add-exp-log
associate-*l*
pow-pow
add-log-exp
associate-/l*
div-inv
log1p-expm1-u
exp-prod
pow-unpow
expm1-log1p-u
pow-sub
associate-*r*
cube-prod
unpow-prod-down
neg-sub0
associate-/l/
fma-udef
flip-+
associate-/r/
unsub-neg
flip3-+
associate-+r-
pow-to-exp
cube-div
rem-cube-cbrt
distribute-lft-out
cbrt-unprod
*-commutative
distribute-frac-neg
prod-exp
pow-exp
associate-*l/
pow-prod-down
unpow3
exp-diff
distribute-lft-in
frac-2neg
clear-num
cube-mult
exp-neg
distribute-rgt-in
Counts
4 → 90
Calls
4 calls:
Slowest
84.0ms
(pow (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)) 3)
33.0ms
(/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT)
10.0ms
(pow E (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))
4.0ms
(* (/ NdChar (+ (pow 1 3) (pow (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)) 3))) (fma (expm1 (/ (- mu (- (- Ec EDonor) Vef)) KbT)) (exp (/ (- mu (- (- Ec EDonor) Vef)) KbT)) 1))

series821.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
539.0ms
(* (/ NdChar (+ (pow 1 3) (pow (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)) 3))) (fma (expm1 (/ (- mu (- (- Ec EDonor) Vef)) KbT)) (exp (/ (- mu (- (- Ec EDonor) Vef)) KbT)) 1))
122.0ms
(pow (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)) 3)
97.0ms
(pow E (/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT))
62.0ms
(/ (+ (+ (+ Ev Vef) EAccept) (- mu)) KbT)

simplify9.1s

Counts
54 → 102
Calls
54 calls:
Slowest
760.0ms
(+ (pow (+ (+ Ev Vef) EAccept) 3) (pow (- mu) 3))
635.0ms
(- (* (+ (+ Ev Vef) EAccept) (+ (+ Ev Vef) EAccept)) (* (- mu) (- mu)))
495.0ms
(- (+ (/ Ev KbT) (+ (/ Vef KbT) (+ (/ EAccept KbT) 1))) (/ mu KbT))
372.0ms
(cbrt (fma (expm1 (/ (- mu (- (- Ec EDonor) Vef)) KbT)) (exp (/ (- mu (- (- Ec EDonor) Vef)) KbT)) 1))
341.0ms
(* 1 (/ NdChar (+ (pow 1 3) (pow (exp (/ (- (- (- (- Ec Vef) EDonor) mu)) KbT)) 3))))

prune2.7s

Pruning

2 alts after pruning (0 fresh and 2 done)

Merged error: 0b

regimes550.0ms

Accuracy

0% (0.0b remaining)

Error of 0.0b against oracle of 0.0b and baseline of 0.0b

bsearch3.0ms

end0.0ms

sample2.2s

Algorithm
intervals