Details

Time bar (total: 18.9s)

analyze2.6s (13.6%)

Algorithm
search
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04978427
14978427
044
144
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%98.2%1.8%7
0%92%8%8
0%91.2%8.8%9
0.4%89.3%10.3%10
7.1%79.2%13.6%11
11.9%70.2%17.9%12
13.8%67.4%18.7%13
16.6%63.3%20.1%14
Compiler

Compiled 41 to 33 computations (19.5% saved)

sample147.0ms (0.8%)

Algorithm
intervals
Results
27.0ms27×body2048valid
27.0ms176×body128valid
16.0ms27×body1024nan
14.0ms24×body1024valid
13.0ms17×body2048nan
9.0ms20×body512nan
8.0ms56×body128nan
7.0ms16×body512valid
4.0ms13×body256valid
2.0msbody256nan
Compiler

Compiled 81 to 69 computations (14.8% saved)

simplify57.0ms (0.3%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (48.0ms)

IterNodesCost
0539061

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 80 to 59 computations (26.3% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

4.6b
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
15.9b
(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))))))
19.1b
(/.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)))
34.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

rewrite100.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
66×sqrt-div_binary64_5210
40×associate-*r/_binary64_5135
39×*-un-lft-identity_binary64_5193
36×times-frac_binary64_5199
35×add-sqr-sqrt_binary64_5215
34×associate-*l/_binary64_5136
32×add-cube-cbrt_binary64_5228
25×flip-+_binary64_5167 flip3-+_binary64_5196
24×frac-times_binary64_5203 frac-sub_binary64_5202
22×flip3--_binary64_5197 flip--_binary64_5168
20×distribute-neg-frac_binary64_5157 associate-/l/_binary64_5140
17×pow1_binary64_5254
16×distribute-lft-neg-in_binary64_5150 distribute-rgt-neg-in_binary64_5151
15×sqrt-prod_binary64_5209
12×associate-/l*_binary64_5138
add-cbrt-cube_binary64_5229 add-exp-log_binary64_5231
pow-prod-down_binary64_5264
sqrt-pow1_binary64_5211
add-log-exp_binary64_5232 neg-mul-1_binary64_5189 unpow-prod-down_binary64_5272
associate-*l*_binary64_5134 distribute-lft-out_binary64_5144 associate-*r*_binary64_5133 associate-/r*_binary64_5137
pow1/2_binary64_5273 associate-/r/_binary64_5139
distribute-lft-out--_binary64_5145 div-sub_binary64_5198 *-commutative_binary64_5124 div-inv_binary64_5190 cbrt-undiv_binary64_5227 clear-num_binary64_5192 div-exp_binary64_5244 rem-sqrt-square_binary64_5206 prod-exp_binary64_5242 neg-sub0_binary64_5188 unswap-sqr_binary64_5161 cbrt-unprod_binary64_5226 distribute-frac-neg_binary64_5156 frac-2neg_binary64_5204
Counts
4 → 158
Calls

4 calls:

32.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)))
12.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
8.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)

series864.0ms (4.6%)

Counts
4 → 12
Calls

4 calls:

377.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)))
363.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))))))
62.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
61.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)

simplify157.0ms (0.8%)

Algorithm
egg-herbie
Counts
170 → 170
Iterations

Useful iterations: 0 (73.0ms)

IterNodesCost
0494811070
1494811070

prune659.0ms (3.5%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New15515170
Fresh000
Picked101
Done000
Total15615171
Error
48.0b
Counts
171 → 15
Compiler

Compiled 12042 to 6815 computations (43.4% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

17.8b
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (*.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))))))))
20.9b
(/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (*.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 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
34.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
34.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite155.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
404×sqrt-div_binary64_5210
136×associate-*r/_binary64_5135
122×flip-+_binary64_5167 flip3-+_binary64_5196
120×frac-times_binary64_5203
104×associate-*l/_binary64_5136
96×frac-sub_binary64_5202
56×distribute-neg-frac_binary64_5157 associate-/l/_binary64_5140
45×flip3--_binary64_5197 flip--_binary64_5168
36×times-frac_binary64_5199
33×add-sqr-sqrt_binary64_5215
31×add-cube-cbrt_binary64_5228 *-un-lft-identity_binary64_5193
16×distribute-lft-neg-in_binary64_5150 distribute-rgt-neg-in_binary64_5151 pow1_binary64_5254
15×sqrt-prod_binary64_5209
12×associate-/l*_binary64_5138
add-cbrt-cube_binary64_5229 pow-prod-down_binary64_5264 add-exp-log_binary64_5231 sqrt-pow1_binary64_5211
add-log-exp_binary64_5232 neg-mul-1_binary64_5189
pow1/2_binary64_5273 associate-/r*_binary64_5137
associate-/r/_binary64_5139 rem-sqrt-square_binary64_5206
div-sub_binary64_5198 div-inv_binary64_5190 cbrt-undiv_binary64_5227 clear-num_binary64_5192 div-exp_binary64_5244 neg-sub0_binary64_5188 distribute-frac-neg_binary64_5156 frac-2neg_binary64_5204
Counts
4 → 222
Calls

4 calls:

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

series871.0ms (4.6%)

Counts
4 → 12
Calls

4 calls:

375.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) (*.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 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
366.0ms
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)) (-.f64 (+.f64 A C) (*.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))))))))
68.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
62.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify199.0ms (1.1%)

Algorithm
egg-herbie
Counts
234 → 234
Iterations

Useful iterations: 0 (42.0ms)

IterNodesCost
0555820240

prune1.4s (7.2%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New22311234
Fresh41014
Picked101
Done000
Total22821249
Error
48.0b
Counts
249 → 21
Compiler

Compiled 23869 to 12738 computations (46.6% saved)

localize31.0ms (0.2%)

Local error

Found 4 expressions with local error:

34.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
34.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
34.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
34.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite45.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
12×sqrt-prod_binary64_5209 add-sqr-sqrt_binary64_5215
sqrt-div_binary64_5210 add-cube-cbrt_binary64_5228 *-un-lft-identity_binary64_5193 pow1_binary64_5254
add-cbrt-cube_binary64_5229 add-log-exp_binary64_5232 flip-+_binary64_5167 pow1/2_binary64_5273 add-exp-log_binary64_5231 sqrt-pow1_binary64_5211 flip3-+_binary64_5196 rem-sqrt-square_binary64_5206
Counts
4 → 60
Calls

4 calls:

10.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
8.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)))

series271.0ms (1.4%)

Counts
4 → 12
Calls

4 calls:

72.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
69.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
68.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
62.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify78.0ms (0.4%)

Algorithm
egg-herbie
Counts
72 → 72
Iterations

Useful iterations: 0 (62.0ms)

IterNodesCost
050581232

prune539.0ms (2.9%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New68472
Fresh31720
Picked101
Done000
Total722193
Error
48.0b
Counts
93 → 21
Compiler

Compiled 7662 to 4474 computations (41.6% saved)

localize34.0ms (0.2%)

Local error

Found 4 expressions with local error:

34.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
34.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
34.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
34.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite48.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
12×sqrt-prod_binary64_5209 add-sqr-sqrt_binary64_5215
sqrt-div_binary64_5210 add-cube-cbrt_binary64_5228 *-un-lft-identity_binary64_5193 pow1_binary64_5254
add-cbrt-cube_binary64_5229 add-log-exp_binary64_5232 flip-+_binary64_5167 pow1/2_binary64_5273 add-exp-log_binary64_5231 sqrt-pow1_binary64_5211 flip3-+_binary64_5196 rem-sqrt-square_binary64_5206
Counts
4 → 60
Calls

4 calls:

10.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
8.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

series274.0ms (1.4%)

Counts
4 → 12
Calls

4 calls:

70.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
68.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
68.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
67.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify77.0ms (0.4%)

Algorithm
egg-herbie
Counts
72 → 72
Iterations

Useful iterations: 0 (61.0ms)

IterNodesCost
050581232

prune338.0ms (1.8%)

Pruning

21 alts after pruning (20 fresh and 1 done)

PrunedKeptTotal
New71172
Fresh11920
Picked011
Done000
Total722193
Error
48.0b
Counts
93 → 21
Compiler

Compiled 7772 to 4335 computations (44.2% saved)

regimes2.0s (10.6%)

Accuracy

Total 1.6b remaining (3.4%)

Threshold costs 0b (0%)

Compiler

Compiled 34839 to 22595 computations (35.1% saved)

bsearch10.0ms (0.1%)

Compiler

Compiled 40 to 32 computations (20% saved)

simplify37.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (20.0ms)

IterNodesCost
0590266
1590266
Compiler

Compiled 346 to 234 computations (32.4% saved)

end0.0ms (0%)

sample7.9s (41.9%)

Algorithm
intervals
Results
854.0ms5562×body128valid
531.0ms644×body2048valid
523.0ms849×body1024valid
483.0ms811×body1024nan
419.0ms532×body2048nan
371.0ms2369×body128nan
276.0ms606×body512valid
271.0ms589×body512nan
99.0ms337×body256valid
93.0ms323×body256nan
2.0msbody4096valid
Compiler

Compiled 5983 to 3882 computations (35.1% saved)

Profiling

Loading profile data...