Details

Time bar (total: 9.3s)

analyze1.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
99.9%0%0.1%1
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample3.2s (34%)

Results
1.9s3119×body1024valid
548.0ms1642×body512valid
319.0ms2630×body128valid
163.0ms742×body256valid
118.0ms123×body2048valid
Compiler

Compiled 41 to 32 computations (22% saved)

simplify117.0ms (1.3%)

Algorithm
egg-herbie
Rules
454×fma-def_binary64
444×times-frac_binary64
419×sub-neg_binary64
365×distribute-rgt-neg-in_binary64
340×fma-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01118
12318
24918
310618
422517
544917
696217
7171317
8358817
9428217
10477317
11492317
12495717
13474817

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
20.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
20.7b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 50 to 35 computations (30% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series22.0ms (0.2%)

Counts
2 → 32
Calls

2 calls:

19.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
3.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

rewrite24.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
29×*-un-lft-identity_binary64
29×add-sqr-sqrt_binary64
27×prod-diff_binary64
25×add-cube-cbrt_binary64
13×distribute-lft-in_binary64
Counts
2 → 80
Calls

2 calls:

10.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

simplify105.0ms (1.1%)

Algorithm
egg-herbie
Rules
584×fma-neg_binary64
356×cancel-sign-sub-inv_binary64
302×distribute-rgt-in_binary64
277×associate-*r*_binary64
274×associate-*l*_binary64
Counts
112 → 124
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02252646
15472347
220432132
344152127
448972127

prune82.0ms (0.9%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1222124
Fresh000
Picked011
Done000
Total1223125
Error
0.1b
Counts
125 → 3
Alt Table
StatusErrorProgram
55.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
9.3b
(*.f64 (sin.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))
20.7b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 3242 to 1136 computations (65% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))
0.1b
(*.f64 1/6 (pow.f64 im 3))
3.1b
(*.f64 (sin.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))

series35.0ms (0.4%)

Counts
3 → 36
Calls

3 calls:

28.0ms
(*.f64 (sin.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))
3.0ms
(-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))
3.0ms
(*.f64 1/6 (pow.f64 im 3))

rewrite27.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
30×prod-diff_binary64
30×add-sqr-sqrt_binary64
21×*-un-lft-identity_binary64
21×add-cube-cbrt_binary64
15×associate-*r*_binary64
Counts
3 → 115
Calls

3 calls:

12.0ms
(*.f64 (sin.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))
5.0ms
(*.f64 1/6 (pow.f64 im 3))
4.0ms
(-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))

simplify113.0ms (1.2%)

Algorithm
egg-herbie
Rules
769×fma-neg_binary64
690×fma-def_binary64
312×cancel-sign-sub-inv_binary64
221×associate-*r*_binary64
208×distribute-rgt-in_binary64
Counts
151 → 176
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02082826
14742389
215452168
346582168
450862168

prune199.0ms (2.1%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1724176
Fresh011
Picked011
Done011
Total1727179
Error
0.0b
Counts
179 → 7
Alt Table
StatusErrorProgram
36.2b
(*.f64 (*.f64 (sin.f64 re) (sqrt.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)))) (sqrt.f64 (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))))
22.2b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))) (*.f64 (sin.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))) (*.f64 (sin.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))))
9.7b
(*.f64 (*.f64 (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))))
9.7b
(*.f64 (*.f64 (sin.f64 re) (*.f64 (cbrt.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im))) (cbrt.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im))))) (cbrt.f64 (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))))
55.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
9.3b
(*.f64 (sin.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))
20.7b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 3786 to 2352 computations (37.9% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))))
0.4b
(*.f64 (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))))
3.1b
(*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))
26.9b
(cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))

series1.9s (21%)

Counts
4 → 96
Calls

4 calls:

1.1s
(*.f64 (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))))
676.0ms
(cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))
99.0ms
(*.f64 (*.f64 (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))))
23.0ms
(*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))

rewrite37.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
41×cbrt-prod_binary64
32×pow1_binary64
29×add-sqr-sqrt_binary64
21×associate-*r*_binary64
17×*-un-lft-identity_binary64
Counts
4 → 128
Calls

4 calls:

15.0ms
(*.f64 (*.f64 (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))))
8.0ms
(*.f64 (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))))
3.0ms
(*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))
1.0ms
(cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))

simplify299.0ms (3.2%)

Algorithm
egg-herbie
Rules
587×associate-*l*_binary64
424×times-frac_binary64
413×fma-def_binary64
307×associate-/l*_binary64
264×associate-/r*_binary64
Counts
224 → 283
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
063611262
1180810517
2562510517

prune1.1s (12.1%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New4883491
Fresh134
Picked011
Done022
Total4899498
Error
0.0b
Counts
498 → 9
Alt Table
StatusErrorProgram
9.7b
(*.f64 (*.f64 (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))))
36.2b
(*.f64 (*.f64 (sin.f64 re) (sqrt.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)))) (sqrt.f64 (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))))
9.7b
(*.f64 (*.f64 (sin.f64 re) (*.f64 (cbrt.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im))) (cbrt.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im))))) (cbrt.f64 (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))))
22.2b
(cbrt.f64 (*.f64 (*.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))) (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))))
55.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
9.3b
(*.f64 (sin.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))
20.7b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
9.7b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cbrt.f64 (fma.f64 1/6 (pow.f64 im 3) im))) (*.f64 (cbrt.f64 (neg.f64 (sin.f64 re))) (cbrt.f64 (neg.f64 (sin.f64 re))))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))))
9.7b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))) (cbrt.f64 (fma.f64 1/6 (pow.f64 im 3) im))) (cbrt.f64 (neg.f64 (sin.f64 re))))
Compiler

Compiled 32682 to 23362 computations (28.5% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.3b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))) (cbrt.f64 (fma.f64 1/6 (pow.f64 im 3) im))) (cbrt.f64 (neg.f64 (sin.f64 re))))
3.1b
(*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))
23.6b
(cbrt.f64 (fma.f64 1/6 (pow.f64 im 3) im))
26.9b
(cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))

series100.0ms (1.1%)

Counts
2 → 36
Calls

2 calls:

92.0ms
(*.f64 (*.f64 (*.f64 (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))) (cbrt.f64 (fma.f64 1/6 (pow.f64 im 3) im))) (cbrt.f64 (neg.f64 (sin.f64 re))))
7.0ms
(cbrt.f64 (fma.f64 1/6 (pow.f64 im 3) im))

rewrite18.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
13×associate-*r*_binary64
13×cbrt-prod_binary64
11×add-exp-log_binary64
11×pow1_binary64
pow-prod-down_binary64
Counts
2 → 47
Calls

2 calls:

13.0ms
(*.f64 (*.f64 (*.f64 (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))) (cbrt.f64 (fma.f64 1/6 (pow.f64 im 3) im))) (cbrt.f64 (neg.f64 (sin.f64 re))))
1.0ms
(cbrt.f64 (fma.f64 1/6 (pow.f64 im 3) im))

simplify172.0ms (1.9%)

Algorithm
egg-herbie
Rules
605×fma-def_binary64
320×fma-neg_binary64
274×distribute-rgt-in_binary64
272×cancel-sign-sub-inv_binary64
264×distribute-lft-in_binary64
Counts
83 → 102
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02033281
15603044
219432760
347572760
450002760
549352760

prune593.0ms (6.4%)

Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New3100310
Fresh055
Picked011
Done033
Total3109319
Error
0.0b
Counts
319 → 9
Alt Table
StatusErrorProgram
9.7b
(*.f64 (*.f64 (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))))
36.2b
(*.f64 (*.f64 (sin.f64 re) (sqrt.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im)))) (sqrt.f64 (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))))
9.7b
(*.f64 (*.f64 (sin.f64 re) (*.f64 (cbrt.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im))) (cbrt.f64 (neg.f64 (fma.f64 1/6 (pow.f64 im 3) im))))) (cbrt.f64 (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3)))))
22.2b
(cbrt.f64 (*.f64 (*.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))) (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))))
55.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
9.3b
(*.f64 (sin.f64 re) (-.f64 (neg.f64 im) (*.f64 1/6 (pow.f64 im 3))))
20.7b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
9.7b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 1/6 (pow.f64 im 3) im)) (cbrt.f64 (fma.f64 1/6 (pow.f64 im 3) im))) (*.f64 (cbrt.f64 (neg.f64 (sin.f64 re))) (cbrt.f64 (neg.f64 (sin.f64 re))))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))))
9.7b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re)))) (cbrt.f64 (neg.f64 (*.f64 (fma.f64 1/6 (pow.f64 im 3) im) (sin.f64 re))))) (cbrt.f64 (fma.f64 1/6 (pow.f64 im 3) im))) (cbrt.f64 (neg.f64 (sin.f64 re))))
Compiler

Compiled 19077 to 12875 computations (32.5% saved)

regimes850.0ms (9.2%)

Accuracy

Total 0.1b remaining (65.7%)

Threshold costs 0.1b (65.7%)

Counts
66 → 3
Compiler

Compiled 9809 to 6983 computations (28.8% saved)

bsearch3.0ms (0%)

Compiler

Compiled 8 to 6 computations (25% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02465
14065
25265
36165
46565
56665
66665

end202.0ms (2.2%)

Compiler

Compiled 341 to 226 computations (33.7% saved)

Profiling

Loading profile data...