Details

Time bar (total: 9.5s)

analyze2.7s (28.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.3s (24.7%)

Symmetry

(sort M D)

Results
1.5s8256×body128valid
742.0ms4491×body128invalid
Compiler

Compiled 74 to 56 computations (24.3% saved)

simplify23.0ms (0.2%)

Algorithm
egg-herbie
Rules
418×associate-/l*_binary64
372×cancel-sign-sub-inv_binary64
251×associate-/l/_binary64
229×*-commutative_binary64
227×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01827
14227
211527
384627
4381727
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
14.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
15.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
15.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l)))))
Compiler

Compiled 138 to 101 computations (26.8% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.9b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l)))))
5.9b
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l))))
6.2b
(*.f64 M (/.f64 D (*.f64 2 d)))
11.0b
(*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l))

series615.0ms (6.5%)

Counts
4 → 204
Calls

4 calls:

260.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l)))))
196.0ms
(*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l))
144.0ms
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l))))
15.0ms
(*.f64 M (/.f64 D (*.f64 2 d)))

rewrite39.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
188×add-sqr-sqrt_binary64
179×log1p-expm1-u_binary64
179×expm1-log1p-u_binary64
177×add-cbrt-cube_binary64
175×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01880
138680
Stop Event
node limit
Counts
4 → 92
Calls

4 calls:

38.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l)))))
38.0ms
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l))))
37.0ms
(*.f64 M (/.f64 D (*.f64 2 d)))
37.0ms
(*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l))

simplify123.0ms (1.3%)

Algorithm
egg-herbie
Rules
640×fma-def_binary64
262×times-frac_binary64
243×associate-/r*_binary64
231×associate-*r*_binary64
226×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03108076
112428010
240717948
Stop Event
node limit
Counts
296 → 212

prune224.0ms (2.4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New20111212
Fresh011
Picked101
Done000
Total20212214
Error
6.5b
Counts
214 → 12
Alt Table
StatusErrorProgram
14.3b
w0
61.6b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (*.f64 M (*.f64 M h))) -1/4)) d))
61.1b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (/.f64 (*.f64 M M) (*.f64 d d))) -1/4))))
15.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
60.0b
(*.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)))
15.2b
(*.f64 w0 (exp.f64 (*.f64 1/2 (log1p.f64 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (neg.f64 (/.f64 h l)))))))
15.5b
(*.f64 w0 (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l))) 3/2)))
15.1b
(*.f64 w0 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l))))) 3))
60.7b
(-.f64 (/.f64 (/.f64 (*.f64 1/8 w0) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) 3)) (pow.f64 M 3)) (fma.f64 M (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) w0) (*.f64 1/2 (/.f64 (/.f64 w0 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4))) M))))
59.2b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 (*.f64 M w0)))
59.8b
(*.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)))
27.9b
(fma.f64 (*.f64 -1/8 (*.f64 (/.f64 D d) (/.f64 D d))) (/.f64 (*.f64 M (*.f64 M h)) (/.f64 l w0)) w0)
Compiler

Compiled 8900 to 5462 computations (38.6% saved)

localize1.0ms (0%)

prune16.0ms (0.2%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New000
Fresh01111
Picked011
Done000
Total01212
Error
6.5b
Counts
12 → 12
Alt Table
StatusErrorProgram
14.3b
w0
61.6b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (*.f64 M (*.f64 M h))) -1/4)) d))
61.1b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (/.f64 (*.f64 M M) (*.f64 d d))) -1/4))))
15.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
60.0b
(*.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)))
15.2b
(*.f64 w0 (exp.f64 (*.f64 1/2 (log1p.f64 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (neg.f64 (/.f64 h l)))))))
15.5b
(*.f64 w0 (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l))) 3/2)))
15.1b
(*.f64 w0 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l))))) 3))
60.7b
(-.f64 (/.f64 (/.f64 (*.f64 1/8 w0) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) 3)) (pow.f64 M 3)) (fma.f64 M (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) w0) (*.f64 1/2 (/.f64 (/.f64 w0 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4))) M))))
59.2b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 (*.f64 M w0)))
59.8b
(*.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)))
27.9b
(fma.f64 (*.f64 -1/8 (*.f64 (/.f64 D d) (/.f64 D d))) (/.f64 (*.f64 M (*.f64 M h)) (/.f64 l w0)) w0)
Compiler

Compiled 657 to 446 computations (32.1% 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)))))
5.3b
(/.f64 (*.f64 M D) (*.f64 2 d))
5.9b
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))
11.0b
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))

series557.0ms (5.9%)

Counts
4 → 204
Calls

4 calls:

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

rewrite40.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
190×add-sqr-sqrt_binary64
179×log1p-expm1-u_binary64
179×expm1-log1p-u_binary64
177×add-cbrt-cube_binary64
176×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01880
138680
Stop Event
node limit
Counts
4 → 119
Calls

4 calls:

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

simplify118.0ms (1.2%)

Algorithm
egg-herbie
Rules
636×fma-def_binary64
262×times-frac_binary64
243×associate-/r*_binary64
231×associate-*r*_binary64
226×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03108076
112448010
240737948
Stop Event
node limit
Counts
323 → 239

prune278.0ms (2.9%)

Pruning

16 alts after pruning (14 fresh and 2 done)

PrunedKeptTotal
New2354239
Fresh01010
Picked011
Done011
Total23516251
Error
4.8b
Counts
251 → 16
Alt Table
StatusErrorProgram
57.8b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (/.f64 h l)) -1/4)) (neg.f64 (*.f64 M w0)))
60.0b
(*.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)))
15.1b
(*.f64 w0 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l))))) 3))
57.6b
(*.f64 w0 (*.f64 M (neg.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (/.f64 h l)) -1/4)))))
62.0b
(*.f64 w0 (*.f64 M (sqrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (/.f64 h l)) -1/4))))
60.7b
(-.f64 (/.f64 (/.f64 (*.f64 1/8 w0) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) 3)) (pow.f64 M 3)) (fma.f64 M (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) w0) (*.f64 1/2 (/.f64 (/.f64 w0 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4))) M))))
14.3b
w0
61.6b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (*.f64 M (*.f64 M h))) -1/4)) d))
61.1b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (/.f64 (*.f64 M M) (*.f64 d d))) -1/4))))
15.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
30.6b
(fma.f64 (*.f64 -1/8 (/.f64 D (/.f64 l D))) (*.f64 (/.f64 (*.f64 (*.f64 M M) h) d) (/.f64 w0 d)) w0)
15.2b
(*.f64 w0 (exp.f64 (*.f64 1/2 (log1p.f64 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (neg.f64 (/.f64 h l)))))))
15.5b
(*.f64 w0 (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l))) 3/2)))
59.2b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 (*.f64 M w0)))
59.8b
(*.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)))
27.9b
(fma.f64 (*.f64 -1/8 (*.f64 (/.f64 D d) (/.f64 D d))) (/.f64 (*.f64 M (*.f64 M h)) (/.f64 l w0)) w0)
Compiler

Compiled 9746 to 5960 computations (38.8% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.0b
(cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l)))))
5.9b
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l))))
6.2b
(*.f64 M (*.f64 D (/.f64 1/2 d)))
11.0b
(*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l))

series512.0ms (5.4%)

Counts
4 → 204
Calls

4 calls:

197.0ms
(cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l)))))
191.0ms
(*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l))
109.0ms
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l))))
15.0ms
(*.f64 M (*.f64 D (/.f64 1/2 d)))

rewrite72.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
542×prod-diff_binary64
184×add-sqr-sqrt_binary64
176×log1p-expm1-u_binary64
176×expm1-log1p-u_binary64
175×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01879
138678
2480878
Stop Event
node limit
Counts
4 → 95
Calls

4 calls:

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

simplify114.0ms (1.2%)

Algorithm
egg-herbie
Rules
546×associate-/r*_binary64
480×associate-/l*_binary64
278×associate-*r/_binary64
187×associate-*l/_binary64
173×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
045210454
1183410360
Stop Event
node limit
Counts
299 → 233

prune327.0ms (3.4%)

Pruning

17 alts after pruning (14 fresh and 3 done)

PrunedKeptTotal
New2321233
Fresh01313
Picked011
Done022
Total23217249
Error
4.6b
Counts
249 → 17
Alt Table
StatusErrorProgram
61.6b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (*.f64 M (*.f64 M h))) -1/4)) d))
62.3b
(*.f64 w0 (pow.f64 (exp.f64 (*.f64 1/6 (-.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))))) 3))
57.8b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (/.f64 h l)) -1/4)) (neg.f64 (*.f64 M w0)))
60.0b
(*.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)))
15.1b
(*.f64 w0 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l))))) 3))
57.6b
(*.f64 w0 (*.f64 M (neg.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (/.f64 h l)) -1/4)))))
62.0b
(*.f64 w0 (*.f64 M (sqrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (/.f64 h l)) -1/4))))
60.7b
(-.f64 (/.f64 (/.f64 (*.f64 1/8 w0) (pow.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) 3)) (pow.f64 M 3)) (fma.f64 M (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) w0) (*.f64 1/2 (/.f64 (/.f64 w0 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4))) M))))
14.3b
w0
61.1b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (/.f64 (*.f64 M M) (*.f64 d d))) -1/4))))
15.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
30.6b
(fma.f64 (*.f64 -1/8 (/.f64 D (/.f64 l D))) (*.f64 (/.f64 (*.f64 (*.f64 M M) h) d) (/.f64 w0 d)) w0)
15.2b
(*.f64 w0 (exp.f64 (*.f64 1/2 (log1p.f64 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (neg.f64 (/.f64 h l)))))))
15.5b
(*.f64 w0 (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l))) 3/2)))
59.2b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 (*.f64 M w0)))
59.8b
(*.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)))
27.9b
(fma.f64 (*.f64 -1/8 (*.f64 (/.f64 D d) (/.f64 D d))) (/.f64 (*.f64 M (*.f64 M h)) (/.f64 l w0)) w0)
Compiler

Compiled 13131 to 8453 computations (35.6% saved)

regimes958.0ms (10.1%)

Accuracy

Total 2.8b remaining (36.4%)

Threshold costs 0b (0%)

Counts
38 → 3
Compiler

Compiled 15819 to 11389 computations (28% saved)

bsearch2.0ms (0%)

Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
034105
158105
283105
3101105
4112105
5116105
6117105
Stop Event
saturated

end399.0ms (4.2%)

Compiler

Compiled 771 to 498 computations (35.4% saved)

Profiling

Loading profile data...