Details

Time bar (total: 7.7s)

analyze648.0ms (8.4%)

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)

sample2.4s (30.7%)

Results
696.0ms5341×body128valid
668.0ms1232×body2048valid
315.0ms743×body1024valid
268.0ms416×body4096valid
151.0ms1158×body128invalid
107.0ms338×body512valid
43.0ms186×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify377.0ms (4.9%)

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

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
0.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
0.9b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
20.2b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series176.0ms (2.3%)

Counts
4 → 96
Calls

4 calls:

77.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
50.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
39.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
9.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))

rewrite21.0ms (0.3%)

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:

9.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)
1.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
0.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))

simplify184.0ms (2.4%)

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

prune176.0ms (2.3%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New22011231
Fresh101
Picked011
Done000
Total22112233
Error
5.1b
Counts
233 → 12
Alt Table
StatusErrorProgram
36.5b
(/.f64 (*.f64 1/2 (+.f64 (*.f64 c (*.f64 a -4)) 0)) (*.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))))
43.6b
(neg.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)))
30.6b
(*.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (/.f64 1/2 a)))) (cbrt.f64 (/.f64 1/2 a)))
47.9b
(*.f64 (*.f64 -2 b) (/.f64 1/2 a))
38.6b
(neg.f64 (/.f64 c b))
36.3b
(*.f64 (-.f64 (exp.f64 (log.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) b) (/.f64 1/2 a))
32.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
55.0b
(*.f64 (-.f64 b b) (/.f64 1/2 a))
48.2b
(-.f64 (/.f64 c b) (/.f64 b a))
28.8b
(/.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))
45.5b
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a))) (*.f64 1/2 (/.f64 b a)))
32.3b
(*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 (sqrt.f64 1/2) 1)) (/.f64 (sqrt.f64 1/2) a))
Compiler

Compiled 6419 to 3778 computations (41.1% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 c (*.f64 a -4))
1.0b
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
13.5b
(*.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (/.f64 1/2 a))
20.2b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series54.0ms (0.7%)

Counts
3 → 68
Calls

3 calls:

46.0ms
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
4.0ms
(*.f64 c (*.f64 a -4))
3.0ms
(*.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (/.f64 1/2 a))

rewrite18.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
19×add-sqr-sqrt_binary64
16×*-un-lft-identity_binary64
14×associate-*r*_binary64
14×add-cube-cbrt_binary64
13×add-cbrt-cube_binary64
Counts
3 → 78
Calls

3 calls:

8.0ms
(*.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (/.f64 1/2 a))
3.0ms
(*.f64 c (*.f64 a -4))
3.0ms
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)

simplify83.0ms (1.1%)

Algorithm
egg-herbie
Rules
395×fma-neg_binary64
331×associate-*l*_binary64
303×distribute-rgt-in_binary64
281×associate-*r*_binary64
240×distribute-rgt-neg-out_binary64
Counts
146 → 140
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02022057
15181882
224791846
342801846
449181846

prune146.0ms (1.9%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New1822184
Fresh2810
Picked101
Done011
Total18511196
Error
5.1b
Counts
196 → 11
Alt Table
StatusErrorProgram
30.6b
(*.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (/.f64 1/2 a)))) (cbrt.f64 (/.f64 1/2 a)))
47.9b
(*.f64 (*.f64 -2 b) (/.f64 1/2 a))
43.6b
(neg.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)))
38.6b
(neg.f64 (/.f64 c b))
36.3b
(*.f64 (-.f64 (exp.f64 (log.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) b) (/.f64 1/2 a))
32.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
46.1b
(/.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) 3)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))
48.2b
(-.f64 (/.f64 c b) (/.f64 b a))
45.5b
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a))) (*.f64 1/2 (/.f64 b a)))
32.3b
(*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 (sqrt.f64 1/2) 1)) (/.f64 (sqrt.f64 1/2) a))
25.6b
(/.f64 (*.f64 -2 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))
Compiler

Compiled 6249 to 3985 computations (36.2% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
0.1b
(/.f64 (*.f64 -2 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))
1.0b
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
20.2b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series240.0ms (3.1%)

Counts
1 → 20
Calls

1 calls:

240.0ms
(/.f64 (*.f64 -2 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))

rewrite7.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
associate-/r*_binary64
times-frac_binary64
Counts
1 → 27
Calls

1 calls:

5.0ms
(/.f64 (*.f64 -2 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))

simplify68.0ms (0.9%)

Algorithm
egg-herbie
Rules
769×times-frac_binary64
615×associate-/l*_binary64
357×associate-/r*_binary64
352×fma-neg_binary64
235×fma-def_binary64
Counts
47 → 67
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01271488
13661333
211801254
348441254
450781254

prune406.0ms (5.3%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1787185
Fresh549
Picked101
Done011
Total18412196
Error
5.1b
Counts
196 → 12
Alt Table
StatusErrorProgram
48.2b
(-.f64 (/.f64 c b) (/.f64 b a))
25.7b
(/.f64 -2 (/.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) c))
25.8b
(/.f64 (*.f64 -2 c) (+.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) b))
38.6b
(neg.f64 (/.f64 c b))
32.0b
(/.f64 (*.f64 -2 c) (+.f64 (exp.f64 (log.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) b))
47.9b
(*.f64 (*.f64 -2 b) (/.f64 1/2 a))
36.3b
(*.f64 (-.f64 (exp.f64 (log.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) b) (/.f64 1/2 a))
32.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
25.6b
(*.f64 (*.f64 -2 c) (/.f64 1 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)))
25.3b
(/.f64 (*.f64 -2 c) (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) b))
32.5b
(/.f64 (*.f64 -2 c) (exp.f64 (log.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))))))
36.3b
(/.f64 (*.f64 -2 c) (/.f64 (*.f64 c (*.f64 a -4)) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b)))
Compiler

Compiled 4911 to 2982 computations (39.3% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
0.1b
(/.f64 (*.f64 -2 c) (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) b))
14.2b
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) b)
20.2b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series357.0ms (4.6%)

Counts
3 → 108
Calls

3 calls:

217.0ms
(/.f64 (*.f64 -2 c) (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) b))
91.0ms
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) b)
48.0ms
(sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))

rewrite8.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
10×sqrt-prod_binary64
add-sqr-sqrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
*-un-lft-identity_binary64
Counts
3 → 54
Calls

3 calls:

3.0ms
(/.f64 (*.f64 -2 c) (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) b))
1.0ms
(sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
0.0ms
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) b)

simplify166.0ms (2.2%)

Algorithm
egg-herbie
Rules
742×times-frac_binary64
332×fma-def_binary64
205×*-commutative_binary64
174×fma-neg_binary64
136×distribute-neg-in_binary64
Counts
162 → 246
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
06108925
120998542
249788534
350768534

prune460.0ms (6%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New4082410
Fresh4610
Picked011
Done011
Total41210422
Error
0.5b
Counts
422 → 10
Alt Table
StatusErrorProgram
48.2b
(-.f64 (/.f64 c b) (/.f64 b a))
25.7b
(/.f64 -2 (/.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) c))
25.8b
(/.f64 (*.f64 -2 c) (+.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) b))
38.6b
(neg.f64 (/.f64 c b))
50.9b
(/.f64 (*.f64 -2 c) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 4 a)) (log.f64 (/.f64 -1 c))))) 2) b))
50.2b
(/.f64 (*.f64 -2 c) (+.f64 b (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 4 c)) (log.f64 (/.f64 -1 a))))) 2)))
32.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
25.6b
(*.f64 (*.f64 -2 c) (/.f64 1 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)))
25.3b
(/.f64 (*.f64 -2 c) (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) b))
36.3b
(/.f64 (*.f64 -2 c) (/.f64 (*.f64 c (*.f64 a -4)) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b)))
Compiler

Compiled 20187 to 13475 computations (33.2% saved)

regimes1.4s (18.5%)

Accuracy

Total 5.8b remaining (88.7%)

Threshold costs 0b (0%)

Counts
149 → 4
Compiler

Compiled 14576 to 10034 computations (31.2% saved)

bsearch117.0ms (1.5%)

Steps
ItersRangePoint
7
3.4304305144586265e+115
6.939013140447918e+116
4.463908774462876e+115
8
-1.80742604944651e-296
-1.0061779700790181e-299
-2.5674198272216355e-298
6
-6.322179816249959e+81
-4.5698229433821705e+80
-6.211339473848772e+81
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0%)

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
03178
14578
25678
36378
46678
56678

end144.0ms (1.9%)

Compiler

Compiled 301 to 199 computations (33.9% saved)

Profiling

Loading profile data...