Details

Time bar (total: 13.9s)

analyze2.2s (15.8%)

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)

sample6.0s (43.4%)

Symmetry

(sort M D)

Results
3.4s13438×body128invalid
2.5s8256×body128valid
Compiler

Compiled 122 to 95 computations (22.1% saved)

simplify33.0ms (0.2%)

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
25.5b
Counts
3 → 1
Alt Table
StatusErrorProgram
25.5b
(*.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.8b
(fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)
7.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))
11.5b
(sqrt.f64 (/.f64 d h))
11.8b
(sqrt.f64 (/.f64 d l))

series338.0ms (2.4%)

Counts
4 → 92
Calls

4 calls:

216.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))
88.0ms
(fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)
17.0ms
(sqrt.f64 (/.f64 d h))
16.0ms
(sqrt.f64 (/.f64 d l))

rewrite20.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
26×sqrt-prod_binary64
25×add-sqr-sqrt_binary64
20×times-frac_binary64
19×*-un-lft-identity_binary64
19×add-cube-cbrt_binary64
Counts
4 → 89
Calls

4 calls:

9.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))
4.0ms
(sqrt.f64 (/.f64 d h))
2.0ms
(sqrt.f64 (/.f64 d l))
0.0ms
(fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)

simplify123.0ms (0.9%)

Algorithm
egg-herbie
Rules
569×fma-def_binary64
472×associate-*l/_binary64
417×times-frac_binary64
392×associate-*r/_binary64
354×associate-/l*_binary64
Counts
181 → 134
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02004766
13694458
211744367
346434367
451754367

prune192.0ms (1.4%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New11420134
Fresh000
Picked101
Done000
Total11520135
Error
11.1b
Counts
135 → 20
Alt Table
StatusErrorProgram
21.3b
(*.f64 (*.f64 (*.f64 (fabs.f64 (cbrt.f64 d)) (sqrt.f64 (/.f64 (cbrt.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))
31.2b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) 1)
21.3b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))))) (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)
25.5b
(*.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)))
40.2b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 d) (sqrt.f64 (/.f64 1 l)))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
58.9b
(*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) d) (sqrt.f64 (/.f64 h (pow.f64 l 3)))))
37.2b
(/.f64 (*.f64 d (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1)) (*.f64 (sqrt.f64 h) (sqrt.f64 l)))
25.6b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (sqrt.f64 (/.f64 d l))) (sqrt.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))
21.4b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
36.0b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 d l)) 3))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
32.1b
(*.f64 (sqrt.f64 (*.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))) (sqrt.f64 (*.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))))
35.7b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 d h)) 3)) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
19.7b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.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))
21.2b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (fabs.f64 (cbrt.f64 d)) (sqrt.f64 (/.f64 (cbrt.f64 d) l)))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
39.5b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 (cbrt.f64 d) (cbrt.f64 d)) (sqrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.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))
19.8b
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.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))
40.5b
(/.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 d)) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)) (sqrt.f64 l))
42.1b
(cbrt.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 d l)) (sqrt.f64 (/.f64 d h))) (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1)) 3))
61.0b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (*.f64 (pow.f64 d 2) l))))
Compiler

Compiled 5871 to 2958 computations (49.6% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.5b
(/.f64 (*.f64 M D) (*.f64 d 2))
6.8b
(fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)
7.7b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.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))
11.8b
(sqrt.f64 (/.f64 d l))

series238.0ms (1.7%)

Counts
2 → 68
Calls

2 calls:

223.0ms
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.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))
15.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))

rewrite33.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
23×add-cbrt-cube_binary64
23×add-exp-log_binary64
12×associate-*l/_binary64
12×sqrt-div_binary64
11×pow1_binary64
Counts
2 → 55
Calls

2 calls:

21.0ms
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.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))
4.0ms
(/.f64 (*.f64 M D) (*.f64 d 2))

simplify85.0ms (0.6%)

Algorithm
egg-herbie
Rules
846×associate-*r/_binary64
648×associate-/r*_binary64
319×associate-*l*_binary64
239×associate-/l/_binary64
233×associate-*r*_binary64
Counts
123 → 91
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01683922
14313500
218733500
353313500

prune182.0ms (1.3%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New1418149
Fresh61319
Picked101
Done000
Total14821169
Error
11.0b
Counts
169 → 21
Alt Table
StatusErrorProgram
21.3b
(*.f64 (*.f64 (*.f64 (fabs.f64 (cbrt.f64 d)) (sqrt.f64 (/.f64 (cbrt.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))
31.2b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) 1)
21.3b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))))) (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)
25.5b
(*.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)))
58.9b
(*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) d) (sqrt.f64 (/.f64 h (pow.f64 l 3)))))
37.2b
(/.f64 (*.f64 d (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1)) (*.f64 (sqrt.f64 h) (sqrt.f64 l)))
25.6b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (sqrt.f64 (/.f64 d l))) (sqrt.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))
26.0b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (sqrt.f64 (/.f64 d l))) 1)
31.7b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 d l)) 3))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
21.4b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
42.1b
(cbrt.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 d l)) (sqrt.f64 (/.f64 d h))) (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1)) 3))
37.4b
(/.f64 (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (sqrt.f64 d))) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (sqrt.f64 l)))
15.4b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
61.0b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (*.f64 (pow.f64 d 2) l))))
19.9b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 d 2) D)) 2) (*.f64 (/.f64 h l) -1/2) 1))
21.2b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (fabs.f64 (cbrt.f64 d)) (sqrt.f64 (/.f64 (cbrt.f64 d) l)))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
27.0b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.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))) (sqrt.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.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))))
19.8b
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.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))
19.6b
(/.f64 (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (sqrt.f64 (/.f64 d l)))) (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))))
19.8b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (*.f64 (fabs.f64 (cbrt.f64 (/.f64 d l))) (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))
Compiler

Compiled 8108 to 3974 computations (51% saved)

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.4b
(sqrt.f64 (/.f64 d (cbrt.f64 l)))
4.5b
(/.f64 (*.f64 M D) (*.f64 d 2))
6.8b
(fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)
7.7b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))

series305.0ms (2.2%)

Counts
2 → 44
Calls

2 calls:

226.0ms
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
79.0ms
(sqrt.f64 (/.f64 d (cbrt.f64 l)))

rewrite50.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
33×sqrt-div_binary64
26×associate-*l/_binary64
22×sqrt-prod_binary64
21×add-sqr-sqrt_binary64
21×pow1_binary64
Counts
2 → 83
Calls

2 calls:

35.0ms
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
3.0ms
(sqrt.f64 (/.f64 d (cbrt.f64 l)))

simplify173.0ms (1.2%)

Algorithm
egg-herbie
Rules
678×associate-*l/_binary64
462×associate-*l*_binary64
392×associate-*r*_binary64
275×distribute-rgt-in_binary64
260×distribute-lft-in_binary64
Counts
127 → 118
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02355607
15244970
218554970
349694970
449984970
549684970

prune221.0ms (1.6%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New1774181
Fresh21820
Picked101
Done000
Total18022202
Error
11.0b
Counts
202 → 22
Alt Table
StatusErrorProgram
15.4b
(/.f64 (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (sqrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))))
31.2b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) 1)
21.3b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))))) (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)
37.2b
(/.f64 (*.f64 d (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1)) (*.f64 (sqrt.f64 h) (sqrt.f64 l)))
25.6b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (sqrt.f64 (/.f64 d l))) (sqrt.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))
26.0b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (sqrt.f64 (/.f64 d l))) 1)
31.7b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 d l)) 3))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
21.4b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
21.6b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) 1)
19.8b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (*.f64 (fabs.f64 (cbrt.f64 (/.f64 d l))) (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.1b
(cbrt.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 d l)) (sqrt.f64 (/.f64 d h))) (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1)) 3))
37.4b
(/.f64 (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (sqrt.f64 d))) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (sqrt.f64 l)))
15.9b
(/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (*.f64 (sqrt.f64 1) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)) (sqrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l))))
61.0b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (*.f64 (pow.f64 d 2) l))))
15.6b
(/.f64 (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l)))))) (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))))
19.9b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 d 2) D)) 2) (*.f64 (/.f64 h l) -1/2) 1))
21.2b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (fabs.f64 (cbrt.f64 d)) (sqrt.f64 (/.f64 (cbrt.f64 d) l)))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
27.0b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.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))) (sqrt.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.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))))
19.8b
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.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))
58.9b
(*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) d) (sqrt.f64 (/.f64 h (pow.f64 l 3)))))
19.6b
(/.f64 (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (sqrt.f64 (/.f64 d l)))) (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))))
Compiler

Compiled 11634 to 5413 computations (53.5% saved)

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.4b
(sqrt.f64 (/.f64 d (cbrt.f64 l)))
4.5b
(/.f64 (*.f64 D M) (*.f64 2 d))
6.6b
(*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (sqrt.f64 (/.f64 d (cbrt.f64 l)))))
6.8b
(fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1)

series704.0ms (5.1%)

Counts
3 → 152
Calls

3 calls:

605.0ms
(*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (sqrt.f64 (/.f64 d (cbrt.f64 l)))))
83.0ms
(fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1)
15.0ms
(/.f64 (*.f64 D M) (*.f64 2 d))

rewrite19.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
20×add-cbrt-cube_binary64
20×add-exp-log_binary64
pow1_binary64
cbrt-unprod_binary64
prod-exp_binary64
Counts
3 → 56
Calls

3 calls:

11.0ms
(*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (sqrt.f64 (/.f64 d (cbrt.f64 l)))))
4.0ms
(/.f64 (*.f64 D M) (*.f64 2 d))
0.0ms
(fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1)

simplify150.0ms (1.1%)

Algorithm
egg-herbie
Rules
517×fma-def_binary64
367×associate-/r/_binary64
310×associate-/l/_binary64
262×times-frac_binary64
225×associate-*r*_binary64
Counts
208 → 100
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02446369
15825913
224775809
347005781
450725781

prune165.0ms (1.2%)

Pruning

25 alts after pruning (25 fresh and 0 done)

PrunedKeptTotal
New1349143
Fresh51621
Picked101
Done000
Total14025165
Error
9.6b
Counts
165 → 25
Alt Table
StatusErrorProgram
58.7b
(/.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 M M) h)) (*.f64 d l)) (exp.f64 (fma.f64 (log.f64 h) -1/6 (*.f64 (log.f64 l) -1/6))))) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (sqrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))))
31.2b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) 1)
21.3b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 l))))) (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)
45.8b
(/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 1/6 (-.f64 (log.f64 (/.f64 1 l)) (log.f64 h)))) d) (*.f64 1/8 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (-.f64 (log.f64 (/.f64 1 l)) (log.f64 h)))) (*.f64 (pow.f64 D 2) (*.f64 h (pow.f64 M 2)))) (*.f64 d l)))) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (sqrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))))
19.8b
(*.f64 (*.f64 (*.f64 (fabs.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 h))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.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))
15.4b
(/.f64 (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (*.f64 (sqrt.f64 (sqrt.f64 (/.f64 d (cbrt.f64 l)))) (sqrt.f64 (sqrt.f64 (/.f64 d (cbrt.f64 l))))))) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (sqrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))))
58.9b
(*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) d) (sqrt.f64 (/.f64 h (pow.f64 l 3)))))
21.6b
(/.f64 (*.f64 1 (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (sqrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))))
37.2b
(/.f64 (*.f64 d (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1)) (*.f64 (sqrt.f64 h) (sqrt.f64 l)))
25.6b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (sqrt.f64 (/.f64 d l))) (sqrt.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))
15.3b
(/.f64 (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (*.f64 (sqrt.f64 (/.f64 (*.f64 (cbrt.f64 d) (cbrt.f64 d)) (*.f64 (cbrt.f64 (cbrt.f64 l)) (cbrt.f64 (cbrt.f64 l))))) (sqrt.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 (cbrt.f64 l))))))) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (sqrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))))
19.6b
(/.f64 (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (sqrt.f64 (/.f64 d l)))) (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))))
31.7b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 d l)) 3))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
21.4b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
42.1b
(cbrt.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 d l)) (sqrt.f64 (/.f64 d h))) (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1)) 3))
37.4b
(/.f64 (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (sqrt.f64 d))) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (sqrt.f64 l)))
15.9b
(/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (*.f64 (sqrt.f64 1) (sqrt.f64 (/.f64 d (cbrt.f64 l))))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1)) (sqrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l))))
61.0b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (sqrt.f64 (/.f64 d l))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (*.f64 (pow.f64 d 2) l))))
15.7b
(/.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (sqrt.f64 (/.f64 d (cbrt.f64 l)))))) (cbrt.f64 (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))))) (cbrt.f64 (*.f64 (fma.f64 (pow.f64 (/.f64 (*.f64 D M) (*.f64 2 d)) 2) (*.f64 (/.f64 h l) -1/2) 1) (*.f64 (sqrt.f64 (/.f64 d (cbrt.f64 h))) (sqrt.f64 (/.f64 d (cbrt.f64 l))))))) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (sqrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))))
19.9b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (cbrt.f64 h) (cbrt.f64 h)))) (sqrt.f64 (/.f64 d (cbrt.f64 h)))) (sqrt.f64 (/.f64 d l))) (fma.f64 (pow.f64 (/.f64 M (/.f64 (*.f64 d 2) D)) 2) (*.f64 (/.f64 h l) -1/2) 1))
21.2b
(*.f64 (*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (fabs.f64 (cbrt.f64 d)) (sqrt.f64 (/.f64 (cbrt.f64 d) l)))) (fma.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 d 2)) 2) (*.f64 (/.f64 h l) -1/2) 1))
58.5b
(/.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (exp.f64 (*.f64 1/6 (-.f64 (log.f64 (/.f64 1 h)) (log.f64 l)))) (*.f64 h (pow.f64 M 2)))) (*.f64 d l))) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (sqrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))))
42.6b
(/.f64 (*.f64 (exp.f64 (*.f64 1/6 (-.f64 (log.f64 (/.f64 1 l)) (log.f64 h)))) d) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (sqrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))))
43.9b
(/.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 l h)) 1/6) d) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 h) (cbrt.f64 h))) (sqrt.f64 (*.f64 (cbrt.f64 l) (cbrt.f64 l)))))
Compiler

Compiled 7986 to 3062 computations (61.7% saved)

regimes2.0s (14.3%)

Accuracy

Total 5.5b remaining (34.8%)

Threshold costs 0b (0%)

Counts
155 → 2
Compiler

Compiled 49578 to 33106 computations (33.2% saved)

bsearch12.0ms (0.1%)

Compiler

Compiled 40 to 31 computations (22.5% saved)

simplify6.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
055136
172136
287136
397136
4105136
5109136
6110136
7107136

end521.0ms (3.8%)

Remove

(sort M D)

Compiler

Compiled 1391 to 908 computations (34.7% saved)

Profiling

Loading profile data...