Details

Time bar (total: 13.5s)

analyze695.0ms (5.1%)

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)

sample53.0ms (0.4%)

Algorithm
intervals
Results
12.0ms34×body2048valid
11.0ms165×body128valid
7.0ms16×body4096valid
6.0ms25×body1024valid
2.0ms12×body512valid
1.0ms16×body128nan
1.0msbody256valid
0.0msbody128invalid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify416.0ms (3.1%)

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
32.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
32.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
32.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)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.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.8b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
21.1b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series203.0ms (1.5%)

Counts
4 → 96
Calls

4 calls:

86.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
55.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
46.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
15.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))

rewrite35.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:

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

simplify131.0ms (1%)

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

prune255.0ms (1.9%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1989207
Fresh011
Picked101
Done000
Total19910209
Error
4.6b
Counts
209 → 10
Alt Table
StatusErrorProgram
39.3b
(neg.f64 (/.f64 c b))
32.5b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
57.9b
(log.f64 (sqrt.f64 (exp.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) a))))
56.1b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
32.1b
(*.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))
32.5b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) 2) (/.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a))
32.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
36.9b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
43.7b
(-.f64 (/.f64 c b) (/.f64 b a))
43.6b
(/.f64 (neg.f64 b) a)
Compiler

Compiled 5663 to 3176 computations (43.9% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
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))
0.3b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
0.3b
(sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))
12.9b
(sqrt.f64 (*.f64 c (*.f64 a -4)))

series1.1s (8.3%)

Counts
4 → 28
Calls

4 calls:

455.0ms
(sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))
379.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))
260.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
25.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))

rewrite78.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
90×add-sqr-sqrt_binary64
60×times-frac_binary64
59×*-un-lft-identity_binary64
43×add-cube-cbrt_binary64
42×sqrt-prod_binary64
Counts
4 → 150
Calls

4 calls:

31.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))
4.0ms
(sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))
4.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
3.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))

simplify221.0ms (1.6%)

Algorithm
egg-herbie
Rules
618×fma-def_binary64
315×fma-neg_binary64
302×cancel-sign-sub-inv_binary64
250×neg-mul-1_binary64
180×associate-*r*_binary64
Counts
178 → 265
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03296424
18445735
228965450
344995254
449135254
548995254

prune432.0ms (3.2%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New3822384
Fresh279
Picked011
Done000
Total38410394
Error
4.6b
Counts
394 → 10
Alt Table
StatusErrorProgram
39.3b
(neg.f64 (/.f64 c b))
32.5b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
56.1b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
32.1b
(*.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))
32.3b
(*.f64 (/.f64 (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b))) (sqrt.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)))) 2) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a))
50.3b
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) 2) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))) b) b)) a))
32.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
36.9b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
43.7b
(-.f64 (/.f64 c b) (/.f64 b a))
43.6b
(/.f64 (neg.f64 b) a)
Compiler

Compiled 15662 to 10248 computations (34.6% saved)

localize25.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))
0.5b
(cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b))
12.9b
(sqrt.f64 (*.f64 c (*.f64 a -4)))
12.9b
(sqrt.f64 (*.f64 -4 (*.f64 c a)))

series779.0ms (5.8%)

Counts
2 → 12
Calls

2 calls:

752.0ms
(cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b))
27.0ms
(sqrt.f64 (*.f64 -4 (*.f64 c a)))

rewrite14.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
pow1_binary64
cbrt-prod_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
sqrt-pow1_binary64
Counts
2 → 31
Calls

2 calls:

7.0ms
(cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b))
5.0ms
(sqrt.f64 (*.f64 -4 (*.f64 c a)))

simplify89.0ms (0.7%)

Algorithm
egg-herbie
Rules
702×times-frac_binary64
614×associate-*r*_binary64
486×associate-*l*_binary64
339×associate-/r*_binary64
294×associate-/l*_binary64
Counts
43 → 57
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01411454
13391375
29861313
356581313

prune361.0ms (2.7%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1700170
Fresh088
Picked011
Done011
Total17010180
Error
4.6b
Counts
180 → 10
Alt Table
StatusErrorProgram
39.3b
(neg.f64 (/.f64 c b))
32.5b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
56.1b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
32.1b
(*.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))
32.3b
(*.f64 (/.f64 (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b))) (sqrt.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)))) 2) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a))
50.3b
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) 2) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))) b) b)) a))
32.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
36.9b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
43.7b
(-.f64 (/.f64 c b) (/.f64 b a))
43.6b
(/.f64 (neg.f64 b) a)
Compiler

Compiled 10182 to 6771 computations (33.5% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
0.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
0.8b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
21.1b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series373.0ms (2.8%)

Counts
4 → 96
Calls

4 calls:

163.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
103.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
87.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
19.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))

rewrite25.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
42×add-sqr-sqrt_binary64
32×*-un-lft-identity_binary64
28×add-cube-cbrt_binary64
18×prod-diff_binary64
17×sqrt-prod_binary64
Counts
4 → 109
Calls

4 calls:

8.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
4.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
2.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
0.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))

simplify348.0ms (2.6%)

Algorithm
egg-herbie
Rules
527×fma-neg_binary64
338×distribute-rgt-in_binary64
273×cancel-sign-sub-inv_binary64
155×associate-*l*_binary64
153×associate-*r*_binary64
Counts
205 → 231
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02675424
16734468
225244293
345504293
449914293
549944293
648844293

prune196.0ms (1.4%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New2274231
Fresh257
Picked011
Done022
Total22912241
Error
4.5b
Counts
241 → 12
Alt Table
StatusErrorProgram
44.0b
(*.f64 (*.f64 -2 b) (/.f64 1/2 a))
32.1b
(*.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))
56.1b
(*.f64 (-.f64 b b) (/.f64 1/2 a))
32.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
43.6b
(/.f64 (neg.f64 b) a)
32.0b
(/.f64 (*.f64 1/2 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b)) a)
39.3b
(neg.f64 (/.f64 c b))
32.5b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
31.9b
(/.f64 (*.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (/.f64 1/2 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))
32.3b
(*.f64 (/.f64 (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b))) (sqrt.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b) b)))) 2) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a))
50.3b
(*.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) 2) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))) b) b)) a))
43.7b
(-.f64 (/.f64 c b) (/.f64 b a))
Compiler

Compiled 6209 to 3622 computations (41.7% saved)

regimes4.1s (30.3%)

Accuracy

Total 3.5b remaining (39.8%)

Threshold costs 0b (0%)

Counts
201 → 4
Compiler

Compiled 20960 to 14460 computations (31% saved)

bsearch141.0ms (1%)

Steps
ItersRangePoint
6
8187026336760513000.0
1.095667017788457e+20
17575646688649824000.0
8
2.995786339127474e-286
5.157103619520876e-273
1.434416530792524e-278
0
-2.559477323831188e+141
-2.5151775408109e+141
-2.537327432321044e+141
Compiler

Compiled 4 to 3 computations (25% saved)

simplify10.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
04385
16583
28483
39583
410283
510483
610383

end3.0ms (0%)

Compiler

Compiled 59 to 38 computations (35.6% saved)

sample3.4s (24.8%)

Algorithm
intervals
Results
916.0ms5119×body128valid
644.0ms1166×body2048valid
572.0ms751×body1024valid
269.0ms408×body4096valid
126.0ms378×body512valid
74.0ms683×body128nan
49.0ms396×body128invalid
38.0ms178×body256valid
Compiler

Compiled 315 to 218 computations (30.8% saved)

Profiling

Loading profile data...