Details

Time bar (total: 7.6s)

analyze804.0ms (10.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
6.2%93.6%0.2%8
25%74.9%0.2%9
28.1%71.7%0.2%10
29.6%70.2%0.2%11
53%46.8%0.2%12
71.3%28.5%0.2%13
71.7%28.1%0.2%14
Compiler

Compiled 20 to 12 computations (40% saved)

sample1.2s (16%)

Results
1.1s8256×body128valid
74.0ms510×body128invalid
Compiler

Compiled 59 to 35 computations (40.7% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01218
11818
22218
32218

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
23.6b
Counts
3 → 1
Alt Table
StatusErrorProgram
23.6b
(/.f64 (fma.f64 a c (*.f64 b d)) (fma.f64 c c (*.f64 d d)))
Compiler

Compiled 66 to 32 computations (51.5% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.5b
(fma.f64 a c (*.f64 b d))
23.2b
(/.f64 (fma.f64 a c (*.f64 b d)) (fma.f64 c c (*.f64 d d)))

series98.0ms (1.3%)

Counts
2 → 96
Calls

2 calls:

85.0ms
(/.f64 (fma.f64 a c (*.f64 b d)) (fma.f64 c c (*.f64 d d)))
12.0ms
(fma.f64 a c (*.f64 b d))

rewrite5.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
10×*-un-lft-identity_binary64
10×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
times-frac_binary64
add-cbrt-cube_binary64
Counts
2 → 39
Calls

2 calls:

2.0ms
(/.f64 (fma.f64 a c (*.f64 b d)) (fma.f64 c c (*.f64 d d)))
0.0ms
(fma.f64 a c (*.f64 b d))

simplify79.0ms (1%)

Algorithm
egg-herbie
Rules
686×fma-def_binary64
410×associate-/l/_binary64
377×fma-neg_binary64
252×distribute-rgt-neg-in_binary64
251×distribute-lft-neg-in_binary64
Counts
135 → 94
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0982544
12022411
26042327
321542279
450322279

prune67.0ms (0.9%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New87794
Fresh000
Picked101
Done000
Total88795
Error
1.8b
Counts
95 → 7
Alt Table
StatusErrorProgram
16.2b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
38.1b
(/.f64 a c)
16.8b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a)))) (hypot.f64 d c)) (/.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (hypot.f64 d c)))
21.5b
(fma.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))) (/.f64 (*.f64 c a) (fma.f64 d d (*.f64 c c))))
23.5b
(/.f64 (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)) (sqrt.f64 (fma.f64 c c (*.f64 d d))))
32.5b
(fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d))
45.4b
(*.f64 (sqrt.f64 (fma.f64 d b (*.f64 c a))) (/.f64 (sqrt.f64 (fma.f64 d b (*.f64 c a))) (fma.f64 d d (*.f64 c c))))
Compiler

Compiled 2270 to 482 computations (78.8% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
0.2b
(fma.f64 d b (*.f64 c a))
15.1b
(/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))

series216.0ms (2.9%)

Counts
3 → 144
Calls

3 calls:

107.0ms
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
100.0ms
(/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))
9.0ms
(fma.f64 d b (*.f64 c a))

rewrite19.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
42×add-sqr-sqrt_binary64
34×times-frac_binary64
27×*-un-lft-identity_binary64
27×add-exp-log_binary64
25×add-cube-cbrt_binary64
Counts
3 → 97
Calls

3 calls:

8.0ms
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
2.0ms
(/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))
0.0ms
(fma.f64 d b (*.f64 c a))

simplify144.0ms (1.9%)

Algorithm
egg-herbie
Rules
708×times-frac_binary64
275×fma-def_binary64
269×associate-/l/_binary64
266×distribute-rgt-in_binary64
261×fma-neg_binary64
Counts
241 → 222
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01845189
14924744
216784587
345964569
450104569

prune148.0ms (2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2157222
Fresh516
Picked011
Done000
Total2209229
Error
0.2b
Counts
229 → 9
Alt Table
StatusErrorProgram
30.9b
(fma.f64 (/.f64 a d) (/.f64 c d) (/.f64 b d))
44.2b
(*.f64 (/.f64 1 (hypot.f64 d c)) (fma.f64 (/.f64 d c) b a))
16.1b
(/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (hypot.f64 d c))
44.4b
(*.f64 (/.f64 1 (hypot.f64 d c)) (neg.f64 (fma.f64 (/.f64 d c) b a)))
16.2b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
44.9b
(*.f64 (/.f64 1 (hypot.f64 d c)) (neg.f64 b))
16.8b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a)))) (hypot.f64 d c)) (/.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (hypot.f64 d c)))
34.1b
(fma.f64 (/.f64 b c) (/.f64 d c) (/.f64 a c))
22.5b
(fma.f64 (/.f64 c (fma.f64 d d (*.f64 c c))) a (/.f64 (*.f64 d b) (fma.f64 d d (*.f64 c c))))
Compiler

Compiled 5736 to 1549 computations (73% saved)

localize12.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (hypot.f64 d c))
0.5b
(fma.f64 a c (*.f64 d b))
15.1b
(/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c))

series210.0ms (2.8%)

Counts
3 → 144
Calls

3 calls:

106.0ms
(/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (hypot.f64 d c))
95.0ms
(/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c))
9.0ms
(fma.f64 a c (*.f64 d b))

rewrite19.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
84×times-frac_binary64
53×*-un-lft-identity_binary64
53×add-sqr-sqrt_binary64
53×add-cube-cbrt_binary64
16×associate-/l*_binary64
Counts
3 → 111
Calls

3 calls:

4.0ms
(/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (hypot.f64 d c))
2.0ms
(/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c))
0.0ms
(fma.f64 a c (*.f64 d b))

simplify148.0ms (2%)

Algorithm
egg-herbie
Rules
674×times-frac_binary64
512×associate-/l*_binary64
382×associate-/l/_binary64
345×fma-neg_binary64
339×associate-/r*_binary64
Counts
255 → 249
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02216272
15385929
214405628
345245565
450335565

prune156.0ms (2.1%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2454249
Fresh347
Picked101
Done011
Total2499258
Error
0.1b
Counts
258 → 9
Alt Table
StatusErrorProgram
34.1b
(fma.f64 (/.f64 b c) (/.f64 d c) (/.f64 a c))
44.2b
(/.f64 (fma.f64 (/.f64 d c) b a) (hypot.f64 d c))
16.8b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a)))) (hypot.f64 d c)) (/.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (hypot.f64 d c)))
30.9b
(fma.f64 (/.f64 a d) (/.f64 c d) (/.f64 b d))
43.1b
(/.f64 (fma.f64 (/.f64 c d) a b) (hypot.f64 d c))
16.2b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
44.9b
(/.f64 (neg.f64 b) (hypot.f64 d c))
44.4b
(/.f64 (neg.f64 (fma.f64 (/.f64 d c) b a)) (hypot.f64 d c))
22.5b
(fma.f64 (/.f64 c (fma.f64 d d (*.f64 c c))) a (/.f64 (*.f64 d b) (fma.f64 d d (*.f64 c c))))
Compiler

Compiled 6486 to 1229 computations (81.1% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a)))) (hypot.f64 d c)) (/.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (hypot.f64 d c)))
0.5b
(*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a))))
3.4b
(/.f64 (*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a)))) (hypot.f64 d c))
15.8b
(cbrt.f64 (fma.f64 d b (*.f64 c a)))

series430.0ms (5.7%)

Counts
4 → 192
Calls

4 calls:

155.0ms
(/.f64 (*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a)))) (hypot.f64 d c))
106.0ms
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a)))) (hypot.f64 d c)) (/.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (hypot.f64 d c)))
96.0ms
(*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a))))
72.0ms
(cbrt.f64 (fma.f64 d b (*.f64 c a)))

rewrite37.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
54×add-sqr-sqrt_binary64
32×add-exp-log_binary64
31×times-frac_binary64
30×*-un-lft-identity_binary64
30×cbrt-prod_binary64
Counts
4 → 139
Calls

4 calls:

10.0ms
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a)))) (hypot.f64 d c)) (/.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (hypot.f64 d c)))
4.0ms
(*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a))))
4.0ms
(/.f64 (*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a)))) (hypot.f64 d c))
1.0ms
(cbrt.f64 (fma.f64 d b (*.f64 c a)))

simplify399.0ms (5.3%)

Algorithm
egg-herbie
Rules
597×fma-def_binary64
378×*-commutative_binary64
286×cancel-sign-sub-inv_binary64
196×sub-neg_binary64
134×fma-neg_binary64
Counts
331 → 451
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
093718197
1323716442
2472616086
3500016086
4496416086

prune557.0ms (7.4%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New6390639
Fresh077
Picked011
Done011
Total6399648
Error
0.1b
Counts
648 → 9
Alt Table
StatusErrorProgram
34.1b
(fma.f64 (/.f64 b c) (/.f64 d c) (/.f64 a c))
44.2b
(/.f64 (fma.f64 (/.f64 d c) b a) (hypot.f64 d c))
16.8b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a)))) (hypot.f64 d c)) (/.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (hypot.f64 d c)))
30.9b
(fma.f64 (/.f64 a d) (/.f64 c d) (/.f64 b d))
43.1b
(/.f64 (fma.f64 (/.f64 c d) a b) (hypot.f64 d c))
16.2b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
44.9b
(/.f64 (neg.f64 b) (hypot.f64 d c))
44.4b
(/.f64 (neg.f64 (fma.f64 (/.f64 d c) b a)) (hypot.f64 d c))
22.5b
(fma.f64 (/.f64 c (fma.f64 d d (*.f64 c c))) a (/.f64 (*.f64 d b) (fma.f64 d d (*.f64 c c))))
Compiler

Compiled 37673 to 14378 computations (61.8% saved)

regimes2.4s (32.1%)

Accuracy

Total 10.6b remaining (98%)

Threshold costs 0b (0%)

Counts
155 → 5
Compiler

Compiled 15288 to 8444 computations (44.8% saved)

bsearch98.0ms (1.3%)

Steps
ItersRangePoint
10
3.102909357052664e+86
7.491316036254363e+98
2.0670348214171683e+97
10
3.0258255729790073e-180
4.5844607242057906e-163
2.88893887034297e-173
4
-3.5504229365985006e-142
-1.9699080442950435e-142
-3.099134525215515e-142
9
-9.556000818875074e+45
-1.6382890493197275e+37
-9.393577737026942e+45
Compiler

Compiled 5 to 4 computations (20% 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
034110
142110
246110
349110
450110
549110

end239.0ms (3.2%)

Compiler

Compiled 320 to 141 computations (55.9% saved)

Profiling

Loading profile data...