Details

Time bar (total: 2.7s)

analyze305.0ms (11.2%)

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
0%99.9%0.1%4
25%74.9%0.1%5
25%62.4%12.6%6
31.2%50%18.8%7
40.6%37.5%22%8
45.3%26.5%28.2%9
46.8%19.5%33.7%10
48.8%14%37.2%11
51.7%10.1%38.1%12
52.8%7.1%40.1%13
53.3%5.1%41.6%14
Compiler

Compiled 22 to 12 computations (45.5% saved)

sample21.0ms (0.8%)

Algorithm
intervals
Results
11.0ms256×body128valid
1.0ms13×body128invalid
Compiler

Compiled 45 to 25 computations (44.4% saved)

simplify152.0ms (5.6%)

Algorithm
egg-herbie
Rules
686×unsub-neg_binary64
584×sub-neg_binary64
484×distribute-rgt-neg-in_binary64
430×distribute-neg-in_binary64
428×distribute-lft-neg-out_binary64
Counts
1 → 1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01438
12933
26833
317720
446820
5128820
6221720
7320120
8366720
9374220
10382820
11395920
12429020
13495620

prune5.0ms (0.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
9.9b
Counts
2 → 2
Alt Table
StatusErrorProgram
9.9b
(+.f64 (pow.f64 x.re 3) (*.f64 x.re (*.f64 (*.f64 x.im x.im) -3)))
10.0b
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
Compiler

Compiled 81 to 49 computations (39.5% saved)

localize11.0ms (0.4%)

Local error

Found 2 expressions with local error:

0.2b
(*.f64 (*.f64 x.im x.im) -3)
9.8b
(*.f64 x.re (*.f64 (*.f64 x.im x.im) -3))

rewrite64.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
9.8b
Rules
16×pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
pow-prod-down_binary64 prod-exp_binary64 cbrt-unprod_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64 *-un-lft-identity_binary64 associate-*l*_binary64 associate-*r*_binary64
add-log-exp_binary64 *-commutative_binary64
Counts
2 → 40
Calls

2 calls:

8.0ms
(*.f64 x.re (*.f64 (*.f64 x.im x.im) -3))
6.0ms
(*.f64 (*.f64 x.im x.im) -3)
Compiler

Compiled 598 to 341 computations (43% saved)

series29.0ms (1.1%)

Error
9.9b
Counts
2 → 9
Calls

2 calls:

19.0ms
(*.f64 x.re (*.f64 (*.f64 x.im x.im) -3))
8.0ms
(*.f64 (*.f64 x.im x.im) -3)
Compiler

Compiled 258 to 198 computations (23.3% saved)

simplify84.0ms (3.1%)

Algorithm
egg-herbie
Rules
318×associate-*r/_binary64
296×*-commutative_binary64
283×associate-*l/_binary64
252×log-div_binary64 cube-div_binary64
234×unswap-sqr_binary64
Counts
49 → 33
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
067703
1143573
2504564
3799564
41140564
51884564
63974564
74948564

prune44.0ms (1.6%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New27633
Fresh101
Picked011
Done000
Total28735
Error
9.8b
Counts
35 → 7
Alt Table
StatusErrorProgram
37.5b
(+.f64 (pow.f64 x.re 3) (*.f64 (sqrt.f64 x.re) (*.f64 (*.f64 -3 (pow.f64 x.im 2)) (sqrt.f64 x.re))))
9.9b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (pow.f64 x.im 2) x.re) -3))
25.9b
(+.f64 (pow.f64 x.re 3) (*.f64 (sqrt.f64 (*.f64 -3 (*.f64 (pow.f64 x.im 2) x.re))) (sqrt.f64 (*.f64 -3 (*.f64 (pow.f64 x.im 2) x.re)))))
10.2b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (cbrt.f64 x.re) (cbrt.f64 x.re)) (*.f64 (*.f64 -3 (pow.f64 x.im 2)) (cbrt.f64 x.re))))
9.9b
(+.f64 (pow.f64 x.re 3) (*.f64 x.re (*.f64 (*.f64 x.im x.im) -3)))
10.2b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (cbrt.f64 (*.f64 -3 (*.f64 (pow.f64 x.im 2) x.re))) (cbrt.f64 (*.f64 -3 (*.f64 (pow.f64 x.im 2) x.re)))) (cbrt.f64 (*.f64 -3 (*.f64 (pow.f64 x.im 2) x.re)))))
9.9b
(+.f64 (pow.f64 x.re 3) (*.f64 x.re (*.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (cbrt.f64 -3) (cbrt.f64 -3))) (cbrt.f64 -3))))
Compiler

Compiled 577 to 437 computations (24.3% saved)

localize7.0ms (0.3%)

Local error

Found 2 expressions with local error:

0.2b
(*.f64 (*.f64 (pow.f64 x.im 2) x.re) -3)
9.8b
(*.f64 (pow.f64 x.im 2) x.re)

rewrite91.0ms (3.3%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
17×add-exp-log_binary64
12×add-sqr-sqrt_binary64
10×prod-exp_binary64
add-cbrt-cube_binary64 associate-*l*_binary64
add-cube-cbrt_binary64 *-un-lft-identity_binary64 associate-*r*_binary64
Counts
2 → 46
Calls

2 calls:

6.0ms
(*.f64 (*.f64 (pow.f64 x.im 2) x.re) -3)
6.0ms
(*.f64 (pow.f64 x.im 2) x.re)
Compiler

Compiled 732 to 532 computations (27.3% saved)

series36.0ms (1.3%)

Error
9.8b
Counts
2 → 12
Calls

2 calls:

18.0ms
(*.f64 (*.f64 (pow.f64 x.im 2) x.re) -3)
16.0ms
(*.f64 (pow.f64 x.im 2) x.re)
Compiler

Compiled 336 to 258 computations (23.2% saved)

simplify133.0ms (4.9%)

Algorithm
egg-herbie
Rules
387×unswap-sqr_binary64
357×distribute-rgt-in_binary64
339×associate-/l*_binary64
321×distribute-lft-in_binary64
258×*-commutative_binary64
Counts
58 → 31
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
078812
1155683
2505683
3801683
41194683
52286683
64358683
74989683
84992683
94983683

prune40.0ms (1.5%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New28331
Fresh055
Picked011
Done011
Total281038
Error
0.1b
Counts
38 → 10
Alt Table
StatusErrorProgram
37.5b
(+.f64 (pow.f64 x.re 3) (*.f64 (sqrt.f64 x.re) (*.f64 (*.f64 -3 (pow.f64 x.im 2)) (sqrt.f64 x.re))))
9.9b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (pow.f64 x.im 2) x.re) -3))
25.9b
(+.f64 (pow.f64 x.re 3) (*.f64 (sqrt.f64 (*.f64 -3 (*.f64 (pow.f64 x.im 2) x.re))) (sqrt.f64 (*.f64 -3 (*.f64 (pow.f64 x.im 2) x.re)))))
10.2b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (cbrt.f64 x.re) (cbrt.f64 x.re)) (*.f64 (*.f64 -3 (pow.f64 x.im 2)) (cbrt.f64 x.re))))
9.9b
(+.f64 (pow.f64 x.re 3) (*.f64 x.re (*.f64 (*.f64 x.im x.im) -3)))
34.3b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 x.im (*.f64 x.re (pow.f64 (sqrt.f64 x.im) 2))) -3))
10.2b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (cbrt.f64 (*.f64 -3 (*.f64 (pow.f64 x.im 2) x.re))) (cbrt.f64 (*.f64 -3 (*.f64 (pow.f64 x.im 2) x.re)))) (cbrt.f64 (*.f64 -3 (*.f64 (pow.f64 x.im 2) x.re)))))
3.9b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 x.im) (cbrt.f64 x.im)) 2) (*.f64 x.re (pow.f64 (cbrt.f64 x.im) 2))) -3))
9.9b
(+.f64 (pow.f64 x.re 3) (*.f64 x.re (*.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (cbrt.f64 -3) (cbrt.f64 -3))) (cbrt.f64 -3))))
0.2b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (pow.f64 x.im (/.f64 2 2)) (*.f64 x.im x.re)) -3))
Compiler

Compiled 575 to 419 computations (27.1% saved)

localize9.0ms (0.3%)

Local error

Found 2 expressions with local error:

0.2b
(*.f64 (pow.f64 x.im (/.f64 2 2)) (*.f64 x.im x.re))
0.2b
(*.f64 (*.f64 (pow.f64 x.im (/.f64 2 2)) (*.f64 x.im x.re)) -3)

rewrite89.0ms (3.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
36×add-exp-log_binary64
25×prod-exp_binary64
16×add-cbrt-cube_binary64
cbrt-unprod_binary64
associate-*l*_binary64
Counts
2 → 47
Calls

2 calls:

8.0ms
(*.f64 (*.f64 (pow.f64 x.im (/.f64 2 2)) (*.f64 x.im x.re)) -3)
6.0ms
(*.f64 (pow.f64 x.im (/.f64 2 2)) (*.f64 x.im x.re))
Compiler

Compiled 978 to 672 computations (31.3% saved)

series37.0ms (1.3%)

Error
0.1b
Counts
2 → 12
Calls

2 calls:

19.0ms
(*.f64 (*.f64 (pow.f64 x.im (/.f64 2 2)) (*.f64 x.im x.re)) -3)
16.0ms
(*.f64 (pow.f64 x.im (/.f64 2 2)) (*.f64 x.im x.re))
Compiler

Compiled 336 to 258 computations (23.2% saved)

simplify107.0ms (3.9%)

Algorithm
egg-herbie
Rules
501×distribute-rgt-in_binary64
448×distribute-lft-in_binary64
419×*-commutative_binary64
391×sqr-pow_binary64
199×times-frac_binary64
Counts
59 → 41
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
086856
1169702
2682702
31238702
41786702
52854702
64904702
74868702

prune43.0ms (1.6%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New38341
Fresh527
Picked011
Done022
Total43851
Error
0.0b
Counts
51 → 8
Alt Table
StatusErrorProgram
0.2b
(+.f64 (pow.f64 x.re 3) (*.f64 (pow.f64 x.im (/.f64 2 2)) (*.f64 -3 (*.f64 x.im x.re))))
9.9b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (pow.f64 x.im 2) x.re) -3))
10.2b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (cbrt.f64 x.re) (cbrt.f64 x.re)) (*.f64 (*.f64 -3 (pow.f64 x.im 2)) (cbrt.f64 x.re))))
37.5b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (pow.f64 (sqrt.f64 x.im) (/.f64 2 2)) (*.f64 x.re (pow.f64 x.im 3/2))) -3))
9.9b
(+.f64 (pow.f64 x.re 3) (*.f64 x.re (*.f64 (*.f64 x.im x.im) -3)))
0.6b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 x.im) (cbrt.f64 x.im)) (/.f64 2 2)) (*.f64 (*.f64 x.im x.re) (cbrt.f64 x.im))) -3))
9.9b
(+.f64 (pow.f64 x.re 3) (*.f64 x.re (*.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (cbrt.f64 -3) (cbrt.f64 -3))) (cbrt.f64 -3))))
0.2b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (pow.f64 x.im (/.f64 2 2)) (*.f64 x.im x.re)) -3))
Compiler

Compiled 628 to 471 computations (25% saved)

localize9.0ms (0.3%)

Local error

Found 2 expressions with local error:

0.1b
(*.f64 (pow.f64 x.im (/.f64 2 2)) (*.f64 -3 (*.f64 x.im x.re)))
0.3b
(*.f64 -3 (*.f64 x.im x.re))

rewrite84.0ms (3.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
31×add-exp-log_binary64
21×prod-exp_binary64
16×add-cbrt-cube_binary64
10×associate-*l*_binary64
cbrt-unprod_binary64
Counts
2 → 46
Calls

2 calls:

9.0ms
(*.f64 (pow.f64 x.im (/.f64 2 2)) (*.f64 -3 (*.f64 x.im x.re)))
5.0ms
(*.f64 -3 (*.f64 x.im x.re))
Compiler

Compiled 906 to 623 computations (31.2% saved)

series36.0ms (1.3%)

Error
0.0b
Counts
2 → 12
Calls

2 calls:

18.0ms
(*.f64 (pow.f64 x.im (/.f64 2 2)) (*.f64 -3 (*.f64 x.im x.re)))
16.0ms
(*.f64 -3 (*.f64 x.im x.re))
Compiler

Compiled 388 to 297 computations (23.5% saved)

simplify91.0ms (3.3%)

Algorithm
egg-herbie
Rules
616×associate-+l+_binary64
533×distribute-rgt-in_binary64
436×*-commutative_binary64
389×associate-+r+_binary64
383×sqr-pow_binary64
Counts
58 → 38
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
083860
1165707
2592707
31043707
41683707
53413707
64855707

prune40.0ms (1.5%)

Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New35338
Fresh224
Picked011
Done033
Total37946
Error
0.0b
Counts
46 → 9
Alt Table
StatusErrorProgram
0.2b
(+.f64 (pow.f64 x.re 3) (*.f64 (pow.f64 x.im (/.f64 2 2)) (*.f64 -3 (*.f64 x.im x.re))))
0.2b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 -3 x.im) (*.f64 x.im x.re)))
0.6b
(+.f64 (pow.f64 x.re 3) (*.f64 (pow.f64 (*.f64 (cbrt.f64 x.im) (cbrt.f64 x.im)) (/.f64 2 2)) (*.f64 (*.f64 -3 (*.f64 x.im x.re)) (cbrt.f64 x.im))))
9.9b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (pow.f64 x.im 2) x.re) -3))
10.2b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (cbrt.f64 x.re) (cbrt.f64 x.re)) (*.f64 (*.f64 -3 (pow.f64 x.im 2)) (cbrt.f64 x.re))))
37.5b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (pow.f64 (sqrt.f64 x.im) (/.f64 2 2)) (*.f64 x.re (pow.f64 x.im 3/2))) -3))
12.7b
(+.f64 (pow.f64 x.re 3) (*.f64 (pow.f64 x.im (/.f64 2 2)) (cbrt.f64 (pow.f64 (*.f64 -3 (*.f64 x.im x.re)) 3))))
9.9b
(+.f64 (pow.f64 x.re 3) (*.f64 x.re (*.f64 (*.f64 x.im x.im) -3)))
0.2b
(+.f64 (pow.f64 x.re 3) (*.f64 (*.f64 (pow.f64 x.im (/.f64 2 2)) (*.f64 x.im x.re)) -3))
Compiler

Compiled 484 to 350 computations (27.7% saved)

regimes340.0ms (12.5%)

Accuracy

Total 0.2b remaining (91.2%)

Threshold costs 0.2b (91.2%)

Compiler

Compiled 4887 to 3603 computations (26.3% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
unpow1_binary64 1-exp_binary64 +-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01620
12220
22020

end1.0ms (0%)

Compiler

Compiled 13 to 9 computations (30.8% saved)

sample815.0ms (29.9%)

Algorithm
intervals
Results
366.0ms8000×body128valid
19.0ms434×body128invalid
Compiler

Compiled 194 to 138 computations (28.9% saved)

Profiling

Loading profile data...