Details

Time bar (total: 17.5s)

analyze2.6s (14.8%)

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)

sample304.0ms (1.7%)

Algorithm
intervals
Results
52.0ms48×body8192valid
37.0ms370×body128nan
32.0ms53×body4096valid
24.0ms49×body2048valid
18.0ms145×body128invalid
10.0ms71×body128valid
9.0ms24×body1024valid
2.0msbody512valid
1.0msbody2048invalid
1.0msbody256valid
0.0msbody256invalid
Compiler

Compiled 123 to 49 computations (60.2% saved)

simplify46.0ms (0.3%)

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
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)))))
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 (*.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.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)))))
13.8b
(*.f64 (*.f64 w h) (*.f64 D D))
15.0b
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
31.2b
(+.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.0s (6%)

Counts
4 → 240
Calls

4 calls:

513.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)))))
308.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))))
201.0ms
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
25.0ms
(*.f64 (*.f64 w h) (*.f64 D D))

rewrite129.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
94×add-cbrt-cube_binary64
94×add-exp-log_binary64
51×cbrt-unprod_binary64
51×prod-exp_binary64
18×pow1_binary64
Counts
4 → 130
Calls

4 calls:

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

simplify320.0ms (1.8%)

Algorithm
egg-herbie
Rules
488×associate-/r*_binary64
478×associate-/l*_binary64
460×fma-def_binary64
295×associate-*l/_binary64
278×associate-*r/_binary64
Counts
370 → 279
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
047718780
1146516679
2488616625
3516016625

prune624.0ms (3.6%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New45310463
Fresh011
Picked101
Done000
Total45411465
Error
25.1b
Counts
465 → 11
Alt Table
StatusErrorProgram
58.5b
(/.f64 (*.f64 c0 (+.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 2 w))
59.0b
(*.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 (sqrt.f64 (*.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)))))) (sqrt.f64 (*.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 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (neg.f64 (*.f64 M M)))))
59.5b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 (*.f64 w h) 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)))))
57.0b
(log.f64 (pow.f64 (exp.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (/.f64 (/.f64 (*.f64 (pow.f64 d 4) (*.f64 c0 c0)) (*.f64 (*.f64 w h) (*.f64 w h))) (pow.f64 D 4)) (*.f64 M M))))) (/.f64 c0 (*.f64 2 w))))
31.2b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
60.3b
(/.f64 (*.f64 (pow.f64 d 2) (pow.f64 c0 2)) (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 w 2) h)))
47.3b
(*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (pow.f64 M 2))) c0) w))
38.3b
(*.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))))
Compiler

Compiled 31414 to 6939 computations (77.9% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
7.6b
(*.f64 (pow.f64 M 2) h)
12.2b
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))
16.0b
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))

series344.0ms (2%)

Counts
4 → 72
Calls

4 calls:

147.0ms
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
132.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))
54.0ms
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))
11.0ms
(*.f64 (pow.f64 M 2) h)

rewrite50.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
290×add-exp-log_binary64
190×prod-exp_binary64
78×div-exp_binary64
76×pow-exp_binary64
76×pow-to-exp_binary64
Counts
4 → 205
Calls

4 calls:

12.0ms
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
7.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)

simplify157.0ms (0.9%)

Algorithm
egg-herbie
Rules
506×*-commutative_binary64
444×associate-/l/_binary64
380×fma-def_binary64
373×associate-/r/_binary64
294×log-prod_binary64
Counts
277 → 231
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02175669
14225071
216725018
339364789
450064789

prune422.0ms (2.4%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New21813231
Fresh2810
Picked101
Done000
Total22121242
Error
17.9b
Counts
242 → 21
Alt Table
StatusErrorProgram
58.5b
(/.f64 (*.f64 c0 (+.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 2 w))
30.5b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) h) (pow.f64 d 2)))
59.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
59.0b
(exp.f64 (+.f64 (log.f64 1/4) (-.f64 (+.f64 (log.f64 (pow.f64 D 2)) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h))) (*.f64 (log.f64 d) 2))))
59.7b
(*.f64 (sqrt.f64 (*.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)))))) (sqrt.f64 (*.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)))))))
28.3b
(*.f64 1/4 (/.f64 (*.f64 D (*.f64 D (*.f64 (pow.f64 M 2) h))) (pow.f64 d 2)))
61.6b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (neg.f64 (*.f64 M M)))))
28.8b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) d) (/.f64 (*.f64 h (*.f64 M M)) d)))
57.0b
(log.f64 (pow.f64 (exp.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (/.f64 (/.f64 (*.f64 (pow.f64 d 4) (*.f64 c0 c0)) (*.f64 (*.f64 w h) (*.f64 w h))) (pow.f64 D 4)) (*.f64 M M))))) (/.f64 c0 (*.f64 2 w))))
42.9b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 (sqrt.f64 D) 2) (*.f64 D (*.f64 h (*.f64 M M)))) (pow.f64 d 2)))
57.8b
(exp.f64 (fma.f64 (log.f64 d) -2 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 (*.f64 h 1/4)))))
59.5b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 (*.f64 w h) 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)))))
29.1b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 M (*.f64 M h))) (pow.f64 d 2)))
29.1b
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 (*.f64 (cbrt.f64 d) (cbrt.f64 d)) 2)) (/.f64 (*.f64 (pow.f64 M 2) h) (pow.f64 (cbrt.f64 d) 2))))
56.1b
(*.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.3b
(/.f64 (*.f64 (pow.f64 d 2) (pow.f64 c0 2)) (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 w 2) h)))
51.9b
(*.f64 1/4 (/.f64 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 h))) (pow.f64 d 2)))
48.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)))))
28.3b
(*.f64 1/4 (/.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) d) d))
60.8b
(*.f64 1/4 (exp.f64 (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h))) (*.f64 (log.f64 d) 2))))
Compiler

Compiled 6446 to 3954 computations (38.7% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
5.2b
(*.f64 D (*.f64 D (*.f64 (pow.f64 M 2) h)))
5.6b
(*.f64 D (*.f64 (pow.f64 M 2) h))
7.6b
(*.f64 (pow.f64 M 2) h)
12.2b
(/.f64 (*.f64 D (*.f64 D (*.f64 (pow.f64 M 2) h))) (pow.f64 d 2))

series194.0ms (1.1%)

Counts
3 → 100
Calls

3 calls:

134.0ms
(/.f64 (*.f64 D (*.f64 D (*.f64 (pow.f64 M 2) h))) (pow.f64 d 2))
34.0ms
(*.f64 D (*.f64 D (*.f64 (pow.f64 M 2) h)))
26.0ms
(*.f64 D (*.f64 (pow.f64 M 2) h))

rewrite28.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
92×add-exp-log_binary64
55×prod-exp_binary64
31×add-cbrt-cube_binary64
18×div-exp_binary64
15×cbrt-unprod_binary64
Counts
3 → 96
Calls

3 calls:

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

simplify135.0ms (0.8%)

Algorithm
egg-herbie
Rules
649×associate-*l/_binary64
480×associate-*r/_binary64
443×*-commutative_binary64
406×associate-/l/_binary64
385×associate-/r/_binary64
Counts
196 → 135
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01403573
13173183
214813183
346653158
450703158

prune355.0ms (2%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New1729181
Fresh71320
Picked101
Done000
Total18022202
Error
15.7b
Counts
202 → 22
Alt Table
StatusErrorProgram
58.5b
(/.f64 (*.f64 c0 (+.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 2 w))
30.5b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) h) (pow.f64 d 2)))
59.0b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
59.0b
(exp.f64 (+.f64 (log.f64 1/4) (-.f64 (+.f64 (log.f64 (pow.f64 D 2)) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h))) (*.f64 (log.f64 d) 2))))
59.7b
(*.f64 (sqrt.f64 (*.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)))))) (sqrt.f64 (*.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 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (neg.f64 (*.f64 M M)))))
25.2b
(*.f64 1/4 (/.f64 (/.f64 (*.f64 D (*.f64 D (*.f64 (pow.f64 M 2) h))) d) d))
59.5b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 (*.f64 w h) 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.1b
(*.f64 1/4 (/.f64 (*.f64 D (*.f64 (*.f64 D (pow.f64 M 2)) h)) (pow.f64 d 2)))
24.4b
(*.f64 1/4 (/.f64 D (/.f64 d (*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d)))))
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)))))
29.1b
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 (*.f64 (cbrt.f64 d) (cbrt.f64 d)) 2)) (/.f64 (*.f64 (pow.f64 M 2) h) (pow.f64 (cbrt.f64 d) 2))))
56.1b
(*.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.3b
(/.f64 (*.f64 (pow.f64 d 2) (pow.f64 c0 2)) (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 w 2) h)))
23.7b
(*.f64 1/4 (*.f64 (/.f64 D d) (/.f64 (*.f64 D (*.f64 (pow.f64 M 2) h)) d)))
51.9b
(*.f64 1/4 (/.f64 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 h))) (pow.f64 d 2)))
23.3b
(*.f64 1/4 (*.f64 (/.f64 D d) (*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d))))
57.0b
(log.f64 (pow.f64 (exp.f64 (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (-.f64 (/.f64 (/.f64 (*.f64 (pow.f64 d 4) (*.f64 c0 c0)) (*.f64 (*.f64 w h) (*.f64 w h))) (pow.f64 D 4)) (*.f64 M M))))) (/.f64 c0 (*.f64 2 w))))
27.6b
(*.f64 1/4 (/.f64 D (/.f64 (pow.f64 d 2) (*.f64 D (*.f64 (pow.f64 M 2) h)))))
26.0b
(*.f64 1/4 (/.f64 (*.f64 D (*.f64 D (*.f64 M (*.f64 h M)))) (pow.f64 d 2)))
45.4b
(*.f64 1/4 (/.f64 (*.f64 D (*.f64 D (*.f64 (*.f64 M (sqrt.f64 h)) (*.f64 M (sqrt.f64 h))))) (pow.f64 d 2)))
60.8b
(*.f64 1/4 (exp.f64 (fma.f64 (log.f64 d) -2 (fma.f64 2 (+.f64 (log.f64 D) (log.f64 M)) (log.f64 h)))))
Compiler

Compiled 5268 to 2988 computations (43.3% saved)

localize9.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/4 (*.f64 (/.f64 D d) (*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d))))
4.2b
(*.f64 (/.f64 D d) (*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d)))
7.6b
(*.f64 h (*.f64 M M))
9.3b
(*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d))

series341.0ms (2%)

Counts
4 → 168
Calls

4 calls:

158.0ms
(*.f64 1/4 (*.f64 (/.f64 D d) (*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d))))
123.0ms
(*.f64 (/.f64 D d) (*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d)))
52.0ms
(*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d))
8.0ms
(*.f64 h (*.f64 M M))

rewrite67.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
176×add-cbrt-cube_binary64
176×add-exp-log_binary64
106×cbrt-unprod_binary64
106×prod-exp_binary64
52×pow1_binary64
Counts
4 → 172
Calls

4 calls:

13.0ms
(*.f64 1/4 (*.f64 (/.f64 D d) (*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d))))
11.0ms
(*.f64 (/.f64 D d) (*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d)))
8.0ms
(*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d))
7.0ms
(*.f64 h (*.f64 M M))

simplify149.0ms (0.9%)

Algorithm
egg-herbie
Rules
893×times-frac_binary64
477×associate-*r*_binary64
412×associate-/r*_binary64
405×associate-*l*_binary64
298×associate-/r/_binary64
Counts
340 → 235
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02347488
15065994
221805886
351995886

prune383.0ms (2.2%)

Pruning

23 alts after pruning (23 fresh and 0 done)

PrunedKeptTotal
New22411235
Fresh91221
Picked101
Done000
Total23423257
Error
13.6b
Counts
257 → 23
Alt Table
StatusErrorProgram
58.5b
(/.f64 (*.f64 c0 (+.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 2 w))
30.5b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) h) (pow.f64 d 2)))
59.0b
(*.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 (sqrt.f64 (*.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)))))) (sqrt.f64 (*.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 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.f64 D D)) (sqrt.f64 (neg.f64 (*.f64 M M)))))
24.0b
(/.f64 (*.f64 1/4 (*.f64 D (*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d)))) d)
21.5b
(*.f64 1/4 (*.f64 (/.f64 D d) (*.f64 h (*.f64 (*.f64 M M) (/.f64 D d)))))
28.6b
(*.f64 1/4 (*.f64 (/.f64 D d) (*.f64 (sqrt.f64 (*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d))) (sqrt.f64 (*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d))))))
27.1b
(*.f64 1/4 (/.f64 (*.f64 D (*.f64 (*.f64 D (pow.f64 M 2)) h)) (pow.f64 d 2)))
24.0b
(*.f64 1/4 (/.f64 (*.f64 D (/.f64 (*.f64 D (*.f64 (*.f64 M M) h)) d)) d))
24.4b
(*.f64 1/4 (/.f64 D (/.f64 d (*.f64 (*.f64 h (*.f64 M M)) (/.f64 D d)))))
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)))))
27.6b
(*.f64 1/4 (/.f64 D (/.f64 (pow.f64 d 2) (*.f64 D (*.f64 (pow.f64 M 2) h)))))
60.3b
(/.f64 (*.f64 (pow.f64 d 2) (pow.f64 c0 2)) (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 w 2) h)))
27.3b
(*.f64 1/4 (log.f64 (pow.f64 (exp.f64 (/.f64 (*.f64 D (*.f64 (*.f64 M M) h)) d)) (/.f64 D d))))
57.2b
(*.f64 1/4 (*.f64 (/.f64 D d) (exp.f64 (+.f64 (+.f64 (log.f64 h) (+.f64 (log.f64 M) (log.f64 M))) (log.f64 (/.f64 D d))))))
51.9b
(*.f64 1/4 (/.f64 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 h))) (pow.f64 d 2)))
26.0b
(*.f64 1/4 (/.f64 (*.f64 D (*.f64 D (*.f64 M (*.f64 h M)))) (pow.f64 d 2)))
56.7b
(*.f64 1/4 (exp.f64 (+.f64 (log.f64 (/.f64 D d)) (+.f64 (+.f64 (log.f64 h) (+.f64 (log.f64 M) (log.f64 M))) (log.f64 (/.f64 D d))))))
20.2b
(*.f64 1/4 (*.f64 (/.f64 D d) (*.f64 (*.f64 (*.f64 h M) M) (/.f64 D d))))
43.7b
(*.f64 1/4 (*.f64 (/.f64 D d) (*.f64 (*.f64 (*.f64 (sqrt.f64 h) M) (*.f64 (sqrt.f64 h) M)) (/.f64 D d))))
54.1b
(*.f64 1/4 (*.f64 (/.f64 D d) (*.f64 (exp.f64 (+.f64 (log.f64 h) (+.f64 (log.f64 M) (log.f64 M)))) (/.f64 D d))))
23.6b
(*.f64 1/4 (*.f64 (/.f64 D d) (*.f64 (/.f64 (*.f64 (*.f64 M M) h) (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (/.f64 D (cbrt.f64 d)))))
Compiler

Compiled 6432 to 1671 computations (74% saved)

regimes2.3s (13%)

Accuracy

Total 6.8b remaining (29.4%)

Threshold costs 0b (0%)

Counts
131 → 2
Compiler

Compiled 62645 to 30589 computations (51.2% saved)

bsearch10.0ms (0.1%)

Compiler

Compiled 58 to 21 computations (63.8% saved)

simplify5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
040136
160136
267136
371136
473136
573136

end1.0ms (0%)

Compiler

Compiled 97 to 44 computations (54.6% saved)

sample7.5s (42.6%)

Algorithm
intervals
Results
1.5s2095×body4096valid
1.3s11780×body128nan
1.1s1175×body8192valid
730.0ms1293×body2048valid
434.0ms3994×body128invalid
264.0ms614×body1024valid
250.0ms2382×body128valid
93.0ms287×body512valid
32.0ms154×body256valid
25.0ms63×body1024invalid
24.0ms46×body2048invalid
11.0ms15×body8192exit
8.0ms29×body512invalid
7.0ms12×body4096invalid
7.0ms35×body256invalid
Compiler

Compiled 861 to 465 computations (46% saved)

Profiling

Loading profile data...