Details

Time bar (total: 16.9s)

analyze1.7s (9.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)

sample122.0ms (0.7%)

Algorithm
intervals
Results
35.0ms255×body128nan
35.0ms256×body128valid
22.0ms152×body128invalid
Compiler

Compiled 71 to 68 computations (4.2% saved)

simplify133.0ms (0.8%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (30.0ms)

IterNodesCost
0520541

prune5.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 54 to 46 computations (14.8% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

6.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))))
11.5b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
12.4b
(sqrt.f64 (/.f64 d h))
13.4b
(sqrt.f64 (/.f64 d l))

rewrite51.0ms (0.3%)

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:

18.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))

series517.0ms (3.1%)

Counts
4 → 12
Calls

4 calls:

332.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))))
100.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))
42.0ms
(sqrt.f64 (/.f64 d l))

simplify87.0ms (0.5%)

Algorithm
egg-herbie
Counts
139 → 139
Iterations

Useful iterations: 0 (51.0ms)

IterNodesCost
050073595

prune271.0ms (1.6%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New11722139
Fresh000
Picked101
Done000
Total11822140
Error
12.8b
Counts
140 → 22
Compiler

Compiled 5488 to 2751 computations (49.9% saved)

localize26.0ms (0.2%)

Local error

Found 4 expressions with local error:

5.2b
(/.f64 (*.f64 M D) (*.f64 d 2))
6.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))))
11.5b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
13.4b
(sqrt.f64 (/.f64 d l))

rewrite58.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:

20.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))

series1.3s (7.9%)

Counts
4 → 12
Calls

4 calls:

1.2s
(*.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))))
95.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
51.0ms
(sqrt.f64 (/.f64 d l))
24.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))

simplify96.0ms (0.6%)

Algorithm
egg-herbie
Counts
138 → 138
Iterations

Useful iterations: 0 (57.0ms)

IterNodesCost
050894485

prune256.0ms (1.5%)

Pruning

23 alts after pruning (23 fresh and 0 done)

PrunedKeptTotal
New1308138
Fresh61521
Picked101
Done000
Total13723160
Error
11.5b
Counts
160 → 23
Compiler

Compiled 6875 to 2774 computations (59.7% saved)

localize29.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 d)
5.2b
(/.f64 (*.f64 M D) (*.f64 d 2))
6.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))))
11.5b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))

rewrite67.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
24×pow1_binary64_1162
23×cbrt-unprod_binary64_1134
20×div-exp_binary64_1152
18×associate-*r/_binary64_1043
16×associate-*r*_binary64_1041
14×pow-prod-down_binary64_1172
13×add-sqr-sqrt_binary64_1123 *-un-lft-identity_binary64_1101 add-cube-cbrt_binary64_1136
12×sqrt-div_binary64_1118
10×pow-exp_binary64_1169 times-frac_binary64_1107
frac-times_binary64_1111
cbrt-undiv_binary64_1135 associate-*l/_binary64_1044
add-log-exp_binary64_1140 flip--_binary64_1076 flip3--_binary64_1105
cbrt-prod_binary64_1132
*-commutative_binary64_1032 sub-neg_binary64_1094 distribute-lft-in_binary64_1050 div-inv_binary64_1098 associate-*l*_binary64_1042 cancel-sign-sub-inv_binary64_1067 pow-to-exp_binary64_1170 distribute-rgt-in_binary64_1051
pow1/3_binary64_1183 frac-2neg_binary64_1112 clear-num_binary64_1100 associate-/l*_binary64_1046 associate-/r*_binary64_1045
Counts
4 → 118
Calls

4 calls:

29.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 d)

series1.5s (8.9%)

Counts
4 → 12
Calls

4 calls:

1.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))))
95.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) (/.f64 h l))
82.0ms
(cbrt.f64 d)
24.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))

simplify88.0ms (0.5%)

Algorithm
egg-herbie
Counts
130 → 130
Iterations

Useful iterations: 0 (41.0ms)

IterNodesCost
050555275

prune273.0ms (1.6%)

Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New1264130
Fresh22022
Picked101
Done000
Total12924153
Error
9.2b
Counts
153 → 24
Compiler

Compiled 7826 to 2720 computations (65.2% saved)

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

5.2b
(/.f64 (*.f64 M D) (*.f64 d 2))
5.5b
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) h)
6.0b
(/.f64 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) h) l)
6.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 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) h) l)))

rewrite81.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
104×add-exp-log_binary64_1139
55×prod-exp_binary64_1150
48×add-cbrt-cube_binary64_1137
24×pow1_binary64_1162
23×cbrt-unprod_binary64_1134
21×div-exp_binary64_1152
17×associate-*r/_binary64_1043
15×add-sqr-sqrt_binary64_1123 *-un-lft-identity_binary64_1101
14×pow-prod-down_binary64_1172 cancel-sign-sub-inv_binary64_1067
12×add-cube-cbrt_binary64_1136 sqrt-div_binary64_1118
10×pow-exp_binary64_1169 times-frac_binary64_1107
frac-times_binary64_1111 associate-*r*_binary64_1041
distribute-lft-in_binary64_1050 distribute-rgt-in_binary64_1051
cbrt-undiv_binary64_1135
associate-*l/_binary64_1044
add-log-exp_binary64_1140 flip--_binary64_1076 flip3--_binary64_1105 div-inv_binary64_1098 associate-/r*_binary64_1045
*-commutative_binary64_1032 difference-of-squares_binary64_1070 frac-2neg_binary64_1112 sub-neg_binary64_1094 clear-num_binary64_1100 associate-/l*_binary64_1046 associate-*l*_binary64_1042 pow-to-exp_binary64_1170
distribute-lft-out--_binary64_1053
Counts
4 → 130
Calls

4 calls:

34.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 d 2)) 2)) h) l)))
10.0ms
(/.f64 (*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) h) l)
8.0ms
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2)) h)
7.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))

series1.5s (9.1%)

Counts
4 → 12
Calls

4 calls:

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

simplify114.0ms (0.7%)

Algorithm
egg-herbie
Counts
142 → 142
Iterations

Useful iterations: 0 (56.0ms)

IterNodesCost
050786969

prune236.0ms (1.4%)

Pruning

26 alts after pruning (26 fresh and 0 done)

PrunedKeptTotal
New1384142
Fresh12223
Picked101
Done000
Total14026166
Error
8.5b
Counts
166 → 26
Compiler

Compiled 7682 to 2258 computations (70.6% saved)

regimes1.9s (11.4%)

Accuracy

Total 4.3b remaining (32.4%)

Threshold costs 0b (0%)

Compiler

Compiled 26806 to 18766 computations (30% saved)

bsearch208.0ms (1.2%)

Steps
ItersRangePoint
10
-2.253358018080734e+71
-3.548157263684111e+56
-8.614834714844364e+65
Compiler

Compiled 1 to 5 computations (-400% saved)

simplify5.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
0103197
1103197

end0.0ms (0%)

sample6.2s (36.5%)

Algorithm
intervals
Results
1.1s8000×body128valid
1.1s8491×body128nan
675.0ms4755×body128invalid
Compiler

Compiled 3958 to 2731 computations (31% saved)

Profiling

Loading profile data...