Details

Time bar (total: 24.9s)

analyze2.5s (10%)

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)

sample144.0ms (0.6%)

Algorithm
intervals
Results
25.0ms175×body128valid
19.0ms24×body2048valid
18.0ms95×body128nan
15.0ms26×body1024nan
12.0ms27×body512valid
12.0ms16×body2048nan
10.0ms19×body1024valid
9.0ms22×body512nan
3.0ms11×body256valid
2.0msbody256nan
Compiler

Compiled 81 to 69 computations (14.8% saved)

simplify130.0ms (0.5%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (36.0ms)

IterNodesCost
0561361

prune5.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 80 to 59 computations (26.3% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite102.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
66×sqrt-div_binary64_3164
40×associate-*r/_binary64_3089
39×*-un-lft-identity_binary64_3147
36×times-frac_binary64_3153
35×add-sqr-sqrt_binary64_3169
34×associate-*l/_binary64_3090
32×add-cube-cbrt_binary64_3182
31×flip-+_binary64_3121 flip3-+_binary64_3150
24×frac-times_binary64_3157 frac-add_binary64_3155
20×distribute-neg-frac_binary64_3111 associate-/l/_binary64_3094
17×pow1_binary64_3208
16×flip--_binary64_3122 flip3--_binary64_3151 distribute-lft-neg-in_binary64_3104 distribute-rgt-neg-in_binary64_3105
15×sqrt-prod_binary64_3163
12×associate-/l*_binary64_3092
add-exp-log_binary64_3185 add-cbrt-cube_binary64_3183
pow-prod-down_binary64_3218
sqrt-pow1_binary64_3165
unpow-prod-down_binary64_3226 neg-mul-1_binary64_3143 add-log-exp_binary64_3186
associate-*r*_binary64_3087 associate-/r*_binary64_3091 distribute-lft-out_binary64_3098 associate-*l*_binary64_3088
pow1/2_binary64_3227 associate-/r/_binary64_3093
*-commutative_binary64_3078 unswap-sqr_binary64_3115 clear-num_binary64_3146 distribute-frac-neg_binary64_3110 frac-2neg_binary64_3158 rem-sqrt-square_binary64_3160 distribute-lft-out--_binary64_3099 prod-exp_binary64_3196 neg-sub0_binary64_3142 div-sub_binary64_3152 cbrt-undiv_binary64_3181 cbrt-unprod_binary64_3180 div-exp_binary64_3198 div-inv_binary64_3144
Counts
4 → 158
Calls

4 calls:

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

series882.0ms (3.5%)

Counts
4 → 12
Calls

4 calls:

420.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)))
329.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))))))
67.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
65.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)

simplify134.0ms (0.5%)

Algorithm
egg-herbie
Counts
170 → 170
Iterations

Useful iterations: 0 (52.0ms)

IterNodesCost
0494711055
1494711055

prune671.0ms (2.7%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New15416170
Fresh000
Picked101
Done000
Total15516171
Error
47.0b
Counts
171 → 16
Compiler

Compiled 11969 to 6774 computations (43.4% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

8.9b
(/.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)))))
11.4b
(/.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))))))
21.5b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)))
34.7b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite206.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
640×times-frac_binary64_3153
487×*-un-lft-identity_binary64_3147
298×add-sqr-sqrt_binary64_3169
297×add-cube-cbrt_binary64_3182
265×sqrt-prod_binary64_3163
152×distribute-lft-neg-in_binary64_3104 distribute-rgt-neg-in_binary64_3105
114×distribute-lft-out_binary64_3098
90×associate-/r*_binary64_3091
66×sqrt-div_binary64_3164
37×associate-/r/_binary64_3093
36×distribute-neg-frac_binary64_3111
31×flip-+_binary64_3121 flip3-+_binary64_3150
24×frac-add_binary64_3155
19×neg-mul-1_binary64_3143
11×add-exp-log_binary64_3185 add-cbrt-cube_binary64_3183 pow1_binary64_3208
associate-/l*_binary64_3092 div-inv_binary64_3144
associate-*l/_binary64_3090 associate-/l/_binary64_3094 cbrt-undiv_binary64_3181 sqrt-pow1_binary64_3165 div-exp_binary64_3198 add-log-exp_binary64_3186 associate-*r/_binary64_3089
flip--_binary64_3122 pow-prod-down_binary64_3218 flip3--_binary64_3151
clear-num_binary64_3146 frac-2neg_binary64_3158 pow1/2_binary64_3227
rem-sqrt-square_binary64_3160 div-sub_binary64_3152
Counts
4 → 504
Calls

4 calls:

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

series860.0ms (3.5%)

Counts
4 → 12
Calls

4 calls:

378.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))))))
248.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)))))
166.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)))
67.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify388.0ms (1.6%)

Algorithm
egg-herbie
Counts
516 → 516
Iterations

Useful iterations: 0 (65.0ms)

IterNodesCost
0524146794

prune2.7s (11%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New5097516
Fresh51015
Picked101
Done000
Total51517532
Error
45.5b
Counts
532 → 17
Compiler

Compiled 36932 to 20099 computations (45.6% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

5.7b
(*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)
16.5b
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))))
21.5b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
34.7b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite46.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
19×add-sqr-sqrt_binary64_3169
16×*-un-lft-identity_binary64_3147 add-cube-cbrt_binary64_3182
13×pow1_binary64_3208
12×times-frac_binary64_3153
add-exp-log_binary64_3185 add-cbrt-cube_binary64_3183 sqrt-prod_binary64_3163
associate-*l/_binary64_3090 sqrt-div_binary64_3164
flip--_binary64_3122 pow-prod-down_binary64_3218 flip3--_binary64_3151 sqrt-pow1_binary64_3165 add-log-exp_binary64_3186 associate-/l*_binary64_3092 associate-*r/_binary64_3089
associate-*r*_binary64_3087 associate-/r*_binary64_3091 associate-*l*_binary64_3088
associate-/l/_binary64_3094 pow1/2_binary64_3227 associate-/r/_binary64_3093
*-commutative_binary64_3078 unswap-sqr_binary64_3115 clear-num_binary64_3146 flip-+_binary64_3121 frac-2neg_binary64_3158 flip3-+_binary64_3150 rem-sqrt-square_binary64_3160 prod-exp_binary64_3196 cbrt-undiv_binary64_3181 cbrt-unprod_binary64_3180 div-exp_binary64_3198 div-inv_binary64_3144
Counts
4 → 84
Calls

4 calls:

14.0ms
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))))
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)))

series423.0ms (1.7%)

Counts
4 → 12
Calls

4 calls:

152.0ms
(/.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))))
138.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
68.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
64.0ms
(*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)

simplify53.0ms (0.2%)

Algorithm
egg-herbie
Counts
96 → 96
Iterations

Useful iterations: 0 (23.0ms)

IterNodesCost
049702922
149702922

prune226.0ms (0.9%)

Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New96096
Fresh01616
Picked011
Done000
Total9617113
Error
45.5b
Counts
113 → 17
Compiler

Compiled 5557 to 3117 computations (43.9% saved)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

11.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 (exp.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (+.f64 A C))))))
21.5b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)))
21.5b
(+.f64 (exp.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (+.f64 A C))
34.7b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite187.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
580×times-frac_binary64_3153
411×*-un-lft-identity_binary64_3147
257×add-sqr-sqrt_binary64_3169
256×add-cube-cbrt_binary64_3182
225×sqrt-prod_binary64_3163
120×distribute-lft-neg-in_binary64_3104 distribute-rgt-neg-in_binary64_3105
93×distribute-lft-out_binary64_3098
70×associate-/r*_binary64_3091
60×sqrt-div_binary64_3164
31×flip-+_binary64_3121 flip3-+_binary64_3150 associate-/r/_binary64_3093
30×distribute-neg-frac_binary64_3111
24×frac-add_binary64_3155 exp-diff_binary64_3195 log-div_binary64_3234
15×neg-mul-1_binary64_3143
11×pow1_binary64_3208
add-exp-log_binary64_3185 add-cbrt-cube_binary64_3183 add-log-exp_binary64_3186
div-inv_binary64_3144
associate-*l/_binary64_3090 sqrt-pow1_binary64_3165 associate-/l*_binary64_3092 associate-*r/_binary64_3089
pow-prod-down_binary64_3218 cbrt-undiv_binary64_3181 div-exp_binary64_3198 sum-log_binary64_3238
flip--_binary64_3122 flip3--_binary64_3151 associate-/l/_binary64_3094 pow1/2_binary64_3227
clear-num_binary64_3146 frac-2neg_binary64_3158 rem-sqrt-square_binary64_3160 +-commutative_binary64_3077 associate-+r+_binary64_3079
Counts
4 → 419
Calls

4 calls:

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

series5.5s (22.2%)

Counts
4 → 12
Calls

4 calls:

5.0s
(/.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 (exp.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (+.f64 A C))))))
290.0ms
(+.f64 (exp.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (+.f64 A C))
135.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)))
66.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify317.0ms (1.3%)

Algorithm
egg-herbie
Counts
431 → 431
Iterations

Useful iterations: 0 (30.0ms)

IterNodesCost
0496941219
1496941219

prune2.1s (8.4%)

Pruning

18 alts after pruning (17 fresh and 1 done)

PrunedKeptTotal
New4274431
Fresh21315
Picked101
Done011
Total43018448
Error
45.3b
Counts
448 → 18
Compiler

Compiled 31122 to 16879 computations (45.8% saved)

regimes1.1s (4.3%)

Accuracy

Total 5.1b remaining (10.5%)

Threshold costs 0b (0%)

Compiler

Compiled 18041 to 12272 computations (32% saved)

bsearch6.0ms (0%)

Compiler

Compiled 40 to 32 computations (20% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
0171385
1171385

end0.0ms (0%)

sample6.1s (24.5%)

Algorithm
intervals
Results
760.0ms5500×body128valid
494.0ms872×body1024valid
482.0ms658×body2048valid
453.0ms836×body1024nan
424.0ms583×body2048nan
390.0ms2936×body128nan
255.0ms636×body512valid
236.0ms585×body512nan
94.0ms332×body256valid
87.0ms340×body256nan
2.0msbody4096valid
Compiler

Compiled 3243 to 2189 computations (32.5% saved)

Profiling

Loading profile data...