Details

Time bar (total: 20.9s)

analyze2.5s (11.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%98.2%1.8%8
0%94.3%5.7%9
0.4%93%6.6%10
7.4%83.3%9.3%11
12.4%75.2%12.4%12
14.4%68.9%16.7%13
16.8%65.4%17.8%14
Compiler

Compiled 41 to 33 computations (19.5% saved)

sample133.0ms (0.6%)

Algorithm
intervals
Results
26.0ms189×body128valid
16.0ms27×body1024valid
16.0ms14×body2048nan
16.0ms92×body128nan
13.0ms15×body2048valid
10.0ms18×body1024nan
9.0ms20×body512valid
6.0ms16×body512nan
2.0msbody256nan
1.0msbody256valid
Compiler

Compiled 81 to 69 computations (14.8% saved)

simplify122.0ms (0.6%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (30.0ms)

IterNodesCost
0561361

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112

Merged error: 51.4b

Counts
2 → 1
Compiler

Compiled 80 to 59 computations (26.3% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

5.5b
(*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))
16.8b
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
21.5b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
35.7b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

rewrite133.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
78×sqrt-div_binary64_5892
60×associate-*r/_binary64_5817
48×associate-*l/_binary64_5818
46×flip-+_binary64_5849 flip3-+_binary64_5878
43×*-un-lft-identity_binary64_5875
36×frac-add_binary64_5883 times-frac_binary64_5881 frac-times_binary64_5885
32×add-sqr-sqrt_binary64_5897
31×add-cube-cbrt_binary64_5910
24×pow1_binary64_5936
22×flip3--_binary64_5879 flip--_binary64_5850
20×associate-/l/_binary64_5822 distribute-neg-frac_binary64_5839
16×distribute-lft-neg-in_binary64_5832 distribute-rgt-neg-in_binary64_5833
15×sqrt-prod_binary64_5891 add-exp-log_binary64_5913 add-cbrt-cube_binary64_5911
12×pow-prod-down_binary64_5946 associate-/l*_binary64_5820
distribute-lft-out_binary64_5826 cbrt-unprod_binary64_5908 prod-exp_binary64_5924
associate-*r*_binary64_5815 sqrt-pow1_binary64_5893
neg-mul-1_binary64_5871 unpow-prod-down_binary64_5954 add-log-exp_binary64_5914
associate-/r*_binary64_5819
associate-/r/_binary64_5821 pow1/2_binary64_5955
cbrt-undiv_binary64_5909 distribute-lft-out--_binary64_5827 neg-sub0_binary64_5870 div-sub_binary64_5880 div-inv_binary64_5872 distribute-frac-neg_binary64_5838 distribute-rgt-in_binary64_5825 associate-*l*_binary64_5816 distribute-lft-in_binary64_5824 frac-2neg_binary64_5886 div-exp_binary64_5926 *-commutative_binary64_5806 clear-num_binary64_5874 rem-sqrt-square_binary64_5888
Counts
4 → 183
Calls

4 calls:

30.0ms
(*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))
27.0ms
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
17.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
16.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

series993.0ms (4.8%)

Counts
4 → 12
Calls

4 calls:

399.0ms
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
312.0ms
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))
214.0ms
(*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (+.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))))
68.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

simplify145.0ms (0.7%)

Algorithm
egg-herbie
Counts
195 → 195
Iterations

Useful iterations: 0 (40.0ms)

IterNodesCost
0498514027
1498514027

prune979.0ms (4.7%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New17520195
Fresh000
Picked101
Done000
Total17620196

Merged error: 46.0b

Counts
196 → 20
Compiler

Compiled 14316 to 7982 computations (44.2% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

8.8b
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))))
12.0b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))))
20.6b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
35.7b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite122.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
153×*-un-lft-identity_binary64_5875
121×times-frac_binary64_5881
89×add-sqr-sqrt_binary64_5897
83×add-cube-cbrt_binary64_5910
75×sqrt-prod_binary64_5891
66×associate-*r*_binary64_5815
56×distribute-lft-neg-in_binary64_5832 distribute-rgt-neg-in_binary64_5833
42×distribute-lft-out_binary64_5826
20×associate-/l*_binary64_5820
18×sqrt-div_binary64_5892
13×pow1_binary64_5936
11×add-exp-log_binary64_5913 add-cbrt-cube_binary64_5911
associate-*l/_binary64_5818
neg-mul-1_binary64_5871 associate-*r/_binary64_5817
flip-+_binary64_5849 flip3-+_binary64_5878 associate-/l/_binary64_5822 distribute-neg-frac_binary64_5839
flip3--_binary64_5879 flip--_binary64_5850
frac-add_binary64_5883 pow-prod-down_binary64_5946 associate-/r/_binary64_5821 associate-*l*_binary64_5816 sqrt-pow1_binary64_5893 add-log-exp_binary64_5914
associate-/r*_binary64_5819
cbrt-undiv_binary64_5909 div-inv_binary64_5872 cbrt-unprod_binary64_5908 distribute-frac-neg_binary64_5838 pow1/2_binary64_5955 div-exp_binary64_5926 frac-times_binary64_5885 unswap-sqr_binary64_5843 prod-exp_binary64_5924
distribute-rgt-neg-out_binary64_5835 neg-sub0_binary64_5870 div-sub_binary64_5880 frac-2neg_binary64_5886 *-commutative_binary64_5806 clear-num_binary64_5874 rem-sqrt-square_binary64_5888
Counts
4 → 225
Calls

4 calls:

42.0ms
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))))
27.0ms
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
6.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))

series748.0ms (3.6%)

Counts
4 → 12
Calls

4 calls:

363.0ms
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))))
193.0ms
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))))
129.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
62.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify150.0ms (0.7%)

Algorithm
egg-herbie
Counts
237 → 237
Iterations

Useful iterations: 0 (50.0ms)

IterNodesCost
0494912824
1494912824

prune771.0ms (3.7%)

Pruning

23 alts after pruning (23 fresh and 0 done)

PrunedKeptTotal
New2289237
Fresh51419
Picked101
Done000
Total23423257

Merged error: 42.3b

Counts
257 → 23
Compiler

Compiled 15024 to 8062 computations (46.3% saved)

localize30.0ms (0.1%)

Local error

Found 4 expressions with local error:

7.6b
(/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))))
13.2b
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C))))))
20.6b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)))
35.7b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite202.0ms (1%)

Algorithm
rewrite-expression-head
Rules
640×times-frac_binary64_5881
487×*-un-lft-identity_binary64_5875
298×add-sqr-sqrt_binary64_5897
297×add-cube-cbrt_binary64_5910
265×sqrt-prod_binary64_5891
152×distribute-lft-neg-in_binary64_5832 distribute-rgt-neg-in_binary64_5833
114×distribute-lft-out_binary64_5826
90×associate-/r*_binary64_5819
66×sqrt-div_binary64_5892
37×associate-/r/_binary64_5821
36×distribute-neg-frac_binary64_5839
31×flip-+_binary64_5849 flip3-+_binary64_5878
24×frac-add_binary64_5883
19×neg-mul-1_binary64_5871
11×add-exp-log_binary64_5913 add-cbrt-cube_binary64_5911 pow1_binary64_5936
div-inv_binary64_5872 associate-/l*_binary64_5820
cbrt-undiv_binary64_5909 associate-/l/_binary64_5822 associate-*l/_binary64_5818 div-exp_binary64_5926 associate-*r/_binary64_5817 sqrt-pow1_binary64_5893 add-log-exp_binary64_5914
pow-prod-down_binary64_5946 flip3--_binary64_5879 flip--_binary64_5850
pow1/2_binary64_5955 frac-2neg_binary64_5886 clear-num_binary64_5874
div-sub_binary64_5880 rem-sqrt-square_binary64_5888
Counts
4 → 504
Calls

4 calls:

43.0ms
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C))))))
22.0ms
(/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
7.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)))

series805.0ms (3.9%)

Counts
4 → 12
Calls

4 calls:

359.0ms
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F))) (/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C))))))
239.0ms
(/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))))
144.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)))
62.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify374.0ms (1.8%)

Algorithm
egg-herbie
Counts
516 → 516
Iterations

Useful iterations: 0 (54.0ms)

IterNodesCost
0524146794

prune2.5s (12%)

Pruning

23 alts after pruning (23 fresh and 0 done)

PrunedKeptTotal
New5124516
Fresh31922
Picked101
Done000
Total51623539

Merged error: 42.3b

Counts
539 → 23
Compiler

Compiled 37274 to 20314 computations (45.5% saved)

localize27.0ms (0.1%)

Local error

Found 4 expressions with local error:

12.0b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))) (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))))
20.6b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
35.7b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
35.7b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite99.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
54×associate-*r*_binary64_5815
49×times-frac_binary64_5881
46×add-sqr-sqrt_binary64_5897
39×add-cube-cbrt_binary64_5910 *-un-lft-identity_binary64_5875
26×sqrt-prod_binary64_5891
18×distribute-lft-neg-in_binary64_5832 distribute-rgt-neg-in_binary64_5833
14×pow1_binary64_5936
10×sqrt-div_binary64_5892
add-exp-log_binary64_5913 add-cbrt-cube_binary64_5911
associate-*l/_binary64_5818
associate-*r/_binary64_5817
sqrt-pow1_binary64_5893
pow-prod-down_binary64_5946 associate-*l*_binary64_5816 flip3--_binary64_5879 add-log-exp_binary64_5914 flip--_binary64_5850
neg-mul-1_binary64_5871 pow1/2_binary64_5955
flip-+_binary64_5849 flip3-+_binary64_5878 associate-/r/_binary64_5821 cbrt-unprod_binary64_5908 frac-times_binary64_5885 unswap-sqr_binary64_5843 prod-exp_binary64_5924 rem-sqrt-square_binary64_5888
cbrt-undiv_binary64_5909 distribute-rgt-neg-out_binary64_5835 div-inv_binary64_5872 distribute-frac-neg_binary64_5838 div-exp_binary64_5926 *-commutative_binary64_5806
Counts
4 → 123
Calls

4 calls:

53.0ms
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))) (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))))
7.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
7.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
6.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))

series618.0ms (3%)

Counts
4 → 12
Calls

4 calls:

367.0ms
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))) (sqrt.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))))
127.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
64.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
59.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify99.0ms (0.5%)

Algorithm
egg-herbie
Counts
135 → 135
Iterations

Useful iterations: 0 (41.0ms)

IterNodesCost
049806156
149806156

prune356.0ms (1.7%)

Pruning

23 alts after pruning (23 fresh and 0 done)

PrunedKeptTotal
New1323135
Fresh22022
Picked101
Done000
Total13523158

Merged error: 42.3b

Counts
158 → 23
Compiler

Compiled 8901 to 4715 computations (47% saved)

regimes1.7s (8.1%)

Compiler

Compiled 29585 to 19460 computations (34.2% saved)

bsearch9.0ms (0%)

Compiler

Compiled 40 to 32 computations (20% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
0188366
1188366

end0.0ms (0%)

sample7.3s (34.7%)

Algorithm
intervals
Results
819.0ms5540×body128valid
503.0ms868×body1024valid
477.0ms650×body2048valid
444.0ms798×body1024nan
414.0ms2938×body128nan
400.0ms546×body2048nan
258.0ms616×body512valid
241.0ms577×body512nan
89.0ms325×body256valid
86.0ms309×body256nan
1.0msbody4096valid
Compiler

Compiled 5155 to 3380 computations (34.4% saved)

Profiling

Loading profile data...