



Bits error versus c_p




Bits error versus c_n




Bits error versus t




Bits error versus s
| Original | 4.0 |
|---|---|
| Target | 2.2 |
| Herbie | 2.0 |
if (/ (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n) (* (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n) (/ (fma c_p (fma 1/2 t (log 1/2)) 1) (pow (/ 1 (+ 1 (exp (- s)))) c_p)))) < 0.9999166162474732Initial program 4.9
Taylor expanded around 0 2.5
Applied simplify2.5
if 0.9999166162474732 < (/ (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n) (* (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n) (/ (fma c_p (fma 1/2 t (log 1/2)) 1) (pow (/ 1 (+ 1 (exp (- s)))) c_p)))) Initial program 3.1
Taylor expanded around 0 1.5
Applied simplify1.5
Time bar (total: 4.3m)Debug logProfile
herbie shell --seed '#(1071246582 2318319007 2683472949 3810440501 3233274817 2724848749)' +o rules:numerics
(FPCore (c_p c_n t s)
:name "Harley's example"
:pre (and (< 0 c_p) (< 0 c_n))
:herbie-target
(* (pow (/ (+ 1 (exp (- t))) (+ 1 (exp (- s)))) c_p) (pow (/ (+ 1 (exp t)) (+ 1 (exp s))) c_n))
(/ (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n)) (* (pow (/ 1 (+ 1 (exp (- t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n))))