Details

Time bar (total: 18.1s)

analyze1.6s (8.7%)

Algorithm
search
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027980
127980
033
133
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
0%99.9%0.1%4
0%99.9%0.1%5
25%74.9%0.1%6
25%74.9%0.1%7
25%74.9%0.1%8
25%74.9%0.1%9
25%64%11.1%10
31.2%54.6%14.2%11
39%44.1%16.9%12
39%41.5%19.5%13
42.9%37%20.1%14
Compiler

Compiled 20 to 16 computations (20% saved)

sample159.0ms (0.9%)

Algorithm
intervals
Results
42.0ms68×body1024valid
27.0ms51×body1024invalid
18.0ms140×body128valid
11.0ms29×body512invalid
11.0ms28×body512valid
6.0ms20×body256valid
4.0ms29×body128invalid
3.0ms11×body256invalid
Compiler

Compiled 39 to 34 computations (12.8% saved)

simplify16.0ms (0.1%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (6.0ms)

IterNodesCost
010620
110620

prune9.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.3b
Counts
2 → 2
Compiler

Compiled 45 to 37 computations (17.8% saved)

localize20.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
0.1b
(*.f64 (cos.f64 th) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2)))
0.3b
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2))

rewrite64.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
40×add-sqr-sqrt_binary64_441
38×times-frac_binary64_425
32×*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454
22×associate-*r*_binary64_359 sqrt-prod_binary64_435
10×add-cbrt-cube_binary64_455 add-exp-log_binary64_457
associate-/r*_binary64_363
add-log-exp_binary64_458 pow1_binary64_480
unswap-sqr_binary64_387 associate-*l*_binary64_360 associate-/l*_binary64_364
flip3-+_binary64_422 div-inv_binary64_416 prod-exp_binary64_468 cbrt-unprod_binary64_452 flip-+_binary64_393 div-exp_binary64_470 cbrt-undiv_binary64_453 associate-/l/_binary64_366
pow-prod-down_binary64_490 clear-num_binary64_418 sum-log_binary64_510 associate-*r/_binary64_361 *-commutative_binary64_350 frac-2neg_binary64_430 +-commutative_binary64_349
Counts
3 → 94
Calls

3 calls:

22.0ms
(*.f64 (cos.f64 th) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2)))
12.0ms
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2))
7.0ms
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))

series1.2s (6.7%)

Counts
3 → 40
Calls

3 calls:

726.0ms
(*.f64 (cos.f64 th) (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2)))
331.0ms
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2))
162.0ms
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
Compiler

Compiled 904 to 889 computations (1.7% saved)

simplify145.0ms (0.8%)

Algorithm
egg-herbie
Counts
134 → 134
Iterations

Useful iterations: 0 (98.0ms)

IterNodesCost
050132823

prune248.0ms (1.4%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1277134
Fresh011
Picked101
Done000
Total1288136
Error
0b
Counts
136 → 8
Compiler

Compiled 2792 to 1113 computations (60.1% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 2)))
0.4b
(/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 2))
7.2b
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
7.2b
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))

rewrite121.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
100×sqrt-prod_binary64_435
91×add-sqr-sqrt_binary64_441
80×times-frac_binary64_425
61×*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454
40×associate-*r*_binary64_359
11×add-cbrt-cube_binary64_455 add-exp-log_binary64_457
10×sqrt-div_binary64_436 unswap-sqr_binary64_387
pow1_binary64_480
associate-*l*_binary64_360 associate-/r*_binary64_363 associate-/l*_binary64_364
flip3-+_binary64_422 flip-+_binary64_393
add-log-exp_binary64_458
associate-*l/_binary64_362 sqrt-undiv_binary64_440 pow1/2_binary64_499 div-inv_binary64_416 frac-times_binary64_429 prod-exp_binary64_468 cbrt-unprod_binary64_452 sqrt-pow1_binary64_437 rem-sqrt-square_binary64_432 div-exp_binary64_470 cbrt-undiv_binary64_453 associate-/l/_binary64_366
pow-prod-down_binary64_490 clear-num_binary64_418 sqrt-unprod_binary64_439 associate-*r/_binary64_361 *-commutative_binary64_350 frac-2neg_binary64_430
Counts
4 → 168
Calls

4 calls:

50.0ms
(*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 2)))
16.0ms
(/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 2))
8.0ms
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
7.0ms
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))

series1.2s (6.4%)

Counts
4 → 60
Calls

4 calls:

385.0ms
(/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 2))
331.0ms
(*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (/.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 2)))
220.0ms
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
216.0ms
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
Compiler

Compiled 2247 to 1869 computations (16.8% saved)

simplify179.0ms (1%)

Algorithm
egg-herbie
Counts
228 → 228
Iterations

Useful iterations: 0 (86.0ms)

IterNodesCost
052605433

prune474.0ms (2.6%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2271228
Fresh167
Picked101
Done000
Total2297236
Error
0b
Counts
236 → 7
Compiler

Compiled 6794 to 2227 computations (67.2% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2))))
0.2b
(*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2)))
7.2b
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
7.3b
(sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2))

rewrite103.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
41×add-sqr-sqrt_binary64_441
39×sqrt-prod_binary64_435
23×*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454
21×times-frac_binary64_425
17×sqrt-div_binary64_436 associate-*r*_binary64_359
15×pow1_binary64_480
11×add-cbrt-cube_binary64_455 add-exp-log_binary64_457
associate-*l*_binary64_360
associate-*r/_binary64_361
pow-prod-down_binary64_490 unswap-sqr_binary64_387
flip3-+_binary64_422 flip-+_binary64_393
associate-*l/_binary64_362 add-log-exp_binary64_458 pow1/2_binary64_499 frac-times_binary64_429 prod-exp_binary64_468 cbrt-unprod_binary64_452 sqrt-pow1_binary64_437
rem-sqrt-square_binary64_432
div-inv_binary64_416 *-commutative_binary64_350
sqrt-unprod_binary64_439
Counts
4 → 110
Calls

4 calls:

35.0ms
(*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2)))
27.0ms
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2))))
10.0ms
(sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2))
7.0ms
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))

series1.3s (7.4%)

Counts
4 → 60
Calls

4 calls:

568.0ms
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2))))
299.0ms
(sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2))
271.0ms
(*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2)))
203.0ms
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
Compiler

Compiled 2037 to 1760 computations (13.6% saved)

simplify189.0ms (1%)

Algorithm
egg-herbie
Counts
170 → 170
Iterations

Useful iterations: 0 (115.0ms)

IterNodesCost
049714199
149714199

prune332.0ms (1.8%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1673170
Fresh336
Picked011
Done000
Total1707177
Error
0b
Counts
177 → 7
Compiler

Compiled 4654 to 1562 computations (66.4% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cos.f64 th))
0.2b
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cos.f64 th)) (sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2)))
7.2b
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
7.3b
(sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2))

rewrite89.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
33×sqrt-prod_binary64_435
31×add-sqr-sqrt_binary64_441
23×*-un-lft-identity_binary64_419 add-cube-cbrt_binary64_454
19×times-frac_binary64_425 associate-*r*_binary64_359
13×pow1_binary64_480
12×sqrt-div_binary64_436
11×add-cbrt-cube_binary64_455 add-exp-log_binary64_457
associate-*l/_binary64_362
associate-*l*_binary64_360
flip3-+_binary64_422 pow-prod-down_binary64_490 add-log-exp_binary64_458 prod-exp_binary64_468 cbrt-unprod_binary64_452 flip-+_binary64_393
rem-sqrt-square_binary64_432
pow1/2_binary64_499 div-inv_binary64_416 unswap-sqr_binary64_387 frac-times_binary64_429 *-commutative_binary64_350 sqrt-pow1_binary64_437
associate-*r/_binary64_361
Counts
4 → 100
Calls

4 calls:

30.0ms
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cos.f64 th)) (sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2)))
16.0ms
(*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cos.f64 th))
10.0ms
(sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2))
8.0ms
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))

series1.6s (8.8%)

Counts
4 → 68
Calls

4 calls:

625.0ms
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cos.f64 th)) (sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2)))
441.0ms
(*.f64 (sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (cos.f64 th))
314.0ms
(sqrt.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 2))
204.0ms
(sqrt.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
Compiler

Compiled 2688 to 2181 computations (18.9% saved)

simplify117.0ms (0.6%)

Algorithm
egg-herbie
Counts
168 → 168
Iterations

Useful iterations: 0 (50.0ms)

IterNodesCost
052833865

prune293.0ms (1.6%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1671168
Fresh145
Picked011
Done011
Total1687175
Error
0b
Counts
175 → 7
Compiler

Compiled 4527 to 1365 computations (69.8% saved)

regimes2.0s (11%)

Accuracy

Total 0.3b remaining (91.8%)

Threshold costs 0.3b (91.8%)

Compiler

Compiled 10279 to 7325 computations (28.7% saved)

bsearch0.0ms (0%)

simplify17.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
01734
11734
Compiler

Compiled 44 to 26 computations (40.9% saved)

end0.0ms (0%)

sample6.6s (36.3%)

Algorithm
intervals
Results
1.0s1806×body1024valid
857.0ms1515×body1024invalid
633.0ms4845×body128valid
362.0ms898×body512valid
305.0ms767×body512invalid
123.0ms448×body256valid
99.0ms371×body256invalid
90.0ms663×body128invalid
2.0msbody2048valid
Compiler

Compiled 1312 to 931 computations (29% saved)

Profiling

Loading profile data...