Details

Time bar (total: 27.5s)

analyze3.0s (11.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.6%0.4%0
0%99.6%0.4%1
0%99.6%0.4%2
0%99.6%0.4%3
0%99.6%0.4%4
0%99.6%0.4%5
0%99.6%0.4%6
0%99.6%0.4%7
0%74.7%25.3%8
0%74.7%25.3%9
0%65.4%34.6%10
0%51.4%48.6%11
0%51.4%48.6%12
0%51.4%48.6%13
0%51.4%48.6%14
Compiler

Compiled 30 to 21 computations (30% saved)

sample195.0ms (0.7%)

Algorithm
intervals
Results
41.0ms256×body128valid
35.0ms278×body128nan
6.0ms44×body128invalid
Compiler

Compiled 67 to 49 computations (26.9% saved)

simplify117.0ms (0.4%)

Algorithm
egg-herbie
Rules
2664×associate-+l+_binary64
1041×associate-+r+_binary64
923×+-commutative_binary64
750×fma-def_binary64
*-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02130
14126
210926
337626
4111826
5159226
6169826
7169826
8169826
9169826
10270626
11295826
12295826
13291026
14291026
15254026
16252426

prune8.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.1b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
Compiler

Compiled 99 to 61 computations (38.4% saved)

localize34.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
0.0b
(+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)
0.1b
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))
0.1b
(fma.f64 x (log.f64 y) z)

series3.0s (10.9%)

Counts
4 → 276
Calls

4 calls:

1.4s
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))
1.2s
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
266.0ms
(+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)
173.0ms
(fma.f64 x (log.f64 y) z)

rewrite17.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×*-un-lft-identity_binary64
add-log-exp_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
distribute-lft-out_binary64
Counts
4 → 51
Calls

4 calls:

10.0ms
(+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)
1.0ms
(fma.f64 x (log.f64 y) z)
1.0ms
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))
1.0ms
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))

simplify292.0ms (1.1%)

Algorithm
egg-herbie
Rules
856×associate--l+_binary64
642×fma-def_binary64
591×distribute-rgt-in_binary64
564×distribute-lft-in_binary64
238×associate-+r+_binary64
Counts
327 → 149
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02176904
15276738
216866112
353596112

prune282.0ms (1%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1436149
Fresh000
Picked101
Done000
Total1446150
Error
0.1b
Counts
150 → 6
Alt Table
StatusErrorProgram
0.1b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (log.f64 c) b) z)))) (*.f64 1/2 (log.f64 c))))
29.6b
(fma.f64 y i (*.f64 (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
1.2b
(fma.f64 y i (*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
56.3b
(fma.f64 y i (cbrt.f64 (*.f64 (*.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)) (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
0.1b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (fma.f64 x (log.f64 y) z) (+.f64 t a))))
39.0b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (/.f64 (-.f64 (*.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) (+.f64 (fma.f64 x (log.f64 y) z) t)) (*.f64 a a)) (-.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))))
Compiler

Compiled 4051 to 1447 computations (64.3% saved)

localize19.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (fma.f64 x (log.f64 y) z) (+.f64 t a))))
0.1b
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (fma.f64 x (log.f64 y) z) (+.f64 t a)))
0.1b
(fma.f64 x (log.f64 y) z)

series2.4s (8.6%)

Counts
2 → 180
Calls

2 calls:

1.3s
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (fma.f64 x (log.f64 y) z) (+.f64 t a)))
1.0s
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (fma.f64 x (log.f64 y) z) (+.f64 t a))))

rewrite3.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
2 → 20
Calls

2 calls:

1.0ms
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (fma.f64 x (log.f64 y) z) (+.f64 t a)))
1.0ms
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (fma.f64 x (log.f64 y) z) (+.f64 t a))))

simplify256.0ms (0.9%)

Algorithm
egg-herbie
Rules
835×associate--l+_binary64
578×+-commutative_binary64
554×sub-neg_binary64
413×fma-neg_binary64
378×fma-def_binary64
Counts
200 → 85
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01685436
13875338
212664589
336164573
449254573
549834573

prune187.0ms (0.7%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1090109
Fresh055
Picked011
Done000
Total1096115
Error
0.1b
Counts
115 → 6
Alt Table
StatusErrorProgram
0.1b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (log.f64 c) b) z)))) (*.f64 1/2 (log.f64 c))))
29.6b
(fma.f64 y i (*.f64 (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
1.2b
(fma.f64 y i (*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))) (cbrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
56.3b
(fma.f64 y i (cbrt.f64 (*.f64 (*.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)) (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
0.1b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (fma.f64 x (log.f64 y) z) (+.f64 t a))))
39.0b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (/.f64 (-.f64 (*.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) (+.f64 (fma.f64 x (log.f64 y) z) t)) (*.f64 a a)) (-.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))))
Compiler

Compiled 3023 to 1119 computations (63% saved)

localize35.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (log.f64 c) b) z))))
0.0b
(+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (log.f64 c) b) z))
0.3b
(*.f64 (log.f64 c) b)
0.3b
(*.f64 (log.f64 y) x)

series3.1s (11.1%)

Counts
4 → 110
Calls

4 calls:

1.3s
(+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (log.f64 c) b) z))))
940.0ms
(+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (log.f64 c) b) z))
448.0ms
(*.f64 (log.f64 y) x)
345.0ms
(*.f64 (log.f64 c) b)

rewrite53.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
23×add-log-exp_binary64
14×*-un-lft-identity_binary64
13×sum-log_binary64
13×add-sqr-sqrt_binary64
10×pow1_binary64
Counts
4 → 80
Calls

4 calls:

19.0ms
(+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (log.f64 c) b) z))))
11.0ms
(+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (log.f64 c) b) z))
7.0ms
(*.f64 (log.f64 y) x)
6.0ms
(*.f64 (log.f64 c) b)

simplify174.0ms (0.6%)

Algorithm
egg-herbie
Rules
978×fma-neg_binary64
781×fma-def_binary64
569×associate-+l+_binary64
188×associate--l+_binary64
186×cancel-sign-sub-inv_binary64
Counts
190 → 152
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01822655
14812443
215442441
344492441
452952441

prune302.0ms (1.1%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1466152
Fresh314
Picked101
Done101
Total1517158
Error
0.0b
Counts
158 → 7
Alt Table
StatusErrorProgram
37.5b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (*.f64 (log.f64 c) (sqrt.f64 b)) (sqrt.f64 b)) z)))) (*.f64 1/2 (log.f64 c))))
34.7b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (sqrt.f64 (log.f64 c)) (*.f64 (sqrt.f64 (log.f64 c)) b)) z)))) (*.f64 1/2 (log.f64 c))))
0.3b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (*.f64 (cbrt.f64 (log.f64 c)) (cbrt.f64 (log.f64 c))) (*.f64 (cbrt.f64 (log.f64 c)) b)) z)))) (*.f64 1/2 (log.f64 c))))
29.6b
(fma.f64 y i (*.f64 (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
0.3b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (log.f64 c) b)) (cbrt.f64 (*.f64 (log.f64 c) b))) (cbrt.f64 (*.f64 (log.f64 c) b))) z)))) (*.f64 1/2 (log.f64 c))))
25.1b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (log.f64 c) b) (*.f64 (log.f64 c) b)) (*.f64 (log.f64 c) b))) z)))) (*.f64 1/2 (log.f64 c))))
0.3b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (*.f64 (log.f64 y) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x)) (+.f64 (*.f64 (log.f64 c) b) z)))) (*.f64 1/2 (log.f64 c))))
Compiler

Compiled 4812 to 1661 computations (65.5% saved)

localize47.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (*.f64 (log.f64 y) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x))
0.4b
(*.f64 (log.f64 y) (*.f64 (cbrt.f64 x) (cbrt.f64 x)))
0.5b
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
0.6b
(cbrt.f64 x)

series1.3s (4.9%)

Counts
4 → 72
Calls

4 calls:

854.0ms
(*.f64 (log.f64 y) (*.f64 (cbrt.f64 x) (cbrt.f64 x)))
373.0ms
(*.f64 (*.f64 (log.f64 y) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x))
66.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
53.0ms
(cbrt.f64 x)

rewrite43.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
26×pow1_binary64
25×add-sqr-sqrt_binary64
22×cbrt-prod_binary64
20×add-exp-log_binary64
16×*-un-lft-identity_binary64
Counts
4 → 103
Calls

4 calls:

15.0ms
(*.f64 (*.f64 (log.f64 y) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x))
10.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
7.0ms
(*.f64 (log.f64 y) (*.f64 (cbrt.f64 x) (cbrt.f64 x)))
1.0ms
(cbrt.f64 x)

simplify188.0ms (0.7%)

Algorithm
egg-herbie
Rules
629×unswap-sqr_binary64
471×distribute-rgt-in_binary64
444×distribute-lft-in_binary64
416×*-commutative_binary64
408×log-prod_binary64
Counts
175 → 154
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01201805
12441524
28801413
314151385
446841385
549741385

prune457.0ms (1.7%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1864190
Fresh066
Picked101
Done000
Total18710197
Error
0.0b
Counts
197 → 10
Alt Table
StatusErrorProgram
0.3b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (*.f64 (cbrt.f64 (log.f64 c)) (cbrt.f64 (log.f64 c))) (*.f64 (cbrt.f64 (log.f64 c)) b)) z)))) (*.f64 1/2 (log.f64 c))))
0.3b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (*.f64 (*.f64 (log.f64 y) (cbrt.f64 x)) (cbrt.f64 x)) (cbrt.f64 x)) (+.f64 (*.f64 (log.f64 c) b) z)))) (*.f64 1/2 (log.f64 c))))
37.5b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (*.f64 (log.f64 c) (sqrt.f64 b)) (sqrt.f64 b)) z)))) (*.f64 1/2 (log.f64 c))))
34.7b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (sqrt.f64 (log.f64 c)) (*.f64 (sqrt.f64 (log.f64 c)) b)) z)))) (*.f64 1/2 (log.f64 c))))
29.6b
(fma.f64 y i (*.f64 (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))) (sqrt.f64 (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))))
0.3b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (log.f64 c) b)) (cbrt.f64 (*.f64 (log.f64 c) b))) (cbrt.f64 (*.f64 (log.f64 c) b))) z)))) (*.f64 1/2 (log.f64 c))))
35.7b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (*.f64 (*.f64 (log.f64 y) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 (sqrt.f64 x))) (cbrt.f64 (sqrt.f64 x))) (+.f64 (*.f64 (log.f64 c) b) z)))) (*.f64 1/2 (log.f64 c))))
25.1b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (log.f64 c) b) (*.f64 (log.f64 c) b)) (*.f64 (log.f64 c) b))) z)))) (*.f64 1/2 (log.f64 c))))
0.3b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (*.f64 (log.f64 y) (*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)))) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))))) (cbrt.f64 x)) (+.f64 (*.f64 (log.f64 c) b) z)))) (*.f64 1/2 (log.f64 c))))
13.2b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x)) (+.f64 (*.f64 (log.f64 c) b) z)))) (*.f64 1/2 (log.f64 c))))
Compiler

Compiled 6897 to 2403 computations (65.2% saved)

regimes6.9s (25%)

Accuracy

Total 0.0b remaining (49.6%)

Threshold costs 0.0b (49.6%)

Counts
237 → 1
Compiler

Compiled 97896 to 61766 computations (36.9% saved)

simplify8.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
distribute-lft-neg-in_binary64
distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02335
13835
24535
34935
45235
55335
65135

end34.0ms (0.1%)

Remove

(sort z t a)

Compiler

Compiled 93 to 60 computations (35.5% saved)

sample5.1s (18.6%)

Algorithm
intervals
Results
1.6s9703×body128nan
1.4s7995×body128valid
213.0ms1270×body128invalid
5.0msbody1024valid
0.0msbody256valid
Compiler

Compiled 481 to 284 computations (41% saved)

Profiling

Loading profile data...