Details

Time bar (total: 20.6s)

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

Compiled 59 to 22 computations (62.7% saved)

sample9.3s (45.3%)

Results
3.2s16297×body128invalid
2.1s2130×body4096valid
1.7s1267×body8192valid
1.1s1340×body2048valid
486.0ms2462×body128valid
398.0ms638×body1024valid
132.0ms276×body512valid
53.0ms41×body2048invalid
46.0ms143×body256valid
27.0ms38×body1024invalid
16.0ms36×body512invalid
13.0ms15×body4096invalid
8.0msbody8192exit
6.0ms20×body256invalid
Compiler

Compiled 176 to 65 computations (63.1% saved)

simplify86.0ms (0.4%)

Algorithm
egg-herbie
Rules
393×rules-24-rev_binary64
372×fma-neg_binary64
241×rules-4_binary64
230×rules-6_binary64
206×rules-5-rev_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02278
115174
267574
3462274
4453474
5506774

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
56.9b
Counts
3 → 2
Alt Table
StatusErrorProgram
56.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)))))
59.6b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 c0 (/.f64 (*.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))) M) (fma.f64 c0 (/.f64 (*.f64 d d) (*.f64 (*.f64 w h) (*.f64 D D))) M)))))
Compiler

Compiled 336 to 117 computations (65.2% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
13.4b
(*.f64 (*.f64 w h) (*.f64 D D))
13.7b
(*.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)))))
15.4b
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
29.6b
(+.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))))

series941.0ms (4.6%)

Counts
4 → 240
Calls

4 calls:

467.0ms
(*.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)))))
274.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))))
178.0ms
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
18.0ms
(*.f64 (*.f64 w h) (*.f64 D D))

rewrite81.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
237×add-sqr-sqrt_binary64
226×log1p-expm1-u_binary64
226×expm1-log1p-u_binary64
221×add-cbrt-cube_binary64
221×add-exp-log_binary64
Counts
4 → 98
Calls

4 calls:

78.0ms
(*.f64 (*.f64 w h) (*.f64 D D))
78.0ms
(*.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)))))
78.0ms
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
78.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
022140
1545136
24961136
35145136
000
100

simplify158.0ms (0.8%)

Algorithm
egg-herbie
Rules
609×fma-neg_binary64
510×rules-20_binary64
467×rules-40_binary64
467×rules-41_binary64
467×rules-42_binary64
Counts
338 → 189
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025611103
1167111103
2452511103

prune329.0ms (1.6%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2818289
Fresh011
Picked101
Done000
Total2829291
Error
28.3b
Counts
291 → 9
Alt Table
StatusErrorProgram
58.0b
(log.f64 (pow.f64 (exp.f64 (fma.f64 c0 (/.f64 (*.f64 d d) (*.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))))) (/.f64 c0 (*.f64 w 2))))
49.6b
(*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (pow.f64 M 2))) c0) w))
58.4b
(*.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))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) 3)) (*.f64 M M)))))
59.6b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 c0 (/.f64 (*.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))) M) (fma.f64 c0 (/.f64 (*.f64 d d) (*.f64 (*.f64 w h) (*.f64 D D))) M)))))
34.9b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
59.1b
(/.f64 (*.f64 (pow.f64 d 2) (pow.f64 c0 2)) (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 w 2) h)))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (cbrt.f64 (pow.f64 (fma.f64 c0 (/.f64 (*.f64 d d) (*.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)))) 3)))
43.3b
(*.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))))
58.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
Compiler

Compiled 16005 to 5230 computations (67.3% saved)

localize10.0ms (0%)

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.9b
(*.f64 (pow.f64 M 2) h)
12.9b
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))
14.2b
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))

series285.0ms (1.4%)

Counts
4 → 72
Calls

4 calls:

135.0ms
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
114.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))
28.0ms
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))
8.0ms
(*.f64 (pow.f64 M 2) h)

rewrite101.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
432×prod-diff_binary64
239×log1p-udef_binary64
204×egg-rr
136×add-sqr-sqrt_binary64
133×log1p-expm1-u_binary64
Counts
4 → 204
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01461
133450
2389650
3507650
000
100

simplify79.0ms (0.4%)

Algorithm
egg-herbie
Rules
1112×rules-42_binary64
867×rules-41_binary64
867×rules-43_binary64
728×fma-neg_binary64
405×rules-40_binary64
Counts
276 → 209
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014936
188936
2326936
31480936
43795936
521936

prune362.0ms (1.8%)

Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New19019209
Fresh358
Picked101
Done000
Total19424218
Error
17.8b
Counts
218 → 24
Alt Table
StatusErrorProgram
48.6b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (pow.f64 (*.f64 M (sqrt.f64 h)) 2)) (pow.f64 d 2)))
59.1b
(/.f64 (*.f64 (pow.f64 d 2) (pow.f64 c0 2)) (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 w 2) h)))
42.0b
(*.f64 1/4 (expm1.f64 (log1p.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (cbrt.f64 (pow.f64 (fma.f64 c0 (/.f64 (*.f64 d d) (*.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)))) 3)))
42.2b
(exp.f64 (log.f64 (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2) 1/4)))
43.9b
(*.f64 1/4 (cbrt.f64 (pow.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2) 3)))
34.9b
(*.f64 1/4 (/.f64 (+.f64 (fma.f64 (cbrt.f64 (*.f64 (*.f64 M M) h)) (*.f64 (*.f64 D D) (pow.f64 (cbrt.f64 (*.f64 (*.f64 M M) h)) 2)) (neg.f64 (*.f64 0 (*.f64 D D)))) (fma.f64 0 (*.f64 D D) (*.f64 0 (*.f64 D D)))) (pow.f64 d 2)))
44.1b
(pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2) 1/4) 3) 1/3)
41.9b
(*.f64 1/4 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2)) 3))
24.5b
(/.f64 (/.f64 (*.f64 h (*.f64 (pow.f64 (*.f64 D M) 2) 1/4)) d) d)
44.7b
(*.f64 1/4 (*.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) (*.f64 d d))))
29.6b
(*.f64 1/4 (/.f64 (cbrt.f64 (pow.f64 (*.f64 h (pow.f64 (*.f64 D M) 2)) 3)) (pow.f64 d 2)))
58.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
26.4b
(/.f64 (*.f64 h (pow.f64 (*.f64 D M) 2)) (*.f64 (*.f64 d d) 4))
41.9b
(*.f64 1/4 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2)) (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2)) 2)))
34.1b
(*.f64 1/4 (/.f64 (log.f64 (pow.f64 (exp.f64 h) (pow.f64 (*.f64 D M) 2))) (pow.f64 d 2)))
26.4b
(*.f64 1/4 (*.f64 (pow.f64 (cbrt.f64 (*.f64 h (pow.f64 (*.f64 D M) 2))) 2) (/.f64 (cbrt.f64 (*.f64 h (pow.f64 (*.f64 D M) 2))) (*.f64 d d))))
58.4b
(*.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))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) 3)) (*.f64 M M)))))
42.6b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (exp.f64 (log.f64 (*.f64 (*.f64 M M) h)))) (pow.f64 d 2)))
59.6b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 c0 (/.f64 (*.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))) M) (fma.f64 c0 (/.f64 (*.f64 d d) (*.f64 (*.f64 w h) (*.f64 D D))) M)))))
26.6b
(*.f64 1/4 (*.f64 h (/.f64 (pow.f64 (*.f64 D M) 2) (*.f64 d d))))
41.9b
(*.f64 1/4 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))
42.2b
(*.f64 1/4 (exp.f64 (log.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))))
30.2b
(/.f64 (/.f64 (*.f64 h (*.f64 (pow.f64 (*.f64 D M) 2) 1/4)) (cbrt.f64 (pow.f64 d 4))) (pow.f64 (cbrt.f64 d) 2))
Compiler

Compiled 6261 to 3396 computations (45.8% saved)

localize9.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (*.f64 D M) 2)
3.6b
(/.f64 (/.f64 (*.f64 h (*.f64 (pow.f64 (*.f64 D M) 2) 1/4)) d) d)
4.0b
(*.f64 h (*.f64 (pow.f64 (*.f64 D M) 2) 1/4))
6.0b
(/.f64 (*.f64 h (*.f64 (pow.f64 (*.f64 D M) 2) 1/4)) d)

series255.0ms (1.2%)

Counts
4 → 156
Calls

4 calls:

132.0ms
(/.f64 (/.f64 (*.f64 h (*.f64 (pow.f64 (*.f64 D M) 2) 1/4)) d) d)
74.0ms
(/.f64 (*.f64 h (*.f64 (pow.f64 (*.f64 D M) 2) 1/4)) d)
39.0ms
(*.f64 h (*.f64 (pow.f64 (*.f64 D M) 2) 1/4))
9.0ms
(pow.f64 (*.f64 D M) 2)

rewrite129.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
412×prod-diff_binary64
229×expm1-udef_binary64
229×log1p-udef_binary64
199×egg-rr
128×add-sqr-sqrt_binary64
Counts
4 → 199
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01355
130854
2370454
3513254
000
100

simplify119.0ms (0.6%)

Algorithm
egg-herbie
Rules
1077×rules-42_binary64
1074×rules-40_binary64
728×rules-41_binary64
728×rules-43_binary64
520×rules-20_binary64
Counts
355 → 207
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0252964
11202964
24592964
322152964
436712964
5212964

prune650.0ms (3.2%)

Pruning

27 alts after pruning (27 fresh and 0 done)

PrunedKeptTotal
New19611207
Fresh71623
Picked101
Done000
Total20427231
Error
16.5b
Counts
231 → 27
Alt Table
StatusErrorProgram
23.3b
(/.f64 (*.f64 h (/.f64 (*.f64 (pow.f64 (*.f64 D M) 2) 1/4) d)) d)
24.5b
(*.f64 (/.f64 (*.f64 h (*.f64 (pow.f64 (*.f64 D M) 2) 1/4)) d) (/.f64 1 d))
24.7b
(/.f64 (/.f64 (*.f64 h (*.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 D M) 2))) 1/4)) d) d)
23.5b
(/.f64 (/.f64 (+.f64 (fma.f64 (*.f64 (*.f64 D M) 1/2) (*.f64 (*.f64 (*.f64 D M) 1/2) h) (neg.f64 (*.f64 0 h))) (fma.f64 0 h (*.f64 0 h))) d) d)
42.2b
(*.f64 1/4 (exp.f64 (log.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))))
42.2b
(pow.f64 (/.f64 (*.f64 (sqrt.f64 h) (*.f64 (*.f64 D M) 1/2)) d) 2)
42.0b
(*.f64 1/4 (expm1.f64 (log1p.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (cbrt.f64 (pow.f64 (fma.f64 c0 (/.f64 (*.f64 d d) (*.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)))) 3)))
24.6b
(/.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 h (*.f64 (pow.f64 (*.f64 D M) 2) 1/4)) d)) (pow.f64 (cbrt.f64 (/.f64 (*.f64 h (*.f64 (pow.f64 (*.f64 D M) 2) 1/4)) d)) 2)) d)
24.6b
(/.f64 (/.f64 (*.f64 h (*.f64 (*.f64 (cbrt.f64 (*.f64 D M)) (*.f64 (*.f64 D M) (pow.f64 (cbrt.f64 (*.f64 D M)) 2))) 1/4)) d) d)
28.1b
(/.f64 (pow.f64 (pow.f64 (/.f64 (*.f64 h (*.f64 (pow.f64 (*.f64 D M) 2) 1/4)) d) 3) 1/3) d)
42.2b
(exp.f64 (log.f64 (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2) 1/4)))
43.9b
(*.f64 1/4 (cbrt.f64 (pow.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2) 3)))
34.9b
(*.f64 1/4 (/.f64 (+.f64 (fma.f64 (cbrt.f64 (*.f64 (*.f64 M M) h)) (*.f64 (*.f64 D D) (pow.f64 (cbrt.f64 (*.f64 (*.f64 M M) h)) 2)) (neg.f64 (*.f64 0 (*.f64 D D)))) (fma.f64 0 (*.f64 D D) (*.f64 0 (*.f64 D D)))) (pow.f64 d 2)))
44.1b
(pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2) 1/4) 3) 1/3)
41.9b
(*.f64 1/4 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2)) 3))
44.7b
(*.f64 1/4 (*.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) (*.f64 d d))))
58.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
41.9b
(*.f64 1/4 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2)) (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2)) 2)))
34.1b
(*.f64 1/4 (/.f64 (log.f64 (pow.f64 (exp.f64 h) (pow.f64 (*.f64 D M) 2))) (pow.f64 d 2)))
42.6b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (exp.f64 (log.f64 (*.f64 (*.f64 M M) h)))) (pow.f64 d 2)))
58.4b
(*.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))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) 3)) (*.f64 M M)))))
59.6b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 c0 (/.f64 (*.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))) M) (fma.f64 c0 (/.f64 (*.f64 d d) (*.f64 (*.f64 w h) (*.f64 D D))) M)))))
44.0b
(/.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 h) (*.f64 (*.f64 D M) 1/2)) 2) d) d)
23.6b
(/.f64 (*.f64 (pow.f64 (*.f64 D M) 2) (/.f64 (*.f64 h 1/4) d)) d)
59.1b
(/.f64 (*.f64 (pow.f64 d 2) (pow.f64 c0 2)) (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 w 2) h)))
24.6b
(/.f64 (/.f64 (+.f64 (fma.f64 (cbrt.f64 h) (*.f64 (*.f64 (pow.f64 (*.f64 D M) 2) 1/4) (pow.f64 (cbrt.f64 h) 2)) (neg.f64 (*.f64 0 h))) (fma.f64 0 h (*.f64 0 h))) d) d)
Compiler

Compiled 6173 to 3693 computations (40.2% saved)

localize9.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (*.f64 D M) 2)
3.6b
(/.f64 (*.f64 h (/.f64 (*.f64 (pow.f64 (*.f64 D M) 2) 1/4) d)) d)
4.1b
(*.f64 h (/.f64 (*.f64 (pow.f64 (*.f64 D M) 2) 1/4) d))
5.6b
(/.f64 (*.f64 (pow.f64 (*.f64 D M) 2) 1/4) d)

series271.0ms (1.3%)

Counts
3 → 132
Calls

3 calls:

141.0ms
(/.f64 (*.f64 h (/.f64 (*.f64 (pow.f64 (*.f64 D M) 2) 1/4) d)) d)
81.0ms
(*.f64 h (/.f64 (*.f64 (pow.f64 (*.f64 D M) 2) 1/4) d))
49.0ms
(/.f64 (*.f64 (pow.f64 (*.f64 D M) 2) 1/4) d)

rewrite89.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
443×prod-diff_binary64
231×log1p-udef_binary64
149×egg-rr
129×add-sqr-sqrt_binary64
125×log1p-expm1-u_binary64
Counts
3 → 149
Calls

3 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01348
130948
2374148
3493948
000
100

simplify108.0ms (0.5%)

Algorithm
egg-herbie
Rules
1107×rules-42_binary64
1104×rules-40_binary64
746×rules-41_binary64
746×rules-43_binary64
533×rules-20_binary64
Counts
281 → 155
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0252112
11272112
24872112
322632112
437892112
5212112

prune697.0ms (3.4%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New20010210
Fresh81826
Picked101
Done000
Total20928237
Error
15.1b
Counts
237 → 28
Alt Table
StatusErrorProgram
24.6b
(/.f64 (/.f64 (/.f64 (*.f64 (*.f64 (pow.f64 (*.f64 D M) 2) 1/4) h) (pow.f64 (cbrt.f64 d) 2)) (cbrt.f64 d)) d)
42.0b
(*.f64 (/.f64 (*.f64 (*.f64 D M) 1/2) (sqrt.f64 (/.f64 d h))) (/.f64 (/.f64 (*.f64 (*.f64 D M) 1/2) (sqrt.f64 (/.f64 d h))) d))
24.7b
(/.f64 (/.f64 (*.f64 h (*.f64 (expm1.f64 (log1p.f64 (pow.f64 (*.f64 D M) 2))) 1/4)) d) d)
21.2b
(/.f64 (+.f64 (fma.f64 (*.f64 (*.f64 D M) 1/2) (/.f64 (*.f64 (*.f64 D M) 1/2) (/.f64 d h)) (neg.f64 (*.f64 0 h))) (fma.f64 0 h (*.f64 0 h))) d)
23.5b
(/.f64 (/.f64 (+.f64 (fma.f64 (*.f64 (*.f64 D M) 1/2) (*.f64 (*.f64 (*.f64 D M) 1/2) h) (neg.f64 (*.f64 0 h))) (fma.f64 0 h (*.f64 0 h))) d) d)
42.2b
(*.f64 1/4 (exp.f64 (log.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))))
42.2b
(pow.f64 (/.f64 (*.f64 (sqrt.f64 h) (*.f64 (*.f64 D M) 1/2)) d) 2)
42.0b
(*.f64 1/4 (expm1.f64 (log1p.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (cbrt.f64 (pow.f64 (fma.f64 c0 (/.f64 (*.f64 d d) (*.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)))) 3)))
43.9b
(*.f64 1/4 (cbrt.f64 (pow.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2) 3)))
28.1b
(/.f64 (pow.f64 (pow.f64 (/.f64 (*.f64 h (*.f64 (pow.f64 (*.f64 D M) 2) 1/4)) d) 3) 1/3) d)
34.9b
(*.f64 1/4 (/.f64 (+.f64 (fma.f64 (cbrt.f64 (*.f64 (*.f64 M M) h)) (*.f64 (*.f64 D D) (pow.f64 (cbrt.f64 (*.f64 (*.f64 M M) h)) 2)) (neg.f64 (*.f64 0 (*.f64 D D)))) (fma.f64 0 (*.f64 D D) (*.f64 0 (*.f64 D D)))) (pow.f64 d 2)))
24.1b
(/.f64 (*.f64 h (/.f64 (*.f64 (*.f64 D (*.f64 (*.f64 D M) M)) 1/4) d)) d)
26.4b
(cbrt.f64 (pow.f64 (/.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 D M) 2) 1/4) d) h) d) 3))
24.9b
(/.f64 (expm1.f64 (log1p.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 D M) 2) 1/4) d) h))) d)
44.7b
(*.f64 1/4 (*.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) (*.f64 d d))))
58.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
23.4b
(/.f64 (+.f64 (fma.f64 (cbrt.f64 h) (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 D M) 2) 1/4) d) (pow.f64 (cbrt.f64 h) 2)) (neg.f64 (*.f64 0 h))) (fma.f64 0 h (*.f64 0 h))) d)
31.1b
(/.f64 (*.f64 h (exp.f64 (log.f64 (/.f64 (*.f64 (pow.f64 (*.f64 D M) 2) 1/4) d)))) d)
42.6b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (exp.f64 (log.f64 (*.f64 (*.f64 M M) h)))) (pow.f64 d 2)))
20.7b
(/.f64 (*.f64 h (*.f64 (*.f64 (*.f64 D M) 1/2) (/.f64 (*.f64 (*.f64 D M) 1/2) d))) d)
58.4b
(*.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))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) 3)) (*.f64 M M)))))
59.6b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 c0 (/.f64 (*.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))) M) (fma.f64 c0 (/.f64 (*.f64 d d) (*.f64 (*.f64 w h) (*.f64 D D))) M)))))
24.5b
(*.f64 (/.f64 (*.f64 h (*.f64 (pow.f64 (*.f64 D M) 2) 1/4)) d) (/.f64 1 d))
59.1b
(/.f64 (*.f64 (pow.f64 d 2) (pow.f64 c0 2)) (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 w 2) h)))
44.1b
(pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2) 1/4) 3) 1/3)
53.1b
(pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 D M) 1/2) (sqrt.f64 (/.f64 d h))) (sqrt.f64 d)) 2)
34.1b
(*.f64 1/4 (/.f64 (log.f64 (pow.f64 (exp.f64 h) (pow.f64 (*.f64 D M) 2))) (pow.f64 d 2)))
Compiler

Compiled 5819 to 3413 computations (41.3% saved)

regimes3.2s (15.4%)

Accuracy

Total 6.0b remaining (29.6%)

Threshold costs 0b (0%)

Counts
236 → 2
Compiler

Compiled 75796 to 49760 computations (34.4% saved)

bsearch12.0ms (0.1%)

Compiler

Compiled 58 to 21 computations (63.8% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033186
133186

end374.0ms (1.8%)

Compiler

Compiled 1045 to 592 computations (43.3% saved)

Profiling

Loading profile data...