Details

Time bar (total: 11.4s)

analyze2.8s (24.5%)

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.4s (21.4%)

Symmetry

(sort M D)

Results
1.5s8256×body128valid
842.0ms4577×body128invalid
Compiler

Compiled 74 to 56 computations (24.3% saved)

simplify27.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
14.8b
Counts
2 → 1
Alt Table
StatusErrorProgram
14.8b
(*.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)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
4.4b
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))
5.4b
(/.f64 (*.f64 M D) (*.f64 2 d))
13.3b
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))

series576.0ms (5.1%)

Counts
4 → 204
Calls

4 calls:

226.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
184.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))
152.0ms
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))
14.0ms
(/.f64 (*.f64 M D) (*.f64 2 d))

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

92.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
92.0ms
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))
92.0ms
(/.f64 (*.f64 M D) (*.f64 2 d))
92.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
000
100

simplify218.0ms (1.9%)

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

prune313.0ms (2.7%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2317238
Fresh000
Picked101
Done000
Total2327239
Error
5.6b
Counts
239 → 7
Alt Table
StatusErrorProgram
15.3b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 D (*.f64 M (/.f64 1/2 d))) 2) (/.f64 h l)))))
61.0b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) h) (*.f64 l (*.f64 d d))) -1/4)) (neg.f64 M)))
8.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) l))))
29.7b
(fma.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 (*.f64 M M) h) w0)) (*.f64 l (*.f64 d d))) -1/8 w0)
11.0b
w0
61.3b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4))))
8.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l)))))
Compiler

Compiled 9103 to 5499 computations (39.6% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.2b
(/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) l)
4.4b
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) l)))
5.4b
(/.f64 (*.f64 M D) (*.f64 2 d))
5.8b
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h)

series503.0ms (4.4%)

Counts
3 → 156
Calls

3 calls:

274.0ms
(/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) l)
119.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h)
110.0ms
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) l)))

rewrite87.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
488×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:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01659
134259
2446859
3545059
000
100

simplify105.0ms (0.9%)

Algorithm
egg-herbie
Rules
588×associate-*l/_binary64
263×associate-/r/_binary64
249×fma-def_binary64
227×unswap-sqr_binary64
207×distribute-neg-frac_binary64
Counts
238 → 145
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01865336
14965304
220055284
351695284

prune255.0ms (2.2%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1993202
Fresh156
Picked101
Done000
Total2018209
Error
4.9b
Counts
209 → 8
Alt Table
StatusErrorProgram
29.7b
(fma.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 (*.f64 M M) h) w0)) (*.f64 l (*.f64 d d))) -1/8 w0)
8.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2) h) l))))
15.3b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 D (*.f64 M (/.f64 1/2 d))) 2) (/.f64 h l)))))
61.0b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) h) (*.f64 l (*.f64 d d))) -1/4)) (neg.f64 M)))
37.3b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (sqrt.f64 h)) (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (sqrt.f64 h)) (/.f64 1 l))))))
11.0b
w0
61.3b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4))))
8.8b
(*.f64 w0 (pow.f64 (pow.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) l)) 1/4) 2))
Compiler

Compiled 6789 to 4264 computations (37.2% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.2b
(/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2) h) l)
4.3b
(*.f64 (/.f64 D d) (*.f64 M 1/2))
4.4b
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2) h) l)))
5.8b
(*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2) h)

series424.0ms (3.7%)

Counts
4 → 192
Calls

4 calls:

180.0ms
(/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2) h) l)
117.0ms
(*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2) h)
113.0ms
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2) h) l)))
14.0ms
(*.f64 (/.f64 D d) (*.f64 M 1/2))

rewrite86.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
470×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:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01769
136269
2441769
3532469
000
100

simplify112.0ms (1%)

Algorithm
egg-herbie
Rules
591×associate-*l/_binary64
268×associate-/r/_binary64
249×fma-def_binary64
227×unswap-sqr_binary64
207×distribute-neg-frac_binary64
Counts
301 → 173
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01895696
15055664
220265644
351995644

prune227.0ms (2%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1721173
Fresh167
Picked101
Done000
Total1747181
Error
4.9b
Counts
181 → 7
Alt Table
StatusErrorProgram
15.3b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 D (*.f64 M (/.f64 1/2 d))) 2) (/.f64 h l)))))
61.0b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) h) (*.f64 l (*.f64 d d))) -1/4)) (neg.f64 M)))
29.7b
(fma.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 (*.f64 M M) h) w0)) (*.f64 l (*.f64 d d))) -1/8 w0)
37.3b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (sqrt.f64 h)) (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (sqrt.f64 h)) (/.f64 1 l))))))
11.0b
w0
61.3b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4))))
8.5b
(*.f64 w0 (pow.f64 (pow.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2) h) l)) 1/4) 2))
Compiler

Compiled 6027 to 3786 computations (37.2% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.2b
(/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2) h) l)
4.3b
(*.f64 (/.f64 D d) (*.f64 M 1/2))
5.7b
(pow.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2) h) l)) 1/4)
5.8b
(*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2) h)

series215.0ms (1.9%)

Counts
1 → 60
Calls

1 calls:

215.0ms
(pow.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2) h) l)) 1/4)

rewrite69.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
470×prod-diff_binary64
183×add-sqr-sqrt_binary64
178×log1p-expm1-u_binary64
178×expm1-log1p-u_binary64
173×add-cbrt-cube_binary64
Counts
1 → 17
Calls

1 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01825
138725
2458825
3546625
000
100

simplify88.0ms (0.8%)

Algorithm
egg-herbie
Rules
942×times-frac_binary64
486×associate-/l*_binary64
449×associate-/r*_binary64
180×associate-*l*_binary64
165×associate-*r/_binary64
Counts
77 → 94
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03295764
19925682
252065682

prune243.0ms (2.1%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1861187
Fresh066
Picked011
Done000
Total1868194
Error
4.7b
Counts
194 → 8
Alt Table
StatusErrorProgram
15.3b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 D (*.f64 M (/.f64 1/2 d))) 2) (/.f64 h l)))))
61.0b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) h) (*.f64 l (*.f64 d d))) -1/4)) (neg.f64 M)))
29.7b
(fma.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 (*.f64 M M) h) w0)) (*.f64 l (*.f64 d d))) -1/8 w0)
37.3b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (sqrt.f64 h)) (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (sqrt.f64 h)) (/.f64 1 l))))))
11.0b
w0
62.4b
(*.f64 w0 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) (*.f64 l (pow.f64 d 2)))))) (log.f64 (/.f64 1 h))))) 2))
61.3b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4))))
8.5b
(*.f64 w0 (pow.f64 (pow.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2) h) l)) 1/4) 2))
Compiler

Compiled 9802 to 6296 computations (35.8% saved)

regimes2.2s (19.7%)

Accuracy

Total 3.2b remaining (32.3%)

Threshold costs 0b (0%)

Counts
126 → 2
Compiler

Compiled 54354 to 41424 computations (23.8% saved)

bsearch62.0ms (0.5%)

Steps
ItersRangePoint
11
2.0787274402888173e+170
1.2198741083688107e+190
1.2055921857439803e+190
Compiler

Compiled 15 to 12 computations (20% 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
02450
13250
23850
34850
45550
56050
66250
76150

end156.0ms (1.4%)

Remove

(sort M D)

Compiler

Compiled 364 to 263 computations (27.7% saved)

Profiling

Loading profile data...