Use the --timeout flag to change the timeout.
Time bar (total: 2.1m)Debug log
| 3275× | (pre true 80) |
| 3019× | (body exit 10240) |
| 245× | (body real 80) |
| 4× | (body real 1280) |
| 3× | (body real 640) |
| 3× | (body real 160) |
| 1× | (body real 5120) |
| 100.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: 5.1b
Found 4 expressions with local error:
| 3.9b | (/ (* (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.0b | (pow (/ 1 (+ 1 (exp (- t)))) c_p) |
| 0.1b | (- 1 (/ 1 (+ 1 (exp (- t))))) |
| 0.0b | (/ 1 (+ 1 (exp (- t)))) |
| 475× | add-exp-log |
| 312× | prod-exp |
| 262× | pow-exp |
| 183× | pow-to-exp |
| 169× | div-exp |
| 80× | rec-exp |
| 16× | add-cbrt-cube |
| 7× | pow1 |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 6× | unpow-prod-down |
| 6× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | cbrt-unprod |
| 4× | associate-/r/ |
| 4× | associate-/r* |
| 4× | cbrt-undiv |
| 4× | expm1-log1p-u |
| 3× | div-inv |
| 3× | pow-pow |
| 2× | inv-pow |
| 2× | pow-flip |
| 2× | flip-+ |
| 2× | flip3-+ |
| 2× | frac-2neg |
| 2× | clear-num |
| 1× | associate-/l* |
| 1× | flip-- |
| 1× | flip3-- |
| 1× | times-frac |
| 1× | sub-neg |
| 17.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 (- t)))) c_p) |
| 1.0ms | (/ 1 (+ 1 (exp (- t)))) |
| 1.0ms | (- 1 (/ 1 (+ 1 (exp (- t))))) |
| 494.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))) |
| 53.0ms | (pow (/ 1 (+ 1 (exp (- t)))) c_p) |
| 20.0ms | (- 1 (/ 1 (+ 1 (exp (- t))))) |
| 17.0ms | (/ 1 (+ 1 (exp (- t)))) |
| 600.0ms | (- (+ (* (log (/ 1 (+ 1 (exp (- s))))) c_p) (log (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n))) (+ (* (log (/ 1 (+ 1 (exp (- t))))) c_p) (* (log (- 1 (/ 1 (+ 1 (exp (- t)))))) c_n))) |
| 465.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 (- 1 (/ 1 (+ 1 (exp (- t)))))) c_n))) |
| 386.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)))) |
| 366.0ms | (- (log (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n))) (+ (* (- (log (+ 1 (exp (- t))))) c_p) (* (log (- 1 (/ 1 (+ 1 (exp (- t)))))) c_n))) |
| 350.0ms | (- (+ (* (log (/ 1 (+ 1 (exp (- s))))) c_p) (* (log (- 1 (/ 1 (+ 1 (exp (- s)))))) c_n)) (+ (* (log (/ 1 (+ 1 (exp (- t))))) c_p) (* (log (- 1 (/ 1 (+ 1 (exp (- t)))))) c_n))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 11.1b | (- (log1p (exp (- t))) (log1p (exp (- s)))) |
| 10.8b | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 1.0b | (log1p (exp (- t))) |
| 0.1b | (fma c_n (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) (* (- (log1p (exp (- t))) (log1p (exp (- s)))) c_p)) |
| 22× | *-un-lft-identity |
| 22× | add-sqr-sqrt |
| 18× | add-cube-cbrt |
| 18× | prod-diff |
| 12× | add-log-exp |
| 9× | log1p-udef |
| 8× | diff-log |
| 6× | fma-neg |
| 5× | 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× | flip3-- |
| 2× | sub-neg |
| 1× | fma-udef |
| 1× | log1p-expm1 |
| 8.0ms | (- (log1p (exp (- t))) (log1p (exp (- s)))) |
| 7.0ms | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 1.0ms | (log1p (exp (- t))) |
| 0.0ms | (fma c_n (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) (* (- (log1p (exp (- t))) (log1p (exp (- s)))) c_p)) |
| 340.0ms | (fma c_n (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) (* (- (log1p (exp (- t))) (log1p (exp (- s)))) c_p)) |
| 113.0ms | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 86.0ms | (- (log1p (exp (- t))) (log1p (exp (- s)))) |
| 60.0ms | (log1p (exp (- t))) |
| 326.0ms | (- (+ (* c_p (log (+ (exp (* -1 t)) 1))) (* c_n (log (- 1 (/ 1 (+ (exp (* -1 s)) 1)))))) (+ (* c_p (log (+ (exp (* -1 s)) 1))) (* (log (- 1 (/ 1 (+ (exp (* -1 t)) 1)))) c_n))) |
| 311.0ms | (- (+ (* c_n (log (- 1 (/ 1 (+ (exp (- s)) 1))))) (* c_p (log (+ (exp (- t)) 1)))) (+ (* c_p (log (+ (exp (- s)) 1))) (* (log (- 1 (/ 1 (+ (exp (- t)) 1)))) c_n))) |
| 142.0ms | (- (* 1/2 t) (+ (* 1/8 (pow s 2)) (* 1/2 s))) |
| 61.0ms | (- (+ (* 1/8 (pow t 2)) (* 1/2 s)) (* 1/2 t)) |
| 52.0ms | (- (+ (log 2) (* 1/8 (pow t 2))) (* 1/2 t)) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 10.8b | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 0.0b | (/ -1 (+ (exp (- t)) 1)) |
| 0.0b | (fma c_n (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) (* (fma (fma t 1/8 -1/2) t (* 1/2 s)) c_p)) |
| 0.0b | (log1p (/ -1 (+ (exp (- t)) 1))) |
| 14× | *-un-lft-identity |
| 14× | add-sqr-sqrt |
| 12× | 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× | fma-neg |
| 3× | associate-/r* |
| 2× | associate-/r/ |
| 1× | difference-of-squares |
| 1× | distribute-lft-out-- |
| 1× | flip-- |
| 1× | div-inv |
| 1× | fma-udef |
| 1× | flip-+ |
| 1× | log1p-expm1 |
| 1× | flip3-- |
| 1× | flip3-+ |
| 1× | frac-2neg |
| 1× | sub-neg |
| 1× | clear-num |
| 5.0ms | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 3.0ms | (/ -1 (+ (exp (- t)) 1)) |
| 0.0ms | (log1p (/ -1 (+ (exp (- t)) 1))) |
| 0.0ms | (fma c_n (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) (* (fma (fma t 1/8 -1/2) t (* 1/2 s)) c_p)) |
| 207.0ms | (fma c_n (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) (* (fma (fma t 1/8 -1/2) t (* 1/2 s)) c_p)) |
| 95.0ms | (log1p (/ -1 (+ (exp (- t)) 1))) |
| 94.0ms | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 27.0ms | (/ -1 (+ (exp (- t)) 1)) |
| 179.0ms | (- (+ (* 1/8 (* (pow t 2) c_p)) (* 1/2 (* c_p s))) (* 1/2 (* t c_p))) |
| 169.0ms | (- (+ (* 1/8 (* (pow t 2) c_p)) (* 1/2 (* c_p s))) (* 1/2 (* t c_p))) |
| 138.0ms | (- (log 1/2) (+ (* 1/2 t) (* 1/8 (pow t 2)))) |
| 137.0ms | (- (* 1/2 t) (+ (* 1/8 (pow s 2)) (* 1/2 s))) |
| 136.0ms | (+ (* (exp (- t)) (exp (- t))) (- (* 1 1) (* (exp (- t)) 1))) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 1.0b | (fma c_n (fma s (fma -1/8 s -1/2) (* 1/2 t)) (* (fma (fma t 1/8 -1/2) t (* 1/2 s)) c_p)) |
| 0.0b | (* (fma (fma t 1/8 -1/2) t (* 1/2 s)) c_p) |
| 0.0b | (fma (fma t 1/8 -1/2) t (* 1/2 s)) |
| 0.0b | (fma s (fma -1/8 s -1/2) (* 1/2 t)) |
| 5× | add-cube-cbrt |
| 5× | *-un-lft-identity |
| 5× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | fma-udef |
| 3× | associate-*l* |
| 1× | *-commutative |
| 3.0ms | (* (fma (fma t 1/8 -1/2) t (* 1/2 s)) c_p) |
| 0.0ms | (fma c_n (fma s (fma -1/8 s -1/2) (* 1/2 t)) (* (fma (fma t 1/8 -1/2) t (* 1/2 s)) c_p)) |
| 0.0ms | (fma (fma t 1/8 -1/2) t (* 1/2 s)) |
| 0.0ms | (fma s (fma -1/8 s -1/2) (* 1/2 t)) |
| 103.0ms | (fma c_n (fma s (fma -1/8 s -1/2) (* 1/2 t)) (* (fma (fma t 1/8 -1/2) t (* 1/2 s)) c_p)) |
| 35.0ms | (* (fma (fma t 1/8 -1/2) t (* 1/2 s)) c_p) |
| 15.0ms | (fma (fma t 1/8 -1/2) t (* 1/2 s)) |
| 14.0ms | (fma s (fma -1/8 s -1/2) (* 1/2 t)) |
| 218.0ms | (- (* 1/8 (* (pow t 2) c_p)) (+ (* 1/2 (* t c_p)) (* 1/8 (* c_n (pow s 2))))) |
| 199.0ms | (- (* 1/8 (* (pow t 2) c_p)) (+ (* 1/2 (* t c_p)) (* 1/8 (* c_n (pow s 2))))) |
| 184.0ms | (- (+ (* 1/8 (* (pow t 2) c_p)) (* 1/2 (* c_p s))) (* 1/2 (* t c_p))) |
| 179.0ms | (- (* 1/2 t) (+ (* 1/8 (pow s 2)) (* 1/2 s))) |
| 169.0ms | (- (+ (* 1/8 (* (pow t 2) c_p)) (* 1/2 (* c_p s))) (* 1/2 (* t c_p))) |
2 alts after pruning (0 fresh and 2 done)
Merged error: 0b
herbie shell --seed 2019016 +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))))