Details

Time bar (total: 21.3s)

analyze2.8s (13.2%)

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

Symmetry

(sort M D)

Results
1.5s8256×body128valid
814.0ms4656×body128invalid
Compiler

Compiled 74 to 56 computations (24.3% saved)

simplify28.0ms (0.1%)

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
13.5b
Counts
2 → 1
Alt Table
StatusErrorProgram
13.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)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.9b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
4.0b
(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))
10.9b
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))

series811.0ms (3.8%)

Counts
4 → 204
Calls

4 calls:

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

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

simplify165.0ms (0.8%)

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

prune376.0ms (1.8%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New30014314
Fresh000
Picked101
Done000
Total30114315
Error
3.7b
Counts
315 → 14
Alt Table
StatusErrorProgram
12.1b
(*.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))))))
58.3b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) (neg.f64 M)))
17.0b
(/.f64 (*.f64 w0 (sqrt.f64 (-.f64 (*.f64 1 1) (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)) (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))) (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
12.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))))
12.2b
w0
61.7b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 M M) h)) l) -1/4)) d))
61.2b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4))))
11.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l))))))
61.2b
(*.f64 w0 (*.f64 -1 (*.f64 (sqrt.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) h) (*.f64 l (pow.f64 d 2)))))) M)))
62.2b
(*.f64 w0 (*.f64 M (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4))))
13.5b
(*.f64 (*.f64 w0 (sqrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))) (sqrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))))
13.6b
(*.f64 (*.f64 w0 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))) (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))))) (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))))
61.0b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4)) w0))
60.8b
(-.f64 (*.f64 1/8 (/.f64 w0 (*.f64 (pow.f64 M 3) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) 3)))) (fma.f64 1/2 (/.f64 w0 (*.f64 M (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)))) (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) (*.f64 M w0))))
Compiler

Compiled 12580 to 7591 computations (39.7% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.2b
(*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))
4.0b
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))
5.4b
(/.f64 (*.f64 M D) (*.f64 2 d))
7.0b
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))

series3.1s (14.4%)

Counts
3 → 168
Calls

3 calls:

2.6s
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))
273.0ms
(*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))
181.0ms
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))

rewrite102.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
596×add-exp-log_binary64
321×prod-exp_binary64
180×div-exp_binary64
75×pow-exp_binary64
45×associate-*r*_binary64
Counts
3 → 230
Calls

3 calls:

19.0ms
(*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))
14.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))
6.0ms
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))

simplify269.0ms (1.3%)

Algorithm
egg-herbie
Rules
588×associate-*l*_binary64
361×associate-*r/_binary64
355×associate-*l/_binary64
346×times-frac_binary64
316×fma-def_binary64
Counts
398 → 364
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
058916882
1131312632
2492812616
3509512616

prune603.0ms (2.8%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New4021403
Fresh01313
Picked011
Done000
Total40215417
Error
3.2b
Counts
417 → 15
Alt Table
StatusErrorProgram
9.1b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 h) (cbrt.f64 l))))))
61.2b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4))))
12.1b
(*.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))))))
58.3b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) (neg.f64 M)))
17.0b
(/.f64 (*.f64 w0 (sqrt.f64 (-.f64 (*.f64 1 1) (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)) (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))) (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
12.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))))
12.2b
w0
61.7b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 M M) h)) l) -1/4)) d))
11.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (/.f64 (cbrt.f64 h) (cbrt.f64 l))))))
61.2b
(*.f64 w0 (*.f64 -1 (*.f64 (sqrt.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) h) (*.f64 l (pow.f64 d 2)))))) M)))
62.2b
(*.f64 w0 (*.f64 M (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4))))
13.5b
(*.f64 (*.f64 w0 (sqrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))) (sqrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))))
13.6b
(*.f64 (*.f64 w0 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))) (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))))) (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))))
61.0b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4)) w0))
60.8b
(-.f64 (*.f64 1/8 (/.f64 w0 (*.f64 (pow.f64 M 3) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) 3)))) (fma.f64 1/2 (/.f64 w0 (*.f64 M (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)))) (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) (*.f64 M w0))))
Compiler

Compiled 18370 to 8000 computations (56.5% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.2b
(*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))
4.0b
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))
5.4b
(/.f64 (*.f64 M D) (*.f64 2 d))
7.1b
(*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))

series2.9s (13.6%)

Counts
3 → 168
Calls

3 calls:

2.4s
(*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))
269.0ms
(*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))
188.0ms
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))

rewrite535.0ms (2.5%)

Algorithm
rewrite-expression-head
Rules
2514×add-exp-log_binary64
1812×add-cbrt-cube_binary64
1445×cbrt-unprod_binary64
1445×prod-exp_binary64
779×cbrt-undiv_binary64
Counts
3 → 686
Calls

3 calls:

36.0ms
(*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))
15.0ms
(*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))
10.0ms
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 h) (cbrt.f64 l)))))

simplify865.0ms (4.1%)

Algorithm
egg-herbie
Rules
872×times-frac_binary64
426×*-commutative_binary64
334×associate-*l*_binary64
290×fma-def_binary64
225×associate-*r*_binary64
Counts
854 → 840
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0133943446
1273627934
2348127259
3441627162
4492427162
5497327162

prune1.3s (6.2%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New9153918
Fresh11213
Picked101
Done101
Total91815933
Error
3.2b
Counts
933 → 15
Alt Table
StatusErrorProgram
9.1b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (cbrt.f64 (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (cbrt.f64 (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))))) (cbrt.f64 (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))))) (/.f64 (cbrt.f64 h) (cbrt.f64 l))))))
12.2b
w0
12.1b
(*.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))))))
58.3b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) (neg.f64 M)))
17.0b
(/.f64 (*.f64 w0 (sqrt.f64 (-.f64 (*.f64 1 1) (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)) (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))) (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
12.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))))
61.7b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 M M) h)) l) -1/4)) d))
61.2b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4))))
62.2b
(*.f64 w0 (*.f64 M (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4))))
9.1b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (*.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 h))) (cbrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 l)))))))
13.5b
(*.f64 (*.f64 w0 (sqrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))) (sqrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))))
13.6b
(*.f64 (*.f64 w0 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))) (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))))) (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))))
10.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 (*.f64 (*.f64 M D) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (cbrt.f64 h)) (*.f64 (*.f64 (*.f64 2 d) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l))))))
61.0b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4)) w0))
60.8b
(-.f64 (*.f64 1/8 (/.f64 w0 (*.f64 (pow.f64 M 3) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) 3)))) (fma.f64 1/2 (/.f64 w0 (*.f64 M (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)))) (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) (*.f64 M w0))))
Compiler

Compiled 55751 to 18969 computations (66% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.9b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (*.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 h))) (cbrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 l)))))))
4.0b
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (*.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 h))) (cbrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 l))))))
5.4b
(/.f64 (*.f64 M D) (*.f64 2 d))
7.1b
(*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))

series551.0ms (2.6%)

Counts
2 → 108
Calls

2 calls:

360.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (*.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 h))) (cbrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 l)))))))
190.0ms
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (*.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 h))) (cbrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 l))))))

rewrite66.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt_binary64
sqrt-prod_binary64
associate-*r*_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
2 → 43
Calls

2 calls:

30.0ms
(sqrt.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (*.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 h))) (cbrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 l))))))
29.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (*.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 h))) (cbrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 l)))))))

simplify202.0ms (0.9%)

Algorithm
egg-herbie
Rules
360×associate-*r*_binary64
336×times-frac_binary64
293×associate-*l*_binary64
264×associate-/r*_binary64
256×fma-neg_binary64
Counts
151 → 186
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
039710916
198610580
2449310562
3499910562

prune697.0ms (3.3%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New3720372
Fresh01414
Picked011
Done000
Total37215387
Error
3.2b
Counts
387 → 15
Alt Table
StatusErrorProgram
9.1b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (cbrt.f64 (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (cbrt.f64 (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))))) (cbrt.f64 (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l)))))) (/.f64 (cbrt.f64 h) (cbrt.f64 l))))))
12.2b
w0
12.1b
(*.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))))))
58.3b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) (neg.f64 M)))
17.0b
(/.f64 (*.f64 w0 (sqrt.f64 (-.f64 (*.f64 1 1) (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)) (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))) (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
12.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 2 d) D)) 2) (/.f64 h l)))))
61.7b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 M M) h)) l) -1/4)) d))
61.2b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4))))
62.2b
(*.f64 w0 (*.f64 M (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4))))
9.1b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (/.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h)) (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (*.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 h))) (cbrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l))))) (/.f64 (cbrt.f64 (cbrt.f64 h)) (cbrt.f64 (cbrt.f64 l)))))))
13.5b
(*.f64 (*.f64 w0 (sqrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))) (sqrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))))
13.6b
(*.f64 (*.f64 w0 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))) (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))))) (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))))
10.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 (*.f64 (*.f64 M D) (*.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (cbrt.f64 h)) (*.f64 (*.f64 (*.f64 2 d) (*.f64 (cbrt.f64 l) (cbrt.f64 l))) (cbrt.f64 l))))))
61.0b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 l (*.f64 d d))) -1/4)) w0))
60.8b
(-.f64 (*.f64 1/8 (/.f64 w0 (*.f64 (pow.f64 M 3) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) 3)))) (fma.f64 1/2 (/.f64 w0 (*.f64 M (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)))) (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (pow.f64 (/.f64 D d) 2)) -1/4)) (*.f64 M w0))))
Compiler

Compiled 25400 to 9305 computations (63.4% saved)

regimes2.9s (13.7%)

Accuracy

Total 4.8b remaining (55.1%)

Threshold costs 0b (0%)

Counts
142 → 3
Compiler

Compiled 92170 to 60157 computations (34.7% saved)

bsearch9.0ms (0%)

Compiler

Compiled 24 to 18 computations (25% saved)

simplify10.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
053181
189181
2126181
3164181
4195181
5219181
6230181
7234181
8235181
9234181

end494.0ms (2.3%)

Compiler

Compiled 1070 to 653 computations (39% saved)

Profiling

Loading profile data...