Details

Time bar (total: 9.3s)

analyze651.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
21.8%71.8%6.4%7
31.2%62.4%6.4%8
35.9%55.4%8.7%9
37.8%48.8%13.4%10
42.7%42.3%15%11
47.7%34.2%18.1%12
49.1%30.4%20.5%13
51.9%25.8%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample138.0ms (1.5%)

Algorithm
intervals
Results
14.0ms168×body128valid
12.0ms35×body2048valid
6.0ms24×body1024valid
6.0ms15×body4096valid
2.0ms10×body512valid
1.0ms19×body128nan
1.0ms12×body128invalid
1.0msbody256valid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify396.0ms (4.3%)

Algorithm
egg-herbie
Rules
2009×fma-neg_binary64
1508×div-sub_binary64
1334×associate-/l*_binary64
1156×fma-def_binary64
685×associate-/l/_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01526
13422
26422
313222
419822
532522
655222
791822
8135222
9155422
10235922
11315822
12256522
13265322
14321922
15336122
16346122
17398522
18417122
19443922
20465922
21470122
22475722
23494122
24494122
25336522
26305922
27298322
28298522
29299722
30299722
31299722
32299722
33273622

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
35.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
35.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
35.4b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
Compiler

Compiled 111 to 74 computations (33.3% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
0.4b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
0.6b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
23.9b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series207.0ms (2.2%)

Counts
4 → 96
Calls

4 calls:

91.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
59.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
44.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
11.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))

rewrite29.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity_binary64
11×add-sqr-sqrt_binary64
10×fma-def_binary64
10×add-cube-cbrt_binary64
10×add-log-exp_binary64
Counts
4 → 90
Calls

4 calls:

9.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
9.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
3.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
3.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))

simplify122.0ms (1.3%)

Algorithm
egg-herbie
Rules
697×fma-neg_binary64
327×cancel-sign-sub-inv_binary64
226×distribute-rgt-neg-in_binary64
150×distribute-rgt-neg-out_binary64
146×associate-*r*_binary64
Counts
186 → 207
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02434202
16933825
224883724
346523704
449853704

prune159.0ms (1.7%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New19611207
Fresh011
Picked101
Done000
Total19712209
Error
7.2b
Counts
209 → 12
Alt Table
StatusErrorProgram
38.9b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))) (*.f64 2 a))
36.4b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
46.4b
(-.f64 (/.f64 c b) (/.f64 b a))
44.5b
(/.f64 (/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (*.f64 2 a))
40.4b
(neg.f64 (/.f64 c b))
57.6b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
33.3b
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) 2) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a))
35.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
46.2b
(/.f64 (neg.f64 b) a)
41.5b
(/.f64 (cbrt.f64 (pow.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) 3)) (*.f64 2 a))
44.9b
(*.f64 1/2 (-.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a)))
35.4b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
Compiler

Compiled 5753 to 3228 computations (43.9% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
0.2b
(/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a)
0.2b
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) 2) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a))
15.5b
(sqrt.f64 (*.f64 c (*.f64 a -4)))

series1.2s (12.8%)

Counts
4 → 28
Calls

4 calls:

761.0ms
(/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a)
249.0ms
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) 2) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a))
157.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
21.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))

rewrite65.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
111×add-sqr-sqrt_binary64
84×times-frac_binary64
81×*-un-lft-identity_binary64
59×add-cube-cbrt_binary64
57×sqrt-prod_binary64
Counts
4 → 182
Calls

4 calls:

28.0ms
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) 2) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a))
5.0ms
(/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a)
3.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
3.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))

simplify261.0ms (2.8%)

Algorithm
egg-herbie
Rules
626×fma-def_binary64
314×cancel-sign-sub-inv_binary64
285×fma-neg_binary64
192×associate-*r/_binary64
180×*-commutative_binary64
Counts
210 → 313
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03557302
18856951
229986668
347376472
449646472
550006472
648926472

prune358.0ms (3.9%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New3960396
Fresh01111
Picked011
Done000
Total39612408
Error
7.2b
Counts
408 → 12
Alt Table
StatusErrorProgram
38.9b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))) (*.f64 2 a))
36.4b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
46.4b
(-.f64 (/.f64 c b) (/.f64 b a))
44.5b
(/.f64 (/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (*.f64 2 a))
40.4b
(neg.f64 (/.f64 c b))
57.6b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
33.3b
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) 2) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a))
35.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
46.2b
(/.f64 (neg.f64 b) a)
41.5b
(/.f64 (cbrt.f64 (pow.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) 3)) (*.f64 2 a))
44.9b
(*.f64 1/2 (-.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a)))
35.4b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
Compiler

Compiled 16377 to 10631 computations (35.1% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
0.6b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
23.9b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series194.0ms (2.1%)

Counts
3 → 60
Calls

3 calls:

89.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
60.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
45.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

rewrite23.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
41×add-sqr-sqrt_binary64
31×*-un-lft-identity_binary64
27×add-cube-cbrt_binary64
18×prod-diff_binary64
17×sqrt-prod_binary64
Counts
3 → 99
Calls

3 calls:

9.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
6.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
1.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

simplify139.0ms (1.5%)

Algorithm
egg-herbie
Rules
505×fma-neg_binary64
316×distribute-rgt-in_binary64
279×distribute-lft-in_binary64
261×cancel-sign-sub-inv_binary64
151×associate-*r*_binary64
Counts
159 → 207
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02584859
16623980
224793807
348593807
449663807

prune165.0ms (1.8%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2016207
Fresh8210
Picked011
Done011
Total20910219
Error
7.2b
Counts
219 → 10
Alt Table
StatusErrorProgram
46.4b
(-.f64 (/.f64 c b) (/.f64 b a))
46.3b
(*.f64 (*.f64 -2 b) (/.f64 1/2 a))
40.4b
(neg.f64 (/.f64 c b))
33.2b
(/.f64 (*.f64 1/2 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)) a)
33.9b
(/.f64 (*.f64 (+.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 1/2 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))
57.6b
(*.f64 (-.f64 b b) (/.f64 1/2 a))
33.3b
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) 2) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a))
35.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
38.5b
(/.f64 (*.f64 1/2 (+.f64 (*.f64 a (*.f64 c -4)) 0)) (*.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))))
38.9b
(*.f64 (-.f64 (exp.f64 (log.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) b) (/.f64 1/2 a))
Compiler

Compiled 5822 to 3395 computations (41.7% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
0.1b
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)
0.1b
(/.f64 (*.f64 1/2 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)) a)
15.5b
(sqrt.f64 (*.f64 a (*.f64 c -4)))

series577.0ms (6.2%)

Counts
4 → 38
Calls

4 calls:

268.0ms
(/.f64 (*.f64 1/2 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)) a)
163.0ms
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)
123.0ms
(hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
22.0ms
(sqrt.f64 (*.f64 a (*.f64 c -4)))

rewrite17.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
16×*-un-lft-identity_binary64
16×add-sqr-sqrt_binary64
14×add-cube-cbrt_binary64
10×pow1_binary64
prod-diff_binary64
Counts
4 → 79
Calls

4 calls:

6.0ms
(/.f64 (*.f64 1/2 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)) a)
3.0ms
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)
3.0ms
(sqrt.f64 (*.f64 a (*.f64 c -4)))
0.0ms
(hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))

simplify147.0ms (1.6%)

Algorithm
egg-herbie
Rules
764×fma-def_binary64
403×fma-neg_binary64
321×cancel-sign-sub-inv_binary64
181×distribute-rgt-in_binary64
170×distribute-rgt-neg-in_binary64
Counts
117 → 188
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02403248
16162686
221872551
345582547
449332547
549932547
648712547

prune161.0ms (1.7%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1871188
Fresh257
Picked101
Done022
Total1908198
Error
3.0b
Counts
198 → 8
Alt Table
StatusErrorProgram
46.4b
(-.f64 (/.f64 c b) (/.f64 b a))
46.3b
(*.f64 (*.f64 -2 b) (/.f64 1/2 a))
40.4b
(neg.f64 (/.f64 c b))
46.1b
(/.f64 (*.f64 1/2 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -4)))) b)) a)
33.3b
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) 2) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a))
35.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
38.5b
(/.f64 (*.f64 1/2 (+.f64 (*.f64 a (*.f64 c -4)) 0)) (*.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))))
33.9b
(/.f64 (*.f64 (+.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 1/2 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))
Compiler

Compiled 4964 to 3128 computations (37% saved)

regimes2.3s (25.1%)

Accuracy

Total 6.5b remaining (70.7%)

Threshold costs 0b (0%)

Counts
148 → 4
Compiler

Compiled 13935 to 9575 computations (31.3% saved)

bsearch112.0ms (1.2%)

Steps
ItersRangePoint
8
7.093208013012605e+28
2.052796247029454e+32
1.3104118782977587e+32
9
1.5989343887596767e-299
2.5987280325923445e-292
4.312793273694532e-295
8
-3.180964907936117e+58
-1.247800763652866e+55
-3.125799445866437e+58
Compiler

Compiled 4 to 3 computations (25% saved)

simplify5.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03989
15687
26787
37387
47587
57587

end1.0ms (0%)

Compiler

Compiled 62 to 37 computations (40.3% saved)

sample1.8s (19.1%)

Algorithm
intervals
Results
395.0ms1132×body2048valid
376.0ms5134×body128valid
198.0ms734×body1024valid
179.0ms431×body4096valid
75.0ms382×body512valid
50.0ms719×body128nan
31.0ms421×body128invalid
25.0ms187×body256valid
Compiler

Compiled 230 to 156 computations (32.2% saved)

Profiling

Loading profile data...