Use the --timeout flag to change the timeout.
Time bar (total: 2.2m)Debug log
| 63.0ms | (/ (* (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))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 6.6b
Found 4 expressions with local error:
| 4.6b | (/ (* (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))) |
| 0.5b | (pow (/ 1 (+ 1 (exp (- s)))) c_p) |
| 0.4b | (- 1 (/ 1 (+ 1 (exp (- s))))) |
| 0.2b | (pow (/ 1 (+ 1 (exp (- t)))) c_p) |
| 476× | add-exp-log |
| 312× | prod-exp |
| 264× | pow-exp |
| 184× | pow-to-exp |
| 169× | div-exp |
| 80× | rec-exp |
| 16× | add-cbrt-cube |
| 12× | unpow-prod-down |
| 8× | pow1 |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 6× | pow-pow |
| 6× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | cbrt-unprod |
| 4× | associate-/r/ |
| 4× | cbrt-undiv |
| 4× | expm1-log1p-u |
| 3× | div-inv |
| 2× | inv-pow |
| 2× | pow-flip |
| 2× | flip-+ |
| 2× | flip3-+ |
| 1× | associate-/l* |
| 1× | flip-- |
| 1× | flip3-- |
| 1× | times-frac |
| 1× | frac-2neg |
| 1× | sub-neg |
| 1× | associate-/r* |
| 1× | clear-num |
| 22.0ms | (/ (* (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))) |
| 2.0ms | (pow (/ 1 (+ 1 (exp (- s)))) c_p) |
| 2.0ms | (pow (/ 1 (+ 1 (exp (- t)))) c_p) |
| 1.0ms | (- 1 (/ 1 (+ 1 (exp (- s))))) |
| 569.0ms | (/ (* (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))) |
| 64.0ms | (pow (/ 1 (+ 1 (exp (- s)))) c_p) |
| 62.0ms | (pow (/ 1 (+ 1 (exp (- t)))) c_p) |
| 20.0ms | (- 1 (/ 1 (+ 1 (exp (- s))))) |
| 528.0ms | (- (+ (* (log (/ 1 (+ 1 (exp (- s))))) c_p) (* (log (- 1 (/ 1 (+ 1 (exp (- s)))))) c_n)) (+ (* (- (log (+ 1 (exp (- t))))) c_p) (log (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n)))) |
| 511.0ms | (- (+ (log (pow (/ 1 (+ 1 (exp (- s)))) c_p)) (* (log (- 1 (/ 1 (+ 1 (exp (- s)))))) c_n)) (+ (log (pow (/ 1 (+ 1 (exp (- t)))) c_p)) (* (log (- 1 (/ 1 (+ 1 (exp (- t)))))) c_n))) |
| 389.0ms | (- (log (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n))) (+ (log (pow (/ 1 (+ 1 (exp (- t)))) c_p)) (* (log (- 1 (/ 1 (+ 1 (exp (- t)))))) c_n))) |
| 378.0ms | (- (log (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n))) (+ (* (log (/ 1 (+ 1 (exp (- t))))) c_p) (log (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n)))) |
| 360.0ms | (- (log (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n))) (+ (log (pow (/ 1 (+ 1 (exp (- t)))) c_p)) (log (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n)))) |
4 alts after pruning (4 fresh and 0 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 10.3b | (- (log1p (exp (- t))) (log1p (exp (- s)))) |
| 10.0b | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 0.5b | (log1p (exp (- s))) |
| 0.4b | (log1p (/ -1 (+ (exp (- s)) 1))) |
| 22× | *-un-lft-identity |
| 22× | add-sqr-sqrt |
| 18× | add-cube-cbrt |
| 18× | prod-diff |
| 12× | add-log-exp |
| 10× | log1p-udef |
| 8× | diff-log |
| 6× | fma-neg |
| 6× | expm1-log1p-u |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 2× | difference-of-squares |
| 2× | distribute-lft-out-- |
| 2× | flip-- |
| 2× | log1p-expm1 |
| 2× | flip3-- |
| 2× | sub-neg |
| 9.0ms | (- (log1p (exp (- t))) (log1p (exp (- s)))) |
| 5.0ms | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 1.0ms | (log1p (exp (- s))) |
| 1.0ms | (log1p (/ -1 (+ (exp (- s)) 1))) |
| 122.0ms | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 74.0ms | (- (log1p (exp (- t))) (log1p (exp (- s)))) |
| 66.0ms | (log1p (exp (- s))) |
| 64.0ms | (log1p (/ -1 (+ (exp (- s)) 1))) |
| 161.0ms | (- (log 1/2) (+ (* 1/8 (pow s 2)) (* 1/2 s))) |
| 128.0ms | (- (* 1/2 t) (+ (* 1/8 (pow s 2)) (* 1/2 s))) |
| 78.0ms | (- (+ (* 1/8 (pow t 2)) (* 1/2 s)) (* 1/2 t)) |
| 51.0ms | (- (+ (log 2) (* 1/8 (pow s 2))) (* 1/2 s)) |
| 41.0ms | (fma (sqrt (log1p (/ -1 (+ (exp (- s)) 1)))) (sqrt (log1p (/ -1 (+ (exp (- s)) 1)))) (- (* (sqrt (log1p (/ -1 (+ (exp (- t)) 1)))) (sqrt (log1p (/ -1 (+ (exp (- t)) 1))))))) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 10.3b | (- (log1p (exp (- t))) (log1p (exp (- s)))) |
| 0.5b | (log1p (exp (- s))) |
| 0.3b | (log1p (exp (- t))) |
| 0.0b | (* c_p (- (log1p (exp (- t))) (log1p (exp (- s))))) |
| 28× | *-un-lft-identity |
| 28× | add-sqr-sqrt |
| 27× | prod-diff |
| 24× | add-cube-cbrt |
| 11× | distribute-lft-in |
| 11× | distribute-rgt-in |
| 8× | add-log-exp |
| 6× | log1p-udef |
| 6× | expm1-log1p-u |
| 5× | associate-*r* |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | diff-log |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 3× | fma-neg |
| 3× | sub-neg |
| 2× | difference-of-squares |
| 2× | distribute-lft-out-- |
| 2× | flip-- |
| 2× | associate-*r/ |
| 2× | log1p-expm1 |
| 2× | flip3-- |
| 1× | *-commutative |
| 7.0ms | (* c_p (- (log1p (exp (- t))) (log1p (exp (- s))))) |
| 5.0ms | (- (log1p (exp (- t))) (log1p (exp (- s)))) |
| 0.0ms | (log1p (exp (- s))) |
| 0.0ms | (log1p (exp (- t))) |
| 134.0ms | (* c_p (- (log1p (exp (- t))) (log1p (exp (- s))))) |
| 75.0ms | (- (log1p (exp (- t))) (log1p (exp (- s)))) |
| 59.0ms | (log1p (exp (- s))) |
| 53.0ms | (log1p (exp (- t))) |
| 192.0ms | (- (+ (* 1/8 (* (pow t 2) c_p)) (* 1/2 (* c_p s))) (* 1/2 (* t c_p))) |
| 105.0ms | (* c_p (fma (- (log1p (exp (- s)))) 1 (* (log1p (exp (- s))) 1))) |
| 94.0ms | (- (+ (* 1/8 (pow t 2)) (* 1/2 s)) (* 1/2 t)) |
| 94.0ms | (* c_p (fma (- (log1p (exp (- s)))) 1 (* (log1p (exp (- s))) 1))) |
| 87.0ms | (* (fma (- (log1p (exp (- s)))) 1 (* (log1p (exp (- s))) 1)) c_p) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 10.0b | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 0.4b | (log1p (/ -1 (+ (exp (- s)) 1))) |
| 0.0b | (* c_p (fma (fma t 1/8 -1/2) t (* 1/2 s))) |
| 0.0b | (/ -1 (+ (exp (- s)) 1)) |
| 15× | *-un-lft-identity |
| 15× | add-sqr-sqrt |
| 13× | add-cube-cbrt |
| 9× | prod-diff |
| 8× | add-log-exp |
| 5× | log1p-udef |
| 5× | expm1-log1p-u |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | diff-log |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 3× | associate-*r* |
| 3× | fma-neg |
| 3× | associate-/r* |
| 2× | fma-udef |
| 2× | associate-/r/ |
| 1× | difference-of-squares |
| 1× | distribute-lft-out-- |
| 1× | flip-- |
| 1× | div-inv |
| 1× | flip-+ |
| 1× | *-commutative |
| 1× | log1p-expm1 |
| 1× | flip3-- |
| 1× | flip3-+ |
| 1× | distribute-lft-in |
| 1× | frac-2neg |
| 1× | sub-neg |
| 1× | clear-num |
| 1× | distribute-rgt-in |
| 6.0ms | (/ -1 (+ (exp (- s)) 1)) |
| 5.0ms | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 2.0ms | (* c_p (fma (fma t 1/8 -1/2) t (* 1/2 s))) |
| 1.0ms | (log1p (/ -1 (+ (exp (- s)) 1))) |
| 111.0ms | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 82.0ms | (log1p (/ -1 (+ (exp (- s)) 1))) |
| 37.0ms | (* c_p (fma (fma t 1/8 -1/2) t (* 1/2 s))) |
| 18.0ms | (/ -1 (+ (exp (- s)) 1)) |
| 196.0ms | (- (+ (* 1/8 (* (pow t 2) c_p)) (* 1/2 (* c_p s))) (* 1/2 (* t c_p))) |
| 196.0ms | (+ (* (exp (- s)) (exp (- s))) (- (* 1 1) (* (exp (- s)) 1))) |
| 177.0ms | (- (+ (* 1/8 (* (pow t 2) c_p)) (* 1/2 (* c_p s))) (* 1/2 (* t c_p))) |
| 177.0ms | (- (+ (* 1/8 (* (pow t 2) c_p)) (* 1/2 (* c_p s))) (* 1/2 (* t c_p))) |
| 129.0ms | (- (* 1/2 t) (+ (* 1/8 (pow s 2)) (* 1/2 s))) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 0.2b
herbie shell --seed 2019010 +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))))