Details

Time bar (total: 11.6s)

analyze2.9s (24.6%)

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.5s (21.2%)

Symmetry

(sort M D)

Results
1.6s8256×body128valid
804.0ms4551×body128invalid
Compiler

Compiled 74 to 56 computations (24.3% saved)

simplify22.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

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 138 to 101 computations (26.8% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.9b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
4.2b
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))
4.3b
(/.f64 (*.f64 M D) (*.f64 2 d))
11.5b
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))

series556.0ms (4.8%)

Counts
4 → 204
Calls

4 calls:

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

rewrite63.0ms (0.5%)

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:

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

simplify133.0ms (1.1%)

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
323 → 239

prune287.0ms (2.5%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New22514239
Fresh101
Picked011
Done000
Total22615241
Error
5.4b
Counts
241 → 15
Alt Table
StatusErrorProgram
60.9b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (*.f64 M (*.f64 M h))) -1/4)) d))
15.3b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
46.3b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l)))) w0) 3))
16.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l))) 1))))
59.5b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 M)))
61.1b
(*.f64 D (*.f64 (sqrt.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 h (pow.f64 M 2)) (*.f64 (pow.f64 d 2) l))))) w0))
59.1b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 (*.f64 M w0)))
60.3b
(*.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)))
28.6b
(fma.f64 (*.f64 -1/8 (*.f64 (/.f64 D d) (/.f64 D d))) (/.f64 (*.f64 M (*.f64 M h)) (/.f64 l w0)) w0)
38.2b
(-.f64 w0 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w0 (*.f64 (pow.f64 M 2) h))) (*.f64 l (pow.f64 d 2)))))
15.5b
w0
15.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 D (*.f64 M (/.f64 1/2 d))) 2) (/.f64 h l)))))
11.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) h))))))
60.3b
(*.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)))
61.4b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (/.f64 (*.f64 M M) (*.f64 d d))) -1/4)) w0))
Compiler

Compiled 9621 to 5929 computations (38.4% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.2b
(sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) h)))))
5.1b
(*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) h)
5.4b
(/.f64 l (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) h))
6.7b
(*.f64 M (*.f64 D (/.f64 1/2 d)))

series493.0ms (4.2%)

Counts
4 → 192
Calls

4 calls:

247.0ms
(/.f64 l (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) h))
118.0ms
(*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) h)
113.0ms
(sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) h)))))
15.0ms
(*.f64 M (*.f64 D (/.f64 1/2 d)))

rewrite43.0ms (0.4%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01872
139369
Stop Event
node limit
Counts
4 → 103
Calls

4 calls:

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

simplify97.0ms (0.8%)

Algorithm
egg-herbie
Rules
322×associate-/r/_binary64
262×fma-def_binary64
232×unswap-sqr_binary64
216×distribute-neg-frac_binary64
188×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01895696
17155662
223905644
Stop Event
node limit
Counts
295 → 167

prune235.0ms (2%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New1643167
Fresh11213
Picked011
Done101
Total16616182
Error
4.2b
Counts
182 → 16
Alt Table
StatusErrorProgram
46.3b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l)))) w0) 3))
59.5b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 M)))
36.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (*.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (*.f64 D (*.f64 (/.f64 1/2 d) M)) (sqrt.f64 h))) (/.f64 (cbrt.f64 l) (*.f64 (*.f64 D (*.f64 (/.f64 1/2 d) M)) (sqrt.f64 h))))))))
60.3b
(*.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)))
61.1b
(*.f64 D (*.f64 (sqrt.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 h (pow.f64 M 2)) (*.f64 (pow.f64 d 2) l))))) w0))
59.1b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 (*.f64 M w0)))
60.3b
(*.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)))
28.6b
(fma.f64 (*.f64 -1/8 (*.f64 (/.f64 D d) (/.f64 D d))) (/.f64 (*.f64 M (*.f64 M h)) (/.f64 l w0)) w0)
38.2b
(-.f64 w0 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w0 (*.f64 (pow.f64 M 2) h))) (*.f64 l (pow.f64 d 2)))))
15.5b
w0
15.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 D (*.f64 M (/.f64 1/2 d))) 2) (/.f64 h l)))))
60.9b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (*.f64 M (*.f64 M h))) -1/4)) d))
15.0b
(*.f64 w0 (pow.f64 (pow.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 D (*.f64 (/.f64 1/2 d) M)) 2) (/.f64 l h))) 1/4) 2))
10.6b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 D M) d)) 2) h))))))
11.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) h))))))
61.4b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (/.f64 (*.f64 M M) (*.f64 d d))) -1/4)) w0))
Compiler

Compiled 6514 to 4285 computations (34.2% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.2b
(sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 D M) d)) 2) h)))))
4.3b
(/.f64 (*.f64 D M) d)
5.1b
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 D M) d)) 2) h)
5.4b
(/.f64 l (*.f64 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 D M) d)) 2) h))

series487.0ms (4.2%)

Counts
4 → 156
Calls

4 calls:

233.0ms
(/.f64 l (*.f64 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 D M) d)) 2) h))
124.0ms
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 D M) d)) 2) h)
117.0ms
(sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 D M) d)) 2) h)))))
13.0ms
(/.f64 (*.f64 D M) d)

rewrite45.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-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01869
139266
Stop Event
node limit
Counts
4 → 121
Calls

4 calls:

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

simplify82.0ms (0.7%)

Algorithm
egg-herbie
Rules
315×associate-/r/_binary64
262×fma-def_binary64
232×unswap-sqr_binary64
216×distribute-neg-frac_binary64
188×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01865336
17055302
223705284
Stop Event
node limit
Counts
277 → 183

prune258.0ms (2.2%)

Pruning

19 alts after pruning (17 fresh and 2 done)

PrunedKeptTotal
New1794183
Fresh11314
Picked011
Done011
Total18019199
Error
2.8b
Counts
199 → 19
Alt Table
StatusErrorProgram
59.1b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (/.f64 D (/.f64 (*.f64 (*.f64 d d) l) (*.f64 D h))) -1/4)) (neg.f64 M)))
60.9b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (*.f64 M (*.f64 M h))) -1/4)) d))
62.0b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 -1/4 h) l) (*.f64 (/.f64 M d) (/.f64 M d)))) (neg.f64 D)))
15.0b
(*.f64 w0 (pow.f64 (pow.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 D (*.f64 (/.f64 1/2 d) M)) 2) (/.f64 l h))) 1/4) 2))
10.6b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 D M) d)) 2) h))))))
59.0b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 -1/4 h) l) (*.f64 (/.f64 M d) (/.f64 M d))))))
23.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 1/4 (*.f64 (*.f64 (*.f64 (/.f64 M d) (/.f64 M d)) h) (*.f64 D D))))))))
11.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) h))))))
46.3b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l)))) w0) 3))
59.5b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 M)))
61.1b
(*.f64 D (*.f64 (sqrt.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 h (pow.f64 M 2)) (*.f64 (pow.f64 d 2) l))))) w0))
59.1b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 (*.f64 M w0)))
60.3b
(*.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)))
28.6b
(fma.f64 (*.f64 -1/8 (*.f64 (/.f64 D d) (/.f64 D d))) (/.f64 (*.f64 M (*.f64 M h)) (/.f64 l w0)) w0)
38.2b
(-.f64 w0 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w0 (*.f64 (pow.f64 M 2) h))) (*.f64 l (pow.f64 d 2)))))
15.5b
w0
15.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 D (*.f64 M (/.f64 1/2 d))) 2) (/.f64 h l)))))
36.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (*.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (*.f64 D (*.f64 (/.f64 1/2 d) M)) (sqrt.f64 h))) (/.f64 (cbrt.f64 l) (*.f64 (*.f64 D (*.f64 (/.f64 1/2 d) M)) (sqrt.f64 h))))))))
61.4b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (/.f64 (*.f64 M M) (*.f64 d d))) -1/4)) w0))
Compiler

Compiled 7108 to 4464 computations (37.2% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.9b
(*.f64 w0 (pow.f64 (pow.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 D (*.f64 (/.f64 1/2 d) M)) 2) (/.f64 l h))) 1/4) 2))
4.1b
(*.f64 D (*.f64 (/.f64 1/2 d) M))
7.2b
(pow.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 D (*.f64 (/.f64 1/2 d) M)) 2) (/.f64 l h))) 1/4)
11.2b
(/.f64 (pow.f64 (*.f64 D (*.f64 (/.f64 1/2 d) M)) 2) (/.f64 l h))

series604.0ms (5.2%)

Counts
4 → 216
Calls

4 calls:

223.0ms
(*.f64 w0 (pow.f64 (pow.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 D (*.f64 (/.f64 1/2 d) M)) 2) (/.f64 l h))) 1/4) 2))
188.0ms
(/.f64 (pow.f64 (*.f64 D (*.f64 (/.f64 1/2 d) M)) 2) (/.f64 l h))
178.0ms
(pow.f64 (-.f64 1 (/.f64 (pow.f64 (*.f64 D (*.f64 (/.f64 1/2 d) M)) 2) (/.f64 l h))) 1/4)
15.0ms
(*.f64 D (*.f64 (/.f64 1/2 d) M))

rewrite39.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
212×add-sqr-sqrt_binary64
209×log1p-expm1-u_binary64
209×expm1-log1p-u_binary64
204×add-cbrt-cube_binary64
202×add-cube-cbrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02182
145781
Stop Event
node limit
Counts
4 → 83
Calls

4 calls:

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

simplify114.0ms (1%)

Algorithm
egg-herbie
Rules
623×associate-/l*_binary64
569×associate-/r*_binary64
193×*-commutative_binary64
176×associate-*l/_binary64
161×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
049211058
1198310946
Stop Event
node limit
Counts
299 → 225

prune326.0ms (2.8%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New2205225
Fresh31316
Picked101
Done112
Total22519244
Error
2.6b
Counts
244 → 19
Alt Table
StatusErrorProgram
39.7b
(pow.f64 (sqrt.f64 (*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 D (*.f64 1/2 (/.f64 M d))) 2) (/.f64 h l)))))) 2)
15.5b
w0
13.4b
(*.f64 w0 (pow.f64 (pow.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 D (*.f64 1/2 (/.f64 M d))) 1) (/.f64 (*.f64 D (*.f64 1/2 (/.f64 M d))) (/.f64 l h)))) 1/4) 2))
15.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 D (*.f64 M (/.f64 1/2 d))) 2) (/.f64 h l)))))
59.1b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (/.f64 D (/.f64 (*.f64 (*.f64 d d) l) (*.f64 D h))) -1/4)) (neg.f64 M)))
60.9b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (*.f64 M (*.f64 M h))) -1/4)) d))
10.6b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 D M) d)) 2) h))))))
59.0b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 -1/4 h) l) (*.f64 (/.f64 M d) (/.f64 M d))))))
9.6b
(*.f64 w0 (pow.f64 (pow.f64 (-.f64 1 (*.f64 (/.f64 (*.f64 D (*.f64 1/2 (/.f64 M d))) l) (/.f64 (*.f64 D (*.f64 1/2 (/.f64 M d))) (/.f64 1 h)))) 1/4) 2))
46.3b
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (*.f64 D (/.f64 1/2 d))) 2) (/.f64 h l)))) w0) 3))
59.5b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 M)))
61.1b
(*.f64 D (*.f64 (sqrt.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 h (pow.f64 M 2)) (*.f64 (pow.f64 d 2) l))))) w0))
28.6b
(fma.f64 (*.f64 -1/8 (*.f64 (/.f64 D d) (/.f64 D d))) (/.f64 (*.f64 M (*.f64 M h)) (/.f64 l w0)) w0)
38.2b
(-.f64 w0 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w0 (*.f64 (pow.f64 M 2) h))) (*.f64 l (pow.f64 d 2)))))
62.0b
(*.f64 w0 (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 -1/4 h) l) (*.f64 (/.f64 M d) (/.f64 M d)))) (neg.f64 D)))
60.4b
(*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 D D) (/.f64 (*.f64 d d) (/.f64 h l))) -1/4)) (neg.f64 (*.f64 M w0)))
61.9b
(*.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 M M)) (/.f64 l h)) -1/4)) d) w0)
36.8b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (*.f64 (/.f64 (pow.f64 (cbrt.f64 l) 2) (*.f64 (*.f64 D (*.f64 (/.f64 1/2 d) M)) (sqrt.f64 h))) (/.f64 (cbrt.f64 l) (*.f64 (*.f64 D (*.f64 (/.f64 1/2 d) M)) (sqrt.f64 h))))))))
61.4b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (/.f64 (*.f64 M M) (*.f64 d d))) -1/4)) w0))
Compiler

Compiled 12663 to 7847 computations (38% saved)

regimes1.9s (16.3%)

Accuracy

Total 6.3b remaining (63.1%)

Threshold costs 0b (0%)

Counts
100 → 3
Compiler

Compiled 42949 to 32545 computations (24.2% saved)

bsearch4.0ms (0%)

Compiler

Compiled 13 to 10 computations (23.1% saved)

simplify5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
049116
172116
289116
3104116
4112116
5116116
6117116
Stop Event
saturated

end433.0ms (3.7%)

Compiler

Compiled 829 to 557 computations (32.8% saved)

Profiling

Loading profile data...