Details

Time bar (total: 3.9s)

analyze106.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.3s (33.1%)

Results
1.3s8256×body128valid
Compiler

Compiled 36 to 28 computations (22.2% saved)

preprocess37.0ms (1%)

Algorithm
egg-herbie
Rules
434×fma-def_binary32
401×associate-/l*_binary32
298×associate-/l/_binary32
270×associate-/r*_binary32
208×unswap-sqr_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01428
12728
24528
36928
49628
516028
630628
766528
8150328
9405028
022
Stop Event
saturated
node limit
Compiler

Compiled 11 to 9 computations (18.2% saved)

simplify21.0ms (0.5%)

Algorithm
egg-herbie
Rules
518×unswap-sqr_binary32
340×times-frac_binary32
331×associate-*l*_binary32
260×associate-*r*_binary32
208×fma-def_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11714
22714
34014
45414
58814
616214
734414
877314
9261614
Stop Event
node limit
Counts
1 → 1

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.1b
(/.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
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))
0.1b
(exp.f32 (/.f32 (neg.f32 x) s))

series30.0ms (0.8%)

Counts
3 → 72
Calls

18 calls:

5.0ms
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))
x
inf
4.0ms
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))
s
0
4.0ms
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))
x
-inf
2.0ms
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))
x
0
2.0ms
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))
s
inf

rewrite53.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
88×add-cbrt-cube_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0933
119327
2265927
Stop Event
node limit
Counts
3 → 83

simplify36.0ms (0.9%)

Algorithm
egg-herbie
Rules
727×cancel-sign-sub-inv_binary32
632×fma-def_binary32
551×associate-/r*_binary32
320×fma-neg_binary32
192×associate-/r/_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0451020
1128966
2368918
31575906
Stop Event
node limit
Counts
155 → 108

prune48.0ms (1.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1062108
Fresh000
Picked011
Done000
Total1063109
Error
0.0b
Counts
109 → 3
Alt Table
StatusErrorProgram
0.1b
(/.f32 1 (+.f32 1 (/.f32 1 (exp.f32 (/.f32 x s)))))
0.1b
(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s))))
24.1b
(fma.f32 (/.f32 x s) 1/4 (fma.f32 (pow.f32 (/.f32 x s) 3) -1/48 1/2))
Compiler

Compiled 1528 to 909 computations (40.5% saved)

localize24.0ms (0.6%)

Local error

Found 4 expressions with local error:

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

series66.0ms (1.7%)

Counts
4 → 72
Calls

24 calls:

9.0ms
(/.f32 1 (+.f32 1 (/.f32 1 (exp.f32 (/.f32 x s)))))
x
-inf
8.0ms
(/.f32 1 (+.f32 1 (/.f32 1 (exp.f32 (/.f32 x s)))))
x
inf
7.0ms
(/.f32 1 (+.f32 1 (/.f32 1 (exp.f32 (/.f32 x s)))))
s
0
4.0ms
(+.f32 1 (/.f32 1 (exp.f32 (/.f32 x s))))
x
-inf
3.0ms
(/.f32 1 (exp.f32 (/.f32 x s)))
s
0

rewrite55.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
452×log-prod_binary32
168×expm1-udef_binary32
168×log1p-udef_binary32
166×fma-def_binary32
158×pow3_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0939
119639
2258339
Stop Event
node limit
Counts
4 → 135

simplify41.0ms (1%)

Algorithm
egg-herbie
Rules
874×fma-def_binary32
727×cancel-sign-sub-inv_binary32
547×associate-/r*_binary32
317×fma-neg_binary32
190×associate-/r/_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0491113
11371053
2393996
31633978
Stop Event
node limit
Counts
207 → 163

prune128.0ms (3.3%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1594163
Fresh101
Picked101
Done101
Total1624166
Error
0.0b
Counts
166 → 4
Alt Table
StatusErrorProgram
5.8b
(/.f32 1 (+.f32 1 (/.f32 1 (pow.f32 (exp.f32 x) (/.f32 1 s)))))
0.1b
(/.f32 1 (fma.f32 1 (exp.f32 (/.f32 (neg.f32 x) s)) 1))
0.0b
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))
0.1b
(pow.f32 (pow.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s)))) 3) 1/3)
Compiler

Compiled 2596 to 1500 computations (42.2% saved)

localize24.0ms (0.6%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))
0.1b
(exp.f32 (/.f32 (neg.f32 x) s))
1.7b
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))

series508.0ms (13%)

Counts
2 → 48
Calls

12 calls:

82.0ms
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))
x
inf
81.0ms
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))
x
inf
81.0ms
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))
s
0
76.0ms
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))
x
-inf
76.0ms
(log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))
s
0

rewrite38.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
650×expm1-log1p-u_binary32
649×log1p-expm1-u_binary32
128×log1p-udef_binary32
91×add-sqr-sqrt_binary32
84×add-log-exp_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0924
118117
2246617
Stop Event
node limit
Counts
2 → 59

simplify34.0ms (0.9%)

Algorithm
egg-herbie
Rules
641×fma-def_binary32
498×cancel-sign-sub-inv_binary32
363×associate-/l/_binary32
261×fma-neg_binary32
227×distribute-lft-neg-in_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
055972
1163750
2510738
32194678
Stop Event
node limit
Counts
107 → 78

prune44.0ms (1.1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1061107
Fresh123
Picked011
Done000
Total1074111
Error
0.0b
Counts
111 → 4
Alt Table
StatusErrorProgram
5.8b
(/.f32 1 (+.f32 1 (/.f32 1 (pow.f32 (exp.f32 x) (/.f32 1 s)))))
0.0b
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))
0.1b
(pow.f32 (pow.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s)))) 3) 1/3)
0.1b
(exp.f32 (neg.f32 (log1p.f32 (/.f32 1 (exp.f32 (/.f32 x s))))))
Compiler

Compiled 1427 to 808 computations (43.4% saved)

localize25.0ms (0.6%)

Local error

Found 4 expressions with local error:

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

series703.0ms (18%)

Counts
2 → 48
Calls

12 calls:

163.0ms
(exp.f32 (neg.f32 (log1p.f32 (/.f32 1 (exp.f32 (/.f32 x s))))))
s
0
122.0ms
(exp.f32 (neg.f32 (log1p.f32 (/.f32 1 (exp.f32 (/.f32 x s))))))
x
-inf
120.0ms
(log1p.f32 (/.f32 1 (exp.f32 (/.f32 x s))))
x
-inf
94.0ms
(exp.f32 (neg.f32 (log1p.f32 (/.f32 1 (exp.f32 (/.f32 x s))))))
x
inf
92.0ms
(log1p.f32 (/.f32 1 (exp.f32 (/.f32 x s))))
x
inf

rewrite41.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
776×expm1-log1p-u_binary32
775×log1p-expm1-u_binary32
95×add-sqr-sqrt_binary32
88×add-log-exp_binary32
86×add-cbrt-cube_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01024
119721
2243621
Stop Event
node limit
Counts
2 → 59

simplify36.0ms (0.9%)

Algorithm
egg-herbie
Rules
639×fma-def_binary32
498×cancel-sign-sub-inv_binary32
358×associate-/l/_binary32
261×fma-neg_binary32
229×distribute-rgt-neg-in_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0541044
1158750
2500738
32163678
Stop Event
node limit
Counts
107 → 77

prune144.0ms (3.7%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1510151
Fresh022
Picked011
Done011
Total1514155
Error
0.0b
Counts
155 → 4
Alt Table
StatusErrorProgram
5.8b
(/.f32 1 (+.f32 1 (/.f32 1 (pow.f32 (exp.f32 x) (/.f32 1 s)))))
0.0b
(exp.f32 (neg.f32 (log1p.f32 (exp.f32 (/.f32 (neg.f32 x) s)))))
0.1b
(pow.f32 (pow.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 x) s)))) 3) 1/3)
0.1b
(exp.f32 (neg.f32 (log1p.f32 (/.f32 1 (exp.f32 (/.f32 x s))))))
Compiler

Compiled 2191 to 1171 computations (46.6% saved)

regimes274.0ms (7%)

Accuracy

Total 0.0b remaining (35.5%)

Threshold costs 0.0b (35.5%)

Counts
49 → 1
Compiler

Compiled 4731 to 3837 computations (18.9% saved)

simplify2.0ms (0.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
22314
32714
42814
Stop Event
saturated

end72.0ms (1.8%)

Stop Event
fuel
Compiler

Compiled 70 to 58 computations (17.1% saved)

Profiling

Loading profile data...