Details

Time bar (total: 9.2s)

analyze644.0ms (7%)

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
12.5%87.4%0.1%5
18.7%81.1%0.1%6
18.7%76.5%4.8%7
28.1%66.3%5.6%8
34.7%55.4%9.9%9
36.1%51.1%12.8%10
42.1%42.4%15.5%11
47.5%33.8%18.7%12
48.8%30.7%20.6%13
51.8%25.6%22.5%14
Compiler

Compiled 17 to 11 computations (35.3% saved)

sample2.5s (26.9%)

Results
644.0ms5327×body128valid
562.0ms1191×body2048valid
328.0ms431×body4096valid
299.0ms786×body1024valid
116.0ms1009×body128invalid
108.0ms351×body512valid
37.0ms170×body256valid
Compiler

Compiled 50 to 32 computations (36% saved)

simplify92.0ms (1%)

Algorithm
egg-herbie
Rules
808×fma-neg_binary64
379×associate-/l*_binary64
361×div-sub_binary64
341×fma-def_binary64
224×times-frac_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01120
12318
23918
36918
410718
517818
627918
738218
854718
958718
1085518
11124718
12111718
13103518
14104318
15105118
16107718
17109318
18112918
19113118
20114318
21105018

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
35.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
35.1b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
Compiler

Compiled 58 to 30 computations (48.3% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
0.5b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)
1.2b
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
23.4b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series528.0ms (5.7%)

Counts
4 → 96
Calls

4 calls:

335.0ms
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))
113.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)
70.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
9.0ms
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))

rewrite283.0ms (3.1%)

Algorithm
egg-rewrite
Rules
168×egg
100×egg
66×egg
25×egg
Counts
4 → 359
Calls

4 calls:

84.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
71.0ms
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
64.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)
56.0ms
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
117512
2216512
3525512
0710
115610
2197210
3633410
0915
120615
2272114
3568514
01018
123418
2329918
3494518

simplify150.0ms (1.6%)

Algorithm
egg-herbie
Rules
738×times-frac_binary64
493×associate-/l*_binary64
403×associate-/r*_binary64
361×fma-def_binary64
191×associate-*l/_binary64
Counts
455 → 426
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01202203
13882175
212922133
349662133

prune388.0ms (4.2%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New4188426
Fresh000
Picked101
Done000
Total4198427
Error
4.0b
Counts
427 → 8
Alt Table
StatusErrorProgram
32.7b
(/.f64 (fma.f64 -1 b_2 (hypot.f64 b_2 (sqrt.f64 (neg.f64 (*.f64 a c))))) a)
46.5b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
37.8b
(*.f64 -1/2 (/.f64 c b_2))
44.8b
(/.f64 (/.f64 1 (/.f64 (+.f64 b_2 (hypot.f64 b_2 (sqrt.f64 (neg.f64 (*.f64 a c))))) (-.f64 (*.f64 b_2 b_2) (fma.f64 b_2 b_2 (*.f64 a c))))) a)
36.5b
(fma.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) (/.f64 1 a) (neg.f64 (/.f64 b_2 a)))
46.4b
(/.f64 (*.f64 -2 b_2) a)
35.2b
(/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2))))
35.1b
(/.f64 1 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)))
Compiler

Compiled 11169 to 3543 computations (68.3% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 b_2 (sqrt.f64 (neg.f64 (*.f64 a c))))
0.0b
(fma.f64 -1 b_2 (hypot.f64 b_2 (sqrt.f64 (neg.f64 (*.f64 a c)))))
0.1b
(/.f64 (fma.f64 -1 b_2 (hypot.f64 b_2 (sqrt.f64 (neg.f64 (*.f64 a c))))) a)
11.7b
(sqrt.f64 (neg.f64 (*.f64 a c)))

series696.0ms (7.5%)

Counts
4 → 38
Calls

4 calls:

283.0ms
(fma.f64 -1 b_2 (hypot.f64 b_2 (sqrt.f64 (neg.f64 (*.f64 a c)))))
206.0ms
(/.f64 (fma.f64 -1 b_2 (hypot.f64 b_2 (sqrt.f64 (neg.f64 (*.f64 a c))))) a)
188.0ms
(hypot.f64 b_2 (sqrt.f64 (neg.f64 (*.f64 a c))))
19.0ms
(sqrt.f64 (neg.f64 (*.f64 a c)))

rewrite335.0ms (3.6%)

Algorithm
egg-rewrite
Rules
72×egg
48×egg
25×egg
21×egg
Counts
4 → 166
Calls

4 calls:

107.0ms
(hypot.f64 b_2 (sqrt.f64 (neg.f64 (*.f64 a c))))
93.0ms
(sqrt.f64 (neg.f64 (*.f64 a c)))
73.0ms
(fma.f64 -1 b_2 (hypot.f64 b_2 (sqrt.f64 (neg.f64 (*.f64 a c)))))
60.0ms
(/.f64 (fma.f64 -1 b_2 (hypot.f64 b_2 (sqrt.f64 (neg.f64 (*.f64 a c))))) a)
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
068
11246
212736
349656
464536
01118
122416
2247016
3497016
01015
119913
2204413
3542213
0811
11649
217059
348859
448699
550799

simplify84.0ms (0.9%)

Algorithm
egg-herbie
Rules
734×times-frac_binary64
629×fma-neg_binary64
422×associate-/l*_binary64
371×associate-/r*_binary64
310×fma-def_binary64
Counts
204 → 227
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01131343
13531217
210871151
347461151
451631151

prune130.0ms (1.4%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2243227
Fresh257
Picked101
Done000
Total2278235
Error
0.0b
Counts
235 → 8
Alt Table
StatusErrorProgram
35.2b
(/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2))))
47.3b
(/.f64 (fma.f64 -1 b_2 (hypot.f64 b_2 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 c))))) a)
46.5b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
37.8b
(*.f64 -1/2 (/.f64 c b_2))
47.9b
(/.f64 (fma.f64 -1 b_2 (hypot.f64 b_2 (*.f64 (pow.f64 (*.f64 (neg.f64 a) (sqrt.f64 c)) 1/2) (sqrt.f64 (sqrt.f64 c))))) a)
36.5b
(fma.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) (/.f64 1 a) (neg.f64 (/.f64 b_2 a)))
46.7b
(/.f64 (fma.f64 -1 b_2 (hypot.f64 b_2 (*.f64 (sqrt.f64 c) (sqrt.f64 (neg.f64 a))))) a)
35.1b
(/.f64 1 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)))
Compiler

Compiled 4801 to 2131 computations (55.6% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)))
0.5b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)
1.2b
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
23.4b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series96.0ms (1%)

Counts
1 → 20
Calls

1 calls:

96.0ms
(/.f64 1 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)))

rewrite97.0ms (1.1%)

Algorithm
egg-rewrite
Rules
62×egg
Counts
1 → 62
Calls

1 calls:

96.0ms
(/.f64 1 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01221
127218
2357618
3523218

simplify58.0ms (0.6%)

Algorithm
egg-herbie
Rules
881×fma-neg_binary64
363×times-frac_binary64
351×unswap-sqr_binary64
239×associate-/l*_binary64
217×associate-*r*_binary64
Counts
82 → 82
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
065654
1204642
2668624
33419624
44941624

prune256.0ms (2.8%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New4211422
Fresh167
Picked011
Done000
Total4228430
Error
0.0b
Counts
430 → 8
Alt Table
StatusErrorProgram
35.2b
(/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2))))
47.3b
(/.f64 (fma.f64 -1 b_2 (hypot.f64 b_2 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 c))))) a)
35.1b
(/.f64 1 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)))
35.1b
(*.f64 1 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a))
46.5b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
37.8b
(*.f64 -1/2 (/.f64 c b_2))
47.9b
(/.f64 (fma.f64 -1 b_2 (hypot.f64 b_2 (*.f64 (pow.f64 (*.f64 (neg.f64 a) (sqrt.f64 c)) 1/2) (sqrt.f64 (sqrt.f64 c))))) a)
46.7b
(/.f64 (fma.f64 -1 b_2 (hypot.f64 b_2 (*.f64 (sqrt.f64 c) (sqrt.f64 (neg.f64 a))))) a)
Compiler

Compiled 11620 to 4206 computations (63.8% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
0.5b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)
1.2b
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
23.4b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

prune254.0ms (2.7%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New4260426
Fresh066
Picked011
Done011
Total4268434
Error
0.0b
Counts
434 → 8
Alt Table
StatusErrorProgram
35.2b
(/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2))))
47.3b
(/.f64 (fma.f64 -1 b_2 (hypot.f64 b_2 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 c))))) a)
35.1b
(/.f64 1 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)))
35.1b
(*.f64 1 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a))
46.5b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
37.8b
(*.f64 -1/2 (/.f64 c b_2))
47.9b
(/.f64 (fma.f64 -1 b_2 (hypot.f64 b_2 (*.f64 (pow.f64 (*.f64 (neg.f64 a) (sqrt.f64 c)) 1/2) (sqrt.f64 (sqrt.f64 c))))) a)
46.7b
(/.f64 (fma.f64 -1 b_2 (hypot.f64 b_2 (*.f64 (sqrt.f64 c) (sqrt.f64 (neg.f64 a))))) a)
Compiler

Compiled 11887 to 4319 computations (63.7% saved)

regimes2.3s (25.3%)

Accuracy

Total 11.3b remaining (98.4%)

Threshold costs 0b (0%)

Counts
165 → 5
Compiler

Compiled 14396 to 8374 computations (41.8% saved)

bsearch157.0ms (1.7%)

Steps
ItersRangePoint
10
122740712592313.53
7.731034386695147e+28
124431463817995.98
9
8.87225695244139e-93
1.4387716706883634e-87
1.547379492825384e-89
8
6.615340987126152e-133
3.4333066508345306e-128
2.9407118485521444e-128
5
-7.706913201840932e+152
-2.175060296372933e+152
-2.23401914471045e+152
Compiler

Compiled 4 to 3 computations (25% 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
03894
15494
26794
37694
48194
58294
68194

end110.0ms (1.2%)

Compiler

Compiled 270 to 154 computations (43% saved)

Profiling

Loading profile data...