Details

Time bar (total: 6.9s)

analyze355.0ms

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
12.5%87.4%0.1%4
62.4%37.5%0.1%5
62.4%37.5%0.1%6
62.4%31.2%6.3%7
62.4%31.2%6.3%8
62.4%28.1%9.5%9
62.4%28.1%9.5%10
62.4%26.5%11%11
62.4%26.5%11%12
62.4%25.8%11.8%13
62.4%25.8%11.8%14

sample143.0ms

Algorithm
intervals
Results
60.0ms109×body1280valid
23.0ms77×body640valid
19.0ms47×body1280invalid
9.0ms37×body640invalid
8.0ms40×body320valid
5.0ms75×body80invalid
3.0ms23×body160valid
3.0ms16×body320invalid
1.0ms10×body160invalid
0.0msbody80valid

simplify54.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (51.0ms)

IterNodesCost
0486111
1486111

prune2.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022

Merged error: 41.5b

Counts
2 → 1

localize9.0ms

Local error

Found 2 expressions with local error:

0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.0b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

rewrite18.0ms

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64 pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 add-sqr-sqrt_binary64
associate-*r*_binary64
add-log-exp_binary64
pow-prod-down_binary64 sub-neg_binary64 cbrt-unprod_binary64 add-cube-cbrt_binary64 prod-exp_binary64
flip3--_binary64 associate-*r/_binary64 difference-of-squares_binary64 distribute-lft-out--_binary64 flip--_binary64
diff-log_binary64 distribute-lft-in_binary64 associate-*l*_binary64 distribute-rgt-in_binary64 *-commutative_binary64
Counts
2 → 37
Calls
2 calls:
11.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
6.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

series20.0ms

Counts
2 → 6
Calls
2 calls:
16.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
4.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

simplify53.0ms

Algorithm
egg-herbie
Counts
43 → 43
Iterations

Useful iterations: 0 (47.0ms)

IterNodesCost
04895465
14895465

prune41.0ms

Filtered
29 candidates to 43 candidates (-48.3%)
Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New41243
Fresh000
Picked101
Done000
Total42244

Merged error: 0.1b

Counts
44 → 2

localize13.0ms

Local error

Found 3 expressions with local error:

0.1b
(*.f64 1/60 (pow.f64 im 5))
0.1b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 1/60 (pow.f64 im 5)))))
0.1b
(*.f64 (pow.f64 im 3) -1/3)

rewrite27.0ms

Algorithm
rewrite-expression-head
Rules
23×add-sqr-sqrt_binary64
18×add-exp-log_binary64
16×associate-*l*_binary64
13×associate-*r*_binary64
12×add-cbrt-cube_binary64
11×*-un-lft-identity_binary64 add-cube-cbrt_binary64
prod-exp_binary64
pow1_binary64 unpow-prod-down_binary64
unswap-sqr_binary64
cbrt-unprod_binary64
sqr-pow_binary64 cube-prod_binary64
pow-prod-down_binary64 add-log-exp_binary64 *-commutative_binary64
pow-to-exp_binary64 associate-*r/_binary64 pow-exp_binary64
flip3-+_binary64 distribute-lft-in_binary64 distribute-rgt-in_binary64 flip-+_binary64 unpow3_binary64 cube-mult_binary64
Counts
3 → 78
Calls
3 calls:
5.0ms
(*.f64 1/60 (pow.f64 im 5))
12.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 1/60 (pow.f64 im 5)))))
8.0ms
(*.f64 (pow.f64 im 3) -1/3)

series50.0ms

Counts
3 → 9
Calls
3 calls:
5.0ms
(*.f64 1/60 (pow.f64 im 5))
40.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 1/60 (pow.f64 im 5)))))
5.0ms
(*.f64 (pow.f64 im 3) -1/3)

simplify54.0ms

Algorithm
egg-herbie
Counts
87 → 87
Iterations

Useful iterations: 0 (45.0ms)

IterNodesCost
04955921
14955921

prune81.0ms

Filtered
57 candidates to 87 candidates (-52.6%)
Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New81687
Fresh011
Picked011
Done000
Total81889

Merged error: 0.1b

Counts
89 → 8

localize19.0ms

Local error

Found 4 expressions with local error:

0.5b
(*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5)))))) (cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5)))))))
17.0b
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))
17.0b
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))
17.0b
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))

rewrite49.0ms

Algorithm
rewrite-expression-head
Rules
20×associate-*r/_binary64
18×cbrt-div_binary64
11×pow1_binary64
10×add-sqr-sqrt_binary64
flip3-+_binary64 pow1/3_binary64 flip-+_binary64
*-un-lft-identity_binary64 add-cube-cbrt_binary64
cbrt-prod_binary64
add-exp-log_binary64
add-log-exp_binary64 swap-sqr_binary64 associate-*r*_binary64 add-cbrt-cube_binary64 associate-*l*_binary64 frac-times_binary64
pow-prod-down_binary64 pow-prod-up_binary64 pow-sqr_binary64 associate-*l/_binary64
cbrt-unprod_binary64 pow-plus_binary64 unswap-sqr_binary64 prod-exp_binary64 pow2_binary64 *-commutative_binary64
Counts
4 → 72
Calls
4 calls:
9.0ms
(*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5)))))) (cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5)))))))
12.0ms
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))
12.0ms
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))
14.0ms
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))

series413.0ms

Counts
4 → 12
Calls
4 calls:
136.0ms
(*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5)))))) (cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5)))))))
90.0ms
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))
92.0ms
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))
95.0ms
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))

simplify62.0ms

Algorithm
egg-herbie
Counts
84 → 84
Iterations

Useful iterations: 0 (44.0ms)

IterNodesCost
049402683
149402683

prune238.0ms

Filtered
67 candidates to 84 candidates (-25.4%)
Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New80484
Fresh156
Picked011
Done011
Total811192

Merged error: 0.0b

Counts
92 → 11

localize22.0ms

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 (*.f64 1/2 (sin.f64 re)))
0.6b
(cbrt.f64 (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5)))))
17.0b
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))
17.0b
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))

rewrite32.0ms

Algorithm
rewrite-expression-head
Rules
cbrt-div_binary64 cbrt-prod_binary64
*-un-lft-identity_binary64 add-cube-cbrt_binary64 add-sqr-sqrt_binary64
add-log-exp_binary64 pow1_binary64 associate-*r/_binary64 pow1/3_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
flip3-+_binary64 flip-+_binary64
Counts
4 → 44
Calls
4 calls:
3.0ms
(cbrt.f64 (*.f64 1/2 (sin.f64 re)))
7.0ms
(cbrt.f64 (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5)))))
10.0ms
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))
10.0ms
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))

series222.0ms

Counts
4 → 12
Calls
4 calls:
21.0ms
(cbrt.f64 (*.f64 1/2 (sin.f64 re)))
21.0ms
(cbrt.f64 (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5)))))
90.0ms
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))
90.0ms
(cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im -2) (-.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 1/60 (pow.f64 im 5))))))

simplify74.0ms

Algorithm
egg-herbie
Counts
56 → 56
Iterations

Useful iterations: 0 (63.0ms)

IterNodesCost
048991258
148991258

prune154.0ms

Filtered
52 candidates to 56 candidates (-7.7%)
Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New54256
Fresh178
Picked101
Done022
Total561167

Merged error: 0.0b

Counts
67 → 11

regimes238.0ms

Accuracy

0% (0.7b remaining)

Error of 0.8b against oracle of 0.1b and baseline of 0.8b

bsearch0.0ms

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
05020
15020

end0.0ms

sample4.5s

Algorithm
intervals
Results
1.9s3258×body1280valid
828.0ms2542×body640valid
516.0ms1462×body1280invalid
288.0ms1230×body640invalid
272.0ms1292×body320valid
150.0ms2365×body80invalid
115.0ms663×body320invalid
83.0ms654×body160valid
42.0ms294×body160invalid
16.0ms254×body80valid

Profiling

Loading profile data...