Details

Time bar (total: 21.7s)

analyze2.7s (12.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.0s (41.6%)

Results
3.1s16371×body128invalid
2.0s2135×body4096valid
1.5s1238×body8192valid
1.1s1379×body2048valid
478.0ms2432×body128valid
362.0ms585×body1024valid
167.0ms342×body512valid
52.0ms145×body256valid
49.0ms64×body2048invalid
38.0ms61×body1024invalid
15.0ms17×body4096invalid
15.0ms31×body512invalid
10.0ms25×body256invalid
4.0msbody8192exit
Compiler

Compiled 176 to 65 computations (63.1% saved)

simplify42.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
60.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
60.4b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M)))))
63.1b
(*.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)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
11.9b
(*.f64 (*.f64 w h) (*.f64 D D))
13.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)))))
17.0b
(/.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))))

series1.1s (5%)

Counts
4 → 240
Calls

4 calls:

561.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)))))
302.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))))
190.0ms
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
23.0ms
(*.f64 (*.f64 w h) (*.f64 D D))

rewrite125.0ms (0.6%)

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:

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

simplify360.0ms (1.7%)

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

prune680.0ms (3.1%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New45310463
Fresh011
Picked101
Done000
Total45411465
Error
29.0b
Counts
465 → 11
Alt Table
StatusErrorProgram
35.4b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
63.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (exp.f64 (-.f64 (+.f64 (log.f64 c0) (+.f64 (log.f64 d) (log.f64 d))) (log.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)))))
42.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))))
60.9b
(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))))
61.6b
(/.f64 (*.f64 (pow.f64 d 2) (pow.f64 c0 2)) (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 w 2) h)))
61.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (cbrt.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))))) (cbrt.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)))))
50.9b
(*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (pow.f64 M 2))) c0) w))
60.4b
(*.f64 (/.f64 (*.f64 (cbrt.f64 c0) (cbrt.f64 c0)) 2) (*.f64 (/.f64 (cbrt.f64 c0) 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))))))
60.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))
63.9b
(exp.f64 (log.f64 (*.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)))))
63.1b
(*.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 31494 to 6969 computations (77.9% saved)

localize10.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
6.6b
(*.f64 (pow.f64 M 2) h)
14.9b
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))
16.3b
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))

series348.0ms (1.6%)

Counts
4 → 72
Calls

4 calls:

153.0ms
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
149.0ms
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))
36.0ms
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))
9.0ms
(*.f64 (pow.f64 M 2) h)

rewrite51.0ms (0.2%)

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:

10.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))
7.0ms
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))
4.0ms
(*.f64 (pow.f64 M 2) h)

simplify178.0ms (0.8%)

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

prune436.0ms (2%)

Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New21417231
Fresh3710
Picked101
Done000
Total21824242
Error
20.6b
Counts
242 → 24
Alt Table
StatusErrorProgram
30.6b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) d) (/.f64 (*.f64 h (*.f64 M M)) d)))
61.6b
(/.f64 (*.f64 (pow.f64 d 2) (pow.f64 c0 2)) (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 w 2) h)))
46.8b
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 D 2) (pow.f64 (sqrt.f64 d) 2)) (/.f64 (*.f64 (pow.f64 M 2) h) (pow.f64 (sqrt.f64 d) 2))))
55.6b
(*.f64 1/4 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (fma.f64 (log.f64 d) -2 (log.f64 h)))))
35.5b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) h) (pow.f64 d 2)))
52.9b
(*.f64 1/4 (/.f64 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 h))) (pow.f64 d 2)))
31.5b
(*.f64 1/4 (/.f64 (pow.f64 D 2) (/.f64 d (/.f64 (*.f64 h (*.f64 M M)) d))))
61.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (cbrt.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))))) (cbrt.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)))))
55.6b
(exp.f64 (fma.f64 (log.f64 d) -2 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 (*.f64 h 1/4)))))
55.8b
(*.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)))
59.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)))
60.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.9b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 h (*.f64 M M)) (/.f64 (*.f64 D D) d)) d))
53.6b
(*.f64 1/4 (exp.f64 (-.f64 (+.f64 (log.f64 (pow.f64 D 2)) (+.f64 (log.f64 (pow.f64 M 2)) (log.f64 h))) (*.f64 (log.f64 d) 2))))
63.9b
(exp.f64 (log.f64 (*.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)))))
58.6b
(*.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))))
60.9b
(exp.f64 (+.f64 (log.f64 1/4) (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h))) (*.f64 (log.f64 d) 2))))
56.7b
(*.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))))
63.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (exp.f64 (-.f64 (+.f64 (log.f64 c0) (+.f64 (log.f64 d) (log.f64 d))) (log.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)))))
33.5b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 M (*.f64 M h))) (pow.f64 d 2)))
32.1b
(*.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 (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))))
60.9b
(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))))
63.1b
(*.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 6588 to 4082 computations (38% saved)

localize11.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.7b
(/.f64 (*.f64 h (*.f64 M M)) d)
6.6b
(*.f64 h (*.f64 M M))
7.2b
(/.f64 (*.f64 D D) d)
12.5b
(*.f64 (/.f64 (*.f64 D D) d) (/.f64 (*.f64 h (*.f64 M M)) d))

series386.0ms (1.8%)

Counts
4 → 132
Calls

4 calls:

133.0ms
(/.f64 (*.f64 h (*.f64 M M)) d)
131.0ms
(*.f64 (/.f64 (*.f64 D D) d) (/.f64 (*.f64 h (*.f64 M M)) d))
112.0ms
(/.f64 (*.f64 D D) d)
9.0ms
(*.f64 h (*.f64 M M))

rewrite35.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
77×add-cbrt-cube_binary64
77×add-exp-log_binary64
32×cbrt-unprod_binary64
32×prod-exp_binary64
22×cbrt-undiv_binary64
Counts
4 → 123
Calls

4 calls:

10.0ms
(*.f64 (/.f64 (*.f64 D D) d) (/.f64 (*.f64 h (*.f64 M M)) d))
5.0ms
(*.f64 h (*.f64 M M))
5.0ms
(/.f64 (*.f64 h (*.f64 M M)) d)
4.0ms
(/.f64 (*.f64 D D) d)

simplify174.0ms (0.8%)

Algorithm
egg-herbie
Rules
637×associate-/r*_binary64
534×associate-/r/_binary64
461×*-commutative_binary64
309×log-div_binary64
218×log-prod_binary64
Counts
255 → 160
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01704137
14003453
215763453
340693451
448653451
550263451

prune301.0ms (1.4%)

Pruning

27 alts after pruning (27 fresh and 0 done)

PrunedKeptTotal
New14911160
Fresh71623
Picked101
Done000
Total15727184
Error
18.3b
Counts
184 → 27
Alt Table
StatusErrorProgram
30.6b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) d) (*.f64 h (/.f64 (*.f64 M M) d))))
27.4b
(*.f64 1/4 (*.f64 (*.f64 (/.f64 D (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (/.f64 D (cbrt.f64 d))) (/.f64 (*.f64 h (*.f64 M M)) d)))
26.0b
(*.f64 1/4 (*.f64 (/.f64 D 1) (*.f64 (/.f64 D d) (/.f64 (*.f64 h (*.f64 M M)) d))))
63.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (exp.f64 (-.f64 (+.f64 (log.f64 c0) (+.f64 (log.f64 d) (log.f64 d))) (log.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)))))
61.6b
(/.f64 (*.f64 (pow.f64 d 2) (pow.f64 c0 2)) (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 w 2) h)))
55.6b
(*.f64 1/4 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (fma.f64 (log.f64 d) -2 (log.f64 h)))))
35.8b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) d) (exp.f64 (log.f64 (/.f64 (*.f64 h (*.f64 M M)) d)))))
35.5b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) h) (pow.f64 d 2)))
25.5b
(*.f64 1/4 (*.f64 (/.f64 D (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 (*.f64 h (*.f64 M M)) d))))
52.9b
(*.f64 1/4 (/.f64 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 h))) (pow.f64 d 2)))
55.6b
(exp.f64 (fma.f64 (log.f64 d) -2 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 (*.f64 h 1/4)))))
55.8b
(*.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)))
59.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)))
60.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))
47.1b
(*.f64 1/4 (*.f64 (exp.f64 (-.f64 (log.f64 (*.f64 D D)) (log.f64 d))) (/.f64 (*.f64 h (*.f64 M M)) d)))
60.9b
(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))))
28.9b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) d) (/.f64 (*.f64 (*.f64 h M) M) d)))
63.9b
(exp.f64 (log.f64 (*.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)))))
60.9b
(*.f64 1/4 (exp.f64 (+.f64 (-.f64 (+.f64 (log.f64 D) (log.f64 D)) (log.f64 d)) (-.f64 (+.f64 (log.f64 h) (+.f64 (log.f64 M) (log.f64 M))) (log.f64 d)))))
27.4b
(*.f64 1/4 (*.f64 (*.f64 D (/.f64 D d)) (/.f64 (*.f64 h (*.f64 M M)) d)))
60.9b
(exp.f64 (+.f64 (log.f64 1/4) (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h))) (*.f64 (log.f64 d) 2))))
44.2b
(*.f64 1/4 (*.f64 (/.f64 D (sqrt.f64 d)) (*.f64 (/.f64 D (sqrt.f64 d)) (/.f64 (*.f64 h (*.f64 M M)) d))))
33.5b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 M (*.f64 M h))) (pow.f64 d 2)))
61.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (cbrt.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))))) (cbrt.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)))))
32.1b
(*.f64 1/4 (/.f64 (*.f64 D (*.f64 D (*.f64 (pow.f64 M 2) h))) (pow.f64 d 2)))
30.5b
(*.f64 1/4 (*.f64 (*.f64 h (/.f64 (*.f64 D D) d)) (/.f64 (*.f64 M M) d)))
63.1b
(*.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 5255 to 1865 computations (64.5% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.6b
(*.f64 (/.f64 D (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 (*.f64 h (*.f64 M M)) d)))
4.7b
(/.f64 (*.f64 h (*.f64 M M)) d)
6.6b
(*.f64 h (*.f64 M M))
7.2b
(*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 (*.f64 h (*.f64 M M)) d))

series1.7s (7.6%)

Counts
2 → 96
Calls

2 calls:

1.5s
(*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 (*.f64 h (*.f64 M M)) d))
172.0ms
(*.f64 (/.f64 D (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 (*.f64 h (*.f64 M M)) d)))

rewrite60.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
187×add-exp-log_binary64
153×add-cbrt-cube_binary64
92×cbrt-unprod_binary64
92×prod-exp_binary64
58×cbrt-undiv_binary64
Counts
2 → 143
Calls

2 calls:

17.0ms
(*.f64 (/.f64 D (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 (*.f64 h (*.f64 M M)) d)))
13.0ms
(*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 (*.f64 h (*.f64 M M)) d))

simplify152.0ms (0.7%)

Algorithm
egg-herbie
Rules
610×associate-/r/_binary64
350×associate-*r*_binary64
307×associate-*l/_binary64
307×times-frac_binary64
295×associate-*r/_binary64
Counts
239 → 209
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02497889
15884982
226264964
348784964
449654964

prune502.0ms (2.3%)

Pruning

32 alts after pruning (32 fresh and 0 done)

PrunedKeptTotal
New25610266
Fresh42226
Picked101
Done000
Total26132293
Error
17.2b
Counts
293 → 32
Alt Table
StatusErrorProgram
26.0b
(*.f64 1/4 (*.f64 D (/.f64 (*.f64 D (/.f64 (*.f64 (*.f64 M M) h) d)) d)))
63.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (exp.f64 (-.f64 (+.f64 (log.f64 c0) (+.f64 (log.f64 d) (log.f64 d))) (log.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)))))
61.6b
(/.f64 (*.f64 (pow.f64 d 2) (pow.f64 c0 2)) (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 w 2) h)))
55.6b
(*.f64 1/4 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (fma.f64 (log.f64 d) -2 (log.f64 h)))))
35.8b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) d) (exp.f64 (log.f64 (/.f64 (*.f64 h (*.f64 M M)) d)))))
35.5b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) h) (pow.f64 d 2)))
52.9b
(*.f64 1/4 (/.f64 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 h))) (pow.f64 d 2)))
61.7b
(*.f64 (/.f64 c0 (*.f64 2 w)) (+.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (cbrt.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))))) (cbrt.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)))))
25.6b
(*.f64 1/4 (*.f64 (/.f64 D (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (*.f64 (/.f64 (*.f64 (cbrt.f64 D) (cbrt.f64 D)) (*.f64 (cbrt.f64 (cbrt.f64 d)) (cbrt.f64 (cbrt.f64 d)))) (*.f64 (/.f64 (cbrt.f64 D) (cbrt.f64 (cbrt.f64 d))) (/.f64 (*.f64 h (*.f64 M M)) d)))))
33.5b
(*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 (*.f64 D (*.f64 D (*.f64 (*.f64 M M) h))) (*.f64 d d))) (sqrt.f64 (/.f64 (*.f64 D (*.f64 D (*.f64 (*.f64 M M) h))) (*.f64 d d)))))
32.1b
(*.f64 1/4 (/.f64 (*.f64 D (*.f64 D (*.f64 (pow.f64 M 2) h))) (pow.f64 d 2)))
24.4b
(*.f64 1/4 (*.f64 (/.f64 D (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (*.f64 (*.f64 (/.f64 D d) h) (/.f64 (*.f64 M M) (cbrt.f64 d)))))
55.6b
(exp.f64 (fma.f64 (log.f64 d) -2 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 (*.f64 h 1/4)))))
55.8b
(*.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)))
59.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)))
60.7b
(*.f64 1/4 (exp.f64 (+.f64 (log.f64 (/.f64 D (*.f64 (cbrt.f64 d) (cbrt.f64 d)))) (+.f64 (log.f64 (/.f64 D (cbrt.f64 d))) (-.f64 (+.f64 (log.f64 h) (+.f64 (log.f64 M) (log.f64 M))) (log.f64 d))))))
60.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))
47.1b
(*.f64 1/4 (*.f64 (exp.f64 (-.f64 (log.f64 (*.f64 D D)) (log.f64 d))) (/.f64 (*.f64 h (*.f64 M M)) d)))
63.9b
(exp.f64 (log.f64 (*.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)))))
60.9b
(*.f64 1/4 (exp.f64 (+.f64 (-.f64 (+.f64 (log.f64 D) (log.f64 D)) (log.f64 d)) (-.f64 (+.f64 (log.f64 h) (+.f64 (log.f64 M) (log.f64 M))) (log.f64 d)))))
57.7b
(*.f64 1/4 (*.f64 (/.f64 D (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (*.f64 (/.f64 D (cbrt.f64 d)) (exp.f64 (-.f64 (+.f64 (log.f64 h) (+.f64 (log.f64 M) (log.f64 M))) (log.f64 d))))))
25.6b
(*.f64 1/4 (*.f64 (/.f64 D (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (*.f64 (*.f64 (cbrt.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 (*.f64 h (*.f64 M M)) d))) (cbrt.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 (*.f64 h (*.f64 M M)) d)))) (cbrt.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 (*.f64 h (*.f64 M M)) d))))))
27.4b
(*.f64 1/4 (*.f64 (*.f64 D (/.f64 D d)) (/.f64 (*.f64 h (*.f64 M M)) d)))
60.9b
(exp.f64 (+.f64 (log.f64 1/4) (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (+.f64 (*.f64 (log.f64 M) 2) (log.f64 h))) (*.f64 (log.f64 d) 2))))
26.0b
(*.f64 1/4 (*.f64 (/.f64 D (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h (/.f64 d (*.f64 M M))))))
63.1b
(*.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)))))
22.9b
(*.f64 1/4 (*.f64 (/.f64 D (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 (*.f64 (*.f64 h M) M) d))))
44.2b
(*.f64 1/4 (*.f64 (/.f64 D (sqrt.f64 d)) (*.f64 (/.f64 D (sqrt.f64 d)) (/.f64 (*.f64 h (*.f64 M M)) d))))
33.5b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 M (*.f64 M h))) (pow.f64 d 2)))
25.6b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 (cbrt.f64 D) (cbrt.f64 D)) (cbrt.f64 d)) (*.f64 (/.f64 (cbrt.f64 D) (cbrt.f64 d)) (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 (*.f64 h (*.f64 M M)) d)))))
30.5b
(*.f64 1/4 (*.f64 (*.f64 h (/.f64 (*.f64 D D) d)) (/.f64 (*.f64 M M) d)))
60.9b
(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))))
Compiler

Compiled 9482 to 2150 computations (77.3% saved)

regimes2.9s (13.3%)

Accuracy

Total 5.1b remaining (22%)

Threshold costs 0b (0%)

Counts
183 → 3
Compiler

Compiled 72567 to 40638 computations (44% saved)

bsearch12.0ms (0.1%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030120
139120
239120

end439.0ms (2%)

Compiler

Compiled 1246 to 691 computations (44.5% saved)

Profiling

Loading profile data...