Details

Time bar (total: 16.0s)

analyze2.1s (13.4%)

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 41 to 32 computations (22% saved)

sample5.8s (36.1%)

Symmetry

(sort M D)

Results
3.3s13306×body128invalid
2.3s8256×body128valid
Compiler

Compiled 122 to 95 computations (22.1% saved)

simplify41.0ms (0.3%)

Algorithm
egg-herbie
Rules
466×fma-def_binary64
437×*-commutative_binary64
425×associate-/l*_binary64
347×cancel-sign-sub-inv_binary64
263×associate-/l/_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02441
16241
218839
3107139
4361039
5510639

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
29.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
29.7b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
Compiler

Compiled 128 to 88 computations (31.3% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.1b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
10.7b
(fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)
12.2b
(sqrt.f64 (/.f64 d h))
15.1b
(sqrt.f64 (/.f64 d l))

series305.0ms (1.9%)

Counts
4 → 92
Calls

4 calls:

191.0ms
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
80.0ms
(fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)
18.0ms
(sqrt.f64 (/.f64 d l))
17.0ms
(sqrt.f64 (/.f64 d h))

rewrite235.0ms (1.5%)

Algorithm
egg-rewrite
Rules
60×egg
60×egg
23×egg
22×egg
Counts
4 → 165
Calls

4 calls:

73.0ms
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
70.0ms
(fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)
46.0ms
(sqrt.f64 (/.f64 d l))
43.0ms
(sqrt.f64 (/.f64 d h))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
11046
213176
351546
056
11046
213176
351546
01623
133423
2418523
3514523
02237
146536
2491736
3504036

simplify96.0ms (0.6%)

Algorithm
egg-herbie
Rules
724×associate-/l/_binary64
373×distribute-rgt-neg-in_binary64
355×distribute-lft-neg-in_binary64
335×distribute-neg-frac_binary64
327×neg-mul-1_binary64
Counts
257 → 179
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0462622
11012574
23672484
321412484
445622484
551802484

prune502.0ms (3.1%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New16019179
Fresh000
Picked101
Done000
Total16119180
Error
11.4b
Counts
180 → 19
Alt Table
StatusErrorProgram
33.9b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) 1)
40.6b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 d (*.f64 (sqrt.f64 h) (sqrt.f64 l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))) 3)
39.2b
(*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 (*.f64 h h))) 1/2) (pow.f64 (/.f64 d (cbrt.f64 h)) 1/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
29.8b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d l))) (pow.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d l))) (sqrt.f64 (/.f64 d l))) 1/2))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
40.3b
(*.f64 (/.f64 d (*.f64 (sqrt.f64 h) (sqrt.f64 l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
43.7b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (neg.f64 d)) (pow.f64 (/.f64 1 (neg.f64 h)) 1/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
43.8b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 l)))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
50.2b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (cbrt.f64 d) (pow.f64 (*.f64 (/.f64 1 l) (sqrt.f64 (/.f64 d l))) 1/3))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
44.3b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 l)) 1/2) (pow.f64 (/.f64 d (sqrt.f64 l)) 1/2))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
42.9b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
43.8b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (neg.f64 d)) (pow.f64 (/.f64 1 (neg.f64 l)) 1/2))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
39.6b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 d h) 3/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
29.8b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) (pow.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) (sqrt.f64 (/.f64 d h))) 1/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
29.7b
(*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (/.f64 d l)) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)))
29.8b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 d l)) (cbrt.f64 (/.f64 d l))) 1/2) (sqrt.f64 (sqrt.f64 (cbrt.f64 (/.f64 d l)))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
42.7b
(*.f64 (*.f64 (/.f64 (sqrt.f64 d) (sqrt.f64 h)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
59.8b
(*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) d) (sqrt.f64 (/.f64 h (pow.f64 l 3)))))
61.5b
(log.f64 (pow.f64 (exp.f64 (/.f64 d (*.f64 (sqrt.f64 h) (sqrt.f64 l)))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)))
39.3b
(*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (cbrt.f64 (*.f64 d d)) 1) 1/2) (pow.f64 (/.f64 (cbrt.f64 d) h) 1/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
Compiler

Compiled 6940 to 3622 computations (47.8% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.3b
(/.f64 (*.f64 M D) (*.f64 d 2))
10.7b
(fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)
12.2b
(sqrt.f64 (/.f64 d h))
15.1b
(sqrt.f64 (/.f64 d l))

series15.0ms (0.1%)

Counts
1 → 36
Calls

1 calls:

15.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))

rewrite53.0ms (0.3%)

Algorithm
egg-rewrite
Rules
82×egg
Counts
1 → 82
Calls

1 calls:

52.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
117110
2236210
3513310

simplify17.0ms (0.1%)

Algorithm
egg-herbie
Rules
16×*-commutative_binary64
15×associate-/l*_binary64
11×associate-/r/_binary64
10×associate-*r*_binary64
associate-*l*_binary64
Counts
118 → 82
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08360
114360
228360
347360
473360
572360
672360

prune280.0ms (1.7%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New2304234
Fresh51318
Picked101
Done000
Total23617253
Error
10.9b
Counts
253 → 17
Alt Table
StatusErrorProgram
33.9b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) 1)
40.6b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 d (*.f64 (sqrt.f64 h) (sqrt.f64 l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))) 3)
39.2b
(*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 (*.f64 h h))) 1/2) (pow.f64 (/.f64 d (cbrt.f64 h)) 1/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
43.6b
(*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)))
40.3b
(*.f64 (/.f64 d (*.f64 (sqrt.f64 h) (sqrt.f64 l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
43.7b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (neg.f64 d)) (pow.f64 (/.f64 1 (neg.f64 h)) 1/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
29.8b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 d l)) (cbrt.f64 (/.f64 d l))) 1/2) (sqrt.f64 (sqrt.f64 (cbrt.f64 (/.f64 d l)))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
30.9b
(*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (/.f64 d l)) (fma.f64 (pow.f64 (*.f64 M (/.f64 1 (/.f64 d (/.f64 D 2)))) 2) (*.f64 (/.f64 h l) -1/2) 1)))
44.3b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 l)) 1/2) (pow.f64 (/.f64 d (sqrt.f64 l)) 1/2))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
42.9b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
43.8b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (neg.f64 d)) (pow.f64 (/.f64 1 (neg.f64 l)) 1/2))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
39.6b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 d h) 3/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
29.8b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) (pow.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) (sqrt.f64 (/.f64 d h))) 1/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
61.5b
(log.f64 (pow.f64 (exp.f64 (/.f64 d (*.f64 (sqrt.f64 h) (sqrt.f64 l)))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)))
42.7b
(*.f64 (/.f64 (sqrt.f64 d) (sqrt.f64 h)) (*.f64 (sqrt.f64 (/.f64 d l)) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)))
59.8b
(*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) d) (sqrt.f64 (/.f64 h (pow.f64 l 3)))))
43.5b
(*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 h))) (*.f64 (sqrt.f64 (/.f64 d l)) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)))
Compiler

Compiled 8514 to 4141 computations (51.4% saved)

localize47.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
10.7b
(fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)
12.2b
(sqrt.f64 (/.f64 d h))
15.1b
(sqrt.f64 (/.f64 d l))
15.7b
(cbrt.f64 (/.f64 d l))

series799.0ms (5%)

Counts
1 → 24
Calls

1 calls:

799.0ms
(cbrt.f64 (/.f64 d l))

rewrite45.0ms (0.3%)

Algorithm
egg-rewrite
Rules
50×egg
Counts
1 → 50
Calls

1 calls:

44.0ms
(cbrt.f64 (/.f64 d l))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
11026
212986
350286

simplify70.0ms (0.4%)

Algorithm
egg-herbie
Rules
782×div-sub_binary64
558×fma-neg_binary64
403×fma-def_binary64
268×unswap-sqr_binary64
265×associate-/l*_binary64
Counts
74 → 56
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
034312
169312
2127288
3362144
4873144
52025144
64170144
75089144

prune458.0ms (2.9%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New2622264
Fresh01616
Picked101
Done000
Total26318281
Error
10.9b
Counts
281 → 18
Alt Table
StatusErrorProgram
29.8b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (/.f64 h d)) -1) (*.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 d l)) (cbrt.f64 (/.f64 d l))) 1/2) (sqrt.f64 (sqrt.f64 (cbrt.f64 (/.f64 d l)))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
33.9b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) 1)
40.6b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 d (*.f64 (sqrt.f64 h) (sqrt.f64 l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))) 3)
39.2b
(*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 (*.f64 h h))) 1/2) (pow.f64 (/.f64 d (cbrt.f64 h)) 1/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
43.6b
(*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)))
40.3b
(*.f64 (/.f64 d (*.f64 (sqrt.f64 h) (sqrt.f64 l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
43.7b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (neg.f64 d)) (pow.f64 (/.f64 1 (neg.f64 h)) 1/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
44.3b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 l)) 1/2) (pow.f64 (/.f64 d (sqrt.f64 l)) 1/2))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
42.9b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
43.8b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (neg.f64 d)) (pow.f64 (/.f64 1 (neg.f64 l)) 1/2))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
39.6b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 d h) 3/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
29.8b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) (pow.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) (sqrt.f64 (/.f64 d h))) 1/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
61.5b
(log.f64 (pow.f64 (exp.f64 (/.f64 d (*.f64 (sqrt.f64 h) (sqrt.f64 l)))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)))
42.7b
(*.f64 (/.f64 (sqrt.f64 d) (sqrt.f64 h)) (*.f64 (sqrt.f64 (/.f64 d l)) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)))
30.0b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) 3) (*.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 d l)) (cbrt.f64 (/.f64 d l))) 1/2) (sqrt.f64 (sqrt.f64 (cbrt.f64 (/.f64 d l)))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
43.5b
(*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 h))) (*.f64 (sqrt.f64 (/.f64 d l)) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)))
30.9b
(*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (/.f64 d l)) (fma.f64 (pow.f64 (*.f64 M (/.f64 1 (/.f64 d (/.f64 D 2)))) 2) (*.f64 (/.f64 h l) -1/2) 1)))
59.8b
(*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) d) (sqrt.f64 (/.f64 h (pow.f64 l 3)))))
Compiler

Compiled 13401 to 5973 computations (55.4% saved)

localize32.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
10.7b
(fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)
12.2b
(sqrt.f64 (/.f64 d h))
12.7b
(cbrt.f64 (/.f64 d h))
15.1b
(sqrt.f64 (/.f64 d l))

series483.0ms (3%)

Counts
1 → 24
Calls

1 calls:

483.0ms
(cbrt.f64 (/.f64 d h))

rewrite44.0ms (0.3%)

Algorithm
egg-rewrite
Rules
50×egg
Counts
1 → 50
Calls

1 calls:

43.0ms
(cbrt.f64 (/.f64 d h))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
11026
212986
350286

simplify67.0ms (0.4%)

Algorithm
egg-herbie
Rules
782×div-sub_binary64
558×fma-neg_binary64
403×fma-def_binary64
268×unswap-sqr_binary64
265×associate-/l*_binary64
Counts
74 → 56
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
034312
169312
2127288
3362144
4873144
52025144
64170144
75089144

prune303.0ms (1.9%)

Pruning

21 alts after pruning (20 fresh and 1 done)

PrunedKeptTotal
New2613264
Fresh01717
Picked011
Done000
Total26121282
Error
10.9b
Counts
282 → 21
Alt Table
StatusErrorProgram
29.8b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (/.f64 h d)) -1) (*.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 d l)) (cbrt.f64 (/.f64 d l))) 1/2) (sqrt.f64 (sqrt.f64 (cbrt.f64 (/.f64 d l)))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
33.9b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) 1)
40.6b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 d (*.f64 (sqrt.f64 h) (sqrt.f64 l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))) 3)
39.2b
(*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 (*.f64 h h))) 1/2) (pow.f64 (/.f64 d (cbrt.f64 h)) 1/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
43.6b
(*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)))
40.3b
(*.f64 (/.f64 d (*.f64 (sqrt.f64 h) (sqrt.f64 l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
43.7b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (neg.f64 d)) (pow.f64 (/.f64 1 (neg.f64 h)) 1/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
44.3b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 l)) 1/2) (pow.f64 (/.f64 d (sqrt.f64 l)) 1/2))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
42.9b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
43.8b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (neg.f64 d)) (pow.f64 (/.f64 1 (neg.f64 l)) 1/2))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
39.6b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 d h) 3/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
29.8b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) (pow.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) (sqrt.f64 (/.f64 d h))) 1/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
61.5b
(log.f64 (pow.f64 (exp.f64 (/.f64 d (*.f64 (sqrt.f64 h) (sqrt.f64 l)))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)))
42.7b
(*.f64 (/.f64 (sqrt.f64 d) (sqrt.f64 h)) (*.f64 (sqrt.f64 (/.f64 d l)) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)))
30.0b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) 3) (*.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 d l)) (cbrt.f64 (/.f64 d l))) 1/2) (sqrt.f64 (sqrt.f64 (cbrt.f64 (/.f64 d l)))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
43.5b
(*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 h))) (*.f64 (sqrt.f64 (/.f64 d l)) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)))
34.1b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) (pow.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) (sqrt.f64 (/.f64 d h))) 1/2)) (sqrt.f64 (/.f64 d l))) 1)
30.9b
(*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (/.f64 d l)) (fma.f64 (pow.f64 (*.f64 M (/.f64 1 (/.f64 d (/.f64 D 2)))) 2) (*.f64 (/.f64 h l) -1/2) 1)))
30.2b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) (pow.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) (sqrt.f64 (/.f64 d h))) 1/2)) (*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (cbrt.f64 (/.f64 d l)))) 3) (pow.f64 (sqrt.f64 (sqrt.f64 (cbrt.f64 (/.f64 d l)))) 3))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
59.8b
(*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) d) (sqrt.f64 (/.f64 h (pow.f64 l 3)))))
41.7b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 d h))) (pow.f64 (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 d d))) (pow.f64 (*.f64 (cbrt.f64 d) (/.f64 1 h)) 1/3))) (sqrt.f64 (/.f64 d h))) 1/2)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
Compiler

Compiled 12938 to 5621 computations (56.6% saved)

regimes3.3s (20.7%)

Accuracy

Total 6.3b remaining (34.6%)

Threshold costs 0b (0%)

Counts
170 → 3
Compiler

Compiled 43087 to 30399 computations (29.4% saved)

bsearch353.0ms (2.2%)

Steps
ItersRangePoint
10
-5.567746969073129e-272
-1.349214698440699e-284
-1.3767179517938137e-284
4
-6.90104367990861e-90
-4.372262148684192e-90
-5.08348195434106e-90
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify12.0ms (0.1%)

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
046142
165142
271142
374142
473142

end456.0ms (2.9%)

Remove

(sort M D)

Compiler

Compiled 1141 to 784 computations (31.3% saved)

Profiling

Loading profile data...