Details

Time bar (total: 46.7s)

analyze2.9s (6.2%)

Algorithm
search
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05362451
055
155
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
Symmetry

(sort M D)

Compiler

Compiled 36 to 32 computations (11.1% saved)

sample199.0ms (0.4%)

Algorithm
intervals
Results
52.0ms256×body128valid
44.0ms243×body128nan
34.0ms139×body128invalid
Compiler

Compiled 71 to 68 computations (4.2% saved)

simplify66.0ms (0.1%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (54.0ms)

IterNodesCost
0520541

prune10.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 54 to 46 computations (14.8% saved)

localize31.0ms (0.1%)

Local error

Found 4 expressions with local error:

8.0b
(*.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.2b
(sqrt.f64 (/.f64 d l))
12.7b
(sqrt.f64 (/.f64 d h))
12.8b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))

rewrite385.0ms (0.8%)

Algorithm
rewrite-expression-head
Error
14.9b
Rules
77×add-exp-log_binary64_1139
41×prod-exp_binary64_1150
32×add-sqr-sqrt_binary64_1123
29×times-frac_binary64_1107
26×add-cube-cbrt_binary64_1136 *-un-lft-identity_binary64_1101 sqrt-prod_binary64_1117
21×add-cbrt-cube_binary64_1137
16×div-exp_binary64_1152 associate-*r*_binary64_1041
14×sqrt-div_binary64_1118
13×pow1_binary64_1162
10×pow-exp_binary64_1169
cbrt-unprod_binary64_1134 frac-times_binary64_1111
associate-*r/_binary64_1043 associate-*l/_binary64_1044
pow-prod-down_binary64_1172 add-log-exp_binary64_1140 rem-sqrt-square_binary64_1114 flip3--_binary64_1105 flip--_binary64_1076
div-inv_binary64_1098
pow-to-exp_binary64_1170 cbrt-undiv_binary64_1135 associate-*l*_binary64_1042 *-commutative_binary64_1032 pow1/2_binary64_1181 sqrt-pow1_binary64_1119 sub-neg_binary64_1094 distribute-rgt-in_binary64_1051 cancel-sign-sub-inv_binary64_1067 distribute-lft-in_binary64_1050
Counts
4 → 127
Calls

4 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))))
16.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
3.0ms
(sqrt.f64 (/.f64 d h))
3.0ms
(sqrt.f64 (/.f64 d l))
Compiler

Compiled 4932 to 2296 computations (53.4% saved)

series2.2s (4.7%)

Error
20.3b
Counts
4 → 50
Calls

4 calls:

1.3s
(*.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))))
750.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
73.0ms
(sqrt.f64 (/.f64 d l))
52.0ms
(sqrt.f64 (/.f64 d h))
Compiler

Compiled 3752 to 2913 computations (22.4% saved)

simplify132.0ms (0.3%)

Algorithm
egg-herbie
Counts
177 → 177
Iterations

Useful iterations: 0 (64.0ms)

IterNodesCost
049794371
149794371

prune399.0ms (0.9%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New15621177
Fresh000
Picked101
Done000
Total15721178
Error
12.2b
Counts
178 → 21
Compiler

Compiled 6188 to 2917 computations (52.9% saved)

localize32.0ms (0.1%)

Local error

Found 4 expressions with local error:

4.0b
(/.f64 (*.f64 M D) (*.f64 d 2))
8.0b
(*.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.2b
(sqrt.f64 (/.f64 d l))
12.8b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))

rewrite361.0ms (0.8%)

Algorithm
rewrite-expression-head
Error
10.6b
Rules
93×add-exp-log_binary64_1139
48×prod-exp_binary64_1150
37×add-cbrt-cube_binary64_1137
22×add-sqr-sqrt_binary64_1123
20×div-exp_binary64_1152 times-frac_binary64_1107
19×add-cube-cbrt_binary64_1136 *-un-lft-identity_binary64_1101
16×pow1_binary64_1162 cbrt-unprod_binary64_1134 associate-*r*_binary64_1041
13×sqrt-div_binary64_1118 sqrt-prod_binary64_1117
12×associate-*r/_binary64_1043
10×pow-exp_binary64_1169
frac-times_binary64_1111
pow-prod-down_binary64_1172
cbrt-undiv_binary64_1135 associate-*l/_binary64_1044
add-log-exp_binary64_1140 flip3--_binary64_1105 flip--_binary64_1076
div-inv_binary64_1098
pow-to-exp_binary64_1170 associate-*l*_binary64_1042 *-commutative_binary64_1032 rem-sqrt-square_binary64_1114 sub-neg_binary64_1094 distribute-rgt-in_binary64_1051 cancel-sign-sub-inv_binary64_1067 distribute-lft-in_binary64_1050
pow1/2_binary64_1181 sqrt-pow1_binary64_1119 frac-2neg_binary64_1112 clear-num_binary64_1100 associate-/l*_binary64_1046 associate-/r*_binary64_1045
Counts
4 → 126
Calls

4 calls:

26.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))
8.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
3.0ms
(sqrt.f64 (/.f64 d l))
Compiler

Compiled 6223 to 2306 computations (62.9% saved)

series3.2s (6.9%)

Error
12.2b
Counts
4 → 51
Calls

4 calls:

2.0s
(*.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))))
773.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
182.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
66.0ms
(sqrt.f64 (/.f64 d l))
Compiler

Compiled 6088 to 4435 computations (27.2% saved)

simplify205.0ms (0.4%)

Algorithm
egg-herbie
Counts
177 → 177
Iterations

Useful iterations: 0 (123.0ms)

IterNodesCost
049475747
149475747

prune431.0ms (0.9%)

Pruning

25 alts after pruning (25 fresh and 0 done)

PrunedKeptTotal
New1689177
Fresh41620
Picked101
Done000
Total17325198
Error
10.9b
Counts
198 → 25
Compiler

Compiled 8204 to 3260 computations (60.3% saved)

localize49.0ms (0.1%)

Local error

Found 4 expressions with local error:

4.0b
(/.f64 (*.f64 M D) (*.f64 2 d))
8.0b
(*.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 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))
8.2b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))
11.2b
(sqrt.f64 (/.f64 d l))

rewrite509.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
10.5b
Rules
239×add-exp-log_binary64_1139
137×prod-exp_binary64_1150
56×div-exp_binary64_1152
50×add-cbrt-cube_binary64_1137
33×cbrt-unprod_binary64_1134
25×pow-exp_binary64_1169
16×pow1_binary64_1162 add-sqr-sqrt_binary64_1123
13×add-cube-cbrt_binary64_1136 sqrt-div_binary64_1118 sqrt-prod_binary64_1117 *-un-lft-identity_binary64_1101
12×times-frac_binary64_1107 cbrt-undiv_binary64_1135 associate-*r/_binary64_1043
frac-times_binary64_1111
associate-*r*_binary64_1041
pow-prod-down_binary64_1172
associate-*l/_binary64_1044
pow-to-exp_binary64_1170
add-log-exp_binary64_1140 flip3--_binary64_1105 flip--_binary64_1076
div-inv_binary64_1098
rem-sqrt-square_binary64_1114 associate-*l*_binary64_1042 *-commutative_binary64_1032 sub-neg_binary64_1094 distribute-rgt-in_binary64_1051 cancel-sign-sub-inv_binary64_1067 distribute-lft-in_binary64_1050
pow1/2_binary64_1181 sqrt-pow1_binary64_1119 frac-2neg_binary64_1112 clear-num_binary64_1100 associate-/l*_binary64_1046 associate-/r*_binary64_1045
Counts
4 → 148
Calls

4 calls:

33.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 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))
18.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))
6.0ms
(/.f64 (*.f64 M D) (*.f64 2 d))
6.0ms
(sqrt.f64 (/.f64 d l))
Compiler

Compiled 9968 to 2883 computations (71.1% saved)

series4.1s (8.7%)

Error
10.9b
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)))) (sqrt.f64 (/.f64 d l))) (-.f64 1 (*.f64 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))
1.5s
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))
177.0ms
(/.f64 (*.f64 M D) (*.f64 2 d))
48.0ms
(sqrt.f64 (/.f64 d l))
Compiler

Compiled 7389 to 5110 computations (30.8% saved)

simplify181.0ms (0.4%)

Algorithm
egg-herbie
Counts
199 → 199
Iterations

Useful iterations: 0 (82.0ms)

IterNodesCost
051567044

prune590.0ms (1.3%)

Pruning

27 alts after pruning (27 fresh and 0 done)

PrunedKeptTotal
New1945199
Fresh22224
Picked101
Done000
Total19727224
Error
10.7b
Counts
224 → 27
Compiler

Compiled 11168 to 3972 computations (64.4% saved)

localize66.0ms (0.1%)

Local error

Found 4 expressions with local error:

2.2b
(*.f64 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))
4.0b
(/.f64 (*.f64 M D) (*.f64 2 d))
8.0b
(*.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 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))
8.2b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))

rewrite1.2s (2.5%)

Algorithm
rewrite-expression-head
Error
9.4b
Rules
801×add-exp-log_binary64_1139
480×prod-exp_binary64_1150
201×div-exp_binary64_1152
122×add-cbrt-cube_binary64_1137
108×cbrt-unprod_binary64_1134
75×pow-exp_binary64_1169
48×associate-*r*_binary64_1041
39×cbrt-undiv_binary64_1135
38×times-frac_binary64_1107
36×cbrt-prod_binary64_1132
31×add-cube-cbrt_binary64_1136 add-sqr-sqrt_binary64_1123 *-un-lft-identity_binary64_1101
29×pow1_binary64_1162
21×associate-*r/_binary64_1043
17×pow-prod-down_binary64_1172
15×pow-to-exp_binary64_1170
12×sqrt-div_binary64_1118
10×frac-times_binary64_1111
associate-*l/_binary64_1044
add-log-exp_binary64_1140 flip3--_binary64_1105 flip--_binary64_1076
associate-*l*_binary64_1042 div-inv_binary64_1098 *-commutative_binary64_1032
sub-neg_binary64_1094 distribute-rgt-in_binary64_1051 cancel-sign-sub-inv_binary64_1067 distribute-lft-in_binary64_1050
frac-2neg_binary64_1112 clear-num_binary64_1100 associate-/l*_binary64_1046 associate-/r*_binary64_1045
Counts
4 → 287
Calls

4 calls:

69.0ms
(*.f64 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))
58.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 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))
17.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))
11.0ms
(/.f64 (*.f64 M D) (*.f64 2 d))
Compiler

Compiled 21922 to 5346 computations (75.6% saved)

series5.7s (12.2%)

Error
10.7b
Counts
4 → 63
Calls

4 calls:

2.9s
(*.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 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))
1.6s
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))
806.0ms
(*.f64 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))
202.0ms
(/.f64 (*.f64 M D) (*.f64 2 d))
Compiler

Compiled 10108 to 6458 computations (36.1% saved)

simplify255.0ms (0.5%)

Algorithm
egg-herbie
Counts
350 → 350
Iterations

Useful iterations: 0 (81.0ms)

IterNodesCost
0504413688

prune980.0ms (2.1%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New3446350
Fresh42226
Picked101
Done000
Total34928377
Error
10.2b
Counts
377 → 28
Compiler

Compiled 19645 to 5142 computations (73.8% saved)

regimes6.5s (13.8%)

Accuracy

Total 4.5b remaining (36.8%)

Threshold costs 0b (0%)

Compiler

Compiled 62883 to 44308 computations (29.5% saved)

bsearch491.0ms (1.1%)

Steps
ItersRangePoint
6
1.4435440108910163e-25
6.419411711655786e-25
2.1079276871338923e-25
8
-1.020581990341181e-23
-1.2628186642114794e-27
-8.384688406633684e-26
Compiler

Compiled 1 to 5 computations (-400% saved)

simplify31.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (3.0ms)

IterNodesCost
0128196
1128196
Remove

(sort M D)

Compiler

Compiled 246 to 128 computations (48% saved)

end0.0ms (0%)

sample15.6s (33.4%)

Algorithm
intervals
Results
1.7s8000×body128valid
1.5s8356×body128nan
1.0s4892×body128invalid
Compiler

Compiled 9130 to 6413 computations (29.8% saved)

Profiling

Loading profile data...