Details

Time bar (total: 5.0s)

sample68.0ms

Algorithm
intervals
Results
43.0ms237×body10240exit
6.0ms190×body80valid
3.0ms29×body320valid
3.0ms14×body640valid
1.0ms23×body160valid

simplify47.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 3 (6.0ms)

IterNodesCost
0209
1489
21079
32248
415148
550018

prune6.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 15.0b

localize13.0ms

Local error

Found 4 expressions with local error:

0.0b
(/ wj (+ wj 1))
0.0b
(/ x (+ wj 1))
0.2b
(/ (/ x (+ wj 1)) (exp wj))
5.8b
(- (+ (/ (/ x (+ wj 1)) (exp wj)) wj) (/ wj (+ wj 1)))

rewrite54.0ms

Algorithm
rewrite-expression-head
Rules
127×times-frac
118×*-un-lft-identity
78×add-sqr-sqrt
73×add-cube-cbrt
24×associate-/l*
21×distribute-lft-out
13×add-cbrt-cube
12×associate-/r/
11×add-exp-log associate-/r*
add-log-exp
flip3-+ flip-+ div-inv
cbrt-undiv div-exp
pow1
frac-2neg clear-num
diff-log frac-sub distribute-lft-out-- difference-of-squares
sub-neg flip3-- associate--l+ sum-log flip-- associate-/l/
Counts
4 → 176
Calls
4 calls:
5.0ms
(/ wj (+ wj 1))
5.0ms
(/ x (+ wj 1))
10.0ms
(/ (/ x (+ wj 1)) (exp wj))
28.0ms
(- (+ (/ (/ x (+ wj 1)) (exp wj)) wj) (/ wj (+ wj 1)))

series142.0ms

Counts
4 → 12
Calls
4 calls:
20.0ms
(/ wj (+ wj 1))
24.0ms
(/ x (+ wj 1))
39.0ms
(/ (/ x (+ wj 1)) (exp wj))
58.0ms
(- (+ (/ (/ x (+ wj 1)) (exp wj)) wj) (/ wj (+ wj 1)))

simplify78.0ms

Algorithm
egg-herbie
Counts
188 → 188
Iterations

Useful iterations: 2 (62.0ms)

IterNodesCost
07211524
133031471
250011469

prune438.0ms

Pruning

6 alts after pruning (6 fresh and 0 done)

Merged error: 0.3b

localize7.0ms

Local error

Found 3 expressions with local error:

0.0b
(+ x (pow wj 2))
0.0b
(- (+ x (pow wj 2)) (* 2 (* wj x)))
0.0b
(* 2 (* wj x))

rewrite19.0ms

Algorithm
rewrite-expression-head
Rules
10×add-log-exp
pow1 add-exp-log add-cbrt-cube
*-un-lft-identity
add-sqr-sqrt add-cube-cbrt
associate-*l* pow-prod-down prod-exp cbrt-unprod
diff-log sum-log
+-commutative sub-neg flip3-- flip3-+ associate-*r* associate--l+ *-commutative flip-- flip-+ distribute-lft-out
Counts
3 → 44
Calls
3 calls:
4.0ms
(+ x (pow wj 2))
9.0ms
(- (+ x (pow wj 2)) (* 2 (* wj x)))
5.0ms
(* 2 (* wj x))

series77.0ms

Counts
3 → 9
Calls
3 calls:
28.0ms
(+ x (pow wj 2))
29.0ms
(- (+ x (pow wj 2)) (* 2 (* wj x)))
19.0ms
(* 2 (* wj x))

simplify130.0ms

Algorithm
egg-herbie
Counts
53 → 53
Iterations

Useful iterations: 2 (25.0ms)

IterNodesCost
0202247
1793231
24232228
35001228

prune105.0ms

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 0.3b

localize12.0ms

Local error

Found 4 expressions with local error:

0.1b
(* (+ x (pow wj 2)) (+ x (pow wj 2)))
0.2b
(* (* 2 (* wj x)) (* 2 (* wj x)))
3.8b
(- (* (+ x (pow wj 2)) (+ x (pow wj 2))) (* (* 2 (* wj x)) (* 2 (* wj x))))
26.0b
(/ (- (* (+ x (pow wj 2)) (+ x (pow wj 2))) (* (* 2 (* wj x)) (* 2 (* wj x)))) (+ (+ x (pow wj 2)) (* 2 (* wj x))))

rewrite61.0ms

Algorithm
rewrite-expression-head
Rules
125×pow1
67×pow-prod-down
44×add-exp-log add-cbrt-cube
31×*-un-lft-identity
28×prod-exp cbrt-unprod
19×add-sqr-sqrt
17×add-cube-cbrt
12×times-frac
10×pow-sqr pow-prod-up
flip3-+ swap-sqr flip-+
distribute-lft-out add-log-exp
associate-*r* associate-*l* difference-of-squares
frac-times pow-plus associate-/l*
associate-/r*
pow2 distribute-rgt-in flip3-- distribute-lft-in associate-*r/ associate-*l/ associate--l+ associate-/r/ *-commutative flip-- associate-/l/
cbrt-undiv sub-neg frac-2neg diff-log div-sub div-exp clear-num div-inv unswap-sqr
Counts
4 → 151
Calls
4 calls:
10.0ms
(* (+ x (pow wj 2)) (+ x (pow wj 2)))
11.0ms
(* (* 2 (* wj x)) (* 2 (* wj x)))
12.0ms
(- (* (+ x (pow wj 2)) (+ x (pow wj 2))) (* (* 2 (* wj x)) (* 2 (* wj x))))
22.0ms
(/ (- (* (+ x (pow wj 2)) (+ x (pow wj 2))) (* (* 2 (* wj x)) (* 2 (* wj x)))) (+ (+ x (pow wj 2)) (* 2 (* wj x))))

series291.0ms

Counts
4 → 12
Calls
4 calls:
43.0ms
(* (+ x (pow wj 2)) (+ x (pow wj 2)))
35.0ms
(* (* 2 (* wj x)) (* 2 (* wj x)))
74.0ms
(- (* (+ x (pow wj 2)) (+ x (pow wj 2))) (* (* 2 (* wj x)) (* 2 (* wj x))))
139.0ms
(/ (- (* (+ x (pow wj 2)) (+ x (pow wj 2))) (* (* 2 (* wj x)) (* 2 (* wj x)))) (+ (+ x (pow wj 2)) (* 2 (* wj x))))

simplify130.0ms

Algorithm
egg-herbie
Counts
163 → 163
Iterations

Useful iterations: 2 (114.0ms)

IterNodesCost
05941735
137011496
250021474

prune290.0ms

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 0.3b

localize14.0ms

Local error

Found 4 expressions with local error:

0.2b
(* (* 2 (* wj x)) (* 2 (* wj x)))
3.8b
(- (+ (* x (+ x (pow wj 2))) (* (pow wj 2) (+ x (pow wj 2)))) (* (* 2 (* wj x)) (* 2 (* wj x))))
7.1b
(* (pow wj 2) (+ x (pow wj 2)))
26.0b
(/ (- (+ (* x (+ x (pow wj 2))) (* (pow wj 2) (+ x (pow wj 2)))) (* (* 2 (* wj x)) (* 2 (* wj x)))) (+ (+ x (pow wj 2)) (* 2 (* wj x))))

rewrite61.0ms

Algorithm
rewrite-expression-head
Rules
118×pow1
66×pow-prod-down
47×add-exp-log
44×add-cbrt-cube
30×prod-exp
28×add-sqr-sqrt cbrt-unprod
19×*-un-lft-identity
17×add-cube-cbrt
15×times-frac
10×difference-of-squares
associate-*l* pow-sqr pow-prod-up add-log-exp
distribute-rgt-out associate-*r* associate-/l*
unpow-prod-down unswap-sqr
pow-plus associate-/r*
flip3-- flip3-+ diff-log associate-*r/ associate-/r/ *-commutative flip-- flip-+ associate-/l/ unpow2 sqr-pow
cbrt-undiv pow2 distribute-rgt-in pow-to-exp sub-neg frac-2neg distribute-lft-in div-sub swap-sqr div-exp pow-exp associate--l+ clear-num sum-log div-inv distribute-lft-out
Counts
4 → 148
Calls
4 calls:
11.0ms
(* (* 2 (* wj x)) (* 2 (* wj x)))
13.0ms
(- (+ (* x (+ x (pow wj 2))) (* (pow wj 2) (+ x (pow wj 2)))) (* (* 2 (* wj x)) (* 2 (* wj x))))
11.0ms
(* (pow wj 2) (+ x (pow wj 2)))
21.0ms
(/ (- (+ (* x (+ x (pow wj 2))) (* (pow wj 2) (+ x (pow wj 2)))) (* (* 2 (* wj x)) (* 2 (* wj x)))) (+ (+ x (pow wj 2)) (* 2 (* wj x))))

series290.0ms

Counts
4 → 12
Calls
4 calls:
35.0ms
(* (* 2 (* wj x)) (* 2 (* wj x)))
75.0ms
(- (+ (* x (+ x (pow wj 2))) (* (pow wj 2) (+ x (pow wj 2)))) (* (* 2 (* wj x)) (* 2 (* wj x))))
41.0ms
(* (pow wj 2) (+ x (pow wj 2)))
138.0ms
(/ (- (+ (* x (+ x (pow wj 2))) (* (pow wj 2) (+ x (pow wj 2)))) (* (* 2 (* wj x)) (* 2 (* wj x)))) (+ (+ x (pow wj 2)) (* 2 (* wj x))))

simplify124.0ms

Algorithm
egg-herbie
Counts
160 → 160
Iterations

Useful iterations: 2 (105.0ms)

IterNodesCost
06301977
135911670
250021659

prune281.0ms

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 0.3b

regimes88.0ms

Accuracy

52.5% (0.9b remaining)

Error of 1.3b against oracle of 0.4b and baseline of 2.3b

bsearch44.0ms

Steps
ItersRangePoint
10
4.8723734835607145e-12
0.22405535791780642
7.787217220559818e-07

simplify1.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03433
13433

end0.0ms

sample2.1s

Algorithm
intervals
Results
1.4s7489×body10240exit
195.0ms6331×body80valid
79.0ms785×body320valid
65.0ms422×body640valid
33.0ms536×body160valid