Details

Time bar (total: 6.3s)

analyze579.0ms (9.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
25%74.9%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
Compiler

Compiled 15 to 12 computations (20% saved)

sample116.0ms (1.8%)

Algorithm
intervals
Results
36.0ms75×body1024valid
29.0ms64×body1024invalid
11.0ms142×body128valid
7.0ms32×body512invalid
6.0ms80×body128invalid
6.0ms25×body512valid
3.0ms23×body256invalid
2.0ms14×body256valid
Compiler

Compiled 31 to 25 computations (19.4% saved)

simplify83.0ms (1.3%)

Algorithm
egg-herbie
Rules
778×unswap-sqr_binary64
536×fma-def_binary64
491×associate-/r*_binary64
476×fabs-mul_binary64
360×associate-/l*_binary64
Counts
1 → 1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01218
12718
26518
310417
413717
519617
632917
773617
8224217
9225017
10261917
11412817
12456317
13539117

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
0.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Compiler

Compiled 41 to 31 computations (24.4% saved)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))

rewrite57.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
16×pow1_binary64
10×pow-prod-down_binary64
add-exp-log_binary64
add-sqr-sqrt_binary64
flip3-+_binary64
Counts
1 → 49
Calls

1 calls:

18.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Compiler

Compiled 1024 to 653 computations (36.2% saved)

series32.0ms (0.5%)

Error
0.0b
Counts
1 → 11
Calls

1 calls:

25.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Compiler

Compiled 536 to 356 computations (33.6% saved)

simplify75.0ms (1.2%)

Algorithm
egg-herbie
Rules
692×fma-def_binary64
495×fma-neg_binary64
359×cancel-sign-sub-inv_binary64
311×distribute-rgt-in_binary64
206×associate-*l*_binary64
Counts
60 → 43
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01361392
14171165
217331124
345691124
449341124

prune27.0ms (0.4%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New40343
Fresh000
Picked011
Done000
Total40444
Error
0b
Counts
44 → 4
Alt Table
StatusErrorProgram
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.2b
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
31.9b
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
0.1b
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
Compiler

Compiled 743 to 404 computations (45.6% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(/.f64 1/2 (exp.f64 im))
0.0b
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
0.1b
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
0.4b
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)))

rewrite159.0ms (2.5%)

Algorithm
rewrite-expression-head
Error
0b
Rules
31×add-cube-cbrt_binary64
23×pow1_binary64
20×add-sqr-sqrt_binary64
18×add-cbrt-cube_binary64
14×add-exp-log_binary64
Counts
4 → 143
Calls

4 calls:

14.0ms
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
13.0ms
(/.f64 1/2 (exp.f64 im))
9.0ms
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)))
9.0ms
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
Compiler

Compiled 2413 to 1415 computations (41.4% saved)

series262.0ms (4.2%)

Error
0b
Counts
4 → 38
Calls

4 calls:

131.0ms
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
68.0ms
(log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)))
29.0ms
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
7.0ms
(/.f64 1/2 (exp.f64 im))
Compiler

Compiled 2566 to 1787 computations (30.4% saved)

simplify96.0ms (1.5%)

Algorithm
egg-herbie
Rules
853×times-frac_binary64
371×cancel-sign-sub-inv_binary64
222×unswap-sqr_binary64
174×fma-def_binary64
172×associate-*r*_binary64
Counts
181 → 103
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02763354
16642979
224092934
351212934

prune62.0ms (1%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1030103
Fresh022
Picked011
Done011
Total1034107
Error
0b
Counts
107 → 4
Alt Table
StatusErrorProgram
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.2b
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
31.9b
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
0.1b
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
Compiler

Compiled 1820 to 1024 computations (43.7% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
0.2b
(*.f64 (sin.f64 re) (*.f64 im im))

rewrite57.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
10×add-exp-log_binary64
10×add-sqr-sqrt_binary64
pow1_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
2 → 68
Calls

2 calls:

13.0ms
(*.f64 (sin.f64 re) (*.f64 im im))
10.0ms
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
Compiler

Compiled 948 to 302 computations (68.1% saved)

series48.0ms (0.8%)

Error
0b
Counts
2 → 18
Calls

2 calls:

27.0ms
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
15.0ms
(*.f64 (sin.f64 re) (*.f64 im im))
Compiler

Compiled 613 to 443 computations (27.7% saved)

simplify82.0ms (1.3%)

Algorithm
egg-herbie
Rules
713×fma-neg_binary64
506×cancel-sign-sub-inv_binary64
482×prod-exp_binary64
317×distribute-rgt-neg-in_binary64
302×*-commutative_binary64
Counts
86 → 55
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01001167
12631050
2921975
32496943
44072937
55205937

prune33.0ms (0.5%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New55055
Fresh011
Picked011
Done022
Total55459
Error
0b
Counts
59 → 4
Alt Table
StatusErrorProgram
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.2b
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
31.9b
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
0.1b
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
Compiler

Compiled 660 to 323 computations (51.1% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
0.0b
(/.f64 re (exp.f64 im))

rewrite53.0ms (0.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
21×add-cube-cbrt_binary64
10×add-cbrt-cube_binary64
pow1_binary64
add-sqr-sqrt_binary64
add-exp-log_binary64
Counts
2 → 79
Calls

2 calls:

14.0ms
(/.f64 re (exp.f64 im))
9.0ms
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
Compiler

Compiled 1073 to 323 computations (69.9% saved)

series38.0ms (0.6%)

Error
0b
Counts
2 → 18
Calls

2 calls:

18.0ms
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
12.0ms
(/.f64 re (exp.f64 im))
Compiler

Compiled 552 to 355 computations (35.7% saved)

simplify74.0ms (1.2%)

Algorithm
egg-herbie
Rules
784×associate-*l*_binary64
736×times-frac_binary64
498×fma-neg_binary64
366×fma-def_binary64
308×associate-/l*_binary64
Counts
97 → 44
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0109980
1270939
2919928
34947928
45339928

prune55.0ms (0.9%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New44044
Fresh000
Picked011
Done033
Total44448
Error
0b
Counts
48 → 4
Alt Table
StatusErrorProgram
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.2b
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
31.9b
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
0.1b
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
Compiler

Compiled 613 to 251 computations (59.1% saved)

regimes315.0ms (5%)

Accuracy

Total 0.0b remaining (19.6%)

Threshold costs 0.0b (19.6%)

Compiler

Compiled 3477 to 2660 computations (23.5% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub0-neg_binary64
sub-neg_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01224
11624
21924
32024
42024

end1.0ms (0%)

Compiler

Compiled 17 to 12 computations (29.4% saved)

sample4.0s (62.8%)

Algorithm
intervals
Results
1.3s2065×body1024valid
812.0ms1936×body1024invalid
373.0ms4504×body128valid
266.0ms1001×body512invalid
236.0ms929×body512valid
224.0ms2574×body128invalid
81.0ms499×body256invalid
78.0ms496×body256valid
8.0msbody2048valid
Compiler

Compiled 87 to 62 computations (28.7% saved)

Profiling

Loading profile data...