Details

Time bar (total: 52.6s)

analyze2.4s (4.6%)

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)

sample127.0ms (0.2%)

Algorithm
intervals
Results
24.0ms176×body128valid
15.0ms28×body1024valid
14.0ms19×body2048nan
13.0ms20×body2048valid
13.0ms98×body128nan
11.0ms14×body1024nan
7.0ms18×body512valid
6.0ms14×body512nan
4.0ms14×body256valid
3.0ms10×body256nan
Compiler

Compiled 81 to 69 computations (14.8% saved)

simplify124.0ms (0.2%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (32.0ms)

IterNodesCost
0561361

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
51.4b
Counts
2 → 1
Compiler

Compiled 80 to 59 computations (26.3% saved)

localize24.0ms (0%)

Local error

Found 4 expressions with local error:

6.7b
(*.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)))))
13.5b
(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))))))
18.2b
(/.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)))
33.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

rewrite130.0ms (0.2%)

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:

37.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)))))
28.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)))
11.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

series989.0ms (1.9%)

Counts
4 → 12
Calls

4 calls:

396.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)))
314.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)))))
65.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

simplify143.0ms (0.3%)

Algorithm
egg-herbie
Counts
195 → 195
Iterations

Useful iterations: 0 (42.0ms)

IterNodesCost
0498514027
1498514027

prune767.0ms (1.5%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New17520195
Fresh000
Picked101
Done000
Total17620196
Error
44.5b
Counts
196 → 20
Compiler

Compiled 14393 to 8015 computations (44.3% saved)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

5.3b
(*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)
18.0b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
20.2b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
33.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite55.0ms (0.1%)

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

4 calls:

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

series633.0ms (1.2%)

Counts
4 → 12
Calls

4 calls:

371.0ms
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
135.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
66.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
61.0ms
(*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)

simplify76.0ms (0.1%)

Algorithm
egg-herbie
Counts
124 → 124
Iterations

Useful iterations: 0 (29.0ms)

IterNodesCost
049795915
149795915

prune338.0ms (0.6%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New1186124
Fresh31619
Picked101
Done000
Total12222144
Error
42.0b
Counts
144 → 22
Compiler

Compiled 8590 to 4776 computations (44.4% saved)

localize22.0ms (0%)

Local error

Found 4 expressions with local error:

5.6b
(/.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.6b
(*.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.2b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
33.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite130.0ms (0.2%)

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:

47.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)))))
22.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))))
7.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
7.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))

series763.0ms (1.5%)

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

simplify144.0ms (0.3%)

Algorithm
egg-herbie
Counts
237 → 237
Iterations

Useful iterations: 0 (49.0ms)

IterNodesCost
0494912824
1494912824

prune968.0ms (1.8%)

Pruning

25 alts after pruning (24 fresh and 1 done)

PrunedKeptTotal
New2343237
Fresh02121
Picked011
Done000
Total23425259
Error
42.0b
Counts
259 → 25
Compiler

Compiled 15164 to 8153 computations (46.2% saved)

localize29.0ms (0.1%)

Local error

Found 4 expressions with local error:

18.5b
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (sqrt.f64 (+.f64 (*.f64 (fabs.f64 (cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))) (sqrt.f64 (cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (+.f64 A C))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
20.2b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
34.2b
(cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
34.2b
(cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite62.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
46×sqrt-div_binary64_5892
34×associate-*r/_binary64_5817
20×associate-/l/_binary64_5822 distribute-neg-frac_binary64_5839
18×times-frac_binary64_5881 associate-*l/_binary64_5818
17×flip-+_binary64_5849 add-cube-cbrt_binary64_5910 flip3-+_binary64_5878 add-sqr-sqrt_binary64_5897 *-un-lft-identity_binary64_5875
16×cbrt-div_binary64_5907
12×frac-add_binary64_5883 frac-times_binary64_5885
10×pow1_binary64_5936
flip3--_binary64_5879 flip--_binary64_5850
cbrt-prod_binary64_5906 add-exp-log_binary64_5913 associate-/l*_binary64_5820 add-cbrt-cube_binary64_5911
distribute-lft-neg-in_binary64_5832 neg-mul-1_binary64_5871 distribute-rgt-neg-in_binary64_5833 add-log-exp_binary64_5914
pow-prod-down_binary64_5946 associate-/r*_binary64_5819 sqrt-pow1_binary64_5893
associate-/r/_binary64_5821 pow1/3_binary64_5957
cbrt-undiv_binary64_5909 sqrt-prod_binary64_5891 neg-sub0_binary64_5870 div-sub_binary64_5880 div-inv_binary64_5872 distribute-frac-neg_binary64_5838 pow1/2_binary64_5955 frac-2neg_binary64_5886 div-exp_binary64_5926 clear-num_binary64_5874
Counts
4 → 103
Calls

4 calls:

15.0ms
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (sqrt.f64 (+.f64 (*.f64 (fabs.f64 (cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))) (sqrt.f64 (cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (+.f64 A C))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
10.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
8.0ms
(cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
7.0ms
(cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

series35.2s (66.9%)

Counts
4 → 12
Calls

4 calls:

34.8s
(/.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (sqrt.f64 (+.f64 (*.f64 (fabs.f64 (cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))) (sqrt.f64 (cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (+.f64 A C))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
147.0ms
(cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
142.0ms
(cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
122.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))

simplify106.0ms (0.2%)

Algorithm
egg-herbie
Counts
115 → 115
Iterations

Useful iterations: 0 (51.0ms)

IterNodesCost
049347735
149347735

prune439.0ms (0.8%)

Pruning

26 alts after pruning (25 fresh and 1 done)

PrunedKeptTotal
New1096115
Fresh41923
Picked101
Done011
Total11426140
Error
42.0b
Counts
140 → 26
Compiler

Compiled 9280 to 4984 computations (46.3% saved)

regimes1.7s (3.3%)

Accuracy

Total 5.4b remaining (11.1%)

Threshold costs 0b (0%)

Compiler

Compiled 29609 to 19370 computations (34.6% saved)

bsearch300.0ms (0.6%)

Steps
ItersRangePoint
9
1.2147720541555725e+119
4.078193130473355e+125
3.6253503641308704e+122
9
6.697515362436663e-295
6.676811345099415e-289
1.0370206653323664e-290
9
-7.302337223590061e-208
-8.928823328075392e-213
-1.0923582101290374e-212
Compiler

Compiled 1 to 4 computations (-300% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (3.0ms)

IterNodesCost
0220328
1220328

end0.0ms (0%)

sample6.8s (12.9%)

Algorithm
intervals
Results
729.0ms5532×body128valid
459.0ms873×body1024nan
455.0ms659×body2048valid
454.0ms872×body1024valid
397.0ms580×body2048nan
390.0ms3010×body128nan
228.0ms594×body512nan
225.0ms577×body512valid
94.0ms357×body256valid
83.0ms326×body256nan
3.0msbody4096valid
Compiler

Compiled 5132 to 3339 computations (34.9% saved)

Profiling

Loading profile data...