Details

Time bar (total: 18.6s)

analyze2.6s (13.7%)

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)

sample129.0ms (0.7%)

Algorithm
intervals
Results
28.0ms176×body128valid
19.0ms27×body2048valid
13.0ms27×body1024nan
13.0ms24×body1024valid
12.0ms17×body2048nan
8.0ms20×body512nan
7.0ms56×body128nan
6.0ms16×body512valid
3.0ms13×body256valid
2.0msbody256nan
Compiler

Compiled 81 to 69 computations (14.8% saved)

simplify153.0ms (0.8%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (48.0ms)

IterNodesCost
0539061

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 80 to 59 computations (26.3% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

4.6b
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)
15.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))))))
19.1b
(/.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)))

rewrite101.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
66×sqrt-div_binary64_5551
40×associate-*r/_binary64_5476
39×*-un-lft-identity_binary64_5534
36×times-frac_binary64_5540
35×add-sqr-sqrt_binary64_5556
34×associate-*l/_binary64_5477
32×add-cube-cbrt_binary64_5569
25×flip-+_binary64_5508 flip3-+_binary64_5537
24×frac-sub_binary64_5543 frac-times_binary64_5544
22×flip--_binary64_5509 flip3--_binary64_5538
20×associate-/l/_binary64_5481 distribute-neg-frac_binary64_5498
17×pow1_binary64_5595
16×distribute-rgt-neg-in_binary64_5492 distribute-lft-neg-in_binary64_5491
15×sqrt-prod_binary64_5550
12×associate-/l*_binary64_5479
add-cbrt-cube_binary64_5570 add-exp-log_binary64_5572
pow-prod-down_binary64_5605
sqrt-pow1_binary64_5552
add-log-exp_binary64_5573 neg-mul-1_binary64_5530 unpow-prod-down_binary64_5613
associate-*l*_binary64_5475 associate-/r*_binary64_5478 associate-*r*_binary64_5474 distribute-lft-out_binary64_5485
pow1/2_binary64_5614 associate-/r/_binary64_5480
div-inv_binary64_5531 cbrt-unprod_binary64_5567 distribute-lft-out--_binary64_5486 div-exp_binary64_5585 *-commutative_binary64_5465 frac-2neg_binary64_5545 clear-num_binary64_5533 rem-sqrt-square_binary64_5547 div-sub_binary64_5539 unswap-sqr_binary64_5502 distribute-frac-neg_binary64_5497 prod-exp_binary64_5583 cbrt-undiv_binary64_5568 neg-sub0_binary64_5529
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))))))
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)))
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)

series833.0ms (4.5%)

Counts
4 → 12
Calls

4 calls:

361.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)))
349.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)))
58.0ms
(*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)

simplify171.0ms (0.9%)

Algorithm
egg-herbie
Counts
170 → 170
Iterations

Useful iterations: 0 (72.0ms)

IterNodesCost
0494811070
1494811070

prune623.0ms (3.3%)

Pruning

16 alts after pruning (16 fresh and 0 done)

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

Compiled 12075 to 6841 computations (43.3% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

17.8b
(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))))))))
20.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) (*.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)))
34.1b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
34.1b
(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_5551
136×associate-*r/_binary64_5476
122×flip-+_binary64_5508 flip3-+_binary64_5537
120×frac-times_binary64_5544
104×associate-*l/_binary64_5477
96×frac-sub_binary64_5543
56×associate-/l/_binary64_5481 distribute-neg-frac_binary64_5498
45×flip--_binary64_5509 flip3--_binary64_5538
36×times-frac_binary64_5540
33×add-sqr-sqrt_binary64_5556
31×*-un-lft-identity_binary64_5534 add-cube-cbrt_binary64_5569
16×distribute-rgt-neg-in_binary64_5492 distribute-lft-neg-in_binary64_5491 pow1_binary64_5595
15×sqrt-prod_binary64_5550
12×associate-/l*_binary64_5479
add-cbrt-cube_binary64_5570 sqrt-pow1_binary64_5552 add-exp-log_binary64_5572 pow-prod-down_binary64_5605
add-log-exp_binary64_5573 neg-mul-1_binary64_5530
associate-/r*_binary64_5478 pow1/2_binary64_5614
rem-sqrt-square_binary64_5547 associate-/r/_binary64_5480
div-inv_binary64_5531 div-exp_binary64_5585 frac-2neg_binary64_5545 clear-num_binary64_5533 div-sub_binary64_5539 distribute-frac-neg_binary64_5497 cbrt-undiv_binary64_5568 neg-sub0_binary64_5529
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)))
22.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)))
7.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

series866.0ms (4.6%)

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

simplify233.0ms (1.2%)

Algorithm
egg-herbie
Counts
234 → 234
Iterations

Useful iterations: 0 (44.0ms)

IterNodesCost
0555820240

prune1.4s (7.8%)

Pruning

25 alts after pruning (25 fresh and 0 done)

PrunedKeptTotal
New22014234
Fresh41115
Picked101
Done000
Total22525250
Error
48.0b
Counts
250 → 25
Compiler

Compiled 24241 to 12965 computations (46.5% saved)

localize36.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite42.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
12×sqrt-prod_binary64_5550 add-sqr-sqrt_binary64_5556
sqrt-div_binary64_5551 *-un-lft-identity_binary64_5534 add-cube-cbrt_binary64_5569 pow1_binary64_5595
flip-+_binary64_5508 flip3-+_binary64_5537 add-cbrt-cube_binary64_5570 add-log-exp_binary64_5573 sqrt-pow1_binary64_5552 add-exp-log_binary64_5572 rem-sqrt-square_binary64_5547 pow1/2_binary64_5614
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)))

series278.0ms (1.5%)

Counts
4 → 12
Calls

4 calls:

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

simplify79.0ms (0.4%)

Algorithm
egg-herbie
Counts
72 → 72
Iterations

Useful iterations: 0 (60.0ms)

IterNodesCost
050581232

prune339.0ms (1.8%)

Pruning

25 alts after pruning (25 fresh and 0 done)

PrunedKeptTotal
New68472
Fresh32124
Picked101
Done000
Total722597
Error
48.0b
Counts
97 → 25
Compiler

Compiled 8034 to 4701 computations (41.5% saved)

localize39.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite47.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
12×sqrt-prod_binary64_5550 add-sqr-sqrt_binary64_5556
sqrt-div_binary64_5551 *-un-lft-identity_binary64_5534 add-cube-cbrt_binary64_5569 pow1_binary64_5595
flip-+_binary64_5508 flip3-+_binary64_5537 add-cbrt-cube_binary64_5570 add-log-exp_binary64_5573 sqrt-pow1_binary64_5552 add-exp-log_binary64_5572 rem-sqrt-square_binary64_5547 pow1/2_binary64_5614
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)))

series277.0ms (1.5%)

Counts
4 → 12
Calls

4 calls:

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

simplify82.0ms (0.4%)

Algorithm
egg-herbie
Counts
72 → 72
Iterations

Useful iterations: 0 (62.0ms)

IterNodesCost
050581232

prune370.0ms (2%)

Pruning

25 alts after pruning (24 fresh and 1 done)

PrunedKeptTotal
New71172
Fresh12324
Picked011
Done000
Total722597
Error
48.0b
Counts
97 → 25
Compiler

Compiled 7772 to 4335 computations (44.2% saved)

regimes2.0s (10.6%)

Accuracy

Total 2.9b remaining (5.7%)

Threshold costs 0b (0%)

Compiler

Compiled 37023 to 23933 computations (35.4% saved)

bsearch11.0ms (0.1%)

Compiler

Compiled 40 to 32 computations (20% saved)

simplify24.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (19.0ms)

IterNodesCost
0589280
1589280

end0.0ms (0%)

sample7.7s (41.4%)

Algorithm
intervals
Results
775.0ms5562×body128valid
477.0ms849×body1024valid
465.0ms644×body2048valid
449.0ms811×body1024nan
364.0ms532×body2048nan
327.0ms2369×body128nan
241.0ms606×body512valid
231.0ms589×body512nan
95.0ms337×body256valid
84.0ms323×body256nan
2.0msbody4096valid
Compiler

Compiled 6357 to 4112 computations (35.3% saved)

Profiling

Loading profile data...