Details

Time bar (total: 20.1s)

analyze2.7s (13.5%)

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 (46.3%)

Results
3.3s16342×body128invalid
2.1s2167×body4096valid
1.5s1253×body8192valid
1.1s1287×body2048valid
481.0ms2454×body128valid
388.0ms600×body1024valid
156.0ms340×body512valid
49.0ms155×body256valid
47.0ms58×body2048invalid
26.0ms45×body1024invalid
19.0ms38×body512invalid
6.0msbody8192exit
6.0msbody4096invalid
4.0ms12×body256invalid
Compiler

Compiled 176 to 65 computations (63.1% saved)

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

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
57.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
60.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)))))
58.3b
(*.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)))))
Compiler

Compiled 321 to 130 computations (59.5% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
12.2b
(*.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)))))
13.6b
(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)))
19.4b
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
27.5b
(+.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.3s (6.5%)

Counts
4 → 276
Calls

4 calls:

446.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)))))
334.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))))
301.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)))
224.0ms
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))

rewrite50.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
251×add-sqr-sqrt_binary64
240×log1p-expm1-u_binary64
240×expm1-log1p-u_binary64
236×add-log-exp_binary64
235×add-cube-cbrt_binary64
Counts
4 → 85
Calls

4 calls:

46.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)))))
46.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)))
46.0ms
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
46.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
022160
1501156
25088156
000
100

simplify311.0ms (1.5%)

Algorithm
egg-herbie
Rules
476×associate-*r*_binary64
441×times-frac_binary64
329×associate-*l*_binary64
303×fma-neg_binary64
298×associate-/r*_binary64
Counts
361 → 211
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
030715852
196615734
2485715734
3508515734

prune358.0ms (1.8%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2449253
Fresh011
Picked101
Done000
Total24510255
Error
28.8b
Counts
255 → 10
Alt Table
StatusErrorProgram
60.3b
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.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))) 3))
61.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (/.f64 (*.f64 d d) (*.f64 D D)) (/.f64 c0 (*.f64 w h)) (sqrt.f64 (neg.f64 (*.f64 M M)))))
60.5b
(/.f64 (*.f64 (*.f64 d d) (*.f64 c0 c0)) (*.f64 (*.f64 D D) (*.f64 w (*.f64 w h))))
45.9b
(*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (pow.f64 M 2))) c0) w))
60.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)))))
42.6b
(*.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.9b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
59.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (pow.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) 2) (*.f64 M M)))) 3)))
58.1b
(log.f64 (pow.f64 (exp.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.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))))
34.4b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
Compiler

Compiled 14524 to 6032 computations (58.5% saved)

localize9.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
8.0b
(*.f64 (pow.f64 M 2) h)
13.0b
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))
15.5b
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))

series146.0ms (0.7%)

Counts
3 → 40
Calls

3 calls:

109.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)

rewrite65.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
644×log-prod_binary64
208×expm1-udef_binary64
208×log1p-udef_binary64
197×log-pow_binary64
119×add-sqr-sqrt_binary64
Counts
3 → 88
Calls

3 calls:

63.0ms
(*.f64 (pow.f64 M 2) h)
63.0ms
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))
63.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01239
125132
2289832
3510132
000
100

simplify111.0ms (0.6%)

Algorithm
egg-herbie
Rules
1383×associate-/r/_binary64
563×unswap-sqr_binary64
511×times-frac_binary64
359×associate-/l*_binary64
214×associate-*l*_binary64
Counts
128 → 94
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012544
129544
280544
3346544
42365544
52719544
63302544
73346544
83458544
93600544
105305544

prune191.0ms (0.9%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New791594
Fresh279
Picked101
Done000
Total8222104
Error
15.0b
Counts
104 → 22
Alt Table
StatusErrorProgram
40.0b
(*.f64 1/4 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2)) 3))
60.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)))))
34.5b
(*.f64 1/4 (*.f64 (*.f64 (*.f64 M M) h) (*.f64 (*.f64 D D) (pow.f64 d -2))))
48.6b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) (cbrt.f64 (pow.f64 d 4))) (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) (pow.f64 (cbrt.f64 d) 2))))
49.2b
(*.f64 1/4 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))) (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))))))
42.6b
(*.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))))
30.5b
(*.f64 1/4 (/.f64 (expm1.f64 (log1p.f64 (*.f64 h (pow.f64 (*.f64 D M) 2)))) (pow.f64 d 2)))
24.3b
(*.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)))
58.9b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
33.2b
(*.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))))
60.3b
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.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))) 3))
61.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (/.f64 (*.f64 d d) (*.f64 D D)) (/.f64 c0 (*.f64 w h)) (sqrt.f64 (neg.f64 (*.f64 M M)))))
36.8b
(*.f64 1/4 (/.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 h (pow.f64 (*.f64 D M) 2))))) (pow.f64 d 2)))
24.2b
(*.f64 1/4 (*.f64 (/.f64 1 d) (/.f64 (*.f64 h (pow.f64 (*.f64 D M) 2)) d)))
59.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (pow.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) 2) (*.f64 M M)))) 3)))
28.6b
(*.f64 1/4 (/.f64 (pow.f64 (cbrt.f64 (*.f64 h (pow.f64 (*.f64 D M) 2))) 3) (pow.f64 d 2)))
29.1b
(*.f64 1/4 (*.f64 (pow.f64 (*.f64 D M) 2) (*.f64 h (pow.f64 d -2))))
60.5b
(/.f64 (*.f64 (*.f64 d d) (*.f64 c0 c0)) (*.f64 (*.f64 D D) (*.f64 w (*.f64 w h))))
22.9b
(*.f64 1/4 (pow.f64 (*.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)) (/.f64 d h)) -1))
23.0b
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d)))
39.9b
(*.f64 1/4 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))
30.7b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) d) (/.f64 (*.f64 (*.f64 M M) h) d)))
Compiler

Compiled 2947 to 1752 computations (40.5% saved)

localize10.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (*.f64 D M) 2)
0.3b
(pow.f64 (*.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)) (/.f64 d h)) -1)
4.9b
(/.f64 d (pow.f64 (*.f64 D M) 2))
6.5b
(*.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)) (/.f64 d h))

series678.0ms (3.4%)

Counts
4 → 156
Calls

4 calls:

378.0ms
(pow.f64 (*.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)) (/.f64 d h)) -1)
169.0ms
(*.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)) (/.f64 d h))
123.0ms
(/.f64 d (pow.f64 (*.f64 D M) 2))
8.0ms
(pow.f64 (*.f64 D M) 2)

rewrite112.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
454×prod-diff_binary64
238×expm1-udef_binary64
238×log1p-udef_binary64
220×log-pow_binary64
177×log-div_binary64
Counts
4 → 145
Calls

4 calls:

109.0ms
(pow.f64 (*.f64 D M) 2)
109.0ms
(pow.f64 (*.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)) (/.f64 d h)) -1)
109.0ms
(/.f64 d (pow.f64 (*.f64 D M) 2))
109.0ms
(*.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)) (/.f64 d h))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01352
128349
2348449
3499049
4588449
000
100

simplify253.0ms (1.3%)

Algorithm
egg-herbie
Rules
561×associate-/r*_binary64
560×associate-/l*_binary64
407×associate-*l*_binary64
389×sqr-pow_binary64
307×associate-*r*_binary64
Counts
301 → 154
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0192532
1382532
21262532
35992532
433412532
538822532
638602532
739962532
841592532
943262532
1044742532
1146342532
1248732532
1349092532
1449092532

prune439.0ms (2.2%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New13816154
Fresh91221
Picked101
Done000
Total14828176
Error
13.6b
Counts
176 → 28
Alt Table
StatusErrorProgram
24.7b
(*.f64 1/4 (pow.f64 (/.f64 (*.f64 d (/.f64 d (pow.f64 (*.f64 D M) 2))) h) -1))
23.7b
(*.f64 1/4 (pow.f64 (*.f64 (/.f64 d (*.f64 D (*.f64 M (*.f64 D M)))) (/.f64 d h)) -1))
60.5b
(/.f64 (*.f64 (*.f64 d d) (*.f64 c0 c0)) (*.f64 (*.f64 D D) (*.f64 w (*.f64 w h))))
30.7b
(*.f64 1/4 (pow.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)) 3) 1/3) (/.f64 d h)) -1))
22.4b
(*.f64 1/4 (pow.f64 (/.f64 d (/.f64 (pow.f64 (*.f64 D M) 2) (/.f64 d h))) -1))
20.2b
(*.f64 1/4 (pow.f64 (*.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 d) 2) (*.f64 D M)) (/.f64 (cbrt.f64 d) (*.f64 D M))) (/.f64 d h)) -1))
40.0b
(*.f64 1/4 (pow.f64 (*.f64 (/.f64 d (exp.f64 (*.f64 2 (log.f64 (*.f64 D M))))) (/.f64 d h)) -1))
60.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)))))
34.5b
(*.f64 1/4 (*.f64 (*.f64 (*.f64 M M) h) (*.f64 (*.f64 D D) (pow.f64 d -2))))
20.0b
(*.f64 1/4 (pow.f64 (*.f64 (*.f64 (/.f64 1 (*.f64 D M)) (/.f64 d (*.f64 D M))) (/.f64 d h)) -1))
23.2b
(*.f64 1/4 (pow.f64 (*.f64 (/.f64 d (expm1.f64 (log1p.f64 (pow.f64 (*.f64 D M) 2)))) (/.f64 d h)) -1))
48.6b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) (cbrt.f64 (pow.f64 d 4))) (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) (pow.f64 (cbrt.f64 d) 2))))
49.2b
(*.f64 1/4 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))) (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))))))
42.6b
(*.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))))
24.3b
(*.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)))
58.9b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
60.3b
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.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))) 3))
61.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (/.f64 (*.f64 d d) (*.f64 D D)) (/.f64 c0 (*.f64 w h)) (sqrt.f64 (neg.f64 (*.f64 M M)))))
23.1b
(*.f64 1/4 (pow.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 d) 2) (*.f64 (cbrt.f64 d) (pow.f64 (*.f64 D M) -2))) (/.f64 d h)) -1))
59.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (pow.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) 2) (*.f64 M M)))) 3)))
44.4b
(*.f64 1/4 (pow.f64 (*.f64 (-.f64 (exp.f64 (log1p.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)))) 1) (/.f64 d h)) -1))
27.7b
(*.f64 1/4 (exp.f64 (log.f64 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d)))))
32.1b
(*.f64 1/4 (log.f64 (pow.f64 (exp.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d)) (/.f64 h d))))
39.9b
(*.f64 1/4 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))
32.2b
(*.f64 1/4 (pow.f64 (*.f64 (log.f64 (exp.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)))) (/.f64 d h)) -1))
24.5b
(*.f64 1/4 (*.f64 (/.f64 1 (*.f64 d (/.f64 d (pow.f64 (*.f64 D M) 2)))) h))
32.7b
(*.f64 1/4 (pow.f64 (/.f64 (/.f64 (*.f64 d (/.f64 d h)) (*.f64 D D)) (*.f64 M M)) -1))
22.9b
(*.f64 1/4 (pow.f64 (/.f64 (/.f64 (*.f64 d (/.f64 d h)) (*.f64 D M)) (*.f64 D M)) -1))
Compiler

Compiled 4379 to 2609 computations (40.4% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 (*.f64 (/.f64 1 (*.f64 D M)) (/.f64 d (*.f64 D M))) (/.f64 d h)) -1)
0.3b
(/.f64 1 (*.f64 D M))
4.4b
(/.f64 d (*.f64 D M))
6.5b
(*.f64 (*.f64 (/.f64 1 (*.f64 D M)) (/.f64 d (*.f64 D M))) (/.f64 d h))

series777.0ms (3.9%)

Counts
4 → 96
Calls

4 calls:

542.0ms
(pow.f64 (*.f64 (*.f64 (/.f64 1 (*.f64 D M)) (/.f64 d (*.f64 D M))) (/.f64 d h)) -1)
183.0ms
(*.f64 (*.f64 (/.f64 1 (*.f64 D M)) (/.f64 d (*.f64 D M))) (/.f64 d h))
44.0ms
(/.f64 d (*.f64 D M))
8.0ms
(/.f64 1 (*.f64 D M))

rewrite164.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
253×expm1-udef_binary64
253×log1p-udef_binary64
147×egg-rr
147×add-sqr-sqrt_binary64
135×add-cbrt-cube_binary64
Counts
4 → 147
Calls

4 calls:

130.0ms
(pow.f64 (*.f64 (*.f64 (/.f64 1 (*.f64 D M)) (/.f64 d (*.f64 D M))) (/.f64 d h)) -1)
130.0ms
(/.f64 1 (*.f64 D M))
130.0ms
(/.f64 d (*.f64 D M))
130.0ms
(*.f64 (*.f64 (/.f64 1 (*.f64 D M)) (/.f64 d (*.f64 D M))) (/.f64 d h))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01455
130043
2395043
3497243
4493143
000
100

simplify217.0ms (1.1%)

Algorithm
egg-herbie
Rules
893×*-commutative_binary64
534×sqr-pow_binary64
516×associate-/l*_binary64
468×associate-/r*_binary64
329×associate-*l*_binary64
Counts
243 → 153
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0171824
1341824
21151824
35451824
429921824
533691824
633761824
734991824
836401824
937961824
1040701824
1142241824
1244501824
1347021824
1449911824
1548951824

prune537.0ms (2.7%)

Pruning

32 alts after pruning (32 fresh and 0 done)

PrunedKeptTotal
New14013153
Fresh81927
Picked101
Done000
Total14932181
Error
13.1b
Counts
181 → 32
Alt Table
StatusErrorProgram
50.5b
(*.f64 1/4 (pow.f64 (*.f64 (*.f64 (/.f64 1 (*.f64 D M)) (exp.f64 (fma.f64 -1 (log.f64 (*.f64 D M)) (log.f64 d)))) (/.f64 d h)) -1))
60.5b
(/.f64 (*.f64 (*.f64 d d) (*.f64 c0 c0)) (*.f64 (*.f64 D D) (*.f64 w (*.f64 w h))))
30.7b
(*.f64 1/4 (pow.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)) 3) 1/3) (/.f64 d h)) -1))
27.7b
(*.f64 1/4 (exp.f64 (log.f64 (*.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d) (/.f64 h d)))))
18.5b
(*.f64 1/4 (/.f64 (*.f64 D M) (*.f64 (/.f64 d (*.f64 D M)) (/.f64 d h))))
20.2b
(*.f64 1/4 (pow.f64 (*.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 d) 2) (*.f64 D M)) (/.f64 (cbrt.f64 d) (*.f64 D M))) (/.f64 d h)) -1))
20.5b
(*.f64 1/4 (pow.f64 (/.f64 (*.f64 (/.f64 d (*.f64 D M)) d) (*.f64 (*.f64 D M) h)) -1))
26.1b
(*.f64 1/4 (pow.f64 (*.f64 (*.f64 (/.f64 1 (*.f64 D M)) (*.f64 (cbrt.f64 (*.f64 d d)) (*.f64 (cbrt.f64 d) (/.f64 1 (*.f64 D M))))) (/.f64 d h)) -1))
60.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)))))
34.5b
(*.f64 1/4 (*.f64 (*.f64 (*.f64 M M) h) (*.f64 (*.f64 D D) (pow.f64 d -2))))
19.1b
(*.f64 1/4 (pow.f64 (/.f64 (/.f64 d (*.f64 D M)) (*.f64 (*.f64 D M) (/.f64 h d))) -1))
18.7b
(*.f64 1/4 (pow.f64 (/.f64 (*.f64 (/.f64 d (*.f64 D M)) (/.f64 d h)) (*.f64 D M)) -1))
23.2b
(*.f64 1/4 (pow.f64 (*.f64 (/.f64 d (expm1.f64 (log1p.f64 (pow.f64 (*.f64 D M) 2)))) (/.f64 d h)) -1))
49.2b
(*.f64 1/4 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))) (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))))))
24.0b
(*.f64 1/4 (pow.f64 (*.f64 (*.f64 (/.f64 1 (*.f64 D M)) (cbrt.f64 (pow.f64 (/.f64 d (*.f64 D M)) 3))) (/.f64 d h)) -1))
42.6b
(*.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))))
28.8b
(*.f64 1/4 (pow.f64 (*.f64 (*.f64 (/.f64 1 (*.f64 D M)) (pow.f64 (pow.f64 (/.f64 d (*.f64 D M)) 3) 1/3)) (/.f64 d h)) -1))
58.9b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
23.1b
(*.f64 1/4 (pow.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 d) 2) (*.f64 (cbrt.f64 d) (pow.f64 (*.f64 D M) -2))) (/.f64 d h)) -1))
18.5b
(*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (*.f64 D M)) -1) (pow.f64 (*.f64 (/.f64 d (*.f64 D M)) (/.f64 d h)) -1)))
20.2b
(*.f64 1/4 (pow.f64 (/.f64 (pow.f64 (/.f64 d (*.f64 D M)) 2) h) -1))
60.3b
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.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))) 3))
61.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (/.f64 (*.f64 d d) (*.f64 D D)) (/.f64 c0 (*.f64 w h)) (sqrt.f64 (neg.f64 (*.f64 M M)))))
59.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (pow.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) 2) (*.f64 M M)))) 3)))
44.4b
(*.f64 1/4 (pow.f64 (*.f64 (-.f64 (exp.f64 (log1p.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)))) 1) (/.f64 d h)) -1))
20.0b
(*.f64 1/4 (*.f64 (/.f64 1 (pow.f64 (/.f64 d (*.f64 D M)) 2)) h))
33.4b
(*.f64 1/4 (pow.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 1 (*.f64 D M)) 3) 1/3) (/.f64 d (*.f64 D M))) (/.f64 d h)) -1))
32.2b
(*.f64 1/4 (pow.f64 (*.f64 (log.f64 (exp.f64 (/.f64 d (pow.f64 (*.f64 D M) 2)))) (/.f64 d h)) -1))
34.5b
(*.f64 1/4 (pow.f64 (*.f64 (*.f64 (log.f64 (exp.f64 (/.f64 1 (*.f64 D M)))) (/.f64 d (*.f64 D M))) (/.f64 d h)) -1))
32.1b
(*.f64 1/4 (log.f64 (pow.f64 (exp.f64 (/.f64 (pow.f64 (*.f64 D M) 2) d)) (/.f64 h d))))
39.9b
(*.f64 1/4 (pow.f64 (/.f64 (*.f64 D (*.f64 M (sqrt.f64 h))) d) 2))
24.5b
(*.f64 1/4 (*.f64 (/.f64 1 (*.f64 d (/.f64 d (pow.f64 (*.f64 D M) 2)))) h))
Compiler

Compiled 4007 to 2172 computations (45.8% saved)

regimes1.8s (9%)

Accuracy

Total 6.4b remaining (32.8%)

Threshold costs 0b (0%)

Counts
153 → 3
Compiler

Compiled 46504 to 31017 computations (33.3% saved)

bsearch7.0ms (0%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03387
14287
24187

end436.0ms (2.2%)

Compiler

Compiled 1021 to 675 computations (33.9% saved)

Profiling

Loading profile data...