Details

Time bar (total: 3.6s)

analyze97.0ms (2.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%24.7%75.3%0
0%24.7%75.3%1
0%24.7%75.3%2
12.4%12.4%75.3%3
12.4%12.4%75.3%4
18.5%6.2%75.3%5
18.5%6.2%75.3%6
21.6%3.1%75.3%7
21.6%3.1%75.3%8
23.2%1.5%75.3%9
23.2%1.5%75.3%10
23.9%0.8%75.3%11
23.9%0.8%75.3%12
24.3%0.4%75.3%13
24.3%0.4%75.3%14
Compiler

Compiled 18 to 14 computations (22.2% saved)

sample1.4s (37.2%)

Results
1.3s8256×body128valid
Compiler

Compiled 47 to 37 computations (21.3% saved)

simplify53.0ms (1.5%)

Algorithm
egg-herbie
Rules
944×fma-neg_binary32
518×unswap-sqr_binary32
432×exp-prod_binary32
340×times-frac_binary32
333×associate-*l*_binary32
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11714
22714
33614
45014
57914
614714
726114
852814
9167614
10316014
11412114
12485014

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.0b
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))
Compiler

Compiled 33 to 27 computations (18.2% saved)

localize23.0ms (0.6%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s)))
0.0b
(exp.f32 (/.f32 (neg.f32 x) s))
0.0b
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))

series29.0ms (0.8%)

Counts
3 → 72
Calls

3 calls:

19.0ms
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))
5.0ms
(+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s)))
5.0ms
(exp.f32 (/.f32 (neg.f32 x) s))

rewrite51.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
822×log1p-expm1-u_binary32
822×expm1-log1p-u_binary32
96×prod-diff_binary32
95×add-sqr-sqrt_binary32
89×add-log-exp_binary32
Counts
3 → 86
Calls

3 calls:

49.0ms
(+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s)))
49.0ms
(exp.f32 (/.f32 (neg.f32 x) s))
49.0ms
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0933
119227
2213827
3522127
000
100

simplify60.0ms (1.7%)

Algorithm
egg-herbie
Rules
727×cancel-sign-sub-inv_binary32
632×fma-def_binary32
563×fma-neg_binary32
552×associate-/r*_binary32
206×neg-mul-1_binary32
Counts
158 → 111
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0451020
1126966
2349918
31445906
44465906
55038906

prune49.0ms (1.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1092111
Fresh000
Picked011
Done000
Total1093112
Error
0.0b
Counts
112 → 3
Alt Table
StatusErrorProgram
0.0b
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))
29.7b
(fma.f32 (pow.f32 (/.f32 x s) 3) -1/48 (fma.f32 1/480 (/.f32 (pow.f32 x 5) (pow.f32 s 5)) (fma.f32 1/4 (/.f32 x s) 1/2)))
24.1b
(fma.f32 1/4 (/.f32 x s) 1/2)
Compiler

Compiled 1562 to 924 computations (40.8% saved)

localize13.0ms (0.4%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(fma.f32 1/4 (/.f32 x s) 1/2)

series5.0ms (0.1%)

Counts
1 → 24
Calls

1 calls:

5.0ms
(fma.f32 1/4 (/.f32 x s) 1/2)

rewrite39.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
648×log1p-expm1-u_binary32
648×expm1-log1p-u_binary32
309×log-prod_binary32
126×expm1-udef_binary32
126×log1p-udef_binary32
Counts
1 → 27
Calls

1 calls:

38.0ms
(fma.f32 1/4 (/.f32 x s) 1/2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
078
11458
216618
350878
000
100

simplify11.0ms (0.3%)

Algorithm
egg-herbie
Rules
fma-def_binary32
*-commutative_binary32
associate-/l*_binary32
+-commutative_binary32
associate-*r/_binary32
Counts
51 → 29
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
08204
112168
217168
321168
423168
524168
624168

prune62.0ms (1.7%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New29029
Fresh011
Picked011
Done011
Total29332
Error
0.0b
Counts
32 → 3
Alt Table
StatusErrorProgram
0.0b
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))
29.7b
(fma.f32 (pow.f32 (/.f32 x s) 3) -1/48 (fma.f32 1/480 (/.f32 (pow.f32 x 5) (pow.f32 s 5)) (fma.f32 1/4 (/.f32 x s) 1/2)))
24.1b
(fma.f32 1/4 (/.f32 x s) 1/2)
Compiler

Compiled 389 to 255 computations (34.4% saved)

localize85.0ms (2.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f32 (/.f32 x s) 3)
0.4b
(fma.f32 1/480 (/.f32 (pow.f32 x 5) (pow.f32 s 5)) (fma.f32 1/4 (/.f32 x s) 1/2))
9.5b
(/.f32 (pow.f32 x 5) (pow.f32 s 5))
15.5b
(fma.f32 (pow.f32 (/.f32 x s) 3) -1/48 (fma.f32 1/480 (/.f32 (pow.f32 x 5) (pow.f32 s 5)) (fma.f32 1/4 (/.f32 x s) 1/2)))

series91.0ms (2.5%)

Counts
4 → 72
Calls

4 calls:

39.0ms
(/.f32 (pow.f32 x 5) (pow.f32 s 5))
24.0ms
(fma.f32 1/480 (/.f32 (pow.f32 x 5) (pow.f32 s 5)) (fma.f32 1/4 (/.f32 x s) 1/2))
14.0ms
(fma.f32 (pow.f32 (/.f32 x s) 3) -1/48 (fma.f32 1/480 (/.f32 (pow.f32 x 5) (pow.f32 s 5)) (fma.f32 1/4 (/.f32 x s) 1/2)))
14.0ms
(pow.f32 (/.f32 x s) 3)

rewrite67.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
303×log1p-udef_binary32
176×prod-diff_binary32
174×add-sqr-sqrt_binary32
171×log1p-expm1-u_binary32
171×expm1-log1p-u_binary32
Counts
4 → 121
Calls

4 calls:

65.0ms
(pow.f32 (/.f32 x s) 3)
65.0ms
(fma.f32 1/480 (/.f32 (pow.f32 x 5) (pow.f32 s 5)) (fma.f32 1/4 (/.f32 x s) 1/2))
65.0ms
(/.f32 (pow.f32 x 5) (pow.f32 s 5))
64.0ms
(fma.f32 (pow.f32 (/.f32 x s) 3) -1/48 (fma.f32 1/480 (/.f32 (pow.f32 x 5) (pow.f32 s 5)) (fma.f32 1/4 (/.f32 x s) 1/2)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01769
137269
2411369
3474469
000
100

simplify57.0ms (1.6%)

Algorithm
egg-herbie
Rules
774×fma-neg_binary32
585×distribute-neg-frac_binary32
457×times-frac_binary32
379×associate-/l*_binary32
334×fma-def_binary32
Counts
193 → 136
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0261212
1781146
22021128
38031011
437341011
552111011

prune108.0ms (3%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1351136
Fresh000
Picked101
Done022
Total1363139
Error
0.0b
Counts
139 → 3
Alt Table
StatusErrorProgram
27.9b
(fma.f32 (pow.f32 (/.f32 x s) 3) -1/48 (fma.f32 1/480 (*.f32 (/.f32 1 (pow.f32 s 5/2)) (/.f32 (pow.f32 x 5) (pow.f32 s 5/2))) (fma.f32 1/4 (/.f32 x s) 1/2)))
0.0b
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))
24.1b
(fma.f32 1/4 (/.f32 x s) 1/2)
Compiler

Compiled 3729 to 2487 computations (33.3% saved)

localize60.0ms (1.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(fma.f32 1/480 (*.f32 (/.f32 1 (pow.f32 s 5/2)) (/.f32 (pow.f32 x 5) (pow.f32 s 5/2))) (fma.f32 1/4 (/.f32 x s) 1/2))
4.9b
(*.f32 (/.f32 1 (pow.f32 s 5/2)) (/.f32 (pow.f32 x 5) (pow.f32 s 5/2)))
8.1b
(/.f32 (pow.f32 x 5) (pow.f32 s 5/2))
15.5b
(fma.f32 (pow.f32 (/.f32 x s) 3) -1/48 (fma.f32 1/480 (*.f32 (/.f32 1 (pow.f32 s 5/2)) (/.f32 (pow.f32 x 5) (pow.f32 s 5/2))) (fma.f32 1/4 (/.f32 x s) 1/2)))

series115.0ms (3.2%)

Counts
4 → 77
Calls

4 calls:

40.0ms
(/.f32 (pow.f32 x 5) (pow.f32 s 5/2))
37.0ms
(*.f32 (/.f32 1 (pow.f32 s 5/2)) (/.f32 (pow.f32 x 5) (pow.f32 s 5/2)))
22.0ms
(fma.f32 1/480 (*.f32 (/.f32 1 (pow.f32 s 5/2)) (/.f32 (pow.f32 x 5) (pow.f32 s 5/2))) (fma.f32 1/4 (/.f32 x s) 1/2))
16.0ms
(fma.f32 (pow.f32 (/.f32 x s) 3) -1/48 (fma.f32 1/480 (*.f32 (/.f32 1 (pow.f32 s 5/2)) (/.f32 (pow.f32 x 5) (pow.f32 s 5/2))) (fma.f32 1/4 (/.f32 x s) 1/2)))

rewrite76.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
210×add-sqr-sqrt_binary32
204×log1p-expm1-u_binary32
204×expm1-log1p-u_binary32
200×add-cbrt-cube_binary32
199×add-log-exp_binary32
Counts
4 → 123
Calls

4 calls:

74.0ms
(fma.f32 1/480 (*.f32 (/.f32 1 (pow.f32 s 5/2)) (/.f32 (pow.f32 x 5) (pow.f32 s 5/2))) (fma.f32 1/4 (/.f32 x s) 1/2))
74.0ms
(*.f32 (/.f32 1 (pow.f32 s 5/2)) (/.f32 (pow.f32 x 5) (pow.f32 s 5/2)))
74.0ms
(/.f32 (pow.f32 x 5) (pow.f32 s 5/2))
73.0ms
(fma.f32 (pow.f32 (/.f32 x s) 3) -1/48 (fma.f32 1/480 (*.f32 (/.f32 1 (pow.f32 s 5/2)) (/.f32 (pow.f32 x 5) (pow.f32 s 5/2))) (fma.f32 1/4 (/.f32 x s) 1/2)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02190
145872
2472672
3466072
000
100

simplify65.0ms (1.8%)

Algorithm
egg-herbie
Rules
774×fma-neg_binary32
585×distribute-neg-frac_binary32
457×times-frac_binary32
379×associate-/l*_binary32
334×fma-def_binary32
Counts
200 → 140
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0301268
1851208
22141192
38271150
437911150
552661150

prune187.0ms (5.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1400140
Fresh000
Picked011
Done022
Total1403143
Error
0.0b
Counts
143 → 3
Alt Table
StatusErrorProgram
27.9b
(fma.f32 (pow.f32 (/.f32 x s) 3) -1/48 (fma.f32 1/480 (*.f32 (/.f32 1 (pow.f32 s 5/2)) (/.f32 (pow.f32 x 5) (pow.f32 s 5/2))) (fma.f32 1/4 (/.f32 x s) 1/2)))
0.0b
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))
24.1b
(fma.f32 1/4 (/.f32 x s) 1/2)
Compiler

Compiled 4037 to 2781 computations (31.1% saved)

regimes748.0ms (20.5%)

Accuracy

Total 0.0b remaining (37.2%)

Threshold costs 0.0b (37.2%)

Counts
85 → 1
Compiler

Compiled 15115 to 11145 computations (26.3% saved)

simplify40.0ms (1.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary32
*-commutative_binary32
sub-neg_binary32
neg-sub0_binary32
neg-mul-1_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11714
22114
32414
42514
52414

end90.0ms (2.5%)

Compiler

Compiled 71 to 55 computations (22.5% saved)

Profiling

Loading profile data...