Details

Time bar (total: 3.1s)

analyze1.0ms (0%)

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

Compiled 22 to 12 computations (45.5% saved)

sample1.0s (32.6%)

Results
909.0ms8256×body128valid
Compiler

Compiled 65 to 35 computations (46.2% saved)

simplify132.0ms (4.2%)

Algorithm
egg-herbie
Rules
613×sub-neg_binary64
578×fma-neg_binary64
529×neg-mul-1_binary64
501×neg-sub0_binary64
455×unsub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01224
12623
26023
313016
433516
588116
6149616
7351116
8406116
9397716
10461416
11477116
12491816
13491416

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
5.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
12.1b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
5.2b
(*.f64 x.im (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))
Compiler

Compiled 100 to 54 computations (46% saved)

localize7.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
2.1b
(fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))
3.2b
(*.f64 x.im (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))

series25.0ms (0.8%)

Counts
2 → 48
Calls

2 calls:

17.0ms
(*.f64 x.im (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))
9.0ms
(fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))

rewrite7.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
2 → 32
Calls

2 calls:

3.0ms
(*.f64 x.im (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))
0.0ms
(fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))

simplify109.0ms (3.5%)

Algorithm
egg-herbie
Rules
435×exp-prod_binary64
356×unswap-sqr_binary64
355×fma-def_binary64
319×*-commutative_binary64
271×associate-*l*_binary64
Counts
80 → 66
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0571276
11161183
23361183
311361183
421051183
544651183
649491183
749161183

prune86.0ms (2.7%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New61566
Fresh011
Picked101
Done000
Total62668
Error
3.1b
Counts
68 → 6
Alt Table
StatusErrorProgram
40.4b
(*.f64 (*.f64 x.im (sqrt.f64 (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))) (sqrt.f64 (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))))
12.1b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
5.6b
(*.f64 (*.f64 (cbrt.f64 x.im) (cbrt.f64 x.im)) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))))
33.2b
(*.f64 (sqrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))) (sqrt.f64 (*.f64 x.im (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))))
12.9b
(-.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (pow.f64 x.im 3))
35.6b
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
Compiler

Compiled 1331 to 643 computations (51.7% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 x.im)
1.5b
(*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))
1.8b
(*.f64 (*.f64 (cbrt.f64 x.im) (cbrt.f64 x.im)) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))))
2.1b
(fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))

series167.0ms (5.3%)

Counts
3 → 60
Calls

3 calls:

102.0ms
(*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))
34.0ms
(cbrt.f64 x.im)
30.0ms
(*.f64 (*.f64 (cbrt.f64 x.im) (cbrt.f64 x.im)) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))))

rewrite20.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
17×add-exp-log_binary64
17×pow1_binary64
11×add-sqr-sqrt_binary64
10×add-cbrt-cube_binary64
cbrt-unprod_binary64
Counts
3 → 67
Calls

3 calls:

11.0ms
(*.f64 (*.f64 (cbrt.f64 x.im) (cbrt.f64 x.im)) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))))
4.0ms
(*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))
1.0ms
(cbrt.f64 x.im)

simplify108.0ms (3.4%)

Algorithm
egg-herbie
Rules
616×exp-prod_binary64
602×fma-def_binary64
532×unswap-sqr_binary64
369×*-commutative_binary64
230×associate-*l*_binary64
Counts
127 → 113
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01142240
12701985
29441959
323251959
448131959
553601959

prune144.0ms (4.6%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1721173
Fresh145
Picked101
Done000
Total1745179
Error
3.1b
Counts
179 → 5
Alt Table
StatusErrorProgram
40.4b
(*.f64 (*.f64 x.im (sqrt.f64 (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))) (sqrt.f64 (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))))
12.1b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
5.6b
(*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))))
12.9b
(-.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (pow.f64 x.im 3))
35.6b
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
Compiler

Compiled 4181 to 1534 computations (63.3% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.8b
(*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))))
1.1b
(*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))))
1.5b
(*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))
2.1b
(fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))

series183.0ms (5.8%)

Counts
2 → 48
Calls

2 calls:

154.0ms
(*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))))
28.0ms
(*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))))

rewrite20.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
16×distribute-lft-in_binary64
16×distribute-rgt-in_binary64
16×add-exp-log_binary64
16×pow1_binary64
12×associate-*l*_binary64
Counts
2 → 61
Calls

2 calls:

8.0ms
(*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))))
6.0ms
(*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))))

simplify96.0ms (3.1%)

Algorithm
egg-herbie
Rules
477×neg-mul-1_binary64
474×fma-def_binary64
346×*-commutative_binary64
211×exp-prod_binary64
208×distribute-rgt-in_binary64
Counts
109 → 102
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01152745
12482376
27642142
319252142
442332086
550182086

prune146.0ms (4.7%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1800180
Fresh044
Picked011
Done000
Total1805185
Error
3.1b
Counts
185 → 5
Alt Table
StatusErrorProgram
40.4b
(*.f64 (*.f64 x.im (sqrt.f64 (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))) (sqrt.f64 (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im)))))
12.1b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
5.6b
(*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))))
12.9b
(-.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (pow.f64 x.im 3))
35.6b
(*.f64 3 (*.f64 (pow.f64 x.re 2) x.im))
Compiler

Compiled 4401 to 1744 computations (60.4% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)
2.8b
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
3.2b
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)
6.3b
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))

series54.0ms (1.7%)

Counts
4 → 96
Calls

4 calls:

16.0ms
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
16.0ms
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)
14.0ms
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)
7.0ms
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))

rewrite30.0ms (1%)

Algorithm
rewrite-expression-head
Rules
12×associate-*l/_binary64
12×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
4 → 80
Calls

4 calls:

10.0ms
(+.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
6.0ms
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re)
6.0ms
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im)
3.0ms
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))

simplify100.0ms (3.2%)

Algorithm
egg-herbie
Rules
477×fma-neg_binary64
405×cancel-sign-sub-inv_binary64
345×unswap-sqr_binary64
229×associate-*l*_binary64
193×associate-*r*_binary64
Counts
176 → 143
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01543209
14322746
216842496
331722485
448672485

prune97.0ms (3.1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1412143
Fresh213
Picked101
Done011
Total1444148
Error
0.0b
Counts
148 → 4
Alt Table
StatusErrorProgram
7.1b
(+.f64 (*.f64 (+.f64 x.re x.im) (*.f64 (-.f64 x.re x.im) x.im)) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
12.1b
(fma.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.im (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.re))
5.6b
(*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (*.f64 (cbrt.f64 x.im) (fma.f64 x.re (*.f64 x.re 3) (neg.f64 (*.f64 x.im x.im))))))
12.9b
(-.f64 (*.f64 3 (*.f64 (pow.f64 x.re 2) x.im)) (pow.f64 x.im 3))
Compiler

Compiled 4119 to 815 computations (80.2% saved)

regimes408.0ms (13%)

Accuracy

Total 2.1b remaining (97.8%)

Threshold costs 0b (0%)

Counts
71 → 3
Compiler

Compiled 3477 to 2226 computations (36% saved)

bsearch39.0ms (1.3%)

Steps
ItersRangePoint
8
3.468123801108747e+149
9.060902416515546e+151
8.978711195291429e+151
10
-2.4752689102096132e+178
-3.212411483722303e+163
-3.273291574359745e+164
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify4.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
02758
14758
25258
35558
45658
55558

end92.0ms (2.9%)

Compiler

Compiled 156 to 88 computations (43.6% saved)

Profiling

Loading profile data...