Details

Time bar (total: 15.9s)

analyze2.4s (14.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%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.9%)

Algorithm
intervals
Results
24.0ms183×body128valid
19.0ms26×body1024valid
17.0ms23×body2048valid
17.0ms23×body2048nan
13.0ms100×body128nan
12.0ms23×body1024nan
10.0ms15×body512valid
7.0ms18×body512nan
2.0msbody256valid
1.0msbody256nan
Compiler

Compiled 81 to 69 computations (14.8% saved)

simplify124.0ms (0.8%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (32.0ms)

IterNodesCost
0561361

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
52.3b
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.8b
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
13.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))))))
24.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)))
38.2b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

rewrite110.0ms (0.7%)

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:

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))))))
19.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)))
16.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 (5.4%)

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

simplify138.0ms (0.9%)

Algorithm
egg-herbie
Counts
170 → 170
Iterations

Useful iterations: 0 (51.0ms)

IterNodesCost
0494711055
1494711055

prune690.0ms (4.3%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New15614170
Fresh000
Picked101
Done000
Total15714171
Error
47.6b
Counts
171 → 14
Compiler

Compiled 11870 to 6701 computations (43.5% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

9.5b
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))))
12.8b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))))
18.9b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
38.2b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite125.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
153×*-un-lft-identity_binary64_2465
121×times-frac_binary64_2471
89×add-sqr-sqrt_binary64_2487
83×add-cube-cbrt_binary64_2500
75×sqrt-prod_binary64_2481
66×associate-*r*_binary64_2405
56×distribute-lft-neg-in_binary64_2422 distribute-rgt-neg-in_binary64_2423
42×distribute-lft-out_binary64_2416
20×associate-/l*_binary64_2410
18×sqrt-div_binary64_2482
13×pow1_binary64_2526
11×add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501
associate-*l/_binary64_2408
associate-*r/_binary64_2407 neg-mul-1_binary64_2461
flip3-+_binary64_2468 associate-/l/_binary64_2412 flip-+_binary64_2439 distribute-neg-frac_binary64_2429
flip--_binary64_2440 flip3--_binary64_2469
add-log-exp_binary64_2504 associate-/r/_binary64_2411 pow-prod-down_binary64_2536 sqrt-pow1_binary64_2483 frac-add_binary64_2473 associate-*l*_binary64_2406
associate-/r*_binary64_2409
frac-times_binary64_2475 pow1/2_binary64_2545 cbrt-undiv_binary64_2499 unswap-sqr_binary64_2433 div-exp_binary64_2516 div-inv_binary64_2462 prod-exp_binary64_2514 distribute-frac-neg_binary64_2428 cbrt-unprod_binary64_2498
*-commutative_binary64_2396 distribute-rgt-neg-out_binary64_2425 clear-num_binary64_2464 div-sub_binary64_2470 rem-sqrt-square_binary64_2478 frac-2neg_binary64_2476 neg-sub0_binary64_2460
Counts
4 → 225
Calls

4 calls:

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

series800.0ms (5%)

Counts
4 → 12
Calls

4 calls:

381.0ms
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))) (/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))))
205.0ms
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B))) (+.f64 A C)))) (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))))
142.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F)))
71.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

simplify158.0ms (1%)

Algorithm
egg-herbie
Counts
237 → 237
Iterations

Useful iterations: 0 (52.0ms)

IterNodesCost
0494912824
1494912824

prune671.0ms (4.2%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New2316237
Fresh31013
Picked101
Done000
Total23516251
Error
43.2b
Counts
251 → 16
Compiler

Compiled 14718 to 7854 computations (46.6% saved)

localize27.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite104.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
54×associate-*r*_binary64_2405
49×times-frac_binary64_2471
46×add-sqr-sqrt_binary64_2487
39×*-un-lft-identity_binary64_2465 add-cube-cbrt_binary64_2500
26×sqrt-prod_binary64_2481
18×distribute-lft-neg-in_binary64_2422 distribute-rgt-neg-in_binary64_2423
14×pow1_binary64_2526
10×sqrt-div_binary64_2482
add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501
associate-*l/_binary64_2408
associate-*r/_binary64_2407
sqrt-pow1_binary64_2483
add-log-exp_binary64_2504 flip--_binary64_2440 pow-prod-down_binary64_2536 flip3--_binary64_2469 associate-*l*_binary64_2406
pow1/2_binary64_2545 neg-mul-1_binary64_2461
flip3-+_binary64_2468 frac-times_binary64_2475 flip-+_binary64_2439 unswap-sqr_binary64_2433 rem-sqrt-square_binary64_2478 associate-/r/_binary64_2411 prod-exp_binary64_2514 cbrt-unprod_binary64_2498
*-commutative_binary64_2396 distribute-rgt-neg-out_binary64_2425 cbrt-undiv_binary64_2499 div-exp_binary64_2516 div-inv_binary64_2462 distribute-frac-neg_binary64_2428
Counts
4 → 123
Calls

4 calls:

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

series644.0ms (4.1%)

Counts
4 → 12
Calls

4 calls:

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

simplify103.0ms (0.7%)

Algorithm
egg-herbie
Counts
135 → 135
Iterations

Useful iterations: 0 (44.0ms)

IterNodesCost
049806156
149806156

prune419.0ms (2.6%)

Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New1332135
Fresh11415
Picked011
Done000
Total13417151
Error
43.2b
Counts
151 → 17
Compiler

Compiled 9704 to 5268 computations (45.7% saved)

localize34.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite44.0ms (0.3%)

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:

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

series286.0ms (1.8%)

Counts
4 → 12
Calls

4 calls:

75.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)))
70.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)))

simplify75.0ms (0.5%)

Algorithm
egg-herbie
Counts
72 → 72
Iterations

Useful iterations: 0 (57.0ms)

IterNodesCost
050581232

prune246.0ms (1.6%)

Pruning

17 alts after pruning (15 fresh and 2 done)

PrunedKeptTotal
New72072
Fresh01515
Picked011
Done011
Total721789
Error
43.2b
Counts
89 → 17
Compiler

Compiled 6044 to 3186 computations (47.3% saved)

regimes1.3s (8.5%)

Accuracy

Total 5.8b remaining (11.8%)

Threshold costs 0b (0%)

Compiler

Compiled 19493 to 12896 computations (33.8% 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
0173364
1173364

end0.0ms (0%)

sample6.3s (39.7%)

Algorithm
intervals
Results
754.0ms5557×body128valid
476.0ms874×body1024valid
450.0ms626×body2048valid
449.0ms817×body1024nan
432.0ms603×body2048nan
380.0ms2827×body128nan
245.0ms602×body512valid
235.0ms571×body512nan
89.0ms337×body256valid
82.0ms315×body256nan
3.0msbody4096valid
Compiler

Compiled 3472 to 2289 computations (34.1% saved)

Profiling

Loading profile data...