Details

Time bar (total: 8.4s)

analyze537.0ms (6.4%)

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
50%50%0.1%5
50%50%0.1%6
50%40.6%9.5%7
50%39%11%8
50%33.6%16.5%9
50%32.4%17.7%10
50%29.5%20.6%11
50%28.8%21.3%12
50%27.3%22.8%13
50%26.9%23.1%14
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample6.0s (72%)

Results
2.9s4208×body1024valid
1.1s2035×body1024invalid
796.0ms2090×body512valid
363.0ms1034×body512invalid
265.0ms1046×body256valid
240.0ms222×body2048valid
128.0ms527×body256invalid
111.0ms746×body128invalid
95.0ms690×body128valid
1.0msbody2048invalid
Compiler

Compiled 28 to 22 computations (21.4% saved)

preprocess44.0ms (0.5%)

Algorithm
egg-herbie
Rules
816×fma-def_binary64
600×times-frac_binary64
456×fma-neg_binary64
228×distribute-rgt-neg-in_binary64
146×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01836
13936
29336
324736
455734
5113034
6209234
7401934
022
Stop Event
saturated
node limit
Compiler

Compiled 13 to 10 computations (23.1% saved)

simplify26.0ms (0.3%)

Algorithm
egg-herbie
Rules
454×fma-def_binary64
444×times-frac_binary64
365×distribute-rgt-neg-in_binary64
340×fma-neg_binary64
297×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01118
12318
25118
312618
428617
558117
6138417
7279317
Stop Event
node limit
Counts
1 → 2

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
41.4b
Counts
3 → 1
Alt Table
StatusErrorProgram
41.4b
(*.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)))
5.4b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))

series19.0ms (0.2%)

Counts
2 → 32
Calls

9 calls:

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

rewrite78.0ms (0.9%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
118×add-sqr-sqrt_binary64
118×add-sqr-sqrt_binary64
113×*-un-lft-identity_binary64
113×pow1_binary64
113×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01120
122820
2351020
0610
112710
2208510
0610
01118
122818
2350918
01118
Stop Event
iter limit
unsound
iter limit
unsound
unsound
Counts
2 → 18

simplify41.0ms (0.5%)

Algorithm
egg-herbie
Rules
698×fma-def_binary64
411×sub-neg_binary64
240×associate-*l*_binary64
225×cancel-sign-sub-inv_binary64
221×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0100734
1305716
21029666
34524666
Stop Event
node limit
Counts
50 → 46

prune40.0ms (0.5%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New44246
Fresh000
Picked011
Done000
Total44347
Error
0.1b
Counts
47 → 3
Alt Table
StatusErrorProgram
41.4b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0b
(neg.f64 (+.f64 (*.f64 (sin.f64 re) im) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
43.5b
(fma.f64 1/2 (/.f64 re (exp.f64 im)) (+.f64 (*.f64 (*.f64 1/12 (pow.f64 re 3)) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (exp.f64 im) (*.f64 re -1/2))))
Compiler

Compiled 1062 to 552 computations (48% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sin.f64 re) (pow.f64 im 5))
0.1b
(*.f64 (sin.f64 re) (pow.f64 im 3))
0.1b
(*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
0.1b
(*.f64 (sin.f64 re) im)

series56.0ms (0.7%)

Counts
4 → 16
Calls

24 calls:

5.0ms
(*.f64 (sin.f64 re) (pow.f64 im 5))
re
-inf
4.0ms
(*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
im
-inf
3.0ms
(*.f64 (sin.f64 re) (pow.f64 im 5))
re
inf
3.0ms
(*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
re
-inf
3.0ms
(*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
re
inf

rewrite51.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
614×log-prod_binary64
225×expm1-udef_binary64
225×log1p-udef_binary64
191×log-pow_binary64
130×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01336
127536
2305736
Stop Event
node limit
Counts
4 → 70

simplify35.0ms (0.4%)

Algorithm
egg-herbie
Rules
580×associate-*l*_binary64
525×associate-*r*_binary64
413×fma-def_binary64
360×cancel-sign-sub-inv_binary64
272×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
062430
1207362
2855302
34536302
Stop Event
node limit
Counts
86 → 99

prune103.0ms (1.2%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New97299
Fresh011
Picked011
Done011
Total975102
Error
0.1b
Counts
102 → 5
Alt Table
StatusErrorProgram
41.4b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
35.3b
(neg.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) im) 3)) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
2.0b
(neg.f64 (+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) im)) 3) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
1.0b
(neg.f64 (+.f64 (*.f64 (sin.f64 re) im) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
43.5b
(fma.f64 1/2 (/.f64 re (exp.f64 im)) (+.f64 (*.f64 (*.f64 1/12 (pow.f64 re 3)) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (exp.f64 im) (*.f64 re -1/2))))
Compiler

Compiled 3139 to 2002 computations (36.2% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
0.1b
(*.f64 (sin.f64 re) im)
0.6b
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) im)) 3)
16.3b
(cbrt.f64 (*.f64 (sin.f64 re) im))

series150.0ms (1.8%)

Counts
2 → 16
Calls

12 calls:

28.0ms
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) im)) 3)
re
-inf
28.0ms
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) im)) 3)
re
inf
25.0ms
(cbrt.f64 (*.f64 (sin.f64 re) im))
re
inf
23.0ms
(cbrt.f64 (*.f64 (sin.f64 re) im))
re
-inf
19.0ms
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) im)) 3)
im
-inf

rewrite39.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
638×pow1_binary64
596×add-log-exp_binary64
596×log1p-expm1-u_binary64
596×expm1-log1p-u_binary64
71×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
116614
2166914
Stop Event
node limit
Counts
2 → 56

simplify71.0ms (0.8%)

Algorithm
egg-herbie
Rules
730×sqr-pow_binary64
370×cube-prod_binary64
362×unswap-sqr_binary64
313×pow-sqr_binary64
283×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07112
114112
219112
328112
450112
5139112
6519112
71180112
81270112
91406112
101567112
111798112
122123112
132547112
143050112
153650112
164375112
174698112
184984112
Stop Event
node limit
Counts
72 → 57

prune120.0ms (1.4%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New1024106
Fresh022
Picked011
Done022
Total1029111
Error
0.0b
Counts
111 → 9
Alt Table
StatusErrorProgram
41.4b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
36.2b
(neg.f64 (+.f64 (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (sin.f64 re))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
2.0b
(neg.f64 (+.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 (cbrt.f64 im) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) im)) 2))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
35.3b
(neg.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) im) 3)) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
32.7b
(neg.f64 (+.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) im)) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
2.0b
(neg.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (sin.f64 re))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
2.0b
(neg.f64 (+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) im)) 3) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
1.0b
(neg.f64 (+.f64 (*.f64 (sin.f64 re) im) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
43.5b
(fma.f64 1/2 (/.f64 re (exp.f64 im)) (+.f64 (*.f64 (*.f64 1/12 (pow.f64 re 3)) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (exp.f64 im) (*.f64 re -1/2))))
Compiler

Compiled 3729 to 2291 computations (38.6% saved)

localize22.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) im)) 2)
0.6b
(cbrt.f64 (sin.f64 re))
0.6b
(cbrt.f64 im)
16.3b
(cbrt.f64 (*.f64 (sin.f64 re) im))

series129.0ms (1.5%)

Counts
3 → 16
Calls

12 calls:

25.0ms
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) im)) 2)
re
inf
24.0ms
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) im)) 2)
re
-inf
20.0ms
(cbrt.f64 (sin.f64 re))
re
inf
19.0ms
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) im)) 2)
im
-inf
19.0ms
(cbrt.f64 (sin.f64 re))
re
-inf

rewrite47.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
790×pow1_binary64
726×log1p-expm1-u_binary64
726×expm1-log1p-u_binary64
90×add-sqr-sqrt_binary64
87×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01019
119419
2207819
Stop Event
node limit
Counts
3 → 63

simplify95.0ms (1.1%)

Algorithm
egg-herbie
Rules
2215×associate-*l*_binary64
724×sqr-pow_binary64
290×pow-sqr_binary64
276×unswap-sqr_binary64
248×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011152
128152
256152
3137152
4512152
51058152
61149152
71288152
81461152
91650152
101886152
112163152
122483152
132855152
143264152
153697152
163893152
173997152
184069152
194123152
Stop Event
node limit
Counts
79 → 66

prune110.0ms (1.3%)

Pruning

10 alts after pruning (6 fresh and 4 done)

PrunedKeptTotal
New88189
Fresh055
Picked011
Done033
Total881098
Error
0.0b
Counts
98 → 10
Alt Table
StatusErrorProgram
41.4b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
36.2b
(neg.f64 (+.f64 (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (sin.f64 re))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
2.0b
(neg.f64 (+.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 (cbrt.f64 im) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) im)) 2))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
35.3b
(neg.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) im) 3)) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
32.7b
(neg.f64 (+.f64 (*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) im)) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
2.0b
(neg.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (sin.f64 re))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
2.0b
(neg.f64 (+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) im)) 3) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
1.0b
(neg.f64 (+.f64 (*.f64 (sin.f64 re) im) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
2.6b
(neg.f64 (+.f64 (*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 (cbrt.f64 im) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 re) im))) 3) 2))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 re) (pow.f64 im 5))) (*.f64 1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))))))
43.5b
(fma.f64 1/2 (/.f64 re (exp.f64 im)) (+.f64 (*.f64 (*.f64 1/12 (pow.f64 re 3)) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (exp.f64 im) (*.f64 re -1/2))))
Compiler

Compiled 3592 to 1965 computations (45.3% saved)

regimes229.0ms (2.7%)

Accuracy

Total 0.8b remaining (89.1%)

Threshold costs 0.8b (89.1%)

Counts
33 → 1
Compiler

Compiled 5026 to 3517 computations (30% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01836
13236
25034
38034
410434
511634
612234
712434
Stop Event
saturated

end263.0ms (3.1%)

Stop Event
fuel
Compiler

Compiled 332 to 227 computations (31.6% saved)

Profiling

Loading profile data...