Details

Time bar (total: 17.4s)

analyze2.6s (15%)

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)

sample233.0ms (1.3%)

Algorithm
intervals
Results
71.0ms74×body4096valid
37.0ms391×body128nan
28.0ms35×body8192valid
16.0ms34×body2048valid
13.0ms133×body128invalid
8.0ms21×body1024valid
7.0ms76×body128valid
3.0ms11×body512valid
1.0msbody1024invalid
1.0msbody256valid
1.0msbody512invalid
1.0msbody4096invalid
0.0msbody2048invalid
Compiler

Compiled 123 to 49 computations (60.2% saved)

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

prune7.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
12.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)))
13.2b
(*.f64 (*.f64 w h) (*.f64 D D))
16.0b
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
29.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))))

series812.0ms (4.7%)

Counts
4 → 240
Calls

4 calls:

313.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))))
283.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)))
193.0ms
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
22.0ms
(*.f64 (*.f64 w h) (*.f64 D D))

rewrite94.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:

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

simplify263.0ms (1.5%)

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

prune615.0ms (3.5%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New4098417
Fresh011
Picked101
Done000
Total4109419
Error
36.2b
Counts
419 → 9
Alt Table
StatusErrorProgram
61.3b
(*.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)))))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (exp.f64 (log.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)))))))
60.0b
(*.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 1 (*.f64 (*.f64 w h) (*.f64 D D))))) (*.f64 M M)))))
52.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (sqrt.f64 (neg.f64 (pow.f64 M 2))))
61.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (neg.f64 (/.f64 (*.f64 (*.f64 d d) c0) (*.f64 (*.f64 D D) (*.f64 w h))))))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (*.f64 (sqrt.f64 (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) M)) (sqrt.f64 (-.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) M)))))
60.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 w (*.f64 (*.f64 M M) h))) (*.f64 (*.f64 d d) c0)) -1/2))))
43.6b
(*.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.2b
(*.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 27659 to 6425 computations (76.8% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
9.6b
(*.f64 (pow.f64 d 2) c0)
10.4b
(*.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))))
13.7b
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))
17.6b
(*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))

series599.0ms (3.4%)

Counts
4 → 144
Calls

4 calls:

281.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))
248.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))))
11.0ms
(*.f64 (pow.f64 d 2) c0)

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

simplify328.0ms (1.9%)

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

prune733.0ms (4.2%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New30413317
Fresh088
Picked101
Done000
Total30521326
Error
27.9b
Counts
326 → 21
Alt Table
StatusErrorProgram
59.3b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (exp.f64 (-.f64 (log.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2))))) (+.f64 (*.f64 (log.f64 d) 2) (log.f64 c0))))))
61.3b
(*.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)))))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (exp.f64 (log.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)))))))
59.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (exp.f64 (-.f64 (+.f64 (log.f64 (pow.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 1/2 (/.f64 (exp.f64 (+.f64 (log.f64 (pow.f64 D 2)) (+.f64 (log.f64 w) (+.f64 (log.f64 h) (log.f64 (pow.f64 M 2)))))) (*.f64 (pow.f64 d 2) c0))))
41.6b
(*.f64 (/.f64 (*.f64 (cbrt.f64 c0) (cbrt.f64 c0)) 2) (*.f64 (/.f64 (cbrt.f64 c0) w) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0)))))
62.8b
(*.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))))
60.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 w (*.f64 (*.f64 M M) h))) (*.f64 (*.f64 d d) c0)) -1/2))))
41.3b
(*.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))))
52.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (exp.f64 (log.f64 (*.f64 (*.f64 d d) c0))))))
59.2b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
60.4b
(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))))))
60.0b
(*.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 1 (*.f64 (*.f64 w h) (*.f64 D D))))) (*.f64 M M)))))
52.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (sqrt.f64 (neg.f64 (pow.f64 M 2))))
61.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (neg.f64 (/.f64 (*.f64 (*.f64 d d) c0) (*.f64 (*.f64 D D) (*.f64 w h))))))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (*.f64 (sqrt.f64 (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) M)) (sqrt.f64 (-.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) M)))))
37.5b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
43.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (expm1.f64 (log1p.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))))))
43.6b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (*.f64 (pow.f64 d 2) (*.f64 (cbrt.f64 c0) (cbrt.f64 c0))) (cbrt.f64 c0)))))
59.1b
(exp.f64 (+.f64 (-.f64 (log.f64 c0) (log.f64 (*.f64 2 w))) (+.f64 (log.f64 1/2) (-.f64 (+.f64 (log.f64 (pow.f64 D 2)) (+.f64 (log.f64 w) (log.f64 (*.f64 h (pow.f64 M 2))))) (+.f64 (log.f64 (pow.f64 d 2)) (log.f64 c0))))))
40.7b
(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)))
Compiler

Compiled 13358 to 8203 computations (38.6% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
6.5b
(*.f64 (pow.f64 M 2) h)
14.8b
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))
18.1b
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))

series166.0ms (1%)

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))
9.0ms
(*.f64 (pow.f64 M 2) h)

rewrite30.0ms (0.2%)

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)

simplify124.0ms (0.7%)

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

prune339.0ms (1.9%)

Pruning

23 alts after pruning (23 fresh and 0 done)

PrunedKeptTotal
New14713160
Fresh101020
Picked101
Done000
Total15823181
Error
21.8b
Counts
181 → 23
Alt Table
StatusErrorProgram
61.3b
(*.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)))))
57.4b
(*.f64 1/4 (/.f64 (exp.f64 (+.f64 (log.f64 (pow.f64 D 2)) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h)))) (pow.f64 d 2)))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (exp.f64 (log.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)))))))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (*.f64 (sqrt.f64 (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) M)) (sqrt.f64 (-.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) M)))))
56.9b
(*.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)))))
54.6b
(*.f64 1/4 (/.f64 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 h))) (pow.f64 d 2)))
43.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (expm1.f64 (log1p.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))))))
34.2b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 h (*.f64 M M)) (/.f64 (*.f64 D D) d)) d))
35.3b
(*.f64 1/4 (/.f64 (pow.f64 D 2) (/.f64 d (/.f64 (*.f64 h (*.f64 M M)) d))))
57.9b
(*.f64 1/4 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (fma.f64 (log.f64 d) -2 (log.f64 h)))))
41.3b
(*.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))))
52.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (exp.f64 (log.f64 (*.f64 (*.f64 d d) c0))))))
36.7b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) h) (pow.f64 d 2)))
49.0b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 (sqrt.f64 D) 2) (*.f64 (pow.f64 (sqrt.f64 D) 2) (*.f64 (pow.f64 M 2) h))) (pow.f64 d 2)))
60.0b
(*.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 1 (*.f64 (*.f64 w h) (*.f64 D D))))) (*.f64 M M)))))
36.5b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 M (*.f64 M h))) (pow.f64 d 2)))
60.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 w (*.f64 (*.f64 M M) h))) (*.f64 (*.f64 d d) c0)) -1/2))))
54.1b
(*.f64 1/4 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (log.f64 (*.f64 (pow.f64 M 2) h))) (log.f64 (pow.f64 d 2)))))
35.1b
(*.f64 1/4 (/.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) d) d))
59.1b
(exp.f64 (+.f64 (-.f64 (log.f64 c0) (log.f64 (*.f64 2 w))) (+.f64 (log.f64 1/2) (-.f64 (+.f64 (log.f64 (pow.f64 D 2)) (+.f64 (log.f64 w) (log.f64 (*.f64 h (pow.f64 M 2))))) (+.f64 (log.f64 (pow.f64 d 2)) (log.f64 c0))))))
37.5b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 D 2)) (cbrt.f64 (pow.f64 D 2))) (*.f64 (cbrt.f64 (pow.f64 D 2)) (*.f64 (pow.f64 M 2) h))) (pow.f64 d 2)))
34.7b
(*.f64 1/4 (/.f64 (*.f64 D (*.f64 D (*.f64 (pow.f64 M 2) h))) (pow.f64 d 2)))
40.7b
(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)))
Compiler

Compiled 4862 to 3048 computations (37.3% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.2b
(/.f64 (*.f64 (*.f64 h (*.f64 M M)) (/.f64 (*.f64 D D) d)) d)
6.5b
(*.f64 h (*.f64 M M))
8.2b
(/.f64 (*.f64 D D) d)
15.6b
(*.f64 (*.f64 h (*.f64 M M)) (/.f64 (*.f64 D D) d))

series217.0ms (1.2%)

Counts
4 → 144
Calls

4 calls:

131.0ms
(/.f64 (*.f64 (*.f64 h (*.f64 M M)) (/.f64 (*.f64 D D) d)) d)
65.0ms
(*.f64 (*.f64 h (*.f64 M M)) (/.f64 (*.f64 D D) d))
11.0ms
(/.f64 (*.f64 D D) d)
10.0ms
(*.f64 h (*.f64 M M))

rewrite41.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
97×add-cbrt-cube_binary64
97×add-exp-log_binary64
46×cbrt-unprod_binary64
46×prod-exp_binary64
24×cbrt-undiv_binary64
Counts
4 → 124
Calls

4 calls:

9.0ms
(/.f64 (*.f64 (*.f64 h (*.f64 M M)) (/.f64 (*.f64 D D) d)) d)
8.0ms
(*.f64 (*.f64 h (*.f64 M M)) (/.f64 (*.f64 D D) d))
6.0ms
(*.f64 h (*.f64 M M))
3.0ms
(/.f64 (*.f64 D D) d)

simplify155.0ms (0.9%)

Algorithm
egg-herbie
Rules
542×*-commutative_binary64
351×fma-def_binary64
241×fma-neg_binary64
224×unswap-sqr_binary64
219×associate-*l*_binary64
Counts
268 → 176
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01694803
13803954
217693954
331223917
446843896
549713896

prune320.0ms (1.8%)

Pruning

26 alts after pruning (26 fresh and 0 done)

PrunedKeptTotal
New16214176
Fresh101222
Picked101
Done000
Total17326199
Error
18.3b
Counts
199 → 26
Alt Table
StatusErrorProgram
61.3b
(*.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)))))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (exp.f64 (log.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)))))))
30.1b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 (*.f64 h (*.f64 M M)) (/.f64 D (*.f64 (cbrt.f64 d) (cbrt.f64 d)))) (/.f64 D (cbrt.f64 d))) d))
54.6b
(*.f64 1/4 (/.f64 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 h))) (pow.f64 d 2)))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (*.f64 (sqrt.f64 (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) M)) (sqrt.f64 (-.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) M)))))
32.5b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 h (*.f64 M M)) (/.f64 (*.f64 D (/.f64 D (*.f64 (cbrt.f64 d) (cbrt.f64 d)))) (cbrt.f64 d))) d))
56.9b
(*.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)))))
42.4b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 h (*.f64 M M)) (exp.f64 (log.f64 (/.f64 (*.f64 D D) d)))) d))
60.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (*.f64 (/.f64 (*.f64 (*.f64 D D) (*.f64 w (*.f64 (*.f64 M M) h))) (*.f64 (*.f64 d d) c0)) -1/2))))
30.4b
(*.f64 1/4 (*.f64 (*.f64 (*.f64 M M) h) (*.f64 (/.f64 D d) (/.f64 D d))))
32.4b
(*.f64 1/4 (/.f64 (*.f64 h (*.f64 (*.f64 M M) (/.f64 (*.f64 D D) d))) d))
30.3b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 D (*.f64 (*.f64 M M) h)) (/.f64 D d)) d))
59.1b
(exp.f64 (+.f64 (-.f64 (log.f64 c0) (log.f64 (*.f64 2 w))) (+.f64 (log.f64 1/2) (-.f64 (+.f64 (log.f64 (pow.f64 D 2)) (+.f64 (log.f64 w) (log.f64 (*.f64 h (pow.f64 M 2))))) (+.f64 (log.f64 (pow.f64 d 2)) (log.f64 c0))))))
32.7b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 (*.f64 h M) M) (/.f64 (*.f64 D D) d)) d))
59.8b
(*.f64 1/4 (/.f64 (exp.f64 (+.f64 (+.f64 (log.f64 h) (log.f64 (*.f64 M M))) (-.f64 (+.f64 (log.f64 D) (log.f64 D)) (log.f64 d)))) d))
36.5b
(*.f64 1/4 (exp.f64 (log.f64 (/.f64 (*.f64 (*.f64 h (*.f64 M M)) (/.f64 (*.f64 D D) d)) d))))
51.4b
(*.f64 1/4 (/.f64 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (neg.f64 (log.f64 (/.f64 d h))))) d))
60.5b
(*.f64 1/4 (exp.f64 (-.f64 (+.f64 (+.f64 (log.f64 h) (+.f64 (log.f64 M) (log.f64 M))) (-.f64 (log.f64 (*.f64 D D)) (log.f64 d))) (log.f64 d))))
31.0b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 h (*.f64 M M)) (*.f64 D (/.f64 D d))) d))
40.7b
(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)))
54.4b
(*.f64 1/4 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (neg.f64 (log.f64 (/.f64 (*.f64 d d) h))))))
60.0b
(*.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 1 (*.f64 (*.f64 w h) (*.f64 D D))))) (*.f64 M M)))))
35.0b
(*.f64 1/4 (/.f64 (*.f64 h (*.f64 M M)) (/.f64 d (/.f64 (*.f64 D D) d))))
43.8b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 1/2 (expm1.f64 (log1p.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 w (*.f64 h (pow.f64 M 2)))) (*.f64 (pow.f64 d 2) c0))))))
57.9b
(*.f64 1/4 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (fma.f64 (log.f64 d) -2 (log.f64 h)))))
37.5b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 D 2)) (cbrt.f64 (pow.f64 D 2))) (*.f64 (cbrt.f64 (pow.f64 D 2)) (*.f64 (pow.f64 M 2) h))) (pow.f64 d 2)))
Compiler

Compiled 4764 to 1491 computations (68.7% saved)

regimes2.4s (13.5%)

Accuracy

Total 10.5b remaining (36.1%)

Threshold costs 0b (0%)

Counts
151 → 4
Compiler

Compiled 55639 to 36749 computations (34% saved)

bsearch297.0ms (1.7%)

Steps
ItersRangePoint
6
3.8401860121048294e+164
1.5916618260978595e+165
1.5768310252267593e+165
4
8.414484226794673e-284
2.1314663574367696e-265
3.803592874752181e-271
9
-1.0636339006676033e-80
-1.6149291551029055e-88
-1.208739675252761e-87
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
13×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043118
155118
255118

end1.0ms (0%)

Compiler

Compiled 85 to 44 computations (48.2% saved)

sample6.8s (38.9%)

Algorithm
intervals
Results
1.3s2125×body4096valid
1.2s12085×body128nan
919.0ms1202×body8192valid
624.0ms1226×body2048valid
439.0ms4099×body128invalid
257.0ms2362×body128valid
252.0ms646×body1024valid
86.0ms305×body512valid
25.0ms134×body256valid
25.0ms64×body1024invalid
22.0ms44×body2048invalid
11.0ms40×body512invalid
8.0ms13×body4096invalid
7.0ms10×body8192exit
2.0msbody256invalid
Compiler

Compiled 969 to 574 computations (40.8% saved)

Profiling

Loading profile data...