Details

Time bar (total: 24.0s)

analyze2.5s (10.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
0%98.1%1.9%13
0%98.1%1.9%14
Compiler

Compiled 59 to 22 computations (62.7% saved)

sample9.0s (37.6%)

Results
3.2s16928×body128invalid
2.0s2152×body4096valid
1.4s1182×body8192valid
986.0ms1305×body2048valid
493.0ms2481×body128valid
425.0ms683×body1024valid
141.0ms302×body512valid
48.0ms151×body256valid
47.0ms59×body2048invalid
36.0ms60×body1024invalid
20.0ms44×body512invalid
10.0ms10×body8192exit
8.0msbody4096invalid
6.0ms19×body256invalid
Compiler

Compiled 176 to 65 computations (63.1% saved)

simplify54.0ms (0.2%)

Algorithm
egg-herbie
Rules
599×times-frac_binary64
518×distribute-neg-frac_binary64
416×fma-def_binary64
304×associate-/l*_binary64
217×cancel-sign-sub-inv_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02278
16474
229674
3310367
4421867
5536567

prune9.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
60.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
60.9b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))
62.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (*.f64 (*.f64 (/.f64 d D) (pow.f64 (/.f64 d D) 3)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M)))))
Compiler

Compiled 321 to 130 computations (59.5% saved)

localize41.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
11.9b
(*.f64 (*.f64 w h) (*.f64 D D))
14.3b
(sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))
17.9b
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
28.3b
(+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))

series1.4s (6%)

Counts
4 → 240
Calls

4 calls:

545.0ms
(+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))
510.0ms
(sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))
328.0ms
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
50.0ms
(*.f64 (*.f64 w h) (*.f64 D D))

rewrite143.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
791×prod-diff_binary64
203×add-sqr-sqrt_binary64
195×log1p-expm1-u_binary64
195×expm1-log1p-u_binary64
191×add-log-exp_binary64
Counts
4 → 128
Calls

4 calls:

136.0ms
(*.f64 (*.f64 w h) (*.f64 D D))
136.0ms
(sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))
135.0ms
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
135.0ms
(+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018110
1405108
24795108
36251108
000
100

simplify593.0ms (2.5%)

Algorithm
egg-herbie
Rules
649×fma-def_binary64
505×unswap-sqr_binary64
293×associate-*r*_binary64
261×fma-neg_binary64
256×times-frac_binary64
Counts
368 → 212
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
020911169
164811085
2313611033
3494011033
4497911033
5499811033
6498011033

prune1.0s (4.2%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New3628370
Fresh011
Picked101
Done000
Total3639372
Error
37.0b
Counts
372 → 9
Alt Table
StatusErrorProgram
60.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
43.2b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (*.f64 D D) (*.f64 (*.f64 M M) (*.f64 w h))) (*.f64 (*.f64 d d) c0))))
62.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (pow.f64 (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))) 2)) (/.f64 d (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))
42.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))))
52.5b
(*.f64 (/.f64 c0 (*.f64 2 w)) (sqrt.f64 (neg.f64 (pow.f64 M 2))))
62.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 c0 (*.f64 d d)) (/.f64 1 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (pow.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) 2) (*.f64 M M)))))
62.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (*.f64 (*.f64 (/.f64 d D) (pow.f64 (/.f64 d D) 3)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M)))))
61.6b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 d d) (*.f64 (*.f64 w h) D)) (/.f64 c0 D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))
63.2b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (*.f64 D (sqrt.f64 (*.f64 w h)))) (/.f64 d (*.f64 D (sqrt.f64 (*.f64 w h))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))
Compiler

Compiled 21927 to 6306 computations (71.2% saved)

localize33.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
11.4b
(*.f64 (pow.f64 d 2) c0)
12.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))))
16.6b
(*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))
16.6b
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))

series1.1s (4.5%)

Counts
4 → 144
Calls

4 calls:

494.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))
474.0ms
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))))
104.0ms
(*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))
13.0ms
(*.f64 (pow.f64 d 2) c0)

rewrite130.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
220×add-sqr-sqrt_binary64
208×log1p-expm1-u_binary64
208×expm1-log1p-u_binary64
205×add-log-exp_binary64
204×add-cube-cbrt_binary64
Counts
4 → 102
Calls

4 calls:

125.0ms
(*.f64 (pow.f64 d 2) c0)
125.0ms
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))))
125.0ms
(*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))
125.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02185
145180
2484680
3496680
000
100

simplify224.0ms (0.9%)

Algorithm
egg-herbie
Rules
769×associate-*l/_binary64
612×associate-/l/_binary64
577×associate-/r/_binary64
546×associate-*r/_binary64
283×unswap-sqr_binary64
Counts
246 → 109
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0243096
1563096
22243096
314273096
445783096
547833096
651253096

prune358.0ms (1.5%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New9415109
Fresh268
Picked101
Done000
Total9721118
Error
25.5b
Counts
118 → 21
Alt Table
StatusErrorProgram
60.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
61.5b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2)) 3)))
49.4b
(/.f64 (*.f64 1 (*.f64 1/2 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2))) (*.f64 (/.f64 (*.f64 2 w) c0) (*.f64 (*.f64 d d) c0)))
49.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (*.f64 D D) w) (*.f64 d (sqrt.f64 c0))) (/.f64 (*.f64 h (*.f64 M M)) (*.f64 d (sqrt.f64 c0))))))
47.8b
(/.f64 (*.f64 c0 (*.f64 1/2 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2))) (*.f64 (*.f64 2 w) (*.f64 (*.f64 d d) c0)))
48.6b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (pow.f64 (cbrt.f64 (*.f64 (*.f64 d d) c0)) 2)) (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (cbrt.f64 (*.f64 (*.f64 d d) c0))))))
49.4b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (exp.f64 (log.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2))) (*.f64 (pow.f64 d 2) c0))))
61.5b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 1 (*.f64 d (sqrt.f64 c0))) (/.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2) (*.f64 d (sqrt.f64 c0))))))
49.9b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 D D) (*.f64 d (sqrt.f64 c0))) (/.f64 (*.f64 w (*.f64 h (*.f64 M M))) (*.f64 d (sqrt.f64 c0))))))
62.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (*.f64 (*.f64 (/.f64 d D) (pow.f64 (/.f64 d D) 3)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M)))))
36.4b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
63.2b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (*.f64 D (sqrt.f64 (*.f64 w h)))) (/.f64 d (*.f64 D (sqrt.f64 (*.f64 w h))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))
62.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (pow.f64 (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))) 2)) (/.f64 d (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))
61.5b
(exp.f64 (log.f64 (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2) 1/2))))
49.3b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (pow.f64 (/.f64 (*.f64 (*.f64 d d) c0) (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2)) -1)))
45.6b
(log.f64 (pow.f64 (exp.f64 (/.f64 c0 (*.f64 2 w))) (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2) 1/2)))
52.5b
(*.f64 (/.f64 c0 (*.f64 2 w)) (sqrt.f64 (neg.f64 (pow.f64 M 2))))
48.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d d)) (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) c0))))
51.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2) 3) 1/3) (*.f64 (pow.f64 d 2) c0))))
61.5b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (exp.f64 (log.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2)))))
61.6b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 d d) (*.f64 (*.f64 w h) D)) (/.f64 c0 D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))
Compiler

Compiled 4588 to 2317 computations (49.5% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
6.4b
(*.f64 (pow.f64 M 2) h)
15.6b
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))
18.2b
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))

series574.0ms (2.4%)

Counts
4 → 72
Calls

4 calls:

267.0ms
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
232.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))
55.0ms
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))
19.0ms
(*.f64 (pow.f64 M 2) h)

rewrite169.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
736×log-prod_binary64
242×expm1-udef_binary64
242×log1p-udef_binary64
222×log-pow_binary64
137×add-sqr-sqrt_binary64
Counts
4 → 113
Calls

4 calls:

165.0ms
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
165.0ms
(*.f64 (pow.f64 M 2) h)
165.0ms
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))
165.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01461
129550
2338050
3586150
000
100

simplify158.0ms (0.7%)

Algorithm
egg-herbie
Rules
865×times-frac_binary64
578×associate-/l*_binary64
565×unswap-sqr_binary64
407×associate-*r*_binary64
397×associate-*l*_binary64
Counts
185 → 121
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0141248
1341248
21011248
35111248
440171248
543751248
649531248
749421248
850161248

prune402.0ms (1.7%)

Pruning

27 alts after pruning (27 fresh and 0 done)

PrunedKeptTotal
New10813121
Fresh61420
Picked101
Done000
Total11527142
Error
15.6b
Counts
142 → 27
Alt Table
StatusErrorProgram
62.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (pow.f64 (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))) 2)) (/.f64 d (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))
39.6b
(*.f64 1/4 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))
44.1b
(*.f64 1/4 (cbrt.f64 (pow.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2) 3)))
32.4b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) d) (/.f64 (*.f64 (*.f64 M M) h) d)))
61.5b
(exp.f64 (log.f64 (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2) 1/2))))
60.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
61.5b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2)) 3)))
39.7b
(*.f64 1/4 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2)) 3))
48.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d d)) (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) c0))))
23.9b
(/.f64 1/4 (*.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)) (/.f64 d h)))
49.4b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (exp.f64 (log.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2))) (*.f64 (pow.f64 d 2) c0))))
61.5b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 1 (*.f64 d (sqrt.f64 c0))) (/.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2) (*.f64 d (sqrt.f64 c0))))))
62.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (*.f64 (*.f64 (/.f64 d D) (pow.f64 (/.f64 d D) 3)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M)))))
44.8b
(*.f64 1/4 (/.f64 (pow.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) 2) (pow.f64 d 2)))
61.5b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (exp.f64 (log.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2)))))
39.7b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2) 1/4)) 3)
25.5b
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 h (pow.f64 (*.f64 D M) 2))) 2) d) (/.f64 (cbrt.f64 (*.f64 h (pow.f64 (*.f64 D M) 2))) d)))
61.6b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 d d) (*.f64 (*.f64 w h) D)) (/.f64 c0 D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))
34.4b
(*.f64 1/4 (*.f64 (/.f64 1 (cbrt.f64 (pow.f64 d 4))) (/.f64 (*.f64 h (pow.f64 (*.f64 D M) 2)) (pow.f64 (cbrt.f64 d) 2))))
29.1b
(*.f64 1/4 (*.f64 (pow.f64 (*.f64 D M) 2) (*.f64 h (pow.f64 d -2))))
29.7b
(*.f64 1/4 (*.f64 (*.f64 (pow.f64 (*.f64 D M) 2) (neg.f64 h)) (/.f64 1 (neg.f64 (*.f64 d d)))))
49.3b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (pow.f64 (/.f64 (*.f64 (*.f64 d d) c0) (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2)) -1)))
45.6b
(log.f64 (pow.f64 (exp.f64 (/.f64 c0 (*.f64 2 w))) (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2) 1/2)))
23.8b
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d)))
51.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2) 3) 1/3) (*.f64 (pow.f64 d 2) c0))))
35.0b
(*.f64 1/4 (/.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 h (pow.f64 (*.f64 D M) 2)))) 1) (pow.f64 d 2)))
63.2b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (*.f64 D (sqrt.f64 (*.f64 w h)))) (/.f64 d (*.f64 D (sqrt.f64 (*.f64 w h))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))
Compiler

Compiled 3846 to 2225 computations (42.1% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d)))
0.2b
(pow.f64 (*.f64 D M) 2)
7.0b
(/.f64 (pow.f64 (*.f64 D M) 2) d)
8.3b
(*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d))

series544.0ms (2.3%)

Counts
4 → 156
Calls

4 calls:

236.0ms
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d)))
200.0ms
(*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d))
94.0ms
(/.f64 (pow.f64 (*.f64 D M) 2) d)
13.0ms
(pow.f64 (*.f64 D M) 2)

rewrite128.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
737×log-prod_binary64
240×expm1-udef_binary64
240×log1p-udef_binary64
212×log-pow_binary64
155×log-div_binary64
Counts
4 → 142
Calls

4 calls:

123.0ms
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d)))
123.0ms
(pow.f64 (*.f64 D M) 2)
123.0ms
(/.f64 (pow.f64 (*.f64 D M) 2) d)
123.0ms
(*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01352
128252
2346252
3603152
000
100

simplify215.0ms (0.9%)

Algorithm
egg-herbie
Rules
748×associate-/l*_binary64
601×associate-*l*_binary64
590×associate-*r*_binary64
413×associate-/r*_binary64
307×unswap-sqr_binary64
Counts
298 → 151
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0202676
1402676
21272676
36492676
442042676
547502676
647242676
748602676
849552676

prune565.0ms (2.4%)

Pruning

27 alts after pruning (27 fresh and 0 done)

PrunedKeptTotal
New14110151
Fresh91726
Picked101
Done000
Total15127178
Error
14.4b
Counts
178 → 27
Alt Table
StatusErrorProgram
62.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (pow.f64 (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))) 2)) (/.f64 d (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))
39.6b
(*.f64 1/4 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))
32.4b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) d) (/.f64 (*.f64 (*.f64 M M) h) d)))
61.5b
(exp.f64 (log.f64 (*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2) 1/2))))
31.2b
(log.f64 (pow.f64 (pow.f64 (exp.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d)) (/.f64 h d)) 1/4))
49.3b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (pow.f64 (/.f64 (*.f64 (*.f64 d d) c0) (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2)) -1)))
60.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
20.2b
(*.f64 1/4 (*.f64 (*.f64 (/.f64 (*.f64 D M) (pow.f64 (cbrt.f64 d) 2)) (/.f64 (*.f64 D M) (cbrt.f64 d))) (/.f64 h d)))
20.1b
(*.f64 1/4 (*.f64 (*.f64 (*.f64 D M) (*.f64 (*.f64 D M) (/.f64 1 d))) (/.f64 h d)))
39.7b
(*.f64 1/4 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2)) 3))
49.4b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (exp.f64 (log.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2))) (*.f64 (pow.f64 d 2) c0))))
61.5b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 1 (*.f64 d (sqrt.f64 c0))) (/.f64 (pow.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) 2) (*.f64 d (sqrt.f64 c0))))))
42.2b
(*.f64 1/4 (/.f64 (/.f64 (*.f64 (pow.f64 (*.f64 D M) 2) (/.f64 h d)) (sqrt.f64 d)) (sqrt.f64 d)))
25.1b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 M (*.f64 D (*.f64 D M))) d) (/.f64 h d)))
24.6b
(*.f64 1/4 (/.f64 h (*.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)) d)))
62.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (*.f64 d d) (/.f64 c0 (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 c0 (*.f64 w h)) (*.f64 (*.f64 (/.f64 d D) (pow.f64 (/.f64 d D) 3)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M)))))
44.8b
(*.f64 1/4 (/.f64 (pow.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) 2) (pow.f64 d 2)))
61.5b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (exp.f64 (log.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d (sqrt.f64 c0))) 2)))))
25.5b
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 h (pow.f64 (*.f64 D M) 2))) 2) d) (/.f64 (cbrt.f64 (*.f64 h (pow.f64 (*.f64 D M) 2))) d)))
28.3b
(*.f64 1/4 (exp.f64 (log.f64 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d)))))
24.2b
(*.f64 1/4 (*.f64 (/.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 D M) 2))) d) (/.f64 h d)))
35.7b
(*.f64 1/4 (*.f64 (cbrt.f64 (/.f64 (pow.f64 (pow.f64 (*.f64 D M) 2) 3) (pow.f64 d 3))) (/.f64 h d)))
35.0b
(*.f64 1/4 (/.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 h (pow.f64 (*.f64 D M) 2)))) 1) (pow.f64 d 2)))
24.1b
(/.f64 (*.f64 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) 1/4) h) d)
48.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) (*.f64 d d)) (/.f64 (*.f64 D (*.f64 (sqrt.f64 (*.f64 w h)) M)) c0))))
61.6b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 d d) (*.f64 (*.f64 w h) D)) (/.f64 c0 D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))
63.2b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (/.f64 (*.f64 c0 d) (*.f64 D (sqrt.f64 (*.f64 w h)))) (/.f64 d (*.f64 D (sqrt.f64 (*.f64 w h))))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))
Compiler

Compiled 3417 to 1855 computations (45.7% saved)

regimes3.6s (14.8%)

Accuracy

Total 4.8b remaining (24.7%)

Threshold costs 0b (0%)

Counts
126 → 2
Compiler

Compiled 39440 to 25719 computations (34.8% saved)

bsearch255.0ms (1.1%)

Steps
ItersRangePoint
9
-2.76452924359683e-303
3.528714073809127e-309
-2.062391211447e-312
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify5.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02549
13549
23449

end718.0ms (3%)

Compiler

Compiled 900 to 574 computations (36.2% saved)

Profiling

Loading profile data...