Details

Time bar (total: 5.6s)

analyze8.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%50%50%0
0%50%50%1
0%50%50%2
0%50%50%3
37.5%12.5%50%4
43.7%6.2%50%5
46.9%3.1%50%6
48.4%1.6%50%7
49.2%0.8%50%8
49.6%0.4%50%9
49.8%0.2%50%10
49.9%0.1%50%11
49.9%0%50%12
50%0%50%13
50%0%50%14
Compiler

Compiled 29 to 19 computations (34.5% saved)

sample1.4s (25.2%)

Results
1.3s8256×body128valid
Compiler

Compiled 84 to 55 computations (34.5% saved)

simplify55.0ms (1%)

Algorithm
egg-herbie
Rules
581×associate-/r*_binary64
510×distribute-rgt-in_binary64
489×distribute-lft-in_binary64
463×fma-neg_binary64
415×associate-/r/_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01131
14026
218517
391513
4234013
5445513
6495813
7507713

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.3b
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i))))
47.6b
(/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1))
Compiler

Compiled 107 to 73 computations (31.8% saved)

localize5.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 4 (/.f64 1 (*.f64 i i)))
0.3b
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i))))
0.7b
(/.f64 1 (*.f64 i i))

series11.0ms (0.2%)

Counts
3 → 36
Calls

3 calls:

6.0ms
(/.f64 1 (*.f64 i i))
3.0ms
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i))))
2.0ms
(-.f64 4 (/.f64 1 (*.f64 i i)))

rewrite23.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
59×add-sqr-sqrt_binary64
54×*-un-lft-identity_binary64
49×times-frac_binary64
34×add-cube-cbrt_binary64
21×prod-diff_binary64
Counts
3 → 134
Calls

3 calls:

7.0ms
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i))))
5.0ms
(-.f64 4 (/.f64 1 (*.f64 i i)))
3.0ms
(/.f64 1 (*.f64 i i))

simplify131.0ms (2.3%)

Algorithm
egg-herbie
Rules
817×fma-neg_binary64
446×unswap-sqr_binary64
408×associate-*l*_binary64
361×fma-def_binary64
294×associate-*r*_binary64
Counts
170 → 196
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02032573
13822324
29772089
334182089
446412081
549492081
647802081

prune223.0ms (4%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1924196
Fresh101
Picked101
Done000
Total1944198
Error
0.0b
Counts
198 → 4
Alt Table
StatusErrorProgram
19.1b
(/.f64 1/4 (+.f64 (fma.f64 (*.f64 (cbrt.f64 4) (cbrt.f64 4)) (cbrt.f64 4) (neg.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 i i))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 i i))) (cbrt.f64 (/.f64 1 (*.f64 i i))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 1 (*.f64 i i)))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 i i))) (cbrt.f64 (/.f64 1 (*.f64 i i)))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 i i))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 i i))) (cbrt.f64 (/.f64 1 (*.f64 i i))))))))
30.7b
(neg.f64 (fma.f64 (*.f64 i i) (fma.f64 i i 1/4) (fma.f64 4 (pow.f64 i 6) (*.f64 16 (pow.f64 i 8)))))
25.6b
(/.f64 1/4 (/.f64 (-.f64 16 (/.f64 1 (pow.f64 i 4))) (+.f64 (/.f64 1 (*.f64 i i)) 4)))
0.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 1/4)) (+.f64 2 (/.f64 1 i))) (/.f64 (cbrt.f64 1/4) (-.f64 2 (/.f64 1 i))))
Compiler

Compiled 3894 to 2878 computations (26.1% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 2 (/.f64 1 i))
0.1b
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 1/4)) (+.f64 2 (/.f64 1 i))) (/.f64 (cbrt.f64 1/4) (-.f64 2 (/.f64 1 i))))
0.2b
(/.f64 (cbrt.f64 1/4) (-.f64 2 (/.f64 1 i)))
0.2b
(/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 1/4)) (+.f64 2 (/.f64 1 i)))

series28.0ms (0.5%)

Counts
4 → 39
Calls

4 calls:

14.0ms
(/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 1/4)) (+.f64 2 (/.f64 1 i)))
6.0ms
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 1/4)) (+.f64 2 (/.f64 1 i))) (/.f64 (cbrt.f64 1/4) (-.f64 2 (/.f64 1 i))))
6.0ms
(/.f64 (cbrt.f64 1/4) (-.f64 2 (/.f64 1 i)))
1.0ms
(-.f64 2 (/.f64 1 i))

rewrite78.0ms (1.4%)

Algorithm
rewrite-expression-head
Rules
212×add-sqr-sqrt_binary64
177×times-frac_binary64
163×*-un-lft-identity_binary64
98×add-cube-cbrt_binary64
54×associate-*r*_binary64
Counts
4 → 277
Calls

4 calls:

29.0ms
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 1/4)) (+.f64 2 (/.f64 1 i))) (/.f64 (cbrt.f64 1/4) (-.f64 2 (/.f64 1 i))))
9.0ms
(/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 1/4)) (+.f64 2 (/.f64 1 i)))
7.0ms
(/.f64 (cbrt.f64 1/4) (-.f64 2 (/.f64 1 i)))
6.0ms
(-.f64 2 (/.f64 1 i))

simplify179.0ms (3.2%)

Algorithm
egg-herbie
Rules
854×fma-def_binary64
815×times-frac_binary64
267×associate-*r/_binary64
261×associate-*l/_binary64
231×associate-*l*_binary64
Counts
316 → 419
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03728462
19657103
232907073
354707073

prune517.0ms (9.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New4172419
Fresh213
Picked011
Done000
Total4194423
Error
0.0b
Counts
423 → 4
Alt Table
StatusErrorProgram
23.4b
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 1/4)) (+.f64 2 (/.f64 1 i))) (*.f64 (/.f64 (cbrt.f64 1/4) (-.f64 8 (/.f64 1 (pow.f64 i 3)))) (+.f64 (*.f64 2 2) (+.f64 (*.f64 (/.f64 1 i) (/.f64 1 i)) (*.f64 2 (/.f64 1 i))))))
30.7b
(neg.f64 (fma.f64 4 (pow.f64 i 6) (fma.f64 1/4 (*.f64 i i) (pow.f64 i 4))))
25.6b
(/.f64 1/4 (/.f64 (-.f64 16 (/.f64 1 (pow.f64 i 4))) (+.f64 (/.f64 1 (*.f64 i i)) 4)))
0.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 1/4)) (+.f64 2 (/.f64 1 i))) (/.f64 (cbrt.f64 1/4) (-.f64 2 (/.f64 1 i))))
Compiler

Compiled 13636 to 11918 computations (12.6% saved)

localize21.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 1 i) (/.f64 1 i))
0.4b
(/.f64 1 (pow.f64 i 3))
0.5b
(/.f64 (cbrt.f64 1/4) (-.f64 8 (/.f64 1 (pow.f64 i 3))))
22.7b
(*.f64 (/.f64 (cbrt.f64 1/4) (-.f64 8 (/.f64 1 (pow.f64 i 3)))) (+.f64 (*.f64 2 2) (+.f64 (*.f64 (/.f64 1 i) (/.f64 1 i)) (*.f64 2 (/.f64 1 i)))))

series24.0ms (0.4%)

Counts
4 → 36
Calls

4 calls:

8.0ms
(/.f64 (cbrt.f64 1/4) (-.f64 8 (/.f64 1 (pow.f64 i 3))))
7.0ms
(/.f64 1 (pow.f64 i 3))
6.0ms
(*.f64 (/.f64 (cbrt.f64 1/4) (-.f64 8 (/.f64 1 (pow.f64 i 3)))) (+.f64 (*.f64 2 2) (+.f64 (*.f64 (/.f64 1 i) (/.f64 1 i)) (*.f64 2 (/.f64 1 i)))))
3.0ms
(*.f64 (/.f64 1 i) (/.f64 1 i))

rewrite119.0ms (2.1%)

Algorithm
rewrite-expression-head
Rules
422×add-sqr-sqrt_binary64
358×times-frac_binary64
229×*-un-lft-identity_binary64
130×add-cube-cbrt_binary64
117×difference-of-squares_binary64
Counts
4 → 410
Calls

4 calls:

34.0ms
(*.f64 (/.f64 (cbrt.f64 1/4) (-.f64 8 (/.f64 1 (pow.f64 i 3)))) (+.f64 (*.f64 2 2) (+.f64 (*.f64 (/.f64 1 i) (/.f64 1 i)) (*.f64 2 (/.f64 1 i)))))
15.0ms
(/.f64 (cbrt.f64 1/4) (-.f64 8 (/.f64 1 (pow.f64 i 3))))
11.0ms
(*.f64 (/.f64 1 i) (/.f64 1 i))
7.0ms
(/.f64 1 (pow.f64 i 3))

simplify307.0ms (5.5%)

Algorithm
egg-herbie
Rules
298×distribute-rgt-in_binary64
281×distribute-lft-in_binary64
223×*-commutative_binary64
205×associate-*r*_binary64
204×associate-*l*_binary64
Counts
446 → 530
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
039511136
1112210321
239359781
346519781
449369781

prune809.0ms (14.4%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New5300530
Fresh022
Picked011
Done011
Total5304534
Error
0.0b
Counts
534 → 4
Alt Table
StatusErrorProgram
23.4b
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 1/4)) (+.f64 2 (/.f64 1 i))) (*.f64 (/.f64 (cbrt.f64 1/4) (-.f64 8 (/.f64 1 (pow.f64 i 3)))) (+.f64 (*.f64 2 2) (+.f64 (*.f64 (/.f64 1 i) (/.f64 1 i)) (*.f64 2 (/.f64 1 i))))))
30.7b
(neg.f64 (fma.f64 4 (pow.f64 i 6) (fma.f64 1/4 (*.f64 i i) (pow.f64 i 4))))
25.6b
(/.f64 1/4 (/.f64 (-.f64 16 (/.f64 1 (pow.f64 i 4))) (+.f64 (/.f64 1 (*.f64 i i)) 4)))
0.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 1/4)) (+.f64 2 (/.f64 1 i))) (/.f64 (cbrt.f64 1/4) (-.f64 2 (/.f64 1 i))))
Compiler

Compiled 26823 to 23315 computations (13.1% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (pow.f64 i 4))
0.3b
(/.f64 1/4 (/.f64 (-.f64 16 (/.f64 1 (pow.f64 i 4))) (+.f64 (/.f64 1 (*.f64 i i)) 4)))
0.7b
(/.f64 1 (*.f64 i i))
25.5b
(/.f64 (-.f64 16 (/.f64 1 (pow.f64 i 4))) (+.f64 (/.f64 1 (*.f64 i i)) 4))

series9.0ms (0.2%)

Counts
3 → 24
Calls

3 calls:

3.0ms
(/.f64 1/4 (/.f64 (-.f64 16 (/.f64 1 (pow.f64 i 4))) (+.f64 (/.f64 1 (*.f64 i i)) 4)))
3.0ms
(/.f64 (-.f64 16 (/.f64 1 (pow.f64 i 4))) (+.f64 (/.f64 1 (*.f64 i i)) 4))
2.0ms
(/.f64 1 (pow.f64 i 4))

rewrite134.0ms (2.4%)

Algorithm
rewrite-expression-head
Rules
675×times-frac_binary64
567×add-sqr-sqrt_binary64
516×*-un-lft-identity_binary64
182×difference-of-squares_binary64
177×add-cube-cbrt_binary64
Counts
3 → 435
Calls

3 calls:

24.0ms
(/.f64 (-.f64 16 (/.f64 1 (pow.f64 i 4))) (+.f64 (/.f64 1 (*.f64 i i)) 4))
24.0ms
(/.f64 1/4 (/.f64 (-.f64 16 (/.f64 1 (pow.f64 i 4))) (+.f64 (/.f64 1 (*.f64 i i)) 4)))
3.0ms
(/.f64 1 (pow.f64 i 4))

simplify501.0ms (8.9%)

Algorithm
egg-herbie
Rules
447×times-frac_binary64
420×fma-def_binary64
328×distribute-rgt-in_binary64
306×distribute-lft-in_binary64
299×fma-neg_binary64
Counts
459 → 443
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
040516687
190616267
2278016053
3437315405
4470915405
5497215405
6488515405

prune509.0ms (9%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New4830483
Fresh011
Picked011
Done022
Total4834487
Error
0.0b
Counts
487 → 4
Alt Table
StatusErrorProgram
23.4b
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 1/4)) (+.f64 2 (/.f64 1 i))) (*.f64 (/.f64 (cbrt.f64 1/4) (-.f64 8 (/.f64 1 (pow.f64 i 3)))) (+.f64 (*.f64 2 2) (+.f64 (*.f64 (/.f64 1 i) (/.f64 1 i)) (*.f64 2 (/.f64 1 i))))))
30.7b
(neg.f64 (fma.f64 4 (pow.f64 i 6) (fma.f64 1/4 (*.f64 i i) (pow.f64 i 4))))
25.6b
(/.f64 1/4 (/.f64 (-.f64 16 (/.f64 1 (pow.f64 i 4))) (+.f64 (/.f64 1 (*.f64 i i)) 4)))
0.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 1/4)) (+.f64 2 (/.f64 1 i))) (/.f64 (cbrt.f64 1/4) (-.f64 2 (/.f64 1 i))))
Compiler

Compiled 15955 to 12509 computations (21.6% saved)

regimes397.0ms (7%)

Accuracy

Total 0.1b remaining (97.5%)

Threshold costs 0.1b (97.5%)

Counts
193 → 1
Compiler

Compiled 7160 to 6039 computations (15.7% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
distribute-neg-frac_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01226
11826
22426
32626
42726
52526

end99.0ms (1.8%)

Compiler

Compiled 131 to 111 computations (15.3% saved)

Profiling

Loading profile data...