Details

Time bar (total: 27.8s)

analyze2.7s (9.7%)

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

Results
3.2s16173×body128invalid
2.1s2219×body4096valid
1.3s1155×body8192valid
1.1s1291×body2048valid
490.0ms2511×body128valid
374.0ms617×body1024valid
150.0ms322×body512valid
51.0ms141×body256valid
40.0ms27×body256invalid
38.0ms49×body2048invalid
32.0ms54×body1024invalid
14.0ms31×body512invalid
11.0msbody8192exit
10.0ms12×body4096invalid
Compiler

Compiled 176 to 65 computations (63.1% saved)

simplify45.0ms (0.2%)

Algorithm
egg-herbie
Rules
599×times-frac_binary64
518×distribute-neg-frac_binary64
416×fma-def_binary64
304×associate-/l*_binary64
217×cancel-sign-sub-inv_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02278
16474
229674
3310367
4421867
5536567

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 321 to 130 computations (59.5% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
11.9b
(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.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)))))
17.9b
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))
28.1b
(+.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (sqrt.f64 (-.f64 (*.f64 (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D))) (/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))) (*.f64 M M))))

series1.3s (4.8%)

Counts
4 → 276
Calls

4 calls:

485.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)))))
359.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))))
304.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)))
185.0ms
(/.f64 (*.f64 c0 (*.f64 d d)) (*.f64 (*.f64 w h) (*.f64 D D)))

rewrite164.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
82×add-cbrt-cube_binary64
82×add-exp-log_binary64
43×cbrt-unprod_binary64
43×prod-exp_binary64
17×cbrt-undiv_binary64
Counts
4 → 124
Calls

4 calls:

62.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)))))
41.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))))
26.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)))

simplify308.0ms (1.1%)

Algorithm
egg-herbie
Rules
550×associate-/r*_binary64
531×associate-/l*_binary64
317×associate-*l/_binary64
229×fma-def_binary64
172×*-commutative_binary64
Counts
400 → 312
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
053724212
1164921889
2500721889

prune488.0ms (1.8%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New4248432
Fresh011
Picked101
Done000
Total4259434
Error
28.2b
Counts
434 → 9
Alt Table
StatusErrorProgram
60.1b
(*.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.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)))))
49.6b
(*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 (neg.f64 (pow.f64 M 2))) c0) w))
35.7b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))
41.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))))
59.3b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
63.2b
(/.f64 (*.f64 c0 (+.f64 (*.f64 (*.f64 c0 (*.f64 d d)) (sqrt.f64 (+.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 (/.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 (*.f64 (*.f64 M M) (*.f64 M M)) (*.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 w h) (*.f64 D D)) (sqrt.f64 (-.f64 (pow.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)))) 3) (pow.f64 (*.f64 M M) 3)))))) (*.f64 (*.f64 2 w) (*.f64 (*.f64 (*.f64 w h) (*.f64 D D)) (sqrt.f64 (+.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 (/.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 (*.f64 (*.f64 M M) (*.f64 M M)) (*.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
(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))))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.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 30855 to 7925 computations (74.3% 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)))
8.6b
(*.f64 (pow.f64 M 2) h)
13.9b
(*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h))
15.0b
(/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2))

series327.0ms (1.2%)

Counts
4 → 72
Calls

4 calls:

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

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

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

simplify139.0ms (0.5%)

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

prune401.0ms (1.4%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New21318231
Fresh448
Picked101
Done000
Total21822240
Error
20.5b
Counts
240 → 22
Alt Table
StatusErrorProgram
55.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))))
60.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)))))
32.3b
(*.f64 1/4 (/.f64 (pow.f64 D 2) (/.f64 d (/.f64 (*.f64 h (*.f64 M M)) d))))
59.0b
(*.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))))
33.2b
(*.f64 1/4 (/.f64 (*.f64 D (*.f64 D (*.f64 (pow.f64 M 2) h))) (pow.f64 d 2)))
53.7b
(*.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)))))
55.6b
(exp.f64 (+.f64 (log.f64 1/4) (-.f64 (+.f64 (log.f64 (pow.f64 D 2)) (+.f64 (log.f64 (pow.f64 M 2)) (log.f64 h))) (*.f64 (log.f64 d) 2))))
36.5b
(*.f64 1/4 (log1p.f64 (expm1.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))))
50.0b
(exp.f64 (+.f64 (log.f64 1/4) (-.f64 (+.f64 (*.f64 (log.f64 D) 2) (log.f64 (*.f64 (pow.f64 M 2) h))) (log.f64 (pow.f64 d 2)))))
32.4b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) d) (/.f64 (*.f64 h (*.f64 M M)) d)))
56.0b
(exp.f64 (fma.f64 (log.f64 d) -2 (fma.f64 2 (log.f64 (*.f64 D M)) (log.f64 (*.f64 h 1/4)))))
32.7b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 D D) (*.f64 d (cbrt.f64 d))) (/.f64 (*.f64 h (*.f64 M M)) (pow.f64 (cbrt.f64 d) 2))))
60.1b
(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))))
57.9b
(*.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.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))))
33.0b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 M (*.f64 M h))) (pow.f64 d 2)))
55.6b
(*.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)))))
35.3b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) h) (pow.f64 d 2)))
55.9b
(*.f64 1/4 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (fma.f64 (log.f64 d) -2 (log.f64 h)))))
60.1b
(*.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))))
59.3b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.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 6252 to 3990 computations (36.2% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.8b
(/.f64 d (/.f64 (*.f64 h (*.f64 M M)) d))
5.7b
(/.f64 (*.f64 h (*.f64 M M)) d)
8.6b
(*.f64 h (*.f64 M M))
12.1b
(/.f64 (pow.f64 D 2) (/.f64 d (/.f64 (*.f64 h (*.f64 M M)) d)))

series355.0ms (1.3%)

Counts
4 → 144
Calls

4 calls:

230.0ms
(/.f64 (pow.f64 D 2) (/.f64 d (/.f64 (*.f64 h (*.f64 M M)) d)))
89.0ms
(/.f64 d (/.f64 (*.f64 h (*.f64 M M)) d))
26.0ms
(/.f64 (*.f64 h (*.f64 M M)) d)
9.0ms
(*.f64 h (*.f64 M M))

rewrite81.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
514×times-frac_binary64
204×add-sqr-sqrt_binary64
203×*-un-lft-identity_binary64
203×add-cube-cbrt_binary64
87×add-exp-log_binary64
Counts
4 → 373
Calls

4 calls:

14.0ms
(/.f64 (pow.f64 D 2) (/.f64 d (/.f64 (*.f64 h (*.f64 M M)) d)))
6.0ms
(/.f64 d (/.f64 (*.f64 h (*.f64 M M)) d))
6.0ms
(*.f64 h (*.f64 M M))
5.0ms
(/.f64 (*.f64 h (*.f64 M M)) d)

simplify438.0ms (1.6%)

Algorithm
egg-herbie
Rules
637×associate-/r/_binary64
408×associate-*r/_binary64
391×associate-/l/_binary64
347×associate-/l*_binary64
331×associate-*l/_binary64
Counts
517 → 580
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
056413914
1110412140
2427411899
3431211823
4497311823
5505111823

prune1.1s (3.8%)

Pruning

26 alts after pruning (26 fresh and 0 done)

PrunedKeptTotal
New56812580
Fresh71421
Picked101
Done000
Total57626602
Error
17.8b
Counts
602 → 26
Alt Table
StatusErrorProgram
55.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))))
60.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)))))
55.6b
(*.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)))))
47.5b
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 (sqrt.f64 D) 2) (/.f64 (*.f64 (cbrt.f64 d) (cbrt.f64 d)) (sqrt.f64 (/.f64 (*.f64 h (*.f64 M M)) d)))) (/.f64 (pow.f64 (sqrt.f64 D) 2) (/.f64 (cbrt.f64 d) (sqrt.f64 (/.f64 (*.f64 h (*.f64 M M)) d))))))
32.1b
(*.f64 1/4 (*.f64 (pow.f64 D 2) (/.f64 h (*.f64 d (/.f64 d (*.f64 M M))))))
29.4b
(*.f64 1/4 (*.f64 (*.f64 D h) (/.f64 D (*.f64 d (/.f64 d (*.f64 M M))))))
27.2b
(*.f64 1/4 (*.f64 (/.f64 D (/.f64 (*.f64 (cbrt.f64 d) (cbrt.f64 d)) (/.f64 h (*.f64 (cbrt.f64 d) (cbrt.f64 d))))) (/.f64 D (/.f64 (cbrt.f64 d) (/.f64 (*.f64 M M) (cbrt.f64 d))))))
26.9b
(*.f64 1/4 (*.f64 (/.f64 D (/.f64 d h)) (/.f64 D (/.f64 d (*.f64 M M)))))
27.2b
(*.f64 1/4 (*.f64 h (*.f64 (/.f64 D (/.f64 d (*.f64 M M))) (/.f64 D d))))
53.7b
(*.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)))))
36.5b
(*.f64 1/4 (log1p.f64 (expm1.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))))
28.7b
(*.f64 1/4 (/.f64 (pow.f64 D 2) (/.f64 d (/.f64 (*.f64 (*.f64 h M) M) d))))
32.4b
(*.f64 1/4 (*.f64 (*.f64 D (*.f64 (*.f64 M M) h)) (/.f64 D (*.f64 d d))))
45.4b
(*.f64 1/4 (/.f64 (pow.f64 D 2) (/.f64 d (/.f64 (*.f64 (*.f64 (sqrt.f64 h) M) (*.f64 (sqrt.f64 h) M)) d))))
59.3b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
38.9b
(*.f64 1/4 (/.f64 (pow.f64 D 2) (/.f64 d (/.f64 (exp.f64 (log.f64 (*.f64 (*.f64 M M) h))) d))))
60.1b
(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))))
57.9b
(*.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.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))))
33.0b
(*.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 (*.f64 M M) h) (*.f64 (/.f64 D d) (/.f64 D d))))
59.0b
(*.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))))
26.9b
(*.f64 1/4 (*.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d)) (/.f64 D (/.f64 (cbrt.f64 d) (/.f64 (*.f64 M M) (cbrt.f64 d))))))
55.9b
(*.f64 1/4 (exp.f64 (fma.f64 2 (log.f64 (*.f64 D M)) (fma.f64 (log.f64 d) -2 (log.f64 h)))))
60.1b
(*.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))))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.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 16812 to 6069 computations (63.9% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.9b
(/.f64 (cbrt.f64 d) (/.f64 (*.f64 M M) (cbrt.f64 d)))
3.4b
(*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d))
6.2b
(/.f64 D (/.f64 (cbrt.f64 d) (/.f64 (*.f64 M M) (cbrt.f64 d))))
7.6b
(*.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d)) (/.f64 D (/.f64 (cbrt.f64 d) (/.f64 (*.f64 M M) (cbrt.f64 d)))))

series2.3s (8.3%)

Counts
4 → 144
Calls

4 calls:

931.0ms
(*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d))
859.0ms
(/.f64 D (/.f64 (cbrt.f64 d) (/.f64 (*.f64 M M) (cbrt.f64 d))))
358.0ms
(/.f64 (cbrt.f64 d) (/.f64 (*.f64 M M) (cbrt.f64 d)))
158.0ms
(*.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d)) (/.f64 D (/.f64 (cbrt.f64 d) (/.f64 (*.f64 M M) (cbrt.f64 d)))))

rewrite204.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
1198×times-frac_binary64
491×add-sqr-sqrt_binary64
472×*-un-lft-identity_binary64
472×add-cube-cbrt_binary64
401×cbrt-prod_binary64
Counts
4 → 712
Calls

4 calls:

40.0ms
(*.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d)) (/.f64 D (/.f64 (cbrt.f64 d) (/.f64 (*.f64 M M) (cbrt.f64 d)))))
15.0ms
(/.f64 D (/.f64 (cbrt.f64 d) (/.f64 (*.f64 M M) (cbrt.f64 d))))
10.0ms
(*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d))
8.0ms
(/.f64 (cbrt.f64 d) (/.f64 (*.f64 M M) (cbrt.f64 d)))

simplify439.0ms (1.6%)

Algorithm
egg-herbie
Rules
861×associate-/r/_binary64
780×associate-/l*_binary64
634×associate-/l/_binary64
461×times-frac_binary64
238×*-commutative_binary64
Counts
856 → 1069
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
080625604
1227024068
2550524068

prune2.4s (8.7%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New1058111069
Fresh81725
Picked101
Done000
Total1067281095
Error
15.0b
Counts
1095 → 28
Alt Table
StatusErrorProgram
43.3b
(*.f64 1/4 (*.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d)) (/.f64 (/.f64 D (/.f64 (cbrt.f64 (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (/.f64 M (cbrt.f64 (sqrt.f64 d))))) (/.f64 (cbrt.f64 (cbrt.f64 d)) (/.f64 M (cbrt.f64 (sqrt.f64 d)))))))
55.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))))
60.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)))))
47.5b
(*.f64 1/4 (*.f64 (/.f64 (pow.f64 (sqrt.f64 D) 2) (/.f64 (*.f64 (cbrt.f64 d) (cbrt.f64 d)) (sqrt.f64 (/.f64 (*.f64 h (*.f64 M M)) d)))) (/.f64 (pow.f64 (sqrt.f64 D) 2) (/.f64 (cbrt.f64 d) (sqrt.f64 (/.f64 (*.f64 h (*.f64 M M)) d))))))
21.9b
(*.f64 1/4 (*.f64 (*.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d)) (/.f64 (*.f64 (cbrt.f64 D) (cbrt.f64 D)) (/.f64 (*.f64 (cbrt.f64 (cbrt.f64 d)) (cbrt.f64 (cbrt.f64 d))) M))) (/.f64 (cbrt.f64 D) (/.f64 (cbrt.f64 (cbrt.f64 d)) (/.f64 M (cbrt.f64 d))))))
24.7b
(*.f64 1/4 (*.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d)) (/.f64 D (/.f64 (/.f64 (cbrt.f64 d) M) (/.f64 M (cbrt.f64 d))))))
21.6b
(*.f64 1/4 (*.f64 (*.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d)) (/.f64 1 (/.f64 1 (/.f64 M 1)))) (/.f64 D (/.f64 (cbrt.f64 d) (/.f64 M (cbrt.f64 d))))))
21.7b
(*.f64 1/4 (*.f64 (/.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d)) (/.f64 (*.f64 (cbrt.f64 (cbrt.f64 d)) (cbrt.f64 (cbrt.f64 d))) (/.f64 M (*.f64 (cbrt.f64 (cbrt.f64 d)) (cbrt.f64 (cbrt.f64 d)))))) (/.f64 D (/.f64 (cbrt.f64 (cbrt.f64 d)) (/.f64 M (cbrt.f64 (cbrt.f64 d)))))))
26.9b
(*.f64 1/4 (*.f64 (/.f64 D (/.f64 d h)) (/.f64 D (/.f64 d (*.f64 M M)))))
27.2b
(*.f64 1/4 (*.f64 h (*.f64 (/.f64 D (/.f64 d (*.f64 M M))) (/.f64 D d))))
60.1b
(*.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))))
21.8b
(*.f64 1/4 (*.f64 (*.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d)) (*.f64 (*.f64 (cbrt.f64 D) (cbrt.f64 D)) (/.f64 M (cbrt.f64 (*.f64 (cbrt.f64 d) (cbrt.f64 d)))))) (/.f64 (cbrt.f64 D) (/.f64 (cbrt.f64 d) (/.f64 M (cbrt.f64 (cbrt.f64 d)))))))
36.5b
(*.f64 1/4 (log1p.f64 (expm1.f64 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (pow.f64 d 2)))))
28.7b
(*.f64 1/4 (/.f64 (pow.f64 D 2) (/.f64 d (/.f64 (*.f64 (*.f64 h M) M) d))))
32.4b
(*.f64 1/4 (*.f64 (*.f64 D (*.f64 (*.f64 M M) h)) (/.f64 D (*.f64 d d))))
45.4b
(*.f64 1/4 (/.f64 (pow.f64 D 2) (/.f64 d (/.f64 (*.f64 (*.f64 (sqrt.f64 h) M) (*.f64 (sqrt.f64 h) M)) d))))
59.3b
(*.f64 (/.f64 c0 (*.f64 2 w)) (*.f64 2 (/.f64 (*.f64 (pow.f64 d 2) c0) (*.f64 (pow.f64 D 2) (*.f64 w h)))))
38.9b
(*.f64 1/4 (/.f64 (pow.f64 D 2) (/.f64 d (/.f64 (exp.f64 (log.f64 (*.f64 (*.f64 M M) h))) d))))
41.9b
(*.f64 1/4 (*.f64 (*.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d)) (*.f64 (sqrt.f64 D) M)) (/.f64 (sqrt.f64 D) (/.f64 (cbrt.f64 d) (/.f64 M (cbrt.f64 d))))))
60.1b
(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))))
57.9b
(*.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)))
33.0b
(*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 M (*.f64 M h))) (pow.f64 d 2)))
26.9b
(*.f64 1/4 (/.f64 (*.f64 (*.f64 (/.f64 D (cbrt.f64 d)) h) (/.f64 D (/.f64 (cbrt.f64 d) (/.f64 (*.f64 M M) (cbrt.f64 d))))) d))
21.6b
(*.f64 1/4 (*.f64 (*.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d)) (/.f64 (*.f64 (cbrt.f64 D) (cbrt.f64 D)) (/.f64 (cbrt.f64 (*.f64 (cbrt.f64 d) (cbrt.f64 d))) (/.f64 M (cbrt.f64 (*.f64 (cbrt.f64 d) (cbrt.f64 d))))))) (/.f64 (cbrt.f64 D) (/.f64 (cbrt.f64 (cbrt.f64 d)) (/.f64 M (cbrt.f64 (cbrt.f64 d)))))))
60.1b
(*.f64 (/.f64 c0 (*.f64 2 w)) (fma.f64 (/.f64 c0 (*.f64 w h)) (/.f64 (*.f64 d d) (*.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)))))
36.3b
(*.f64 1/4 (*.f64 (log.f64 (exp.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d)))) (/.f64 D (/.f64 (cbrt.f64 d) (/.f64 (*.f64 M M) (cbrt.f64 d))))))
29.4b
(*.f64 1/4 (*.f64 (*.f64 D h) (/.f64 D (*.f64 d (/.f64 d (*.f64 M M))))))
22.8b
(*.f64 1/4 (*.f64 (*.f64 (/.f64 D (cbrt.f64 d)) (/.f64 h d)) (*.f64 (*.f64 (*.f64 (cbrt.f64 D) (cbrt.f64 D)) M) (/.f64 (cbrt.f64 D) (/.f64 (cbrt.f64 d) (/.f64 M (cbrt.f64 d)))))))
Compiler

Compiled 37638 to 7414 computations (80.3% saved)

regimes5.0s (18%)

Accuracy

Total 4.0b remaining (21.2%)

Threshold costs 0b (0%)

Counts
345 → 5
Compiler

Compiled 128742 to 75443 computations (41.4% saved)

bsearch22.0ms (0.1%)

Compiler

Compiled 58 to 21 computations (63.8% saved)

simplify13.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
065588
188588
295588
399588
4101588
599588

end419.0ms (1.5%)

Compiler

Compiled 1674 to 723 computations (56.8% saved)

Profiling

Loading profile data...