Details

Time bar (total: 19.9s)

analyze2.4s (11.9%)

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%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)

sample132.0ms (0.7%)

Algorithm
intervals
Results
27.0ms171×body128valid
15.0ms22×body2048valid
15.0ms22×body2048nan
13.0ms26×body1024valid
13.0ms26×body1024nan
10.0ms81×body128nan
9.0ms24×body512valid
5.0ms12×body512nan
3.0ms13×body256valid
2.0msbody256nan
Compiler

Compiled 81 to 69 computations (14.8% saved)

simplify149.0ms (0.7%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (50.0ms)

IterNodesCost
0539061

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 80 to 59 computations (26.3% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite104.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
66×sqrt-div_binary64_2482
40×associate-*r/_binary64_2407
39×*-un-lft-identity_binary64_2465
36×times-frac_binary64_2471
35×add-sqr-sqrt_binary64_2487
34×associate-*l/_binary64_2408
32×add-cube-cbrt_binary64_2500
25×flip3-+_binary64_2468 flip-+_binary64_2439
24×frac-times_binary64_2475 frac-sub_binary64_2474
22×flip--_binary64_2440 flip3--_binary64_2469
20×associate-/l/_binary64_2412 distribute-neg-frac_binary64_2429
17×pow1_binary64_2526
16×distribute-lft-neg-in_binary64_2422 distribute-rgt-neg-in_binary64_2423
15×sqrt-prod_binary64_2481
12×associate-/l*_binary64_2410
add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501
pow-prod-down_binary64_2536
sqrt-pow1_binary64_2483
add-log-exp_binary64_2504 unpow-prod-down_binary64_2544 neg-mul-1_binary64_2461
associate-/r*_binary64_2409 associate-*r*_binary64_2405 distribute-lft-out_binary64_2416 associate-*l*_binary64_2406
pow1/2_binary64_2545 associate-/r/_binary64_2411
*-commutative_binary64_2396 clear-num_binary64_2464 cbrt-undiv_binary64_2499 div-sub_binary64_2470 distribute-lft-out--_binary64_2417 unswap-sqr_binary64_2433 div-exp_binary64_2516 div-inv_binary64_2462 rem-sqrt-square_binary64_2478 prod-exp_binary64_2514 frac-2neg_binary64_2476 distribute-frac-neg_binary64_2428 neg-sub0_binary64_2460 cbrt-unprod_binary64_2498
Counts
4 → 158
Calls

4 calls:

34.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))))))
18.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)

series860.0ms (4.3%)

Counts
4 → 12
Calls

4 calls:

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

simplify152.0ms (0.8%)

Algorithm
egg-herbie
Counts
170 → 170
Iterations

Useful iterations: 0 (73.0ms)

IterNodesCost
0494811070
1494811070

prune615.0ms (3.1%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New15218170
Fresh000
Picked101
Done000
Total15318171
Error
45.7b
Counts
171 → 18
Compiler

Compiled 12101 to 6880 computations (43.1% saved)

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

5.6b
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
13.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))))))
17.6b
(*.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 1 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))))
33.2b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

rewrite113.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
98×sqrt-div_binary64_2482
70×associate-*l/_binary64_2408
61×associate-*r/_binary64_2407
56×frac-times_binary64_2475
40×distribute-neg-frac_binary64_2429
37×flip3-+_binary64_2468 flip-+_binary64_2439
36×frac-sub_binary64_2474
32×flip--_binary64_2440 flip3--_binary64_2469
27×add-sqr-sqrt_binary64_2487
25×*-un-lft-identity_binary64_2465
19×pow1_binary64_2526
18×associate-*r*_binary64_2405
17×add-cube-cbrt_binary64_2500
15×add-exp-log_binary64_2503 associate-*l*_binary64_2406
11×times-frac_binary64_2471 add-cbrt-cube_binary64_2501
sqrt-prod_binary64_2481
pow-prod-down_binary64_2536
prod-exp_binary64_2514 sqrt-pow1_binary64_2483
distribute-lft-neg-in_binary64_2422 add-log-exp_binary64_2504 distribute-rgt-neg-in_binary64_2423 unswap-sqr_binary64_2433 unpow-prod-down_binary64_2544
distribute-lft-out_binary64_2416 cbrt-unprod_binary64_2498
*-commutative_binary64_2396 pow1/2_binary64_2545 div-exp_binary64_2516 associate-/r/_binary64_2411
rec-exp_binary64_2515 distribute-lft-neg-out_binary64_2424 cbrt-undiv_binary64_2499 distribute-lft-out--_binary64_2417 un-div-inv_binary64_2463 div-inv_binary64_2462 rem-sqrt-square_binary64_2478 neg-mul-1_binary64_2461 1-exp_binary64_2509
Counts
4 → 159
Calls

4 calls:

35.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))))))
24.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 1 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))))
11.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
9.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)

series857.0ms (4.3%)

Counts
4 → 12
Calls

4 calls:

370.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 1 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))))
358.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))))))
70.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
59.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)

simplify163.0ms (0.8%)

Algorithm
egg-herbie
Counts
171 → 171
Iterations

Useful iterations: 0 (74.0ms)

IterNodesCost
0496111422
1496111422

prune555.0ms (2.8%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New1656171
Fresh31417
Picked101
Done000
Total16920189
Error
45.7b
Counts
189 → 20
Compiler

Compiled 12431 to 6914 computations (44.4% saved)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

15.5b
(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))))))))
18.8b
(/.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)))
33.2b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
33.2b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite152.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
404×sqrt-div_binary64_2482
136×associate-*r/_binary64_2407
122×flip3-+_binary64_2468 flip-+_binary64_2439
120×frac-times_binary64_2475
104×associate-*l/_binary64_2408
96×frac-sub_binary64_2474
56×associate-/l/_binary64_2412 distribute-neg-frac_binary64_2429
45×flip--_binary64_2440 flip3--_binary64_2469
36×times-frac_binary64_2471
33×add-sqr-sqrt_binary64_2487
31×*-un-lft-identity_binary64_2465 add-cube-cbrt_binary64_2500
16×distribute-lft-neg-in_binary64_2422 distribute-rgt-neg-in_binary64_2423 pow1_binary64_2526
15×sqrt-prod_binary64_2481
12×associate-/l*_binary64_2410
add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501 pow-prod-down_binary64_2536 sqrt-pow1_binary64_2483
add-log-exp_binary64_2504 neg-mul-1_binary64_2461
associate-/r*_binary64_2409 pow1/2_binary64_2545
rem-sqrt-square_binary64_2478 associate-/r/_binary64_2411
clear-num_binary64_2464 cbrt-undiv_binary64_2499 div-sub_binary64_2470 div-exp_binary64_2516 div-inv_binary64_2462 frac-2neg_binary64_2476 distribute-frac-neg_binary64_2428 neg-sub0_binary64_2460
Counts
4 → 222
Calls

4 calls:

29.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)))
25.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))))))))
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)))

series881.0ms (4.4%)

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) (*.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)))
373.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))))))))
69.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)))

simplify202.0ms (1%)

Algorithm
egg-herbie
Counts
234 → 234
Iterations

Useful iterations: 0 (42.0ms)

IterNodesCost
0555820240

prune1.4s (7.1%)

Pruning

25 alts after pruning (25 fresh and 0 done)

PrunedKeptTotal
New22212234
Fresh61319
Picked101
Done000
Total22925254
Error
45.6b
Counts
254 → 25
Compiler

Compiled 23939 to 12804 computations (46.5% saved)

localize34.0ms (0.2%)

Local error

Found 4 expressions with local error:

33.2b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
33.2b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
33.2b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
33.2b
(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_2481 add-sqr-sqrt_binary64_2487
*-un-lft-identity_binary64_2465 add-cube-cbrt_binary64_2500 pow1_binary64_2526 sqrt-div_binary64_2482
flip3-+_binary64_2468 add-log-exp_binary64_2504 pow1/2_binary64_2545 flip-+_binary64_2439 add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501 rem-sqrt-square_binary64_2478 sqrt-pow1_binary64_2483
Counts
4 → 60
Calls

4 calls:

9.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)))

series279.0ms (1.4%)

Counts
4 → 12
Calls

4 calls:

76.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
71.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)))
63.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify76.0ms (0.4%)

Algorithm
egg-herbie
Counts
72 → 72
Iterations

Useful iterations: 0 (59.0ms)

IterNodesCost
050581232

prune263.0ms (1.3%)

Pruning

27 alts after pruning (27 fresh and 0 done)

PrunedKeptTotal
New68472
Fresh12324
Picked101
Done000
Total702797
Error
45.6b
Counts
97 → 27
Compiler

Compiled 5972 to 3402 computations (43% saved)

regimes2.4s (12.1%)

Accuracy

Total 2.6b remaining (5.2%)

Threshold costs 0b (0%)

Compiler

Compiled 39802 to 25524 computations (35.9% saved)

bsearch11.0ms (0.1%)

Compiler

Compiled 40 to 32 computations (20% saved)

simplify18.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (15.0ms)

IterNodesCost
0463259
1463259

end0.0ms (0%)

sample8.0s (40.1%)

Algorithm
intervals
Results
748.0ms5424×body128valid
492.0ms703×body2048valid
485.0ms882×body1024valid
451.0ms831×body1024nan
405.0ms587×body2048nan
360.0ms2587×body128nan
245.0ms617×body512valid
231.0ms579×body512nan
108.0ms373×body256valid
89.0ms333×body256nan
1.0msbody4096valid
Compiler

Compiled 6829 to 4391 computations (35.7% saved)

Profiling

Loading profile data...