Details

Time bar (total: 16.9s)

analyze2.1s (12.6%)

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)

sample4.5s (26.5%)

Symmetry

(sort z t a)

Results
2.5s11499×body128invalid
1.8s8254×body128valid
1.0msbody1024valid
0.0msbody256valid
Compiler

Compiled 89 to 62 computations (30.3% saved)

simplify84.0ms (0.5%)

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

prune4.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)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (fma.f64 x (log.f64 y) z) t)
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)

series1.1s (6.7%)

Counts
4 → 228
Calls

4 calls:

738.0ms
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))
166.0ms
(+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)
127.0ms
(+.f64 (fma.f64 x (log.f64 y) z) t)
102.0ms
(fma.f64 x (log.f64 y) z)

rewrite10.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
15×*-un-lft-identity_binary64
11×add-log-exp_binary64
fma-def_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
4 → 59
Calls

4 calls:

4.0ms
(+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)
2.0ms
(+.f64 (fma.f64 x (log.f64 y) z) t)
0.0ms
(fma.f64 x (log.f64 y) z)
0.0ms
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))

simplify144.0ms (0.9%)

Algorithm
egg-herbie
Rules
676×fma-neg_binary64
616×distribute-rgt-in_binary64
580×distribute-lft-in_binary64
507×fma-def_binary64
416×associate--l+_binary64
Counts
287 → 140
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01564579
14144467
212014079
349064071
455534071

prune343.0ms (2%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1355140
Fresh000
Picked101
Done000
Total1365141
Error
0.1b
Counts
141 → 5
Alt Table
StatusErrorProgram
31.0b
(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)))))
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))))
14.6b
(fma.f64 y i (+.f64 (fma.f64 (log.f64 y) x z) (+.f64 a (fma.f64 (log.f64 c) -1/2 t))))
37.4b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (expm1.f64 (log1p.f64 (+.f64 (fma.f64 x (log.f64 y) z) t))) a)))
Compiler

Compiled 3663 to 1294 computations (64.7% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series1.8s (10.6%)

Counts
4 → 110
Calls

4 calls:

745.0ms
(+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (log.f64 c) b) z))))
586.0ms
(+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (log.f64 c) b) z))
250.0ms
(*.f64 (log.f64 y) x)
216.0ms
(*.f64 (log.f64 c) b)

rewrite24.0ms (0.1%)

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:

8.0ms
(+.f64 a (+.f64 t (+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (log.f64 c) b) z))))
5.0ms
(+.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 (log.f64 c) b) z))
4.0ms
(*.f64 (log.f64 c) b)
3.0ms
(*.f64 (log.f64 y) x)

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

prune241.0ms (1.4%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1457152
Fresh134
Picked101
Done000
Total14710157
Error
0.0b
Counts
157 → 10
Alt Table
StatusErrorProgram
0.3b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) x)) (+.f64 (*.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 (log.f64 c) (*.f64 (cbrt.f64 b) (cbrt.f64 b))) (cbrt.f64 b)) z)))) (*.f64 1/2 (log.f64 c))))
37.4b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (expm1.f64 (log1p.f64 (+.f64 (fma.f64 x (log.f64 y) z) t))) a)))
32.3b
(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))))
31.0b
(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)))))
14.6b
(fma.f64 y i (+.f64 (fma.f64 (log.f64 y) x z) (+.f64 a (fma.f64 (log.f64 c) -1/2 t))))
0.3b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) (cbrt.f64 (*.f64 (log.f64 y) x))) (cbrt.f64 (*.f64 (log.f64 y) x))) (+.f64 (*.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))))
31.6b
(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))))
Compiler

Compiled 4976 to 1766 computations (64.5% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series2.3s (13.6%)

Counts
3 → 72
Calls

3 calls:

1.2s
(*.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) (cbrt.f64 (*.f64 (log.f64 y) x)))
884.0ms
(cbrt.f64 (*.f64 (log.f64 y) x))
229.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) (cbrt.f64 (*.f64 (log.f64 y) x))) (cbrt.f64 (*.f64 (log.f64 y) x)))

rewrite16.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
29×pow1_binary64
16×pow1/3_binary64
11×pow-prod-up_binary64
11×add-sqr-sqrt_binary64
10×add-exp-log_binary64
Counts
3 → 79
Calls

3 calls:

6.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) (cbrt.f64 (*.f64 (log.f64 y) x))) (cbrt.f64 (*.f64 (log.f64 y) x)))
4.0ms
(*.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) (cbrt.f64 (*.f64 (log.f64 y) x)))
2.0ms
(cbrt.f64 (*.f64 (log.f64 y) x))

simplify100.0ms (0.6%)

Algorithm
egg-herbie
Rules
555×distribute-rgt-in_binary64
492×distribute-lft-in_binary64
302×log-prod_binary64
294×fma-def_binary64
247×unswap-sqr_binary64
Counts
151 → 114
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01231809
12651570
26791394
314411271
447171271
549811271

prune273.0ms (1.6%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1821183
Fresh189
Picked101
Done000
Total1849193
Error
0.0b
Counts
193 → 9
Alt Table
StatusErrorProgram
0.3b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) 3) (+.f64 (*.f64 (log.f64 c) b) z)))) (*.f64 1/2 (log.f64 c))))
31.6b
(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))))
0.3b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) x)) (+.f64 (*.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 (log.f64 c) (*.f64 (cbrt.f64 b) (cbrt.f64 b))) (cbrt.f64 b)) z)))) (*.f64 1/2 (log.f64 c))))
37.4b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (expm1.f64 (log1p.f64 (+.f64 (fma.f64 x (log.f64 y) z) t))) a)))
32.3b
(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))))
31.0b
(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)))))
14.6b
(fma.f64 y i (+.f64 (fma.f64 (log.f64 y) x z) (+.f64 a (fma.f64 (log.f64 c) -1/2 t))))
Compiler

Compiled 7856 to 2450 computations (68.8% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (log.f64 y) x)
0.3b
(*.f64 (log.f64 c) b)
0.6b
(cbrt.f64 (*.f64 (log.f64 y) x))
0.7b
(pow.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) 3)

series750.0ms (4.4%)

Counts
1 → 24
Calls

1 calls:

750.0ms
(pow.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) 3)

rewrite3.0ms (0%)

Algorithm
rewrite-expression-head
Rules
cube-prod_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
unpow-prod-down_binary64
add-cube-cbrt_binary64
Counts
1 → 28
Calls

1 calls:

2.0ms
(pow.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) 3)

simplify56.0ms (0.3%)

Algorithm
egg-herbie
Rules
706×associate-*l*_binary64
611×associate-*r*_binary64
375×exp-prod_binary64
347×fma-def_binary64
339×log-prod_binary64
Counts
52 → 42
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
079620
1179571
2549497
33319469
44877469

prune164.0ms (1%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1230123
Fresh088
Picked011
Done000
Total1239132
Error
0.0b
Counts
132 → 9
Alt Table
StatusErrorProgram
0.3b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) 3) (+.f64 (*.f64 (log.f64 c) b) z)))) (*.f64 1/2 (log.f64 c))))
31.6b
(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))))
0.3b
(fma.f64 y i (-.f64 (+.f64 a (+.f64 t (+.f64 (*.f64 (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) x)) (+.f64 (*.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 (log.f64 c) (*.f64 (cbrt.f64 b) (cbrt.f64 b))) (cbrt.f64 b)) z)))) (*.f64 1/2 (log.f64 c))))
37.4b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (expm1.f64 (log1p.f64 (+.f64 (fma.f64 x (log.f64 y) z) t))) a)))
32.3b
(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))))
31.0b
(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)))))
14.6b
(fma.f64 y i (+.f64 (fma.f64 (log.f64 y) x z) (+.f64 a (fma.f64 (log.f64 c) -1/2 t))))
Compiler

Compiled 4097 to 1721 computations (58% saved)

regimes2.5s (14.7%)

Accuracy

Total 0.0b remaining (49.5%)

Threshold costs 0.0b (49.5%)

Counts
147 → 1
Compiler

Compiled 55580 to 34654 computations (37.7% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01826
12326
22426
32326

end183.0ms (1.1%)

Remove

(sort z t a)

Compiler

Compiled 423 to 262 computations (38.1% saved)

Profiling

Loading profile data...