Details

Time bar (total: 24.8s)

analyze1.6s (6.6%)

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%81.1%18.9%7
0%68.6%31.4%8
0%59.2%40.8%9
0%59.2%40.8%10
0%59.2%40.8%11
0.4%49.5%50.1%12
0.8%44.4%54.8%13
1.4%39.9%58.7%14
Compiler

Compiled 36 to 32 computations (11.1% saved)

sample127.0ms (0.5%)

Algorithm
intervals
Results
38.0ms256×body128valid
32.0ms260×body128nan
23.0ms167×body128invalid
Compiler

Compiled 71 to 68 computations (4.2% saved)

simplify121.0ms (0.5%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (30.0ms)

IterNodesCost
0520541

prune8.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112
Error
25.8b
Counts
2 → 1
Compiler

Compiled 54 to 46 computations (14.8% saved)

localize23.0ms (0.1%)

Local error

Found 8 expressions with local error:

4.6b
(/.f64 (*.f64 M D) (*.f64 d 2))
0.4b
(*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l)))
0.2b
(pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)
0.0b
(-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l)))
5.9b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
9.2b
(sqrt.f64 (/.f64 d h))
12.6b
(sqrt.f64 (/.f64 d l))
13.4b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))

rewrite47.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
77×add-exp-log_binary64_1480
41×prod-exp_binary64_1491
32×add-sqr-sqrt_binary64_1464
29×times-frac_binary64_1448
26×sqrt-prod_binary64_1458 add-cube-cbrt_binary64_1477 *-un-lft-identity_binary64_1442
21×add-cbrt-cube_binary64_1478
16×associate-*r*_binary64_1382 div-exp_binary64_1493
14×sqrt-div_binary64_1459
13×pow1_binary64_1503
10×pow-exp_binary64_1510
cbrt-unprod_binary64_1475 frac-times_binary64_1452
associate-*r/_binary64_1384 associate-*l/_binary64_1385
rem-sqrt-square_binary64_1455 flip3--_binary64_1446 pow-prod-down_binary64_1513 add-log-exp_binary64_1481 flip--_binary64_1417
div-inv_binary64_1439
sqrt-pow1_binary64_1460 cbrt-undiv_binary64_1476 cancel-sign-sub-inv_binary64_1408 sub-neg_binary64_1435 associate-*l*_binary64_1383 *-commutative_binary64_1373 distribute-lft-in_binary64_1391 distribute-rgt-in_binary64_1392 pow1/2_binary64_1522 pow-to-exp_binary64_1511
Counts
4 → 127
Calls

8 calls:

16.0ms
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
11.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
3.0ms
(sqrt.f64 (/.f64 d l))
3.0ms
(sqrt.f64 (/.f64 d h))
0.0ms
(-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l)))

series1.6s (6.3%)

Counts
4 → 50
Calls

4 calls:

908.0ms
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
565.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
43.0ms
(sqrt.f64 (/.f64 d h))
41.0ms
(sqrt.f64 (/.f64 d l))
Compiler

Compiled 2576 to 2255 computations (12.5% saved)

simplify97.0ms (0.4%)

Algorithm
egg-herbie
Counts
177 → 177
Iterations

Useful iterations: 0 (54.0ms)

IterNodesCost
049794371
149794371

prune411.0ms (1.7%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New15720177
Fresh000
Picked101
Done000
Total15820178
Error
10.9b
Counts
178 → 20
Compiler

Compiled 6192 to 2904 computations (53.1% saved)

localize26.0ms (0.1%)

Local error

Found 8 expressions with local error:

0.3b
(*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))))
0.2b
(pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)
0.1b
(sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))
0.0b
(-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l)))
4.6b
(/.f64 (*.f64 M D) (*.f64 d 2))
5.9b
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d l))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
12.6b
(sqrt.f64 (/.f64 d l))
13.4b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))

rewrite60.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
93×add-exp-log_binary64_1480
48×prod-exp_binary64_1491
37×add-cbrt-cube_binary64_1478
22×add-sqr-sqrt_binary64_1464
20×times-frac_binary64_1448 div-exp_binary64_1493
19×add-cube-cbrt_binary64_1477 *-un-lft-identity_binary64_1442
16×associate-*r*_binary64_1382 cbrt-unprod_binary64_1475 pow1_binary64_1503
13×sqrt-div_binary64_1459 sqrt-prod_binary64_1458
12×associate-*r/_binary64_1384
10×pow-exp_binary64_1510
frac-times_binary64_1452
pow-prod-down_binary64_1513
cbrt-undiv_binary64_1476 associate-*l/_binary64_1385
flip3--_binary64_1446 add-log-exp_binary64_1481 flip--_binary64_1417
div-inv_binary64_1439
cancel-sign-sub-inv_binary64_1408 rem-sqrt-square_binary64_1455 sub-neg_binary64_1435 associate-*l*_binary64_1383 *-commutative_binary64_1373 distribute-lft-in_binary64_1391 distribute-rgt-in_binary64_1392 pow-to-exp_binary64_1511
sqrt-pow1_binary64_1460 associate-/r*_binary64_1386 clear-num_binary64_1441 associate-/l*_binary64_1387 frac-2neg_binary64_1453 pow1/2_binary64_1522
Counts
4 → 126
Calls

8 calls:

23.0ms
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d l))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
11.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
6.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
3.0ms
(sqrt.f64 (/.f64 d l))
0.0ms
(-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l)))

series3.2s (12.9%)

Counts
4 → 55
Calls

4 calls:

2.4s
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d l))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
576.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
131.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
47.0ms
(sqrt.f64 (/.f64 d l))
Compiler

Compiled 4383 to 3593 computations (18% saved)

simplify131.0ms (0.5%)

Algorithm
egg-herbie
Counts
181 → 181
Iterations

Useful iterations: 0 (77.0ms)

IterNodesCost
049476103
149476103

prune548.0ms (2.2%)

Pruning

27 alts after pruning (27 fresh and 0 done)

PrunedKeptTotal
New17110181
Fresh21719
Picked101
Done000
Total17427201
Error
9.9b
Counts
201 → 27
Compiler

Compiled 8535 to 3443 computations (59.7% saved)

localize34.0ms (0.1%)

Local error

Found 8 expressions with local error:

0.2b
(pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)
0.1b
(sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l)))
0.1b
(sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))
0.0b
(-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l)))
0.6b
(cbrt.f64 h)
4.6b
(/.f64 (*.f64 M D) (*.f64 d 2))
5.9b
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
13.4b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))

rewrite65.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
102×add-exp-log_binary64_1480
55×prod-exp_binary64_1491
46×add-cbrt-cube_binary64_1478
24×pow1_binary64_1503
23×cbrt-unprod_binary64_1475
20×div-exp_binary64_1493
18×associate-*r/_binary64_1384
16×associate-*r*_binary64_1382
14×pow-prod-down_binary64_1513
13×add-sqr-sqrt_binary64_1464 add-cube-cbrt_binary64_1477 *-un-lft-identity_binary64_1442
12×sqrt-div_binary64_1459
10×pow-exp_binary64_1510 times-frac_binary64_1448
frac-times_binary64_1452
cbrt-undiv_binary64_1476 associate-*l/_binary64_1385
flip3--_binary64_1446 add-log-exp_binary64_1481 flip--_binary64_1417
cbrt-prod_binary64_1473
cancel-sign-sub-inv_binary64_1408 div-inv_binary64_1439 sub-neg_binary64_1435 associate-*l*_binary64_1383 *-commutative_binary64_1373 distribute-lft-in_binary64_1391 distribute-rgt-in_binary64_1392 pow-to-exp_binary64_1511
associate-/r*_binary64_1386 clear-num_binary64_1441 associate-/l*_binary64_1387 frac-2neg_binary64_1453 pow1/3_binary64_1524
Counts
4 → 118
Calls

8 calls:

27.0ms
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
11.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
6.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
1.0ms
(cbrt.f64 h)
0.0ms
(-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l)))

series3.1s (12.4%)

Counts
4 → 51
Calls

4 calls:

2.3s
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
580.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
142.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
76.0ms
(cbrt.f64 h)
Compiler

Compiled 4874 to 3692 computations (24.3% saved)

simplify112.0ms (0.5%)

Algorithm
egg-herbie
Counts
169 → 169
Iterations

Useful iterations: 0 (51.0ms)

IterNodesCost
049667097
149667097

prune334.0ms (1.3%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New1654169
Fresh22426
Picked101
Done000
Total16828196
Error
8.7b
Counts
196 → 28
Compiler

Compiled 9581 to 3253 computations (66% saved)

localize33.0ms (0.1%)

Local error

Found 8 expressions with local error:

0.2b
(pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)
0.1b
(sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l)))
0.1b
(sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))
0.0b
(-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l)))
2.4b
(*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l)))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
2.7b
(*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l)))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l)))))
4.6b
(/.f64 (*.f64 M D) (*.f64 d 2))
13.4b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))

rewrite88.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
110×add-exp-log_binary64_1480
60×prod-exp_binary64_1491
54×add-cbrt-cube_binary64_1478
32×pow1_binary64_1503
28×cbrt-unprod_binary64_1475
27×associate-*r/_binary64_1384
20×div-exp_binary64_1493
19×pow-prod-down_binary64_1513
17×associate-*r*_binary64_1382
15×sqrt-div_binary64_1459
12×add-sqr-sqrt_binary64_1464 add-cube-cbrt_binary64_1477 *-un-lft-identity_binary64_1442
11×frac-times_binary64_1452
10×pow-exp_binary64_1510 times-frac_binary64_1448 distribute-lft-in_binary64_1391 distribute-rgt-in_binary64_1392
cbrt-undiv_binary64_1476 cancel-sign-sub-inv_binary64_1408 sub-neg_binary64_1435 flip3--_binary64_1446 flip--_binary64_1417
add-log-exp_binary64_1481 associate-*l/_binary64_1385
associate-*l*_binary64_1383 *-commutative_binary64_1373
div-inv_binary64_1439 pow-to-exp_binary64_1511
associate-/r*_binary64_1386 clear-num_binary64_1441 associate-/l*_binary64_1387 frac-2neg_binary64_1453
Counts
4 → 139
Calls

8 calls:

30.0ms
(*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l)))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l)))))
16.0ms
(*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l)))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
11.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
6.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
0.0ms
(-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l)))

series4.5s (18.1%)

Counts
4 → 73
Calls

4 calls:

2.3s
(*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l)))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l)))))
1.5s
(*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l)))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
577.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
133.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
Compiler

Compiled 6749 to 5130 computations (24% saved)

simplify136.0ms (0.5%)

Algorithm
egg-herbie
Counts
212 → 212
Iterations

Useful iterations: 0 (53.0ms)

IterNodesCost
0498910207
1498910207

prune370.0ms (1.5%)

Pruning

27 alts after pruning (26 fresh and 1 done)

PrunedKeptTotal
New2093212
Fresh42327
Picked011
Done000
Total21327240
Error
8.7b
Counts
240 → 27
Compiler

Compiled 10903 to 3250 computations (70.2% saved)

simplify90.0ms (0.4%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (27.0ms)

IterNodesCost
013155169
113155169

regimes1.3s (5.4%)

Compiler

Compiled 19828 to 14876 computations (25% saved)

bsearch241.0ms (1%)

Steps
ItersRangePoint
10
-1.5426546956416291e-83
-3.6748256912686164e-97
-1.5244358943745493e-83
Compiler

Compiled 1 to 5 computations (-400% saved)

regimes138.0ms (0.6%)

Compiler

Compiled 2050 to 1304 computations (36.4% saved)

bsearch0.0ms (0%)

regimes125.0ms (0.5%)

Accuracy

Total 5.3b remaining (38.6%)

Threshold costs 0b (0%)

Compiler

Compiled 1780 to 1124 computations (36.9% saved)

bsearch9.0ms (0%)

Compiler

Compiled 251 to 133 computations (47% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
0119406
1119406

end0.0ms (0%)

sample6.1s (24.7%)

Algorithm
intervals
Results
1.1s8000×body128valid
1.0s8421×body128nan
688.0ms4808×body128invalid
Compiler

Compiled 3589 to 2639 computations (26.5% saved)

Pareto

0.00015232826355402232

Profiling

Loading profile data...