Details

Time bar (total: 10.8s)

analyze3.1s (28.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%99.7%0.3%5
0%99.7%0.3%6
0%99.7%0.3%7
0%99.7%0.3%8
0%99.7%0.3%9
0%99.7%0.3%10
0%99.7%0.3%11
0%99.7%0.3%12
4.3%95.4%0.3%13
6.6%93.1%0.3%14
Compiler

Compiled 25 to 19 computations (24% saved)

sample2.5s (22.8%)

Symmetry

(sort M D)

Results
1.6s8256×body128valid
790.0ms4509×body128invalid
Compiler

Compiled 74 to 56 computations (24.3% saved)

simplify25.0ms (0.2%)

Algorithm
egg-herbie
Rules
645×distribute-neg-frac_binary64
581×distribute-rgt-neg-in_binary64
418×associate-/l*_binary64
372×cancel-sign-sub-inv_binary64
263×associate-/l/_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01827
14227
211127
372327
4285527
5499427

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
16.5b
Counts
2 → 1
Alt Table
StatusErrorProgram
16.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
Compiler

Compiled 72 to 54 computations (25% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
6.1b
(/.f64 (*.f64 M D) (*.f64 2 d))
6.7b
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))
9.9b
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))

series506.0ms (4.7%)

Counts
4 → 204
Calls

4 calls:

209.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
168.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))
108.0ms
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))
19.0ms
(/.f64 (*.f64 M D) (*.f64 2 d))

rewrite89.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
593×prod-diff_binary64
190×add-sqr-sqrt_binary64
179×log1p-expm1-u_binary64
179×expm1-log1p-u_binary64
177×add-log-exp_binary64
Counts
4 → 119
Calls

4 calls:

87.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
87.0ms
(/.f64 (*.f64 M D) (*.f64 2 d))
87.0ms
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))
87.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01880
138480
2493280
3608680

simplify224.0ms (2.1%)

Algorithm
egg-herbie
Rules
668×fma-def_binary64
276×unswap-sqr_binary64
262×times-frac_binary64
248×associate-*r*_binary64
246×associate-/r*_binary64
Counts
323 → 238
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03108076
18108010
234707948
349427780
449847780
549597780

prune357.0ms (3.3%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New22810238
Fresh000
Picked101
Done000
Total22910239
Error
7.4b
Counts
239 → 10
Alt Table
StatusErrorProgram
16.6b
(*.f64 w0 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))) 3))
61.8b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) h) (*.f64 l (*.f64 d d))) -1/4)) (neg.f64 M)))
14.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l)))))
60.2b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 M M) h)) l) -1/4)) d))
60.9b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4))))
16.5b
(*.f64 w0 (pow.f64 (pow.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))) 1/4) 2))
13.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) l))))
37.9b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) (sqrt.f64 l)) (sqrt.f64 l)))))
62.6b
(*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) h) (*.f64 l (*.f64 d d))) -1/4)) (*.f64 M w0))
15.3b
w0
Compiler

Compiled 9251 to 5611 computations (39.3% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.1b
(*.f64 h (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2))
4.7b
(/.f64 (*.f64 h (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) l)
6.1b
(/.f64 (*.f64 M D) (*.f64 2 d))
6.7b
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) l)))

series488.0ms (4.5%)

Counts
3 → 156
Calls

3 calls:

197.0ms
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) l)))
179.0ms
(/.f64 (*.f64 h (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) l)
111.0ms
(*.f64 h (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2))

rewrite80.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
494×prod-diff_binary64
168×add-sqr-sqrt_binary64
159×log1p-expm1-u_binary64
159×expm1-log1p-u_binary64
157×add-log-exp_binary64
Counts
3 → 82
Calls

3 calls:

77.0ms
(*.f64 h (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2))
77.0ms
(/.f64 (*.f64 h (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) l)
77.0ms
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) l)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01659
134259
2446759
3545859

simplify102.0ms (0.9%)

Algorithm
egg-herbie
Rules
587×associate-*l/_binary64
267×associate-/r/_binary64
264×fma-def_binary64
231×unswap-sqr_binary64
216×distribute-neg-frac_binary64
Counts
238 → 145
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01855336
14955302
220115284
352575284

prune254.0ms (2.4%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1993202
Fresh279
Picked101
Done000
Total20210212
Error
6.7b
Counts
212 → 10
Alt Table
StatusErrorProgram
39.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (sqrt.f64 h)) 2) l))))
60.9b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4))))
14.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l)))))
60.2b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 M M) h)) l) -1/4)) d))
16.5b
(*.f64 w0 (pow.f64 (pow.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))) 1/4) 2))
61.8b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) h) (*.f64 l (*.f64 d d))) -1/4)) (neg.f64 M)))
11.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2)) l))))
13.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (pow.f64 (/.f64 (*.f64 2 d) (*.f64 M D)) -1) 2)) l))))
62.6b
(*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) h) (*.f64 l (*.f64 d d))) -1/4)) (*.f64 M w0))
15.3b
w0
Compiler

Compiled 6866 to 4327 computations (37% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.7b
(*.f64 (/.f64 D d) (*.f64 M 1/2))
4.1b
(*.f64 h (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2))
4.7b
(/.f64 (*.f64 h (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2)) l)
6.7b
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2)) l)))

series416.0ms (3.9%)

Counts
4 → 192
Calls

4 calls:

175.0ms
(/.f64 (*.f64 h (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2)) l)
117.0ms
(*.f64 h (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2))
109.0ms
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2)) l)))
15.0ms
(*.f64 (/.f64 D d) (*.f64 M 1/2))

rewrite76.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
476×prod-diff_binary64
174×add-sqr-sqrt_binary64
167×log1p-expm1-u_binary64
167×expm1-log1p-u_binary64
164×add-cbrt-cube_binary64
Counts
4 → 109
Calls

4 calls:

74.0ms
(*.f64 (/.f64 D d) (*.f64 M 1/2))
74.0ms
(*.f64 h (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2))
74.0ms
(/.f64 (*.f64 h (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2)) l)
74.0ms
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2)) l)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01769
136269
2442669
3534369

simplify107.0ms (1%)

Algorithm
egg-herbie
Rules
590×associate-*l/_binary64
272×associate-/r/_binary64
264×fma-def_binary64
231×unswap-sqr_binary64
216×distribute-neg-frac_binary64
Counts
301 → 173
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01885696
15045662
220325644
352875644

prune199.0ms (1.8%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1730173
Fresh099
Picked011
Done000
Total17310183
Error
6.7b
Counts
183 → 10
Alt Table
StatusErrorProgram
39.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (sqrt.f64 h)) 2) l))))
60.9b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4))))
14.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l)))))
60.2b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 M M) h)) l) -1/4)) d))
16.5b
(*.f64 w0 (pow.f64 (pow.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))) 1/4) 2))
61.8b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) h) (*.f64 l (*.f64 d d))) -1/4)) (neg.f64 M)))
11.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2)) l))))
13.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (pow.f64 (/.f64 (*.f64 2 d) (*.f64 M D)) -1) 2)) l))))
62.6b
(*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) h) (*.f64 l (*.f64 d d))) -1/4)) (*.f64 M w0))
15.3b
w0
Compiler

Compiled 6128 to 3867 computations (36.9% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.1b
(*.f64 h (pow.f64 (pow.f64 (/.f64 (*.f64 2 d) (*.f64 M D)) -1) 2))
4.7b
(/.f64 (*.f64 h (pow.f64 (pow.f64 (/.f64 (*.f64 2 d) (*.f64 M D)) -1) 2)) l)
5.8b
(/.f64 (*.f64 2 d) (*.f64 M D))
6.7b
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (pow.f64 (/.f64 (*.f64 2 d) (*.f64 M D)) -1) 2)) l)))

series409.0ms (3.8%)

Counts
4 → 192
Calls

4 calls:

173.0ms
(/.f64 (*.f64 h (pow.f64 (pow.f64 (/.f64 (*.f64 2 d) (*.f64 M D)) -1) 2)) l)
112.0ms
(*.f64 h (pow.f64 (pow.f64 (/.f64 (*.f64 2 d) (*.f64 M D)) -1) 2))
106.0ms
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (pow.f64 (/.f64 (*.f64 2 d) (*.f64 M D)) -1) 2)) l)))
18.0ms
(/.f64 (*.f64 2 d) (*.f64 M D))

rewrite87.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
536×prod-diff_binary64
187×add-sqr-sqrt_binary64
177×log1p-expm1-u_binary64
177×expm1-log1p-u_binary64
174×add-cbrt-cube_binary64
Counts
4 → 133
Calls

4 calls:

84.0ms
(*.f64 h (pow.f64 (pow.f64 (/.f64 (*.f64 2 d) (*.f64 M D)) -1) 2))
84.0ms
(/.f64 (*.f64 h (pow.f64 (pow.f64 (/.f64 (*.f64 2 d) (*.f64 M D)) -1) 2)) l)
84.0ms
(/.f64 (*.f64 2 d) (*.f64 M D))
84.0ms
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (pow.f64 (/.f64 (*.f64 2 d) (*.f64 M D)) -1) 2)) l)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01869
138669
2493569
3598469

simplify113.0ms (1%)

Algorithm
egg-herbie
Rules
592×associate-*l/_binary64
268×associate-/r/_binary64
264×fma-def_binary64
231×unswap-sqr_binary64
216×distribute-neg-frac_binary64
Counts
325 → 197
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01885696
15045662
220365644
352875644

prune203.0ms (1.9%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1970197
Fresh088
Picked011
Done011
Total19710207
Error
6.7b
Counts
207 → 10
Alt Table
StatusErrorProgram
39.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (sqrt.f64 h)) 2) l))))
60.9b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4))))
14.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l)))))
60.2b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 M M) h)) l) -1/4)) d))
16.5b
(*.f64 w0 (pow.f64 (pow.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))) 1/4) 2))
61.8b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) h) (*.f64 l (*.f64 d d))) -1/4)) (neg.f64 M)))
11.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2)) l))))
13.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 h (pow.f64 (pow.f64 (/.f64 (*.f64 2 d) (*.f64 M D)) -1) 2)) l))))
62.6b
(*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) h) (*.f64 l (*.f64 d d))) -1/4)) (*.f64 M w0))
15.3b
w0
Compiler

Compiled 6642 to 4210 computations (36.6% saved)

regimes1.2s (11.3%)

Accuracy

Total 3.0b remaining (32.1%)

Threshold costs 0b (0%)

Counts
63 → 2
Compiler

Compiled 30416 to 22894 computations (24.7% saved)

bsearch54.0ms (0.5%)

Steps
ItersRangePoint
14
1.8632409427501411e+149
#hash((type . real) (value . +inf))
1.7832048700333877e+308
Compiler

Compiled 22 to 17 computations (22.7% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02257
13357
24257
35057
45657
55957
66057
75957

end152.0ms (1.4%)

Remove

(sort M D)

Compiler

Compiled 406 to 287 computations (29.3% saved)

Profiling

Loading profile data...