Timeout in 10.0m

Use the --timeout flag to change the timeout.

Details

Time bar (total: 2.2m)Debug log

sample1.1m

Algorithm
intervals

simplify63.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
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)))

prune23.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 6.6b

localize95.0ms

Local error

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)

rewrite37.0ms

Algorithm
rewrite-expression-head
Rules
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
pow1
add-cube-cbrt
*-un-lft-identity
pow-pow
add-sqr-sqrt
add-log-exp
log1p-expm1-u
cbrt-unprod
associate-/r/
cbrt-undiv
expm1-log1p-u
div-inv
inv-pow
pow-flip
flip-+
flip3-+
associate-/l*
flip--
flip3--
times-frac
frac-2neg
sub-neg
associate-/r*
clear-num
Counts
4 → 243
Calls
4 calls:
Slowest
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)))))

series715.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
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)))))

simplify46.6s

Counts
211 → 255
Calls
211 calls:
Slowest
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))))

prune4.4s

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0.2b

localize46.0ms

Local error

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)))

rewrite17.0ms

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity
22×add-sqr-sqrt
18×add-cube-cbrt
18×prod-diff
12×add-log-exp
10×log1p-udef
diff-log
fma-neg
expm1-log1p-u
log1p-expm1-u
add-exp-log
add-cbrt-cube
pow1
difference-of-squares
distribute-lft-out--
flip--
log1p-expm1
flip3--
sub-neg
Counts
4 → 84
Calls
4 calls:
Slowest
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)))

series326.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
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)))

simplify1.5s

Counts
68 → 96
Calls
68 calls:
Slowest
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)))))))

prune1.9s

Pruning

3 alts after pruning (3 fresh and 0 done)

Merged error: 0.2b

localize23.0ms

Local error

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)))))

rewrite13.0ms

Algorithm
rewrite-expression-head
Rules
28×*-un-lft-identity
28×add-sqr-sqrt
27×prod-diff
24×add-cube-cbrt
11×distribute-lft-in
11×distribute-rgt-in
add-log-exp
log1p-udef
expm1-log1p-u
associate-*r*
log1p-expm1-u
add-exp-log
diff-log
add-cbrt-cube
pow1
fma-neg
sub-neg
difference-of-squares
distribute-lft-out--
flip--
associate-*r/
log1p-expm1
flip3--
*-commutative
Counts
4 → 92
Calls
4 calls:
Slowest
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)))

series321.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
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)))

simplify2.3s

Counts
70 → 104
Calls
70 calls:
Slowest
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)

prune1.9s

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0.2b

localize23.0ms

Local error

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))

rewrite15.0ms

Algorithm
rewrite-expression-head
Rules
15×*-un-lft-identity
15×add-sqr-sqrt
13×add-cube-cbrt
prod-diff
add-log-exp
log1p-udef
expm1-log1p-u
log1p-expm1-u
add-exp-log
diff-log
add-cbrt-cube
pow1
associate-*r*
fma-neg
associate-/r*
fma-udef
associate-/r/
difference-of-squares
distribute-lft-out--
flip--
div-inv
flip-+
*-commutative
log1p-expm1
flip3--
flip3-+
distribute-lft-in
frac-2neg
sub-neg
clear-num
distribute-rgt-in
Counts
4 → 74
Calls
4 calls:
Slowest
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)))

series247.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
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))

simplify1.8s

Counts
50 → 86
Calls
50 calls:
Slowest
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)))

prune1.7s

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0.2b

regimes211.0ms

bsearch4.0s

end0.0ms

Reproduce

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))))