Details

Time bar (total: 5.1s)

analyze543.0ms (10.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
50%50%0.1%3
50%50%0.1%4
62.4%37.5%0.1%5
62.4%37.5%0.1%6
68.7%31.2%0.1%7
68.7%31.2%0.1%8
71.8%28.1%0.1%9
71.8%28.1%0.1%10
73.4%26.5%0.1%11
73.4%26.5%0.1%12
74.1%25.8%0.1%13
74.1%25.8%0.1%14
Compiler

Compiled 18 to 13 computations (27.8% saved)

sample32.0ms (0.6%)

Algorithm
intervals
Results
9.0ms198×body128valid
5.0ms17×body4096valid
5.0ms21×body2048valid
1.0msbody1024valid
1.0msbody512valid
0.0msbody256valid
Compiler

Compiled 37 to 27 computations (27% saved)

simplify9.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
distribute-rgt-in_binary64 distribute-lft-in_binary64 +-commutative_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01323
12323
22323
32323

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
40.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
40.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Compiler

Compiled 51 to 36 computations (29.4% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (*.f64 re re) (*.f64 im im))
0.0b
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
1.2b
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
31.7b
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))

rewrite128.0ms (2.5%)

Algorithm
rewrite-expression-head
Error
39.9b
Rules
pow1_binary64 add-log-exp_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 flip3-+_binary64 sqrt-div_binary64 flip-+_binary64 sqrt-prod_binary64
Counts
4 → 51
Calls

4 calls:

8.0ms
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
7.0ms
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
4.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
4.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
Compiler

Compiled 1237 to 435 computations (64.8% saved)

series153.0ms (3%)

Error
8.0b
Counts
4 → 50
Calls

4 calls:

43.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
32.0ms
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
28.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
21.0ms
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Compiler

Compiled 1800 to 1462 computations (18.8% saved)

simplify114.0ms (2.2%)

Algorithm
egg-herbie
Rules
493×unswap-sqr_binary64
353×associate-*r*_binary64
328×associate-*l*_binary64
292×distribute-neg-frac_binary64
276×div-sub_binary64
Counts
101 → 71
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01251583
13281493
28741478
333501475
446781475
551461475

prune55.0ms (1.1%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New64771
Fresh000
Picked011
Done000
Total64872
Error
7.4b
Counts
72 → 8
Alt Table
StatusErrorProgram
40.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
45.7b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
45.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
42.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
50.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 im (*.f64 1/2 (/.f64 (*.f64 re re) im))) re))))
56.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
60.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
43.5b
(*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 im im))) (sqrt.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Compiler

Compiled 1169 to 641 computations (45.2% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.0b
(sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))

rewrite16.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
7.4b
Rules
pow1_binary64
sqrt-pow1_binary64 associate-*r/_binary64 sqrt-div_binary64
pow1/2_binary64 add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 add-cube-cbrt_binary64 add-sqr-sqrt_binary64 pow-prod-down_binary64 flip3-+_binary64 flip-+_binary64 sqrt-prod_binary64 *-un-lft-identity_binary64
Counts
1 → 13
Calls

1 calls:

6.0ms
(sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))
Compiler

Compiled 200 to 119 computations (40.5% saved)

series25.0ms (0.5%)

Error
7.4b
Counts
1 → 7
Calls

1 calls:

22.0ms
(sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re)))
Compiler

Compiled 259 to 211 computations (18.5% saved)

simplify142.0ms (2.8%)

Algorithm
egg-herbie
Rules
817×times-frac_binary64
590×unsub-neg_binary64
446×sub-neg_binary64
370×distribute-rgt-neg-in_binary64
360×neg-sub0_binary64 unswap-sqr_binary64
Counts
20 → 15
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
047254
1118224
2268224
3647219
41454219
52191219
63441219
74213219
84849219
94909219
105581219

prune19.0ms (0.4%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New14115
Fresh066
Picked011
Done011
Total14923
Error
7.4b
Counts
23 → 9
Alt Table
StatusErrorProgram
40.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
45.5b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 (neg.f64 im)) (*.f64 re (/.f64 1/2 (sqrt.f64 (neg.f64 im)))))))
45.7b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
45.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
42.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
50.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 im (*.f64 1/2 (/.f64 (*.f64 re re) im))) re))))
56.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
60.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
43.5b
(*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 im im))) (sqrt.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Compiler

Compiled 387 to 278 computations (28.2% saved)

localize15.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.2b
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 im im))) (sqrt.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
0.6b
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
30.3b
(sqrt.f64 (*.f64 2 (*.f64 im im)))
31.7b
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))

rewrite127.0ms (2.5%)

Algorithm
rewrite-expression-head
Error
7.4b
Rules
51×add-sqr-sqrt_binary64
50×sqrt-prod_binary64
38×*-un-lft-identity_binary64
36×times-frac_binary64
26×add-cube-cbrt_binary64
Counts
4 → 108
Calls

4 calls:

15.0ms
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 im im))) (sqrt.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
8.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
5.0ms
(sqrt.f64 (*.f64 2 (*.f64 im im)))
4.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Compiler

Compiled 2950 to 960 computations (67.5% saved)

series119.0ms (2.3%)

Error
2.5b
Counts
4 → 36
Calls

4 calls:

40.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
26.0ms
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 im im))) (sqrt.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
26.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
9.0ms
(sqrt.f64 (*.f64 2 (*.f64 im im)))
Compiler

Compiled 1677 to 1260 computations (24.9% saved)

simplify156.0ms (3%)

Algorithm
egg-herbie
Rules
403×times-frac_binary64
359×unswap-sqr_binary64
351×associate-*r*_binary64
330×associate-*l*_binary64
313×associate-/l*_binary64
Counts
144 → 84
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01944049
14033885
210193844
341013833
450163833

prune60.0ms (1.2%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New79584
Fresh156
Picked101
Done022
Total811293
Error
2.5b
Counts
93 → 12
Alt Table
StatusErrorProgram
48.4b
(*.f64 1/2 (/.f64 (*.f64 (neg.f64 im) (sqrt.f64 2)) (sqrt.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
40.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
45.5b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 (neg.f64 im)) (*.f64 re (/.f64 1/2 (sqrt.f64 (neg.f64 im)))))))
53.4b
(*.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)) im)))
45.7b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
45.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
42.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
50.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 im (*.f64 1/2 (/.f64 (*.f64 re re) im))) re))))
43.6b
(*.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 2 (*.f64 im im)))) (/.f64 (sqrt.f64 (sqrt.f64 (*.f64 2 (*.f64 im im)))) (sqrt.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))))
56.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
49.7b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
53.4b
(*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 im im))) (sqrt.f64 (*.f64 re -2))))
Compiler

Compiled 1738 to 827 computations (52.4% saved)

localize17.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.6b
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
30.3b
(sqrt.f64 (*.f64 2 (*.f64 im im)))
30.3b
(sqrt.f64 (*.f64 2 (*.f64 im im)))
31.7b
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))

rewrite73.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
2.5b
Rules
17×pow1_binary64
11×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
sqrt-pow1_binary64
add-log-exp_binary64 add-cube-cbrt_binary64 sqrt-prod_binary64 pow-prod-down_binary64
Counts
4 → 56
Calls

4 calls:

8.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
5.0ms
(sqrt.f64 (*.f64 2 (*.f64 im im)))
4.0ms
(sqrt.f64 (*.f64 2 (*.f64 im im)))
4.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Compiler

Compiled 1827 to 813 computations (55.5% saved)

series114.0ms (2.2%)

Error
2.5b
Counts
4 → 33
Calls

4 calls:

44.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
31.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
10.0ms
(sqrt.f64 (*.f64 2 (*.f64 im im)))
9.0ms
(sqrt.f64 (*.f64 2 (*.f64 im im)))
Compiler

Compiled 2257 to 1600 computations (29.1% saved)

simplify105.0ms (2%)

Algorithm
egg-herbie
Rules
442×distribute-rgt-neg-in_binary64
338×unswap-sqr_binary64
304×div-sub_binary64
299×distribute-neg-frac_binary64
297×associate-*r*_binary64
Counts
89 → 44
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01101181
12611130
26741118
329211115
446581115
551571115

prune43.0ms (0.8%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New43144
Fresh099
Picked101
Done022
Total441256
Error
2.5b
Counts
56 → 12
Alt Table
StatusErrorProgram
48.4b
(*.f64 1/2 (/.f64 (*.f64 (neg.f64 im) (sqrt.f64 2)) (sqrt.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
40.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
45.5b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 (neg.f64 im)) (*.f64 re (/.f64 1/2 (sqrt.f64 (neg.f64 im)))))))
53.4b
(*.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)) im)))
45.7b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
45.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
42.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 im) re))))
50.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 im (*.f64 1/2 (/.f64 (*.f64 re re) im))) re))))
56.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
49.7b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
53.4b
(*.f64 1/2 (*.f64 (sqrt.f64 (sqrt.f64 (*.f64 2 (*.f64 im im)))) (/.f64 (sqrt.f64 (sqrt.f64 (*.f64 2 (*.f64 im im)))) (sqrt.f64 (*.f64 re -2)))))
53.4b
(*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 2 (*.f64 im im))) (sqrt.f64 (*.f64 re -2))))
Compiler

Compiled 1199 to 691 computations (42.4% saved)

regimes1.6s (31.9%)

Accuracy

Total 21.0b remaining (89.7%)

Threshold costs 0b (0%)

Compiler

Compiled 13562 to 8809 computations (35% saved)

bsearch155.0ms (3%)

Steps
ItersRangePoint
8
9.243350754054082e+108
9.694393391630773e+112
1.5184799493309332e+111
9
5.794919433678647e+28
6.843109950795625e+33
5.860124411478432e+28
9
6.740563255653875e-15
8.120091894691637e-09
2.379531245742764e-10
8
4.131415020528795e-168
1.7064403722675033e-163
4.4753072681602385e-164
8
-9.004886839848612e-303
-5.348202176127388e-307
-9.515876010320053e-305
7
-1.2264227270703035e-112
-4.115438435678444e-114
-7.594043707095321e-114
7
-1.8315404530098413e+53
-1.0398718362009602e+52
-1.6284670281102737e+53
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify13.0ms (0.2%)

Algorithm
egg-herbie
Rules
21×*-commutative_binary64
12×+-commutative_binary64
neg-mul-1_binary64 neg-sub0_binary64 sub-neg_binary64
distribute-rgt-neg-out_binary64 distribute-lft-neg-out_binary64 distribute-rgt-neg-in_binary64 distribute-lft-neg-in_binary64
unsub-neg_binary64 cancel-sign-sub-inv_binary64 distribute-frac-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
062208
188206
2101206
3115204
4126204
5130204
6131204
7130204

end3.0ms (0.1%)

Compiler

Compiled 135 to 76 computations (43.7% saved)

sample1.2s (24.1%)

Algorithm
intervals
Results
290.0ms6089×body128valid
164.0ms515×body4096valid
146.0ms627×body2048valid
80.0ms409×body1024valid
30.0ms222×body512valid
13.0ms138×body256valid
Compiler

Compiled 339 to 231 computations (31.9% saved)

Profiling

Loading profile data...