Details

Time bar (total: 44.8s)

analyze2.5s (5.5%)

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)

sample147.0ms (0.3%)

Algorithm
intervals
Results
24.0ms174×body128valid
18.0ms32×body1024valid
16.0ms23×body2048nan
13.0ms100×body128nan
13.0ms20×body512valid
13.0ms24×body1024nan
13.0ms17×body2048valid
9.0ms22×body512nan
4.0ms14×body256nan
4.0ms13×body256valid
Compiler

Compiled 81 to 69 computations (14.8% saved)

simplify138.0ms (0.3%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (37.0ms)

IterNodesCost
0561361

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 80 to 59 computations (26.3% saved)

localize20.0ms (0%)

Local error

Found 4 expressions with local error:

5.5b
(*.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)))))
13.7b
(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))))))
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) (sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2))))))) (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)))
33.8b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))

rewrite146.0ms (0.3%)

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

4 calls:

33.0ms
(*.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)))))
29.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))))))
23.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)))

series6.2s (13.7%)

Counts
4 → 99
Calls

4 calls:

3.1s
(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))))))
1.6s
(/.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)))
1.1s
(*.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)))))
364.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (pow.f64 B 2)))
Compiler

Compiled 15744 to 11983 computations (23.9% saved)

simplify210.0ms (0.5%)

Algorithm
egg-herbie
Counts
282 → 282
Iterations

Useful iterations: 0 (43.0ms)

IterNodesCost
0512923644

prune1.6s (3.6%)

Pruning

26 alts after pruning (26 fresh and 0 done)

PrunedKeptTotal
New25626282
Fresh000
Picked101
Done000
Total25726283
Error
27.2b
Counts
283 → 26
Compiler

Compiled 22006 to 11439 computations (48% saved)

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

5.2b
(/.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)))))
13.9b
(/.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))))))
20.2b
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)))
33.8b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite222.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
640×times-frac_binary64_2471
487×*-un-lft-identity_binary64_2465
298×add-sqr-sqrt_binary64_2487
297×add-cube-cbrt_binary64_2500
265×sqrt-prod_binary64_2481
152×distribute-lft-neg-in_binary64_2422 distribute-rgt-neg-in_binary64_2423
114×distribute-lft-out_binary64_2416
90×associate-/r*_binary64_2409
66×sqrt-div_binary64_2482
37×associate-/r/_binary64_2411
36×distribute-neg-frac_binary64_2429
31×flip3-+_binary64_2468 flip-+_binary64_2439
24×frac-add_binary64_2473
19×neg-mul-1_binary64_2461
11×add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501 pow1_binary64_2526
div-inv_binary64_2462 associate-/l*_binary64_2410
associate-*l/_binary64_2408 add-log-exp_binary64_2504 associate-/l/_binary64_2412 associate-*r/_binary64_2407 cbrt-undiv_binary64_2499 div-exp_binary64_2516 sqrt-pow1_binary64_2483
flip--_binary64_2440 pow-prod-down_binary64_2536 flip3--_binary64_2469
pow1/2_binary64_2545 clear-num_binary64_2464 frac-2neg_binary64_2476
div-sub_binary64_2470 rem-sqrt-square_binary64_2478
Counts
4 → 504
Calls

4 calls:

49.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))))))
24.0ms
(/.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 2 (*.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)))

series4.1s (9.2%)

Counts
4 → 73
Calls

4 calls:

2.0s
(/.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)))))
1.4s
(/.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))))))
363.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
266.0ms
(sqrt.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 B 2) (*.f64 (*.f64 4 A) C)) F)))
Compiler

Compiled 10019 to 7739 computations (22.8% saved)

simplify447.0ms (1%)

Algorithm
egg-herbie
Counts
577 → 577
Iterations

Useful iterations: 0 (94.0ms)

IterNodesCost
0495850254
1495850254

prune3.2s (7.2%)

Pruning

26 alts after pruning (26 fresh and 0 done)

PrunedKeptTotal
New5707577
Fresh61925
Picked101
Done000
Total57726603
Error
23.9b
Counts
603 → 26
Compiler

Compiled 40540 to 21964 computations (45.8% saved)

localize22.0ms (0%)

Local error

Found 4 expressions with local error:

5.2b
(/.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)))))
13.9b
(/.f64 (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))))))
20.2b
(sqrt.f64 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))
33.8b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite211.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
640×times-frac_binary64_2471
487×*-un-lft-identity_binary64_2465
298×add-sqr-sqrt_binary64_2487
297×add-cube-cbrt_binary64_2500
265×sqrt-prod_binary64_2481
152×distribute-lft-neg-in_binary64_2422 distribute-rgt-neg-in_binary64_2423
114×distribute-lft-out_binary64_2416
90×associate-/r*_binary64_2409
66×sqrt-div_binary64_2482
37×associate-/r/_binary64_2411
36×distribute-neg-frac_binary64_2429
31×flip3-+_binary64_2468 flip-+_binary64_2439
24×frac-add_binary64_2473
19×neg-mul-1_binary64_2461
11×add-exp-log_binary64_2503 add-cbrt-cube_binary64_2501
pow1_binary64_2526
div-inv_binary64_2462 associate-/l*_binary64_2410
associate-*l/_binary64_2408 add-log-exp_binary64_2504 associate-/l/_binary64_2412 cbrt-undiv_binary64_2499 div-exp_binary64_2516
flip--_binary64_2440 flip3--_binary64_2469 sqrt-pow1_binary64_2483
pow1/2_binary64_2545 clear-num_binary64_2464 frac-2neg_binary64_2476
div-sub_binary64_2470 rem-sqrt-square_binary64_2478 pow-prod-down_binary64_2536
Counts
4 → 503
Calls

4 calls:

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

series3.8s (8.5%)

Counts
4 → 73
Calls

4 calls:

2.1s
(/.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)))))
1.2s
(/.f64 (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))))))
365.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
195.0ms
(sqrt.f64 (*.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))) F))
Compiler

Compiled 9821 to 7428 computations (24.4% saved)

simplify392.0ms (0.9%)

Algorithm
egg-herbie
Counts
576 → 576
Iterations

Useful iterations: 0 (47.0ms)

IterNodesCost
0521547557

prune3.3s (7.5%)

Pruning

28 alts after pruning (27 fresh and 1 done)

PrunedKeptTotal
New5724576
Fresh22325
Picked011
Done000
Total57428602
Error
23.8b
Counts
602 → 28
Compiler

Compiled 40214 to 21373 computations (46.9% saved)

localize30.0ms (0.1%)

Local error

Found 4 expressions with local error:

5.2b
(/.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)))))
12.7b
(/.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))) (sqrt.f64 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))))))
19.5b
(sqrt.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))))
33.8b
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))

rewrite143.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
250×times-frac_binary64_2471
219×*-un-lft-identity_binary64_2465
121×add-sqr-sqrt_binary64_2487
119×add-cube-cbrt_binary64_2500
106×sqrt-prod_binary64_2481
90×associate-/r*_binary64_2409
80×distribute-lft-neg-in_binary64_2422 distribute-rgt-neg-in_binary64_2423
60×distribute-lft-out_binary64_2416
36×sqrt-div_binary64_2482
19×associate-/r/_binary64_2411
18×add-exp-log_binary64_2503 distribute-neg-frac_binary64_2429 add-cbrt-cube_binary64_2501
16×flip3-+_binary64_2468 flip-+_binary64_2439
12×frac-add_binary64_2473
10×neg-mul-1_binary64_2461
cbrt-undiv_binary64_2499 div-exp_binary64_2516
pow1_binary64_2526
add-log-exp_binary64_2504 associate-/l/_binary64_2412 div-inv_binary64_2462 associate-/l*_binary64_2410
flip--_binary64_2440 flip3--_binary64_2469
associate-*l/_binary64_2408 pow1/2_binary64_2545 clear-num_binary64_2464 rem-sqrt-square_binary64_2478 prod-exp_binary64_2514 frac-2neg_binary64_2476 sqrt-pow1_binary64_2483 cbrt-unprod_binary64_2498
div-sub_binary64_2470
Counts
4 → 296
Calls

4 calls:

40.0ms
(/.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))) (sqrt.f64 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))))))
23.0ms
(/.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)))
4.0ms
(sqrt.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))))

series3.7s (8.3%)

Counts
4 → 70
Calls

4 calls:

2.1s
(/.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)))))
1.1s
(/.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4)))) (sqrt.f64 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))))))
374.0ms
(sqrt.f64 (+.f64 (pow.f64 (-.f64 A C) 2) (*.f64 B B)))
121.0ms
(sqrt.f64 (-.f64 (*.f64 B B) (*.f64 C (*.f64 A 4))))
Compiler

Compiled 9358 to 7128 computations (23.8% saved)

simplify229.0ms (0.5%)

Algorithm
egg-herbie
Counts
366 → 366
Iterations

Useful iterations: 0 (64.0ms)

IterNodesCost
0506421174

prune1.5s (3.4%)

Pruning

32 alts after pruning (31 fresh and 1 done)

PrunedKeptTotal
New3606366
Fresh12526
Picked101
Done011
Total36232394
Error
23.3b
Counts
394 → 32
Compiler

Compiled 21633 to 11025 computations (49% saved)

regimes3.8s (8.5%)

Accuracy

Total 17.4b remaining (41.9%)

Threshold costs 0b (0%)

Compiler

Compiled 39584 to 26512 computations (33% saved)

bsearch279.0ms (0.6%)

Steps
ItersRangePoint
4
2.0010245723299463e+82
3.5463933854321324e+82
3.46577574840479e+82
9
8.46883073610342e-302
1.0730311471370533e-293
7.275455770643732e-294
9
-3.8772517963457794e-72
-4.5834035661142836e-80
-1.6475797238506222e-74
Compiler

Compiled 1 to 4 computations (-300% saved)

simplify7.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (3.0ms)

IterNodesCost
0180200
1180200

end0.0ms (0%)

sample8.4s (18.8%)

Algorithm
intervals
Results
780.0ms5522×body128valid
524.0ms905×body1024valid
491.0ms652×body2048valid
475.0ms619×body2048nan
462.0ms783×body1024nan
406.0ms2827×body128nan
243.0ms584×body512valid
235.0ms562×body512nan
110.0ms335×body256valid
100.0ms337×body256nan
2.0msbody4096valid
Compiler

Compiled 6668 to 4450 computations (33.3% saved)

Profiling

Loading profile data...