Details

Time bar (total: 19.7s)

analyze2.6s (13.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)

sample294.0ms (1.5%)

Algorithm
intervals
Results
44.0ms392×body128nan
41.0ms67×body4096valid
23.0ms44×body2048valid
22.0ms29×body8192valid
16.0ms139×body128invalid
13.0ms24×body1024valid
7.0ms72×body128valid
4.0ms12×body512valid
2.0msbody256valid
1.0msbody1024invalid
1.0msbody512invalid
0.0msbody2048invalid
Compiler

Compiled 123 to 49 computations (60.2% saved)

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

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
58.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
58.5b
(*.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)))))
61.6b
(*.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)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
11.8b
(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.1b
(*.f64 (*.f64 w h) (*.f64 D D))
15.6b
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
30.0b
(+.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))))

series806.0ms (4.1%)

Counts
4 → 240
Calls

4 calls:

319.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))))
277.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)))
189.0ms
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
21.0ms
(*.f64 (*.f64 w h) (*.f64 D D))

rewrite96.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
85×add-cbrt-cube_binary64
85×add-exp-log_binary64
47×cbrt-unprod_binary64
47×prod-exp_binary64
17×pow1_binary64
Counts
4 → 108
Calls

4 calls:

37.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))))
27.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)))
13.0ms
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
5.0ms
(*.f64 (*.f64 w h) (*.f64 D D))

simplify308.0ms (1.6%)

Algorithm
egg-herbie
Rules
845×times-frac_binary64
433×fma-neg_binary64
365×associate-/l*_binary64
362×associate-/r*_binary64
140×associate-*l/_binary64
Counts
348 → 233
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037915401
1106614410
2478214410
3513114410

prune1.0s (5.1%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New40611417
Fresh101
Picked101
Done000
Total40811419
Error
32.2b
Counts
419 → 11
Alt Table
StatusErrorProgram
58.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 (sqrt.f64 (+.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))))) (sqrt.f64 (+.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)))))))
58.9b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 w (*.f64 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)) (*.f64 (*.f64 (cbrt.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (pow.f64 d 4) (pow.f64 D 4)) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M))))) (cbrt.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (pow.f64 d 4) (pow.f64 D 4)) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M)))))) (cbrt.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (pow.f64 d 4) (pow.f64 D 4)) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M)))))))
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)))))
37.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))))
59.7b
(*.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 (*.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)))))
58.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 1 (/.f64 (*.f64 (*.f64 w h) (*.f64 D D)) (*.f64 c0 (*.f64 d d))))) (*.f64 M M)))))
61.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (/.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 (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))) (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))))) (-.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))))))
48.3b
(*.f64 (/.f64 c0 (*.f64 2 w)) (sqrt.f64 (neg.f64 (pow.f64 M 2))))
58.4b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))) (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D 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)))))
59.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (cbrt.f64 (*.f64 (*.f64 (+.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)))) (+.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))))) (+.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 28591 to 6569 computations (77% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.1b
(*.f64 (pow.f64 d 2) c0)
9.5b
(*.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))))
15.0b
(*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))
16.1b
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))

series645.0ms (3.3%)

Counts
4 → 144
Calls

4 calls:

309.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))
268.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))))
59.0ms
(*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))
8.0ms
(*.f64 (pow.f64 d 2) c0)

rewrite228.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
1737×add-exp-log_binary64
1266×prod-exp_binary64
388×div-exp_binary64
236×add-cbrt-cube_binary64
201×pow-exp_binary64
Counts
4 → 404
Calls

4 calls:

21.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))))
12.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))
7.0ms
(*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))
6.0ms
(*.f64 (pow.f64 d 2) c0)

simplify322.0ms (1.6%)

Algorithm
egg-herbie
Rules
680×associate-/l/_binary64
596×times-frac_binary64
518×associate-*r*_binary64
429×associate-*l*_binary64
313×associate-*r/_binary64
Counts
548 → 317
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
039818958
175215353
2329215353
3506515353

prune895.0ms (4.5%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New30512317
Fresh2810
Picked101
Done000
Total30820328
Error
25.5b
Counts
328 → 20
Alt Table
StatusErrorProgram
61.3b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (log.f64 (*.f64 w (*.f64 h (pow.f64 M 2))))) (+.f64 (*.f64 (log.f64 d) 2) (log.f64 c0))))))
58.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 1 (/.f64 (*.f64 (*.f64 w h) (*.f64 D D)) (*.f64 c0 (*.f64 d d))))) (*.f64 M M)))))
58.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 (sqrt.f64 (+.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))))) (sqrt.f64 (+.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)))))))
58.9b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 w (*.f64 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)) (*.f64 (*.f64 (cbrt.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (pow.f64 d 4) (pow.f64 D 4)) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M))))) (cbrt.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (pow.f64 d 4) (pow.f64 D 4)) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M)))))) (cbrt.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (pow.f64 d 4) (pow.f64 D 4)) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M)))))))
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)))))
62.1b
(exp.f64 (+.f64 (log.f64 (/.f64 c0 (*.f64 2 w))) (+.f64 (log.f64 1/2) (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (log.f64 (*.f64 w (*.f64 h (pow.f64 M 2))))) (+.f64 (*.f64 (log.f64 d) 2) (log.f64 c0))))))
48.3b
(*.f64 (/.f64 c0 (*.f64 2 w)) (sqrt.f64 (neg.f64 (pow.f64 M 2))))
32.1b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
38.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (*.f64 (pow.f64 D 2) w) (*.f64 h (pow.f64 M 2))) (*.f64 (pow.f64 d 2) c0))))
58.4b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))) (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D 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)))))
60.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (exp.f64 (+.f64 (*.f64 (log.f64 D) 2) (+.f64 (log.f64 w) (+.f64 (log.f64 h) (*.f64 (log.f64 M) 2))))) (*.f64 (pow.f64 d 2) c0))))
59.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (cbrt.f64 (*.f64 (*.f64 (+.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)))) (+.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))))) (+.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)))))))
43.3b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (exp.f64 (+.f64 (log.f64 (pow.f64 D 2)) (log.f64 (*.f64 w (*.f64 h (pow.f64 M 2)))))) (*.f64 (pow.f64 d 2) c0))))
37.6b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 d 2)) (/.f64 (*.f64 w (*.f64 h (pow.f64 M 2))) c0))))
36.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 D (*.f64 D (*.f64 w (*.f64 h (pow.f64 M 2))))) (*.f64 (pow.f64 d 2) c0))))
38.0b
(log.f64 (pow.f64 (exp.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 w (*.f64 (*.f64 M M) h))) (*.f64 (*.f64 d d) c0))) (*.f64 (/.f64 c0 w) 1/4)))
40.9b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))) (sqrt.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))))) (*.f64 (pow.f64 d 2) c0))))
61.7b
(exp.f64 (+.f64 (-.f64 (log.f64 c0) (log.f64 (*.f64 2 w))) (+.f64 (log.f64 1/2) (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (log.f64 (*.f64 w (*.f64 h (pow.f64 M 2))))) (log.f64 (*.f64 (pow.f64 d 2) c0))))))
61.8b
(exp.f64 (+.f64 (-.f64 (log.f64 c0) (log.f64 (*.f64 2 w))) (+.f64 (log.f64 1/2) (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (+.f64 (log.f64 w) (log.f64 (*.f64 h (pow.f64 M 2))))) (+.f64 (*.f64 (log.f64 d) 2) (log.f64 c0))))))
Compiler

Compiled 13800 to 8211 computations (40.5% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
6.7b
(*.f64 (pow.f64 M 2) h)
13.8b
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))
15.7b
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))

series166.0ms (0.8%)

Counts
3 → 40
Calls

3 calls:

125.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))
31.0ms
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))
10.0ms
(*.f64 (pow.f64 M 2) h)

rewrite29.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
141×add-exp-log_binary64
87×prod-exp_binary64
42×pow-exp_binary64
42×pow-to-exp_binary64
39×div-exp_binary64
Counts
3 → 133
Calls

3 calls:

8.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))
6.0ms
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))
4.0ms
(*.f64 (pow.f64 M 2) h)

simplify215.0ms (1.1%)

Algorithm
egg-herbie
Rules
468×associate-*l/_binary64
391×associate-/l/_binary64
373×*-commutative_binary64
370×associate-*r/_binary64
310×fma-def_binary64
Counts
173 → 160
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01643095
13322730
213612677
341282571
449132571
550862571

prune573.0ms (2.9%)

Pruning

29 alts after pruning (29 fresh and 0 done)

PrunedKeptTotal
New14317160
Fresh71219
Picked101
Done000
Total15129180
Error
20.1b
Counts
180 → 29
Alt Table
StatusErrorProgram
32.4b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 h (*.f64 M M)) (/.f64 (*.f64 D D) (*.f64 (cbrt.f64 (*.f64 d d)) (cbrt.f64 (*.f64 d d))))) (cbrt.f64 (pow.f64 d 2))))
54.9b
(*.f64 1/4 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (+.f64 (log.f64 (pow.f64 M 2)) (log.f64 h))) (log.f64 (pow.f64 d 2)))))
57.5b
(*.f64 1/4 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (fma.f64 (log.f64 d) -2 (log.f64 h)))))
50.4b
(*.f64 1/4 (/.f64 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 h))) (pow.f64 d 2)))
61.3b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (log.f64 (*.f64 w (*.f64 h (pow.f64 M 2))))) (+.f64 (*.f64 (log.f64 d) 2) (log.f64 c0))))))
58.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 1 (/.f64 (*.f64 (*.f64 w h) (*.f64 D D)) (*.f64 c0 (*.f64 d d))))) (*.f64 M M)))))
30.6b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 M (*.f64 M h))) (pow.f64 d 2)))
58.1b
(*.f64 1/4 (/.f64 (exp.f64 (+.f64 (*.f64 (log.f64 D) 2) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h)))) (pow.f64 d 2)))
46.5b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (*.f64 M (sqrt.f64 h)) (*.f64 M (sqrt.f64 h)))) (pow.f64 d 2)))
33.3b
(*.f64 1/4 (/.f64 (expm1.f64 (log1p.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)))) (pow.f64 d 2)))
30.5b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) d) (/.f64 (*.f64 h (*.f64 M M)) d)))
36.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 D (*.f64 D (*.f64 w (*.f64 h (pow.f64 M 2))))) (*.f64 (pow.f64 d 2) c0))))
58.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 (sqrt.f64 (+.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))))) (sqrt.f64 (+.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)))))))
57.8b
(*.f64 1/4 (exp.f64 (-.f64 (+.f64 (log.f64 (pow.f64 D 2)) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h))) (*.f64 (log.f64 d) 2))))
58.9b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 w (*.f64 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)))))
57.9b
(*.f64 1/4 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h))) (log.f64 (pow.f64 d 2)))))
30.4b
(*.f64 1/4 (/.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) d) d))
62.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 (*.f64 (cbrt.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (pow.f64 d 4) (pow.f64 D 4)) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M))))) (cbrt.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (pow.f64 d 4) (pow.f64 D 4)) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M)))))) (cbrt.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (pow.f64 d 4) (pow.f64 D 4)) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M)))))))
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)))))
32.2b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 M 2) h)) (cbrt.f64 (*.f64 (pow.f64 M 2) h))) (cbrt.f64 (*.f64 (pow.f64 M 2) h)))) (pow.f64 d 2)))
53.4b
(*.f64 1/4 (exp.f64 (-.f64 (+.f64 (log.f64 (pow.f64 D 2)) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h))) (log.f64 (pow.f64 d 2)))))
31.0b
(*.f64 1/4 (/.f64 (*.f64 D (*.f64 D (*.f64 (pow.f64 M 2) h))) (pow.f64 d 2)))
31.9b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) h) (pow.f64 d 2)))
56.5b
(*.f64 1/4 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (log.f64 (*.f64 (pow.f64 M 2) h))) (*.f64 (log.f64 d) 2))))
38.0b
(log.f64 (pow.f64 (exp.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 w (*.f64 (*.f64 M M) h))) (*.f64 (*.f64 d d) c0))) (*.f64 (/.f64 c0 w) 1/4)))
38.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (*.f64 (pow.f64 D 2) w) (*.f64 h (pow.f64 M 2))) (*.f64 (pow.f64 d 2) c0))))
58.4b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))) (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D 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)))))
59.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (cbrt.f64 (*.f64 (*.f64 (+.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)))) (+.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))))) (+.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)))))))
61.7b
(exp.f64 (+.f64 (-.f64 (log.f64 c0) (log.f64 (*.f64 2 w))) (+.f64 (log.f64 1/2) (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (log.f64 (*.f64 w (*.f64 h (pow.f64 M 2))))) (log.f64 (*.f64 (pow.f64 d 2) c0))))))
Compiler

Compiled 5732 to 3355 computations (41.5% saved)

localize60.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.4b
(/.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) d) d)
6.3b
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) d)
6.7b
(*.f64 (pow.f64 M 2) h)
13.8b
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))

series196.0ms (1%)

Counts
2 → 72
Calls

2 calls:

130.0ms
(/.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) d) d)
65.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) d)

rewrite25.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
97×add-exp-log_binary64
42×prod-exp_binary64
40×div-exp_binary64
36×times-frac_binary64
25×add-cbrt-cube_binary64
Counts
2 → 97
Calls

2 calls:

8.0ms
(/.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) d) d)
7.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) d)

simplify130.0ms (0.7%)

Algorithm
egg-herbie
Rules
675×associate-*l/_binary64
526×associate-*r/_binary64
515×associate-/r/_binary64
350×*-commutative_binary64
221×fma-def_binary64
Counts
169 → 139
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01563824
13503490
213473478
339553379
448543379
549713379

prune500.0ms (2.5%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New21910229
Fresh101828
Picked101
Done000
Total23028258
Error
17.6b
Counts
258 → 28
Alt Table
StatusErrorProgram
30.6b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 M (*.f64 M h))) (pow.f64 d 2)))
58.1b
(*.f64 1/4 (/.f64 (exp.f64 (+.f64 (*.f64 (log.f64 D) 2) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h)))) (pow.f64 d 2)))
36.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 D (*.f64 D (*.f64 w (*.f64 h (pow.f64 M 2))))) (*.f64 (pow.f64 d 2) c0))))
35.5b
(*.f64 1/4 (/.f64 (/.f64 (*.f64 (pow.f64 D 2) (cbrt.f64 (pow.f64 (*.f64 h (*.f64 M M)) 3))) d) d))
46.5b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (*.f64 M (sqrt.f64 h)) (*.f64 M (sqrt.f64 h)))) (pow.f64 d 2)))
30.5b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) d) (/.f64 (*.f64 h (*.f64 M M)) d)))
58.9b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 w (*.f64 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)))))
28.3b
(*.f64 1/4 (/.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 M (*.f64 h M))) d) d))
58.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 (sqrt.f64 (+.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))))) (sqrt.f64 (+.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)))))))
57.8b
(*.f64 1/4 (exp.f64 (-.f64 (+.f64 (log.f64 (pow.f64 D 2)) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h))) (*.f64 (log.f64 d) 2))))
57.9b
(*.f64 1/4 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h))) (log.f64 (pow.f64 d 2)))))
62.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 (*.f64 (cbrt.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (pow.f64 d 4) (pow.f64 D 4)) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M))))) (cbrt.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (pow.f64 d 4) (pow.f64 D 4)) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M)))))) (cbrt.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (*.f64 (/.f64 (pow.f64 d 4) (pow.f64 D 4)) (*.f64 (/.f64 c0 (*.f64 w h)) (/.f64 c0 (*.f64 w h)))) (*.f64 M M)))))))
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)))))
53.4b
(*.f64 1/4 (exp.f64 (-.f64 (+.f64 (log.f64 (pow.f64 D 2)) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h))) (log.f64 (pow.f64 d 2)))))
49.2b
(*.f64 1/4 (/.f64 (/.f64 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 h))) d) d))
58.4b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D D))) (cbrt.f64 (*.f64 (*.f64 w h) (*.f64 D 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)))))
29.1b
(*.f64 1/4 (/.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 D) (cbrt.f64 D)) 2) (*.f64 (*.f64 h (*.f64 M M)) (pow.f64 (cbrt.f64 D) 2))) d) d))
59.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (cbrt.f64 (*.f64 (*.f64 (+.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)))) (+.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))))) (+.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)))))))
29.1b
(*.f64 1/4 (*.f64 (*.f64 (/.f64 D (*.f64 d (cbrt.f64 d))) D) (/.f64 (*.f64 h (*.f64 M M)) (*.f64 (cbrt.f64 d) (cbrt.f64 d)))))
28.7b
(*.f64 1/4 (/.f64 (/.f64 (*.f64 D (*.f64 D (*.f64 h (*.f64 M M)))) d) d))
30.9b
(*.f64 1/4 (/.f64 (/.f64 (pow.f64 D 2) 1) (*.f64 d (/.f64 d (*.f64 h (*.f64 M M))))))
54.9b
(*.f64 1/4 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (+.f64 (log.f64 (pow.f64 M 2)) (log.f64 h))) (log.f64 (pow.f64 d 2)))))
49.7b
(*.f64 1/4 (/.f64 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 (/.f64 h d)))) d))
58.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 1 (/.f64 (*.f64 (*.f64 w h) (*.f64 D D)) (*.f64 c0 (*.f64 d d))))) (*.f64 M M)))))
38.0b
(log.f64 (pow.f64 (exp.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 w (*.f64 (*.f64 M M) h))) (*.f64 (*.f64 d d) c0))) (*.f64 (/.f64 c0 w) 1/4)))
57.5b
(*.f64 1/4 (exp.f64 (fma.f64 (log.f64 d) -2 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 h)))))
61.7b
(exp.f64 (+.f64 (-.f64 (log.f64 c0) (log.f64 (*.f64 2 w))) (+.f64 (log.f64 1/2) (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (log.f64 (*.f64 w (*.f64 h (pow.f64 M 2))))) (log.f64 (*.f64 (pow.f64 d 2) c0))))))
30.1b
(*.f64 1/4 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 D D) (*.f64 M M)) h) d) d))
Compiler

Compiled 6280 to 3315 computations (47.2% saved)

regimes2.8s (14.3%)

Accuracy

Total 11.0b remaining (36.3%)

Threshold costs 0b (0%)

Counts
171 → 3
Compiler

Compiled 78049 to 43106 computations (44.8% saved)

bsearch23.0ms (0.1%)

Compiler

Compiled 58 to 21 computations (63.8% saved)

simplify8.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
041268
161268
267268
371268
473268
573268

end1.0ms (0%)

Compiler

Compiled 184 to 48 computations (73.9% saved)

sample7.7s (38.9%)

Algorithm
intervals
Results
1.6s2145×body4096valid
1.4s12382×body128nan
951.0ms1082×body8192valid
696.0ms1285×body2048valid
459.0ms4200×body128invalid
289.0ms625×body1024valid
269.0ms2397×body128valid
119.0ms306×body512valid
37.0ms160×body256valid
30.0ms53×body2048invalid
21.0ms53×body1024invalid
14.0ms47×body512invalid
9.0ms15×body4096invalid
4.0msbody8192exit
3.0ms16×body256invalid
Compiler

Compiled 1386 to 657 computations (52.6% saved)

Profiling

Loading profile data...