Details

Time bar (total: 18.5s)

analyze2.5s (13.7%)

Algorithm
search
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

sample141.0ms (0.8%)

Algorithm
intervals
Results
25.0ms176×body128valid
19.0ms31×body512valid
16.0ms28×body1024valid
16.0ms28×body1024nan
13.0ms89×body128nan
12.0ms16×body2048valid
11.0ms15×body2048nan
6.0ms14×body512nan
3.0ms10×body256nan
1.0msbody256valid
Compiler

Compiled 81 to 69 computations (14.8% saved)

simplify41.0ms (0.2%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (34.0ms)

IterNodesCost
0561361

prune9.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.8b
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
14.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))))))
23.0b
(/.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)))

rewrite99.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
31×flip3-+_binary64_2468 flip-+_binary64_2439
24×frac-times_binary64_2475 frac-add_binary64_2473
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 flip--_binary64_2440 flip3--_binary64_2469
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:

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

series842.0ms (4.5%)

Counts
4 → 12
Calls

4 calls:

406.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)))
309.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))))))
65.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)

simplify143.0ms (0.8%)

Algorithm
egg-herbie
Counts
170 → 170
Iterations

Useful iterations: 0 (54.0ms)

IterNodesCost
0494711055
1494711055

prune674.0ms (3.6%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New15515170
Fresh000
Picked101
Done000
Total15615171

Merged error: 45.7b

Counts
171 → 15
Compiler

Compiled 12009 to 6795 computations (43.4% saved)

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite175.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
580×times-frac_binary64_2471
408×*-un-lft-identity_binary64_2465
261×add-sqr-sqrt_binary64_2487
258×add-cube-cbrt_binary64_2500
225×sqrt-prod_binary64_2481
120×distribute-lft-neg-in_binary64_2422 distribute-rgt-neg-in_binary64_2423
90×distribute-lft-out_binary64_2416
70×associate-/r*_binary64_2409
56×sqrt-div_binary64_2482
31×associate-/r/_binary64_2411
30×distribute-neg-frac_binary64_2429
26×flip3-+_binary64_2468 flip-+_binary64_2439
20×frac-add_binary64_2473
15×neg-mul-1_binary64_2461
13×pow1_binary64_2526
11×add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501
associate-*l/_binary64_2408 div-inv_binary64_2462
add-log-exp_binary64_2504 associate-*r/_binary64_2407 pow-prod-down_binary64_2536 sqrt-pow1_binary64_2483 associate-/l*_binary64_2410
flip--_binary64_2440 cbrt-undiv_binary64_2499 div-exp_binary64_2516 associate-*r*_binary64_2405 flip3--_binary64_2469 associate-*l*_binary64_2406
pow1/2_binary64_2545 associate-/l/_binary64_2412
*-commutative_binary64_2396 clear-num_binary64_2464 unswap-sqr_binary64_2433 rem-sqrt-square_binary64_2478 prod-exp_binary64_2514 frac-2neg_binary64_2476 cbrt-unprod_binary64_2498
Counts
4 → 420
Calls

4 calls:

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

series641.0ms (3.5%)

Counts
4 → 12
Calls

4 calls:

367.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))))))
147.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)))
60.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)

simplify339.0ms (1.8%)

Algorithm
egg-herbie
Counts
432 → 432
Iterations

Useful iterations: 0 (36.0ms)

IterNodesCost
0532540691

prune1.9s (10.5%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New42210432
Fresh41014
Picked101
Done000
Total42720447

Merged error: 43.9b

Counts
447 → 20
Compiler

Compiled 31846 to 17324 computations (45.6% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

7.8b
(*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)
15.8b
(/.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))))
16.8b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
34.1b
(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_2487
16×*-un-lft-identity_binary64_2465 add-cube-cbrt_binary64_2500
13×pow1_binary64_2526
12×times-frac_binary64_2471
sqrt-prod_binary64_2481 add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501
associate-*l/_binary64_2408 sqrt-div_binary64_2482
add-log-exp_binary64_2504 flip--_binary64_2440 associate-*r/_binary64_2407 pow-prod-down_binary64_2536 flip3--_binary64_2469 sqrt-pow1_binary64_2483 associate-/l*_binary64_2410
associate-/r*_binary64_2409 associate-*r*_binary64_2405 associate-*l*_binary64_2406
pow1/2_binary64_2545 associate-/l/_binary64_2412 associate-/r/_binary64_2411
flip3-+_binary64_2468 *-commutative_binary64_2396 flip-+_binary64_2439 clear-num_binary64_2464 cbrt-undiv_binary64_2499 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 → 84
Calls

4 calls:

13.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))))
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)))
7.0ms
(*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)

series404.0ms (2.2%)

Counts
4 → 12
Calls

4 calls:

143.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))))
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)))
60.0ms
(*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)

simplify55.0ms (0.3%)

Algorithm
egg-herbie
Counts
96 → 96
Iterations

Useful iterations: 0 (25.0ms)

IterNodesCost
049702922
149702922

prune233.0ms (1.3%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New94296
Fresh31619
Picked101
Done000
Total9818116

Merged error: 43.9b

Counts
116 → 18
Compiler

Compiled 5886 to 3314 computations (43.7% saved)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite101.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
190×times-frac_binary64_2471
139×*-un-lft-identity_binary64_2465
82×add-sqr-sqrt_binary64_2487
79×add-cube-cbrt_binary64_2500
70×associate-/r*_binary64_2409
64×sqrt-prod_binary64_2481
48×distribute-lft-neg-in_binary64_2422 distribute-rgt-neg-in_binary64_2423
36×distribute-lft-out_binary64_2416
26×sqrt-div_binary64_2482
18×add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501
13×associate-/r/_binary64_2411
12×distribute-neg-frac_binary64_2429
11×flip3-+_binary64_2468 flip-+_binary64_2439
10×pow1_binary64_2526
frac-add_binary64_2473
associate-*l/_binary64_2408 cbrt-undiv_binary64_2499 div-exp_binary64_2516 neg-mul-1_binary64_2461
add-log-exp_binary64_2504
flip--_binary64_2440 div-inv_binary64_2462 prod-exp_binary64_2514 associate-*r*_binary64_2405 flip3--_binary64_2469 sqrt-pow1_binary64_2483 associate-*l*_binary64_2406 cbrt-unprod_binary64_2498
pow1/2_binary64_2545 associate-/l/_binary64_2412 associate-*r/_binary64_2407 pow-prod-down_binary64_2536
*-commutative_binary64_2396 clear-num_binary64_2464 unswap-sqr_binary64_2433 rem-sqrt-square_binary64_2478 frac-2neg_binary64_2476 associate-/l*_binary64_2410
Counts
4 → 210
Calls

4 calls:

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

series622.0ms (3.4%)

Counts
4 → 12
Calls

4 calls:

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

simplify156.0ms (0.8%)

Algorithm
egg-herbie
Counts
222 → 222
Iterations

Useful iterations: 0 (41.0ms)

IterNodesCost
0497514127
1497514127

prune668.0ms (3.6%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New2202222
Fresh11617
Picked011
Done000
Total22119240

Merged error: 40.7b

Counts
240 → 19
Compiler

Compiled 13356 to 7068 computations (47.1% saved)

regimes1.5s (8.3%)

Compiler

Compiled 22709 to 15290 computations (32.7% saved)

bsearch7.0ms (0%)

Compiler

Compiled 40 to 32 computations (20% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
0161252
1161252

end0.0ms (0%)

sample7.0s (37.9%)

Algorithm
intervals
Results
803.0ms5581×body128valid
760.0ms618×body2048valid
519.0ms886×body1024valid
473.0ms824×body1024nan
454.0ms617×body2048nan
417.0ms2911×body128nan
249.0ms588×body512valid
246.0ms562×body512nan
96.0ms327×body256valid
83.0ms293×body256nan
Compiler

Compiled 3934 to 2639 computations (32.9% saved)

Profiling

Loading profile data...