Use the --timeout flag to change the timeout.
Time bar (total: 2.3m)Debug log
1 calls. Slowest were:
| 109.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.1b
Found 4 expressions with local error:
| 3.4b | (/ (* (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.7b | (pow (/ 1 (+ 1 (exp (- t)))) c_p) |
| 0.5b | (pow (/ 1 (+ 1 (exp (- s)))) c_p) |
| 0.0b | (- 1 (/ 1 (+ 1 (exp (- s))))) |
4 calls. Slowest were:
| 27.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))) |
| 3.0ms | (pow (/ 1 (+ 1 (exp (- t)))) c_p) |
| 3.0ms | (pow (/ 1 (+ 1 (exp (- s)))) c_p) |
4 calls. Slowest were:
| 535.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))) |
| 85.0ms | (pow (/ 1 (+ 1 (exp (- s)))) c_p) |
| 51.0ms | (pow (/ 1 (+ 1 (exp (- t)))) c_p) |
| 23.0ms | (- 1 (/ 1 (+ 1 (exp (- s))))) |
211 calls. Slowest were:
| 619.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))) |
| 463.0ms | (- (+ (log (pow (/ 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))) |
| 375.0ms | (- (+ (* (- (log (+ 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))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 9.9b | (- (log1p (exp (- t))) (log1p (exp (- s)))) |
| 9.7b | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 1.7b | (log1p (exp (- t))) |
| 0.5b | (log1p (exp (- s))) |
4 calls. Slowest were:
| 4.0ms | (- (log1p (exp (- t))) (log1p (exp (- s)))) |
| 4.0ms | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 0.0ms | (log1p (exp (- t))) |
4 calls. Slowest were:
| 83.0ms | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 69.0ms | (- (log1p (exp (- t))) (log1p (exp (- s)))) |
| 49.0ms | (log1p (exp (- t))) |
| 47.0ms | (log1p (exp (- s))) |
68 calls. Slowest were:
| 125.0ms | (- (* 1/2 t) (+ (* 1/8 (pow s 2)) (* 1/2 s))) |
| 69.0ms | (- (+ (* 1/8 (pow t 2)) (* 1/2 s)) (* 1/2 t)) |
| 52.0ms | (- (+ (log 2) (* 1/8 (pow s 2))) (* 1/2 s)) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 9.7b | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 0.0b | (* (fma (fma t 1/8 -1/2) t (* 1/2 s)) c_p) |
| 0.0b | (log1p (/ -1 (+ (exp (- s)) 1))) |
| 0.0b | (fma (fma t 1/8 -1/2) t (* 1/2 s)) |
4 calls. Slowest were:
| 4.0ms | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 2.0ms | (* (fma (fma t 1/8 -1/2) t (* 1/2 s)) c_p) |
| 0.0ms | (log1p (/ -1 (+ (exp (- s)) 1))) |
4 calls. Slowest were:
| 85.0ms | (- (log1p (/ -1 (+ (exp (- s)) 1))) (log1p (/ -1 (+ (exp (- t)) 1)))) |
| 58.0ms | (log1p (/ -1 (+ (exp (- s)) 1))) |
| 25.0ms | (* (fma (fma t 1/8 -1/2) t (* 1/2 s)) c_p) |
| 14.0ms | (fma (fma t 1/8 -1/2) t (* 1/2 s)) |
42 calls. Slowest were:
| 164.0ms | (- (+ (* 1/8 (* (pow t 2) c_p)) (* 1/2 (* c_p s))) (* 1/2 (* t c_p))) |
| 164.0ms | (- (+ (* 1/8 (* (pow t 2) c_p)) (* 1/2 (* c_p s))) (* 1/2 (* t c_p))) |
| 125.0ms | (- (* 1/2 t) (+ (* 1/8 (pow s 2)) (* 1/2 s))) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 0.3b | (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)) |
4 calls. Slowest were:
| 2.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)) |
4 calls. Slowest were:
| 88.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)) |
| 23.0ms | (* (fma (fma t 1/8 -1/2) t (* 1/2 s)) c_p) |
| 14.0ms | (fma s (fma -1/8 s -1/2) (* 1/2 t)) |
| 14.0ms | (fma (fma t 1/8 -1/2) t (* 1/2 s)) |
14 calls. Slowest were:
| 201.0ms | (- (* 1/8 (* (pow t 2) c_p)) (+ (* 1/2 (* t c_p)) (* 1/8 (* c_n (pow s 2))))) |
| 192.0ms | (- (* 1/8 (* (pow t 2) c_p)) (+ (* 1/2 (* t c_p)) (* 1/8 (* c_n (pow s 2))))) |
| 164.0ms | (- (+ (* 1/8 (* (pow t 2) c_p)) (* 1/2 (* c_p s))) (* 1/2 (* t c_p))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0.1b
herbie shell --seed 2019005 +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))))