Details

Time bar (total: 41.2s)

analyze3.6s (8.8%)

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)

sample281.0ms (0.7%)

Algorithm
intervals
Results
89.0ms256×body128valid
81.0ms277×body128nan
57.0ms157×body128invalid
Compiler

Compiled 71 to 68 computations (4.2% saved)

simplify330.0ms (0.8%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (53.0ms)

IterNodesCost
0520541

prune9.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New011
Fresh101
Picked000
Done000
Total112

Merged error: 27.7b

Counts
2 → 1
Compiler

Compiled 54 to 46 computations (14.8% saved)

localize44.0ms (0.1%)

Local error

Found 4 expressions with local error:

6.8b
(*.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))))
12.6b
(sqrt.f64 (/.f64 d h))
13.0b
(sqrt.f64 (/.f64 d l))
13.6b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))

rewrite100.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
77×add-exp-log_binary64_1139
41×prod-exp_binary64_1150
32×add-sqr-sqrt_binary64_1123
29×times-frac_binary64_1107
26×*-un-lft-identity_binary64_1101 sqrt-prod_binary64_1117 add-cube-cbrt_binary64_1136
21×add-cbrt-cube_binary64_1137
16×associate-*r*_binary64_1041 div-exp_binary64_1152
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
rem-sqrt-square_binary64_1114 add-log-exp_binary64_1140 flip--_binary64_1076 flip3--_binary64_1105 pow-prod-down_binary64_1172
div-inv_binary64_1098
*-commutative_binary64_1032 sub-neg_binary64_1094 sqrt-pow1_binary64_1119 distribute-lft-in_binary64_1050 cbrt-undiv_binary64_1135 associate-*l*_binary64_1042 cancel-sign-sub-inv_binary64_1067 pow-to-exp_binary64_1170 distribute-rgt-in_binary64_1051 pow1/2_binary64_1181
Counts
4 → 127
Calls

4 calls:

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

series1.6s (3.8%)

Counts
4 → 12
Calls

4 calls:

968.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))))
317.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
146.0ms
(sqrt.f64 (/.f64 d l))
139.0ms
(sqrt.f64 (/.f64 d h))

simplify159.0ms (0.4%)

Algorithm
egg-herbie
Counts
139 → 139
Iterations

Useful iterations: 0 (86.0ms)

IterNodesCost
049543595
149543595

prune371.0ms (0.9%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New12019139
Fresh000
Picked101
Done000
Total12119140

Merged error: 13.6b

Counts
140 → 19
Compiler

Compiled 5336 to 2646 computations (50.4% saved)

localize48.0ms (0.1%)

Local error

Found 4 expressions with local error:

4.7b
(/.f64 (*.f64 M D) (*.f64 d 2))
6.8b
(*.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))))
13.0b
(sqrt.f64 (/.f64 d l))
13.6b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))

rewrite136.0ms (0.3%)

Algorithm
rewrite-expression-head
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×times-frac_binary64_1107 div-exp_binary64_1152
19×*-un-lft-identity_binary64_1101 add-cube-cbrt_binary64_1136
16×cbrt-unprod_binary64_1134 pow1_binary64_1162 associate-*r*_binary64_1041
13×sqrt-prod_binary64_1117 sqrt-div_binary64_1118
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 flip--_binary64_1076 flip3--_binary64_1105
div-inv_binary64_1098
*-commutative_binary64_1032 rem-sqrt-square_binary64_1114 sub-neg_binary64_1094 distribute-lft-in_binary64_1050 associate-*l*_binary64_1042 cancel-sign-sub-inv_binary64_1067 pow-to-exp_binary64_1170 distribute-rgt-in_binary64_1051
frac-2neg_binary64_1112 sqrt-pow1_binary64_1119 clear-num_binary64_1100 associate-/l*_binary64_1046 associate-/r*_binary64_1045 pow1/2_binary64_1181
Counts
4 → 126
Calls

4 calls:

51.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))))
24.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
13.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
6.0ms
(sqrt.f64 (/.f64 d l))

series4.0s (9.6%)

Counts
4 → 12
Calls

4 calls:

3.5s
(*.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))))
322.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
144.0ms
(sqrt.f64 (/.f64 d l))
49.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))

simplify146.0ms (0.4%)

Algorithm
egg-herbie
Counts
138 → 138
Iterations

Useful iterations: 0 (89.0ms)

IterNodesCost
049604485
149604485

prune410.0ms (1%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New1326138
Fresh21618
Picked101
Done000
Total13522157

Merged error: 11.7b

Counts
157 → 22
Compiler

Compiled 6796 to 2734 computations (59.8% saved)

localize72.0ms (0.2%)

Local error

Found 4 expressions with local error:

4.0b
(sqrt.f64 (/.f64 d (cbrt.f64 l)))
4.7b
(/.f64 (*.f64 M D) (*.f64 d 2))
6.8b
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.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.6b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))

rewrite185.0ms (0.4%)

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

4 calls:

73.0ms
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
23.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
13.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
9.0ms
(sqrt.f64 (/.f64 d (cbrt.f64 l)))

series5.0s (12.2%)

Counts
4 → 12
Calls

4 calls:

4.3s
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (-.f64 1 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))))
323.0ms
(sqrt.f64 (/.f64 d (cbrt.f64 l)))
288.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
80.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))

simplify217.0ms (0.5%)

Algorithm
egg-herbie
Counts
166 → 166
Iterations

Useful iterations: 0 (102.0ms)

IterNodesCost
049927171
149927171

prune687.0ms (1.7%)

Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New1597166
Fresh41721
Picked101
Done000
Total16424188

Merged error: 9.5b

Counts
188 → 24
Compiler

Compiled 10178 to 4255 computations (58.2% saved)

localize72.0ms (0.2%)

Local error

Found 4 expressions with local error:

4.0b
(sqrt.f64 (/.f64 d (cbrt.f64 l)))
4.7b
(/.f64 (*.f64 M D) (*.f64 d 2))
6.4b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))
6.8b
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (-.f64 1 (*.f64 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))

rewrite237.0ms (0.6%)

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

4 calls:

85.0ms
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (-.f64 1 (*.f64 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))
38.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))
13.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
9.0ms
(sqrt.f64 (/.f64 d (cbrt.f64 l)))

series5.3s (13%)

Counts
4 → 12
Calls

4 calls:

4.3s
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h)))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (-.f64 1 (*.f64 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))
641.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))
327.0ms
(sqrt.f64 (/.f64 d (cbrt.f64 l)))
85.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))

simplify235.0ms (0.6%)

Algorithm
egg-herbie
Counts
188 → 188
Iterations

Useful iterations: 0 (84.0ms)

IterNodesCost
049798375
149798375

prune812.0ms (2%)

Pruning

27 alts after pruning (27 fresh and 0 done)

PrunedKeptTotal
New1826188
Fresh22123
Picked101
Done000
Total18527212

Merged error: 8.5b

Counts
212 → 27
Compiler

Compiled 12034 to 4227 computations (64.9% saved)

regimes3.3s (8%)

Compiler

Compiled 28850 to 19844 computations (31.2% saved)

bsearch0.0ms (0%)

simplify8.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (3.0ms)

IterNodesCost
0121107
1121107

end0.0ms (0%)

sample13.8s (33.5%)

Algorithm
intervals
Results
2.8s8000×body128valid
2.4s8648×body128nan
1.8s4967×body128invalid
Compiler

Compiled 4195 to 2878 computations (31.4% saved)

Profiling

Loading profile data...