Details

Time bar (total: 18.8s)

analyze2.3s (12.2%)

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)

sample130.0ms (0.7%)

Algorithm
intervals
Results
25.0ms182×body128valid
14.0ms26×body1024valid
13.0ms25×body1024nan
13.0ms19×body2048nan
11.0ms82×body128nan
9.0ms13×body2048valid
8.0ms20×body512nan
8.0ms19×body512valid
7.0msbody256nan
4.0ms16×body256valid
Compiler

Compiled 81 to 69 computations (14.8% saved)

simplify149.0ms (0.8%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (47.0ms)

IterNodesCost
0539061

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112

Merged error: 51.8b

Counts
2 → 1
Compiler

Compiled 80 to 59 computations (26.3% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

7.7b
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
15.0b
(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.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 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
35.9b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

rewrite101.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:

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

series856.0ms (4.6%)

Counts
4 → 12
Calls

4 calls:

366.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))))))
365.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)))
64.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)

simplify150.0ms (0.8%)

Algorithm
egg-herbie
Counts
170 → 170
Iterations

Useful iterations: 0 (70.0ms)

IterNodesCost
0494811070
1494811070

prune612.0ms (3.3%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New15317170
Fresh000
Picked101
Done000
Total15417171

Merged error: 46.6b

Counts
171 → 17
Compiler

Compiled 12188 to 6910 computations (43.3% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

7.7b
(*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)
15.0b
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))))
22.3b
(/.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) (sqrt.f64 (*.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)) (-.f64 (+.f64 A C) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))))))
35.9b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite96.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
66×sqrt-div_binary64_2482
40×associate-*r/_binary64_2407
34×associate-*l/_binary64_2408
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-/r/_binary64_2411
19×add-sqr-sqrt_binary64_2487
17×pow1_binary64_2526
16×*-un-lft-identity_binary64_2465 add-cube-cbrt_binary64_2500
12×times-frac_binary64_2471
sqrt-prod_binary64_2481 add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501
pow-prod-down_binary64_2536
sqrt-pow1_binary64_2483
add-log-exp_binary64_2504 associate-/r*_binary64_2409
associate-*r*_binary64_2405 associate-/l*_binary64_2410 associate-*l*_binary64_2406
pow1/2_binary64_2545 associate-/l/_binary64_2412
*-commutative_binary64_2396 clear-num_binary64_2464 cbrt-undiv_binary64_2499 div-sub_binary64_2470 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 cbrt-unprod_binary64_2498
Counts
4 → 122
Calls

4 calls:

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

series1.1s (5.7%)

Counts
4 → 12
Calls

4 calls:

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

simplify110.0ms (0.6%)

Algorithm
egg-herbie
Counts
134 → 134
Iterations

Useful iterations: 0 (45.0ms)

IterNodesCost
052748210

prune385.0ms (2.1%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1322134
Fresh31316
Picked101
Done000
Total13615151

Merged error: 46.6b

Counts
151 → 15
Compiler

Compiled 9597 to 5064 computations (47.2% saved)

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

23.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) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))) (cbrt.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (cbrt.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
35.9b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
35.9b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
35.9b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite222.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
494×sqrt-div_binary64_2482
324×cbrt-div_binary64_2497
276×frac-times_binary64_2475
243×flip3-+_binary64_2468 flip-+_binary64_2439
212×associate-*r/_binary64_2407
196×associate-*l/_binary64_2408
164×associate-/l/_binary64_2412 distribute-neg-frac_binary64_2429
156×frac-sub_binary64_2474
59×flip--_binary64_2440 flip3--_binary64_2469
36×times-frac_binary64_2471
35×add-sqr-sqrt_binary64_2487
32×*-un-lft-identity_binary64_2465 add-cube-cbrt_binary64_2500
17×sqrt-prod_binary64_2481
16×distribute-lft-neg-in_binary64_2422 distribute-rgt-neg-in_binary64_2423
12×associate-/l*_binary64_2410
pow1_binary64_2526
add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501
add-log-exp_binary64_2504 neg-mul-1_binary64_2461
associate-/r*_binary64_2409 pow1/2_binary64_2545 rem-sqrt-square_binary64_2478 sqrt-pow1_binary64_2483
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 → 276
Calls

4 calls:

58.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 (*.f64 (cbrt.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))) (cbrt.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))) (cbrt.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
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)))

series591.0ms (3.1%)

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

simplify224.0ms (1.2%)

Algorithm
egg-herbie
Counts
288 → 288
Iterations

Useful iterations: 0 (54.0ms)

IterNodesCost
0524121545

prune2.7s (14.5%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New2817288
Fresh21214
Picked101
Done000
Total28419303

Merged error: 46.6b

Counts
303 → 19
Compiler

Compiled 41023 to 20842 computations (49.2% saved)

localize31.0ms (0.2%)

Local error

Found 4 expressions with local error:

35.9b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
35.9b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
35.9b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
37.1b
(cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite44.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt_binary64_2487
sqrt-prod_binary64_2481
*-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 flip-+_binary64_2439 add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501
pow1/2_binary64_2545 rem-sqrt-square_binary64_2478 sqrt-pow1_binary64_2483 cbrt-prod_binary64_2496
cbrt-div_binary64_2497
pow1/3_binary64_2547
Counts
4 → 58
Calls

4 calls:

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

series363.0ms (1.9%)

Counts
4 → 12
Calls

4 calls:

149.0ms
(cbrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
72.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)))
71.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify59.0ms (0.3%)

Algorithm
egg-herbie
Counts
70 → 70
Iterations

Useful iterations: 0 (40.0ms)

IterNodesCost
049591280
149591280

prune248.0ms (1.3%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New67370
Fresh01818
Picked101
Done000
Total682189

Merged error: 46.6b

Counts
89 → 21
Compiler

Compiled 5776 to 3268 computations (43.4% saved)

regimes1.5s (7.9%)

Compiler

Compiled 27205 to 17305 computations (36.4% saved)

bsearch8.0ms (0%)

Compiler

Compiled 40 to 32 computations (20% saved)

simplify19.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (15.0ms)

IterNodesCost
0465259
1465259

end0.0ms (0%)

sample6.7s (35.8%)

Algorithm
intervals
Results
761.0ms5494×body128valid
490.0ms902×body1024valid
469.0ms654×body2048valid
452.0ms842×body1024nan
390.0ms546×body2048nan
363.0ms2610×body128nan
237.0ms590×body512valid
223.0ms559×body512nan
102.0ms356×body256valid
87.0ms330×body256nan
7.0msbody4096valid
Compiler

Compiled 4709 to 3004 computations (36.2% saved)

Profiling

Loading profile data...