Timeout in 10.0m

Use the --timeout flag to change the timeout.

Details

Time bar (total: 2.3m)Debug log

sample1.0m

Algorithm
intervals
Results
3275×(pre true 80)
3019×(body exit 10240)
245×(body real 80)
(body real 1280)
(body real 640)
(body real 160)
(body real 5120)

simplify98.0ms

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

prune22.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 5.1b

localize59.0ms

Local error

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

rewrite25.0ms

Algorithm
rewrite-expression-head
Rules
475×add-exp-log
312×prod-exp
262×pow-exp
183×pow-to-exp
169×div-exp
80×rec-exp
16×add-cbrt-cube
pow1
add-cube-cbrt
*-un-lft-identity
unpow-prod-down
add-sqr-sqrt
add-log-exp
cbrt-unprod
associate-/r/
associate-/r*
cbrt-undiv
div-inv
pow-pow
inv-pow
pow-flip
flip-+
flip3-+
frac-2neg
clear-num
associate-/l*
flip--
flip3--
times-frac
sub-neg
Counts
4 → 234
Calls
4 calls:
Slowest
13.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.0ms
(pow (/ 1 (+ 1 (exp (- t)))) c_p)
1.0ms
(/ 1 (+ 1 (exp (- t))))
1.0ms
(- 1 (/ 1 (+ 1 (exp (- t)))))

series674.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
573.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)))
65.0ms
(pow (/ 1 (+ 1 (exp (- t)))) c_p)
19.0ms
(- 1 (/ 1 (+ 1 (exp (- t)))))
16.0ms
(/ 1 (+ 1 (exp (- t))))

simplify53.8s

Counts
206 → 246
Calls
206 calls:
Slowest
694.0ms
(- (+ (* (log (/ 1 (+ 1 (exp (- s))))) c_p) (* (log (- 1 (/ 1 (+ 1 (exp (- s)))))) c_n)) (+ (* (log (/ 1 (+ 1 (exp (- t))))) c_p) (log (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n))))
557.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 (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n))))
431.0ms
(- (+ (* (log (/ 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)))
428.0ms
(- (+ (* (log (/ 1 (+ 1 (exp (- s))))) c_p) (* (log (- 1 (/ 1 (+ 1 (exp (- s)))))) c_n)) (+ (* (- (log (+ 1 (exp (- t))))) c_p) (* (log (- 1 (/ 1 (+ 1 (exp (- t)))))) c_n)))
407.0ms
(- (+ (* (log (/ 1 (+ 1 (exp (- s))))) c_p) (log (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n))) (+ (log (pow (/ 1 (+ 1 (exp (- t)))) c_p)) (* (log (- 1 (/ 1 (+ 1 (exp (- t)))))) c_n)))

prune3.9s

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0.1b

localize90.0ms

Local error

Found 4 expressions with local error:

10.8b
(- (log (+ (exp (- t)) 1)) (log (+ (exp (- s)) 1)))
10.8b
(- (log (- 1 (/ 1 (+ (exp (- s)) 1)))) (log (- 1 (/ 1 (+ (exp (- t)) 1)))))
1.0b
(log (+ (exp (- t)) 1))
0.3b
(log (- 1 (/ 1 (+ (exp (- t)) 1))))

rewrite42.0ms

Algorithm
rewrite-expression-head
Rules
18×*-un-lft-identity
18×log-prod
14×pow1
14×add-sqr-sqrt
12×log-div
10×add-cube-cbrt
10×log-pow
distribute-lft-out--
associate--r+
add-exp-log
associate--l+
flip--
flip3--
add-log-exp
associate--r-
add-cbrt-cube
associate--l-
flip-+
flip3-+
difference-of-squares
rem-log-exp
diff-log
sub-neg
Counts
4 → 82
Calls
4 calls:
Slowest
20.0ms
(- (log (+ (exp (- t)) 1)) (log (+ (exp (- s)) 1)))
14.0ms
(- (log (- 1 (/ 1 (+ (exp (- s)) 1)))) (log (- 1 (/ 1 (+ (exp (- t)) 1)))))
5.0ms
(log (+ (exp (- t)) 1))
2.0ms
(log (- 1 (/ 1 (+ (exp (- t)) 1))))

series322.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
99.0ms
(- (log (- 1 (/ 1 (+ (exp (- s)) 1)))) (log (- 1 (/ 1 (+ (exp (- t)) 1)))))
82.0ms
(log (- 1 (/ 1 (+ (exp (- t)) 1))))
81.0ms
(- (log (+ (exp (- t)) 1)) (log (+ (exp (- s)) 1)))
60.0ms
(log (+ (exp (- t)) 1))

simplify2.0s

Counts
58 → 94
Calls
58 calls:
Slowest
337.0ms
(log (- (pow 1 3) (pow (/ 1 (+ (exp (- s)) 1)) 3)))
303.0ms
(log (- (pow 1 3) (pow (/ 1 (+ (exp (- t)) 1)) 3)))
126.0ms
(log (+ (* (exp (- s)) (exp (- s))) (- (* 1 1) (* (exp (- s)) 1))))
97.0ms
(- (* 1/2 t) (+ (* 1/8 (pow s 2)) (* 1/2 s)))
94.0ms
(log (- (* (exp (- t)) (exp (- t))) (* 1 1)))

prune1.7s

Pruning

3 alts after pruning (3 fresh and 0 done)

Merged error: 0b

localize22.0ms

Local error

Found 4 expressions with local error:

10.8b
(- (log (- 1 (/ 1 (+ (exp (- s)) 1)))) (log (- 1 (/ 1 (+ (exp (- t)) 1)))))
0.3b
(log (- 1 (/ 1 (+ (exp (- t)) 1))))
0.1b
(* c_n (- (log (- 1 (/ 1 (+ (exp (- s)) 1)))) (log (- 1 (/ 1 (+ (exp (- t)) 1))))))
0.1b
(- 1 (/ 1 (+ (exp (- t)) 1)))

rewrite25.0ms

Algorithm
rewrite-expression-head
Rules
18×*-un-lft-identity
15×log-prod
14×add-sqr-sqrt
13×pow1
10×add-cube-cbrt
10×log-div
log-pow
associate--l+
distribute-lft-out--
flip--
associate-*r*
flip3--
distribute-lft-in
distribute-rgt-in
associate--r-
add-exp-log
add-log-exp
add-cbrt-cube
sub-neg
associate--r+
difference-of-squares
associate-*r/
associate--l-
*-commutative
rem-log-exp
diff-log
Counts
4 → 84
Calls
4 calls:
Slowest
10.0ms
(* c_n (- (log (- 1 (/ 1 (+ (exp (- s)) 1)))) (log (- 1 (/ 1 (+ (exp (- t)) 1))))))
7.0ms
(- (log (- 1 (/ 1 (+ (exp (- s)) 1)))) (log (- 1 (/ 1 (+ (exp (- t)) 1)))))
2.0ms
(log (- 1 (/ 1 (+ (exp (- t)) 1))))
1.0ms
(- 1 (/ 1 (+ (exp (- t)) 1)))

series402.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
170.0ms
(* c_n (- (log (- 1 (/ 1 (+ (exp (- s)) 1)))) (log (- 1 (/ 1 (+ (exp (- t)) 1))))))
126.0ms
(- (log (- 1 (/ 1 (+ (exp (- s)) 1)))) (log (- 1 (/ 1 (+ (exp (- t)) 1)))))
83.0ms
(log (- 1 (/ 1 (+ (exp (- t)) 1))))
23.0ms
(- 1 (/ 1 (+ (exp (- t)) 1)))

simplify2.2s

Counts
59 → 96
Calls
59 calls:
Slowest
392.0ms
(log (- (pow 1 3) (pow (/ 1 (+ (exp (- t)) 1)) 3)))
311.0ms
(log (- (pow 1 3) (pow (/ 1 (+ (exp (- s)) 1)) 3)))
168.0ms
(- (* 1/2 (* t c_n)) (+ (* 1/2 (* c_n s)) (* 1/8 (* c_n (pow s 2)))))
102.0ms
(/ (- 1 (/ 1 (+ (exp (- s)) 1))) (- 1 (/ 1 (+ (exp (- t)) 1))))
90.0ms
(- (log 1/2) (+ (* 1/2 t) (* 1/8 (pow t 2))))

prune1.8s

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0b

localize30.0ms

Local error

Found 4 expressions with local error:

1.0b
(* c_n (+ (* 1/2 (- t s)) (* -1/8 (* s s))))
0.0b
(* c_p (+ (* (- s t) 1/2) (* (* t t) 1/8)))
0.0b
(+ (* c_p (+ (* (- s t) 1/2) (* (* t t) 1/8))) (* c_n (+ (* 1/2 (- t s)) (* -1/8 (* s s)))))
0.0b
(+ (* (- s t) 1/2) (* (* t t) 1/8))

rewrite27.0ms

Algorithm
rewrite-expression-head
Rules
12×associate-*r/
add-log-exp
flip-+
flip3-+
add-cube-cbrt
associate-*r*
*-un-lft-identity
add-sqr-sqrt
add-exp-log
frac-add
add-cbrt-cube
distribute-lft-in
pow1
distribute-rgt-in
*-commutative
sum-log
associate-+r+
associate-+l+
+-commutative
Counts
4 → 60
Calls
4 calls:
Slowest
9.0ms
(+ (* c_p (+ (* (- s t) 1/2) (* (* t t) 1/8))) (* c_n (+ (* 1/2 (- t s)) (* -1/8 (* s s)))))
7.0ms
(* c_p (+ (* (- s t) 1/2) (* (* t t) 1/8)))
5.0ms
(+ (* (- s t) 1/2) (* (* t t) 1/8))
5.0ms
(* c_n (+ (* 1/2 (- t s)) (* -1/8 (* s s))))

series250.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
132.0ms
(+ (* c_p (+ (* (- s t) 1/2) (* (* t t) 1/8))) (* c_n (+ (* 1/2 (- t s)) (* -1/8 (* s s)))))
53.0ms
(* c_n (+ (* 1/2 (- t s)) (* -1/8 (* s s))))
42.0ms
(* c_p (+ (* (- s t) 1/2) (* (* t t) 1/8)))
23.0ms
(+ (* (- s t) 1/2) (* (* t t) 1/8))

simplify4.0s

Counts
40 → 72
Calls
40 calls:
Slowest
374.0ms
(+ (* (* c_p (- (* (* (- s t) 1/2) (* (- s t) 1/2)) (* (* (* t t) 1/8) (* (* t t) 1/8)))) (+ (* (* 1/2 (- t s)) (* 1/2 (- t s))) (- (* (* -1/8 (* s s)) (* -1/8 (* s s))) (* (* 1/2 (- t s)) (* -1/8 (* s s)))))) (* (- (* (- s t) 1/2) (* (* t t) 1/8)) (* c_n (+ (pow (* 1/2 (- t s)) 3) (pow (* -1/8 (* s s)) 3)))))
307.0ms
(+ (* (* c_p (+ (pow (* (- s t) 1/2) 3) (pow (* (* t t) 1/8) 3))) (- (* 1/2 (- t s)) (* -1/8 (* s s)))) (* (+ (* (* (- s t) 1/2) (* (- s t) 1/2)) (- (* (* (* t t) 1/8) (* (* t t) 1/8)) (* (* (- s t) 1/2) (* (* t t) 1/8)))) (* c_n (- (* (* 1/2 (- t s)) (* 1/2 (- t s))) (* (* -1/8 (* s s)) (* -1/8 (* s s)))))))
253.0ms
(* (+ (* (* (- s t) 1/2) (* (- s t) 1/2)) (- (* (* (* t t) 1/8) (* (* t t) 1/8)) (* (* (- s t) 1/2) (* (* t t) 1/8)))) (+ (* (* 1/2 (- t s)) (* 1/2 (- t s))) (- (* (* -1/8 (* s s)) (* -1/8 (* s s))) (* (* 1/2 (- t s)) (* -1/8 (* s s))))))
252.0ms
(- (+ (* 1/8 (* (pow t 2) c_p)) (* 1/2 (* c_p s))) (* 1/2 (* t c_p)))
241.0ms
(- (+ (* 1/8 (* (pow t 2) c_p)) (* 1/2 (* c_p s))) (* 1/2 (* t c_p)))

prune1.2s

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

regimes354.0ms

bsearch5.0ms

end0.0ms

Reproduce

herbie shell --seed 2019016 
(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))))