Details

Time bar (total: 7.5s)

analyze648.0ms (8.6%)

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)

sample187.0ms (2.5%)

Algorithm
intervals
Results
16.0ms38×body2048valid
11.0ms166×body128valid
7.0ms27×body1024valid
2.0ms13×body512valid
2.0msbody4096valid
1.0ms14×body128nan
1.0ms13×body128invalid
1.0msbody256valid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify128.0ms (1.7%)

Algorithm
egg-herbie
Rules
2079×fma-neg_binary64
1006×fma-def_binary64
919×div-sub_binary64
626×distribute-rgt-in_binary64
435×cancel-sign-sub-inv_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01526
13824
29524
322722
435722
561422
6110322
7137322
8163622
9233022
10318722
11288022
12282722
13289622
14292222
15379722
16482422
17524022

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
36.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
36.3b
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
Compiler

Compiled 71 to 46 computations (35.2% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
0.2b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
1.9b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
24.3b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series193.0ms (2.6%)

Counts
4 → 96
Calls

4 calls:

80.0ms
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
52.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
50.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
11.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))

rewrite15.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
25×*-un-lft-identity_binary64
16×add-sqr-sqrt_binary64
15×add-cube-cbrt_binary64
12×times-frac_binary64
add-cbrt-cube_binary64
Counts
4 → 77
Calls

4 calls:

5.0ms
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
3.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 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))

simplify84.0ms (1.1%)

Algorithm
egg-herbie
Rules
834×times-frac_binary64
539×associate-/l*_binary64
468×fma-def_binary64
198×cancel-sign-sub-inv_binary64
125×associate-/r/_binary64
Counts
173 → 193
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01973876
15213658
215783494
350113494

prune147.0ms (2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1858193
Fresh000
Picked011
Done000
Total1859194
Error
5.2b
Counts
194 → 9
Alt Table
StatusErrorProgram
36.4b
(*.f64 -1/2 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 1 a)))
39.1b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
33.3b
(*.f64 -1/2 (/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))))))
43.6b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
52.0b
(*.f64 -1/2 (fma.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)) (*.f64 4 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)))))
36.3b
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
47.2b
(*.f64 -1/2 (/.f64 (/.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 c (*.f64 a -4)))) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) a))
43.3b
(*.f64 -1/2 (*.f64 2 (/.f64 b a)))
51.1b
(*.f64 -1/2 (*.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 a))))
Compiler

Compiled 5149 to 3115 computations (39.5% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))))
0.1b
(/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))))
1.0b
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))
15.1b
(sqrt.f64 (*.f64 c (*.f64 a -4)))

series749.0ms (9.9%)

Counts
4 → 42
Calls

4 calls:

382.0ms
(/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))))
208.0ms
(/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))))
139.0ms
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))
20.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))

rewrite32.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
114×times-frac_binary64
99×*-un-lft-identity_binary64
65×add-sqr-sqrt_binary64
65×add-cube-cbrt_binary64
22×associate-/r*_binary64
Counts
4 → 164
Calls

4 calls:

7.0ms
(/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))))
4.0ms
(/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))))
3.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))
2.0ms
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))

simplify154.0ms (2%)

Algorithm
egg-herbie
Rules
504×fma-neg_binary64
501×fma-def_binary64
444×associate-/r/_binary64
326×cancel-sign-sub-inv_binary64
212×associate-/l/_binary64
Counts
206 → 291
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02626330
16475816
222205699
345415689
449335689

prune229.0ms (3%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2865291
Fresh257
Picked101
Done101
Total29010300
Error
2.2b
Counts
300 → 10
Alt Table
StatusErrorProgram
33.4b
(*.f64 -1/2 (*.f64 (/.f64 1 a) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 c a)))))))
52.0b
(*.f64 -1/2 (fma.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)) (*.f64 4 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)))))
45.6b
(*.f64 -1/2 (/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))))))))
39.1b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
43.6b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
47.2b
(*.f64 -1/2 (/.f64 (/.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 c (*.f64 a -4)))) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) a))
43.3b
(*.f64 -1/2 (*.f64 2 (/.f64 b a)))
45.9b
(*.f64 -1/2 (/.f64 1 (fma.f64 1/8 (/.f64 (*.f64 a (*.f64 -4 (*.f64 c a))) (pow.f64 b 3)) (fma.f64 -1/2 (/.f64 a b) (/.f64 -2 (/.f64 (*.f64 -4 c) b))))))
39.2b
(*.f64 -1/2 (/.f64 1 (fma.f64 -1/2 (/.f64 a b) (/.f64 -2 (/.f64 (*.f64 -4 c) b)))))
49.4b
(*.f64 -1/2 (/.f64 1 (*.f64 (sqrt.f64 a) (/.f64 (sqrt.f64 a) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 c a)))))))))
Compiler

Compiled 9135 to 6056 computations (33.7% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -4 (*.f64 c a))
0.2b
(*.f64 (/.f64 1 a) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 c a))))))
1.0b
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 c a)))))
15.1b
(sqrt.f64 (*.f64 -4 (*.f64 c a)))

series379.0ms (5%)

Counts
4 → 28
Calls

4 calls:

208.0ms
(*.f64 (/.f64 1 a) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 c a))))))
145.0ms
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 c a)))))
21.0ms
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
5.0ms
(*.f64 -4 (*.f64 c a))

rewrite23.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
21×add-sqr-sqrt_binary64
19×*-un-lft-identity_binary64
18×add-exp-log_binary64
17×pow1_binary64
16×associate-*l*_binary64
Counts
4 → 95
Calls

4 calls:

8.0ms
(*.f64 (/.f64 1 a) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 c a))))))
4.0ms
(*.f64 -4 (*.f64 c a))
3.0ms
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
2.0ms
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 c a)))))

simplify103.0ms (1.4%)

Algorithm
egg-herbie
Rules
760×associate-/r*_binary64
447×fma-def_binary64
246×distribute-rgt-in_binary64
234×distribute-lft-in_binary64
157×associate-*r*_binary64
Counts
123 → 167
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02132765
15872488
218632447
349422447
449952447
549362447

prune132.0ms (1.8%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1661167
Fresh189
Picked011
Done000
Total16710177
Error
2.2b
Counts
177 → 10
Alt Table
StatusErrorProgram
45.4b
(*.f64 -1/2 (fma.f64 1/8 (/.f64 16 (*.f64 (pow.f64 b 3) (/.f64 1 (*.f64 c (*.f64 c a))))) (*.f64 -1/2 (/.f64 (*.f64 -4 c) b))))
33.4b
(*.f64 -1/2 (*.f64 (/.f64 1 a) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 c a)))))))
45.6b
(*.f64 -1/2 (/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))))))))
39.1b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
43.6b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
47.2b
(*.f64 -1/2 (/.f64 (/.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 c (*.f64 a -4)))) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) a))
43.3b
(*.f64 -1/2 (*.f64 2 (/.f64 b a)))
45.9b
(*.f64 -1/2 (/.f64 1 (fma.f64 1/8 (/.f64 (*.f64 a (*.f64 -4 (*.f64 c a))) (pow.f64 b 3)) (fma.f64 -1/2 (/.f64 a b) (/.f64 -2 (/.f64 (*.f64 -4 c) b))))))
39.2b
(*.f64 -1/2 (/.f64 1 (fma.f64 -1/2 (/.f64 a b) (/.f64 -2 (/.f64 (*.f64 -4 c) b)))))
49.4b
(*.f64 -1/2 (/.f64 1 (*.f64 (sqrt.f64 a) (/.f64 (sqrt.f64 a) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 c a)))))))))
Compiler

Compiled 4827 to 3099 computations (35.8% saved)

localize4.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
0.0b
(*.f64 2 (/.f64 c b))

series16.0ms (0.2%)

Counts
2 → 24
Calls

2 calls:

10.0ms
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
7.0ms
(*.f64 2 (/.f64 c b))

rewrite15.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
16×add-sqr-sqrt_binary64
16×add-cbrt-cube_binary64
16×add-exp-log_binary64
14×associate-*r*_binary64
11×*-un-lft-identity_binary64
Counts
2 → 57
Calls

2 calls:

7.0ms
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
5.0ms
(*.f64 2 (/.f64 c b))

simplify58.0ms (0.8%)

Algorithm
egg-herbie
Rules
538×associate-/l/_binary64
505×associate-*l*_binary64
398×neg-mul-1_binary64
364×associate-*r*_binary64
330×times-frac_binary64
Counts
81 → 84
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0102758
1217669
2634669
32292669
44278669
55225669

prune52.0ms (0.7%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New84084
Fresh088
Picked011
Done011
Total841094
Error
2.2b
Counts
94 → 10
Alt Table
StatusErrorProgram
45.4b
(*.f64 -1/2 (fma.f64 1/8 (/.f64 16 (*.f64 (pow.f64 b 3) (/.f64 1 (*.f64 c (*.f64 c a))))) (*.f64 -1/2 (/.f64 (*.f64 -4 c) b))))
33.4b
(*.f64 -1/2 (*.f64 (/.f64 1 a) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 c a)))))))
45.6b
(*.f64 -1/2 (/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))))))))
39.1b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
43.6b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
47.2b
(*.f64 -1/2 (/.f64 (/.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 c (*.f64 a -4)))) (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) a))
43.3b
(*.f64 -1/2 (*.f64 2 (/.f64 b a)))
45.9b
(*.f64 -1/2 (/.f64 1 (fma.f64 1/8 (/.f64 (*.f64 a (*.f64 -4 (*.f64 c a))) (pow.f64 b 3)) (fma.f64 -1/2 (/.f64 a b) (/.f64 -2 (/.f64 (*.f64 -4 c) b))))))
39.2b
(*.f64 -1/2 (/.f64 1 (fma.f64 -1/2 (/.f64 a b) (/.f64 -2 (/.f64 (*.f64 -4 c) b)))))
49.4b
(*.f64 -1/2 (/.f64 1 (*.f64 (sqrt.f64 a) (/.f64 (sqrt.f64 a) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 c a)))))))))
Compiler

Compiled 1224 to 747 computations (39% saved)

regimes2.3s (30.9%)

Accuracy

Total 7.8b remaining (71.2%)

Threshold costs 0b (0%)

Counts
148 → 4
Compiler

Compiled 13528 to 9618 computations (28.9% saved)

bsearch97.0ms (1.3%)

Steps
ItersRangePoint
7
1.4207986499139543e+94
2.937033851030537e+95
2.4136909489838122e+95
8
1.075417421308706e-54
5.973866601528205e-52
1.0870661076768719e-54
9
-1.2284966536175126e-135
-1.437779468124281e-141
-1.1094489260975471e-135
Compiler

Compiled 4 to 3 computations (25% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
04290
16590
28290
310390
411490
512090
612290
712090

end1.0ms (0%)

Compiler

Compiled 63 to 39 computations (38.1% saved)

sample1.7s (22.8%)

Algorithm
intervals
Results
375.0ms5295×body128valid
373.0ms1098×body2048valid
188.0ms681×body1024valid
162.0ms371×body4096valid
72.0ms375×body512valid
55.0ms705×body128nan
31.0ms361×body128invalid
25.0ms180×body256valid
Compiler

Compiled 291 to 207 computations (28.9% saved)

Profiling

Loading profile data...