Details

Time bar (total: 14.6s)

analyze2.9s (19.9%)

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 (16.6%)

Symmetry

(sort M D)

Results
1.5s8256×body128valid
835.0ms4631×body128invalid
Compiler

Compiled 74 to 56 computations (24.3% saved)

simplify26.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
12.8b
Counts
2 → 1
Alt Table
StatusErrorProgram
12.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)

localize47.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
3.5b
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))
5.5b
(/.f64 (*.f64 M D) (*.f64 2 d))
9.4b
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))

series922.0ms (6.3%)

Counts
4 → 204
Calls

4 calls:

482.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
233.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))
193.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))

rewrite33.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
67×add-exp-log_binary64
38×add-sqr-sqrt_binary64
27×prod-exp_binary64
23×add-cbrt-cube_binary64
19×associate-*r*_binary64
Counts
4 → 124
Calls

4 calls:

8.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))
6.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
6.0ms
(/.f64 (*.f64 M D) (*.f64 2 d))
3.0ms
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))

simplify195.0ms (1.3%)

Algorithm
egg-herbie
Rules
517×times-frac_binary64
399×associate-*l*_binary64
365×associate-/l*_binary64
342×associate-/r*_binary64
258×associate-*r/_binary64
Counts
328 → 314
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
051611209
1126210441
2498810441

prune373.0ms (2.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New30410314
Fresh000
Picked101
Done000
Total30510315
Error
4.0b
Counts
315 → 10
Alt Table
StatusErrorProgram
10.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 h l))))))
61.0b
(*.f64 -1 (*.f64 (sqrt.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) h) (*.f64 (pow.f64 d 2) l))))) (*.f64 w0 M)))
59.5b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) (neg.f64 M)))
10.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) l))))
62.3b
(*.f64 w0 (*.f64 M (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4))))
60.8b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4)) w0))
12.3b
w0
22.0b
(*.f64 (sqrt.f64 (-.f64 1 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 D d) 2) (/.f64 (*.f64 (*.f64 M M) h) l))))) w0)
61.5b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 M M) h)) l) -1/4)) d))
10.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (/.f64 h (cbrt.f64 l))))))
Compiler

Compiled 12122 to 7293 computations (39.8% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.5b
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) l)))
5.1b
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h)
5.5b
(/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) l)
5.5b
(/.f64 (*.f64 M D) (*.f64 2 d))

series559.0ms (3.8%)

Counts
3 → 156
Calls

3 calls:

229.0ms
(/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) l)
181.0ms
(sqrt.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) l)))
149.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h)

rewrite24.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
54×add-exp-log_binary64
22×prod-exp_binary64
19×add-sqr-sqrt_binary64
16×div-exp_binary64
12×*-un-lft-identity_binary64
Counts
3 → 84
Calls

3 calls:

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

simplify149.0ms (1%)

Algorithm
egg-herbie
Rules
315×fma-def_binary64
298×unswap-sqr_binary64
288×distribute-neg-frac_binary64
241×cancel-sign-sub-inv_binary64
191×times-frac_binary64
Counts
240 → 190
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03347367
17646748
229856661
349956661

prune269.0ms (1.8%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2281229
Fresh099
Picked011
Done000
Total22811239
Error
3.6b
Counts
239 → 11
Alt Table
StatusErrorProgram
10.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 h l))))))
61.0b
(*.f64 -1 (*.f64 (sqrt.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) h) (*.f64 (pow.f64 d 2) l))))) (*.f64 w0 M)))
59.5b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) (neg.f64 M)))
10.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) l))))
62.3b
(*.f64 w0 (*.f64 M (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4))))
60.8b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4)) w0))
36.3b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 (*.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) (sqrt.f64 h)) (*.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) (sqrt.f64 h))) l))))
12.3b
w0
22.0b
(*.f64 (sqrt.f64 (-.f64 1 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 D d) 2) (/.f64 (*.f64 (*.f64 M M) h) l))))) w0)
61.5b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 M M) h)) l) -1/4)) d))
10.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (/.f64 h (cbrt.f64 l))))))
Compiler

Compiled 7973 to 5043 computations (36.7% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.3b
(/.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))
3.5b
(sqrt.f64 (-.f64 1 (*.f64 (/.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (/.f64 h (cbrt.f64 l)))))
5.5b
(/.f64 (*.f64 D M) (*.f64 2 d))
6.1b
(*.f64 (/.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (/.f64 h (cbrt.f64 l)))

series2.0s (13.4%)

Counts
4 → 192
Calls

4 calls:

1.5s
(/.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))
294.0ms
(*.f64 (/.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (/.f64 h (cbrt.f64 l)))
192.0ms
(sqrt.f64 (-.f64 1 (*.f64 (/.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (/.f64 h (cbrt.f64 l)))))
18.0ms
(/.f64 (*.f64 D M) (*.f64 2 d))

rewrite60.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
210×add-exp-log_binary64
85×div-exp_binary64
79×prod-exp_binary64
64×times-frac_binary64
60×add-sqr-sqrt_binary64
Counts
4 → 190
Calls

4 calls:

17.0ms
(*.f64 (/.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (/.f64 h (cbrt.f64 l)))
8.0ms
(/.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))
4.0ms
(sqrt.f64 (-.f64 1 (*.f64 (/.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (/.f64 h (cbrt.f64 l)))))
4.0ms
(/.f64 (*.f64 D M) (*.f64 2 d))

simplify223.0ms (1.5%)

Algorithm
egg-herbie
Rules
451×times-frac_binary64
371×associate-/l*_binary64
316×associate-*r/_binary64
310×associate-/r*_binary64
306×associate-*l*_binary64
Counts
382 → 323
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
049312002
1119310604
2472710604
3496110604

prune415.0ms (2.8%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New3212323
Fresh279
Picked011
Done011
Total32311334
Error
2.7b
Counts
334 → 11
Alt Table
StatusErrorProgram
10.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 h l))))))
61.0b
(*.f64 -1 (*.f64 (sqrt.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) h) (*.f64 (pow.f64 d 2) l))))) (*.f64 w0 M)))
59.0b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (*.f64 (pow.f64 (/.f64 M d) 2) (/.f64 h l)) -1/4))))
59.5b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) (neg.f64 M)))
10.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) h) l))))
59.4b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 h (pow.f64 (*.f64 D M) 2)) l) -1/4)) d))
60.8b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4)) w0))
36.3b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 (*.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) (sqrt.f64 h)) (*.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) (sqrt.f64 h))) l))))
12.3b
w0
22.0b
(*.f64 (sqrt.f64 (-.f64 1 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 D d) 2) (/.f64 (*.f64 (*.f64 M M) h) l))))) w0)
10.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (/.f64 h (cbrt.f64 l))))))
Compiler

Compiled 12674 to 6741 computations (46.8% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 h l))))))
3.5b
(sqrt.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 h l)))))
5.5b
(/.f64 (*.f64 M D) (*.f64 2 d))
9.6b
(*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 h l))

series623.0ms (4.3%)

Counts
3 → 168
Calls

3 calls:

382.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 h l))))))
182.0ms
(sqrt.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 h l)))))
59.0ms
(*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 h l))

rewrite35.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
46×add-cbrt-cube_binary64
46×add-exp-log_binary64
25×add-sqr-sqrt_binary64
19×associate-*r*_binary64
19×cbrt-unprod_binary64
Counts
3 → 97
Calls

3 calls:

9.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 h l))))))
9.0ms
(*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 h l))
5.0ms
(sqrt.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 h l)))))

simplify162.0ms (1.1%)

Algorithm
egg-herbie
Rules
604×times-frac_binary64
414×associate-/l*_binary64
405×associate-/r*_binary64
333×associate-*r/_binary64
281×associate-*l/_binary64
Counts
265 → 270
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
049810374
112869786
249899786

prune424.0ms (2.9%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New3453348
Fresh358
Picked101
Done112
Total3509359
Error
2.7b
Counts
359 → 9
Alt Table
StatusErrorProgram
10.8b
(*.f64 (*.f64 w0 (sqrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 h l))))))) (sqrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 h l)))))))
36.3b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 (*.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) (sqrt.f64 h)) (*.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) (sqrt.f64 h))) l))))
10.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (/.f64 h (cbrt.f64 l))))))
10.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (*.f64 M D) h) (*.f64 (*.f64 2 d) l))))))
59.5b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) (neg.f64 M)))
61.0b
(*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 h (*.f64 D D)) (*.f64 l (*.f64 d d))) -1/4)) (neg.f64 (*.f64 M w0)))
59.4b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 h (pow.f64 (*.f64 D M) 2)) l) -1/4)) d))
59.0b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (*.f64 (pow.f64 (/.f64 M d) 2) (/.f64 h l)) -1/4))))
12.3b
w0
Compiler

Compiled 14383 to 7741 computations (46.2% saved)

regimes2.6s (17.8%)

Accuracy

Total 3.6b remaining (42.4%)

Threshold costs 0b (0%)

Counts
137 → 1
Compiler

Compiled 70430 to 50892 computations (27.7% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02136
13036
24136
35736
47436
58436
68936
79036
88936

end149.0ms (1%)

Remove

(sort M D)

Compiler

Compiled 369 to 249 computations (32.5% saved)

Profiling

Loading profile data...