Details

Time bar (total: 19.6s)

analyze621.0ms (3.2%)

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)

sample135.0ms (0.7%)

Algorithm
intervals
Results
13.0ms181×body128valid
13.0ms37×body2048valid
4.0ms15×body1024valid
4.0msbody4096valid
2.0msbody512valid
1.0ms17×body128nan
1.0ms12×body128invalid
1.0msbody256valid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify384.0ms (2%)

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
34.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
34.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
34.1b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
Compiler

Compiled 111 to 74 computations (33.3% saved)

localize11.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.8b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
0.9b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
24.8b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series185.0ms (0.9%)

Counts
4 → 96
Calls

4 calls:

80.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
50.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))))
10.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))

rewrite28.0ms (0.1%)

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

simplify123.0ms (0.6%)

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

prune158.0ms (0.8%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1989207
Fresh011
Picked101
Done000
Total19910209
Error
5.7b
Counts
209 → 10
Alt Table
StatusErrorProgram
36.3b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (*.f64 2 a))
42.3b
(/.f64 (neg.f64 b) a)
34.4b
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (/.f64 (*.f64 2 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))))
43.2b
(neg.f64 (/.f64 c b))
34.1b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
41.1b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
40.3b
(/.f64 (/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) 3)) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.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))
42.2b
(-.f64 (/.f64 c b) (/.f64 b a))
40.1b
(/.f64 (*.f64 (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))) (/.f64 2 (/.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a)))
34.1b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
Compiler

Compiled 5799 to 3238 computations (44.2% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
0.8b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
0.9b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
24.8b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series80.0ms (0.4%)

Counts
1 → 20
Calls

1 calls:

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

rewrite20.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
53×times-frac_binary64
37×*-un-lft-identity_binary64
22×add-exp-log_binary64
21×add-sqr-sqrt_binary64
21×add-cube-cbrt_binary64
Counts
1 → 74
Calls

1 calls:

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

simplify103.0ms (0.5%)

Algorithm
egg-herbie
Rules
665×associate-/l*_binary64
599×div-sub_binary64
346×fma-def_binary64
296×fma-neg_binary64
265×associate-/r/_binary64
Counts
94 → 117
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01643247
14342847
215122670
345872670
461712670

prune197.0ms (1%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2552257
Fresh279
Picked011
Done000
Total25710267
Error
5.6b
Counts
267 → 10
Alt Table
StatusErrorProgram
34.4b
(/.f64 (/.f64 1 (/.f64 2 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))) (/.f64 a (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))))
42.2b
(-.f64 (/.f64 c b) (/.f64 b a))
36.3b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (*.f64 2 a))
42.3b
(/.f64 (neg.f64 b) a)
34.1b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
36.8b
(/.f64 (*.f64 (*.f64 4 (*.f64 c a)) (/.f64 1/2 a)) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))
41.1b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
40.3b
(/.f64 (/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) 3)) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.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))
43.2b
(neg.f64 (/.f64 c b))
40.1b
(/.f64 (*.f64 (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))) (/.f64 2 (/.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) a)))
Compiler

Compiled 7966 to 4647 computations (41.7% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (/.f64 1 (/.f64 2 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))) (/.f64 a (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))))
0.8b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
0.9b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
24.8b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series80.0ms (0.4%)

Counts
1 → 20
Calls

1 calls:

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

rewrite1.8s (9.3%)

Algorithm
rewrite-expression-head
Rules
10176×times-frac_binary64
6065×*-un-lft-identity_binary64
3797×add-sqr-sqrt_binary64
3797×add-cube-cbrt_binary64
2835×sqrt-prod_binary64
Counts
1 → 3009
Calls

1 calls:

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

simplify4.5s (22.9%)

Algorithm
egg-herbie
Rules
881×associate-/r/_binary64
701×associate-/r*_binary64
615×associate-/l*_binary64
579×associate-/l/_binary64
125×times-frac_binary64
Counts
3029 → 1966
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0938281187
13028248447
25295248447

prune2.9s (15%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New224512246
Fresh268
Picked011
Done011
Total224792256
Error
5.6b
Counts
2256 → 9
Alt Table
StatusErrorProgram
34.4b
(/.f64 (/.f64 1 (/.f64 2 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))) (/.f64 a (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))))
42.2b
(-.f64 (/.f64 c b) (/.f64 b a))
41.1b
(/.f64 (/.f64 1 (/.f64 2 (sqrt.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) 3))))) (*.f64 (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 c a) -4))) b))) (sqrt.f64 (+.f64 (fma.f64 b b (fma.f64 b b (*.f64 (*.f64 c a) -4))) (*.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 c a) -4))))))))
36.3b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (*.f64 2 a))
42.3b
(/.f64 (neg.f64 b) a)
34.1b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
36.8b
(/.f64 (*.f64 (*.f64 4 (*.f64 c a)) (/.f64 1/2 a)) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))
41.1b
(/.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.2b
(neg.f64 (/.f64 c b))
Compiler

Compiled 162716 to 90845 computations (44.2% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (*.f64 2 a))
0.2b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
2.6b
(exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)))
14.7b
(sqrt.f64 (*.f64 c (*.f64 a -4)))

series551.0ms (2.8%)

Counts
4 → 36
Calls

4 calls:

240.0ms
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (*.f64 2 a))
145.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
144.0ms
(exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)))
21.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))

rewrite23.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
26×*-un-lft-identity_binary64
26×add-sqr-sqrt_binary64
18×add-cube-cbrt_binary64
15×exp-sum_binary64
15×log-prod_binary64
Counts
4 → 100
Calls

4 calls:

8.0ms
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (*.f64 2 a))
3.0ms
(exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)))
3.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
3.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))

simplify115.0ms (0.6%)

Algorithm
egg-herbie
Rules
580×fma-def_binary64
348×fma-neg_binary64
342×associate-*l/_binary64
270×cancel-sign-sub-inv_binary64
178×associate-/l/_binary64
Counts
136 → 183
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02623659
15643335
220363189
348233189
448923189

prune150.0ms (0.8%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1821183
Fresh066
Picked101
Done022
Total1839192
Error
3.3b
Counts
192 → 9
Alt Table
StatusErrorProgram
34.4b
(/.f64 (/.f64 1 (/.f64 2 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))) (/.f64 a (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))))
42.2b
(-.f64 (/.f64 c b) (/.f64 b a))
41.1b
(/.f64 (/.f64 1 (/.f64 2 (sqrt.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) 3))))) (*.f64 (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 c a) -4))) b))) (sqrt.f64 (+.f64 (fma.f64 b b (fma.f64 b b (*.f64 (*.f64 c a) -4))) (*.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 c a) -4))))))))
34.1b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
48.6b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))) b) b))) (*.f64 2 a))
36.8b
(/.f64 (*.f64 (*.f64 4 (*.f64 c a)) (/.f64 1/2 a)) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))
41.1b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
42.3b
(/.f64 (neg.f64 b) a)
43.2b
(neg.f64 (/.f64 c b))
Compiler

Compiled 5342 to 3503 computations (34.4% saved)

regimes5.5s (27.9%)

Accuracy

Total 7.9b remaining (71%)

Threshold costs 0b (0%)

Counts
304 → 3
Compiler

Compiled 41274 to 27861 computations (32.5% saved)

bsearch78.0ms (0.4%)

Steps
ItersRangePoint
10
8.978518197639981e-169
6.284943703071234e-159
6.212289707649754e-159
6
-6.856485632986412e+110
-2.429146751354077e+106
-2.284455722178938e+110
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02854
15052
26752
38252
48952
59252
69352
79152

end1.0ms (0%)

Compiler

Compiled 38 to 23 computations (39.5% saved)

sample1.8s (9.1%)

Algorithm
intervals
Results
407.0ms1145×body2048valid
389.0ms5217×body128valid
199.0ms716×body1024valid
168.0ms393×body4096valid
80.0ms370×body512valid
41.0ms606×body128nan
26.0ms362×body128invalid
22.0ms159×body256valid
Compiler

Compiled 281 to 188 computations (33.1% saved)

Profiling

Loading profile data...