Details

Time bar (total: 9.2s)

analyze721.0ms (7.9%)

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.1s (12.2%)

Results
1.0s8256×body128valid
65.0ms535×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.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
23.7b
(/.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.3b
(fma.f64 a c (*.f64 b d))
23.3b
(/.f64 (fma.f64 a c (*.f64 b d)) (fma.f64 c c (*.f64 d d)))

series93.0ms (1%)

Counts
2 → 96
Calls

2 calls:

84.0ms
(/.f64 (fma.f64 a c (*.f64 b d)) (fma.f64 c c (*.f64 d d)))
9.0ms
(fma.f64 a c (*.f64 b d))

rewrite4.0ms (0%)

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))

simplify69.0ms (0.8%)

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

prune66.0ms (0.7%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New86894
Fresh000
Picked101
Done000
Total87895
Error
3.1b
Counts
95 → 8
Alt Table
StatusErrorProgram
17.1b
(*.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)))
38.4b
(/.f64 b d)
23.7b
(/.f64 (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)) (sqrt.f64 (fma.f64 c c (*.f64 d d))))
24.2b
(/.f64 (/.f64 (fma.f64 a c (*.f64 b d)) (*.f64 (cbrt.f64 (fma.f64 c c (*.f64 d d))) (cbrt.f64 (fma.f64 c c (*.f64 d d))))) (cbrt.f64 (fma.f64 c c (*.f64 d d))))
16.6b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
23.7b
(/.f64 (fma.f64 d b (*.f64 c a)) (fma.f64 c c (*.f64 d d)))
34.3b
(fma.f64 b (/.f64 d (*.f64 c c)) (/.f64 a c))
36.9b
(/.f64 a c)
Compiler

Compiled 2286 to 492 computations (78.5% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series233.0ms (2.5%)

Counts
4 → 144
Calls

4 calls:

101.0ms
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
101.0ms
(/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))
19.0ms
(/.f64 1 (hypot.f64 d c))
11.0ms
(hypot.f64 d c)

rewrite22.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
51×add-sqr-sqrt_binary64
43×times-frac_binary64
36×*-un-lft-identity_binary64
34×add-cube-cbrt_binary64
32×add-exp-log_binary64
Counts
4 → 130
Calls

4 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 1 (hypot.f64 d c))
2.0ms
(/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))
0.0ms
(hypot.f64 d c)

simplify179.0ms (2%)

Algorithm
egg-herbie
Rules
502×fma-def_binary64
415×cancel-sign-sub-inv_binary64
363×fma-neg_binary64
199×sub-neg_binary64
192×distribute-rgt-in_binary64
Counts
274 → 306
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02676223
17415824
224425629
346795621
449825621
549605621

prune247.0ms (2.7%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New3399348
Fresh707
Picked101
Done000
Total3479356
Error
0.4b
Counts
356 → 9
Alt Table
StatusErrorProgram
23.7b
(/.f64 (*.f64 1 (fma.f64 d b (*.f64 c a))) (*.f64 (hypot.f64 d c) (hypot.f64 d c)))
44.2b
(*.f64 (/.f64 1 (hypot.f64 d c)) (neg.f64 (fma.f64 (/.f64 d c) b a)))
16.8b
(*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c))))
44.1b
(*.f64 (/.f64 1 (hypot.f64 d c)) (neg.f64 b))
44.3b
(*.f64 (/.f64 1 (hypot.f64 d c)) (fma.f64 (/.f64 c d) a b))
41.7b
(*.f64 (/.f64 1 (hypot.f64 d c)) (fma.f64 (/.f64 d c) b a))
16.7b
(*.f64 (/.f64 1 (hypot.f64 d c)) (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c)))))
33.1b
(fma.f64 (/.f64 a d) (/.f64 c d) (/.f64 b d))
31.3b
(fma.f64 (/.f64 b c) (/.f64 d c) (/.f64 a c))
Compiler

Compiled 9128 to 3019 computations (66.9% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (sqrt.f64 (hypot.f64 d c)))
0.2b
(*.f64 (/.f64 1 (hypot.f64 d c)) (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c)))))
7.7b
(*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c))))
7.9b
(/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c)))

series367.0ms (4%)

Counts
4 → 136
Calls

4 calls:

138.0ms
(/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c)))
104.0ms
(*.f64 (/.f64 1 (hypot.f64 d c)) (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c)))))
98.0ms
(*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c))))
27.0ms
(/.f64 1 (sqrt.f64 (hypot.f64 d c)))

rewrite69.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
169×add-exp-log_binary64
113×add-sqr-sqrt_binary64
103×times-frac_binary64
76×prod-exp_binary64
73×*-un-lft-identity_binary64
Counts
4 → 252
Calls

4 calls:

13.0ms
(*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c))))
11.0ms
(*.f64 (/.f64 1 (hypot.f64 d c)) (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c)))))
8.0ms
(/.f64 1 (sqrt.f64 (hypot.f64 d c)))
3.0ms
(/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c)))

simplify272.0ms (3%)

Algorithm
egg-herbie
Rules
588×fma-def_binary64
544×cancel-sign-sub-inv_binary64
314×associate-*r*_binary64
300×fma-neg_binary64
229×associate-*l*_binary64
Counts
388 → 418
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
035711460
19139098
229648941
348608941
449748941
549488941

prune266.0ms (2.9%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New4180418
Fresh088
Picked011
Done000
Total4189427
Error
0.4b
Counts
427 → 9
Alt Table
StatusErrorProgram
23.7b
(/.f64 (*.f64 1 (fma.f64 d b (*.f64 c a))) (*.f64 (hypot.f64 d c) (hypot.f64 d c)))
44.2b
(*.f64 (/.f64 1 (hypot.f64 d c)) (neg.f64 (fma.f64 (/.f64 d c) b a)))
16.8b
(*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c))))
44.1b
(*.f64 (/.f64 1 (hypot.f64 d c)) (neg.f64 b))
44.3b
(*.f64 (/.f64 1 (hypot.f64 d c)) (fma.f64 (/.f64 c d) a b))
41.7b
(*.f64 (/.f64 1 (hypot.f64 d c)) (fma.f64 (/.f64 d c) b a))
16.7b
(*.f64 (/.f64 1 (hypot.f64 d c)) (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c)))))
33.1b
(fma.f64 (/.f64 a d) (/.f64 c d) (/.f64 b d))
31.3b
(fma.f64 (/.f64 b c) (/.f64 d c) (/.f64 a c))
Compiler

Compiled 13819 to 4206 computations (69.6% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(fma.f64 a c (*.f64 d b))
0.3b
(/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c)))
0.3b
(*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c))))
15.5b
(/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c))

series421.0ms (4.6%)

Counts
4 → 176
Calls

4 calls:

206.0ms
(/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c)))
105.0ms
(*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c))))
101.0ms
(/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c))
9.0ms
(fma.f64 a c (*.f64 d b))

rewrite104.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
350×times-frac_binary64
261×add-sqr-sqrt_binary64
181×*-un-lft-identity_binary64
171×add-cube-cbrt_binary64
110×sqrt-prod_binary64
Counts
4 → 314
Calls

4 calls:

32.0ms
(*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c))))
13.0ms
(/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (sqrt.f64 (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))

simplify339.0ms (3.7%)

Algorithm
egg-herbie
Rules
833×fma-def_binary64
427×cancel-sign-sub-inv_binary64
311×associate-/l*_binary64
301×associate-*l/_binary64
275×associate-/l/_binary64
Counts
490 → 533
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
041416438
1114814606
2369514421
3491314421
4523814421

prune329.0ms (3.6%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New5312533
Fresh257
Picked011
Done011
Total5339542
Error
0.4b
Counts
542 → 9
Alt Table
StatusErrorProgram
44.1b
(*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (neg.f64 b) (sqrt.f64 (hypot.f64 d c))))
44.3b
(*.f64 (/.f64 1 (hypot.f64 d c)) (fma.f64 (/.f64 c d) a b))
23.7b
(/.f64 (*.f64 1 (fma.f64 d b (*.f64 c a))) (*.f64 (hypot.f64 d c) (hypot.f64 d c)))
44.2b
(*.f64 (/.f64 1 (hypot.f64 d c)) (neg.f64 (fma.f64 (/.f64 d c) b a)))
41.8b
(*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 (/.f64 d c) b a) (sqrt.f64 (hypot.f64 d c))))
16.7b
(*.f64 (/.f64 1 (hypot.f64 d c)) (*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c)))))
33.1b
(fma.f64 (/.f64 a d) (/.f64 c d) (/.f64 b d))
31.3b
(fma.f64 (/.f64 b c) (/.f64 d c) (/.f64 a c))
16.8b
(*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c))))
Compiler

Compiled 19321 to 3919 computations (79.7% saved)

regimes3.9s (42.2%)

Accuracy

Total 10.6b remaining (98.4%)

Threshold costs 0b (0%)

Counts
211 → 7
Compiler

Compiled 24223 to 13359 computations (44.8% saved)

bsearch132.0ms (1.4%)

Steps
ItersRangePoint
11
6.063323146069527e+185
5.515239562154484e+208
6.164541131217644e+185
7
3.559551160767353e-66
1.2488211763571394e-64
3.7980760572038457e-66
9
-1.919474161879987e-103
-7.530027389557997e-109
-3.840391229221447e-106
9
-4.626390944981006e+29
-2.5417371811117338e+20
-4.34100723376406e+29
8
-1.0401112411771789e+42
-3.409232113202445e+37
-3.4710805651394907e+37
4
-9.235502145661662e+148
-5.0843124959565825e+148
-7.798094340522651e+148
Compiler

Compiled 5 to 4 computations (20% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
unpow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045160
149160
248160

end191.0ms (2.1%)

Compiler

Compiled 407 to 181 computations (55.5% saved)

Profiling

Loading profile data...