|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
adpcm* |
Adaptive
pulse code modulation algorithm. |
Completely
well-structured code. |
|
|
|
√ |
|
|
|
|
|
|
26852 |
879 |
|
bs |
Binary
search for the array of 15 integer elements. |
Completely
structured. |
|
|
|
√ |
|
√ |
|
|
|
|
4248 |
114 |
|
bsort100 |
Bubblesort
program. |
Tests
the basic loop constructs, integer comparisons,
and simple array handling by sorting 100
integers |
|
|
|
√ |
√ |
√ |
|
|
|
|
2779 |
128 |
|
cnt* |
Counts
non-negative numbers in a matrix. |
Nested
loops, well-structured code. |
|
|
|
√ |
√ |
√ |
|
|
|
|
2880 |
267 |
|
compress* |
Data
compression program. |
Adopted from SPEC95 for WCET-calculation.
Only compression is done on a buffer (small
one) containing totally random data. |
|
|
|
√ |
√ |
√ |
|
|
|
|
13411 |
508 |
|
cover* |
Program
for testing many paths. |
A loop containing many switch cases. |
|
|
√ |
√ |
|
|
|
|
|
|
5026 |
240 |
|
crc* |
Cyclic
redundancy check computation on 40 bytes
of data. |
Complex
loops, lots of decisions, loop bounds
depend on function arguments, function
that executes differently the first time
it is called. |
|
|
√ |
√ |
|
√ |
√ |
|
|
|
5168 |
128 |
|
duff* |
Using
"Duff's device" from the Jargon
file to copy 43 byte array. |
Unstructured
loop with known bound, switch statement |
|
|
√ |
√ |
|
|
|
|
√ |
|
2374 |
86 |
|
edn* |
Finite
Impulse Response (FIR) filter calculations. |
A
lot of vector multiplications and array
handling. |
|
|
√ |
√ |
√ |
√ |
√ |
|
|
|
10563 |
285 |
|
expint |
Series
expansion for computing an exponential
integral function. |
Inner
loop that only runs once, structural WCET
estimate gives heavy overestimate. |
|
|
√ |
√ |
√ |
|
|
|
|
|
4288 |
157 |
|
fac |
TBA |
TBA |
|
|
|
|
|
|
|
|
|
|
TBA |
TBA |
|
fdct |
Fast
Discrete Cosine Transform. |
A
lot of calculations based on integer
array elements. |
|
|
√ |
√ |
|
√ |
√ |
|
|
|
8863 |
239 |
|
fft1 |
1024-point Fast Fourier Transform using
the Cooly-Turkey algorithm. |
A
lot of calculations based on floating
point array elements.
|
|
|
√ |
√ |
√ |
√ |
|
|
|
√ |
6244 |
219
|
|
fibcall |
Simple
iterative Fibonacci calculation, used
to calculate fib(30). |
Parameter-dependent
function, single-nested loop |
|
|
√ |
√ |
|
|
|
|
|
|
3499 |
72
|
|
fir |
Finite
impulse response filter (signal processing
algorithms) over a 700 items long sample. |
Inner
loop with varying number of iterations,
loop-iteration dependent decisions. |
|
|
|
√ |
√ |
√ |
|
|
|
|
11965 |
276
|
|
insertsort* |
Insertion
sort on a reversed array of size 10. |
Input-data
dependent nested loop with worst-case
of (n^2)/2 iterations (triangular loop). |
|
|
|
√ |
√ |
√ |
|
|
|
|
3892 |
92
|
|
janne_complex* |
Nested
loop program. |
The
inner loops number of iterations depends
on the outer loops current iteration number. |
|
|
√ |
√ |
√ |
|
|
|
|
|
1564 |
64
|
|
jfdctint |
Discrete-cosine transformation on a 8x8
pixel block. |
Long calculation sequences (i.e., long
basic blocks), single-nested loops. |
|
|
√ |
√ |
|
√ |
|
|
|
|
16028 |
375
|
|
lcdnum |
Read ten values, output half to LCD. |
Loop with iteration-dependent flow. |
|
|
|
√ |
|
|
√ |
|
|
|
1678 |
64
|
|
lms |
LMS
adaptive signal enhancement. The input
signal is a sine wave with added white
noise. |
A
lot of floating point calculations. |
|
|
√ |
√ |
|
√ |
|
|
|
√ |
7720 |
261
|
|
ludcmp |
LU decomposition algorithm. |
A
lot of calculations based on floating
point arrays with
the size of 50 elements. |
|
|
|
√ |
√ |
√ |
|
|
|
√ |
5160 |
147
|
|
matmult* |
Matrix
multiplication of two 20x20 matrices. |
Multiple
calls to the same function, nested function
calls, triple-nested loops. |
|
|
√ |
√ |
√ |
√ |
|
|
|
|
3737 |
163
|
|
minver |
Inversion
of floating point matrix. |
Floating
value calculations in 3x3 matrix. Nested
loops (3 levels). |
|
|
√ |
√ |
√ |
√ |
|
|
|
√ |
5805 |
201
|
|
ndes* |
Complex
embedded code. |
A
lot of bit manipulation, shifts, array
and matrix calculations. |
|
|
|
√ |
|
√ |
√ |
|
|
|
7345 |
231
|
|
ns* |
Search
in a multi-dimensional array. |
Return
from the middle of a loop nest, deep loop
nesting (4 levels). |
|
|
|
√ |
√ |
√ |
|
|
|
|
10436 |
535
|
|
nsichneu* |
Simulate
an extended Petri Net. |
Automatically
generated code containing large amounts
of if-statements (more than 250). |
|
|
|
√ |
|
|
|
|
|
|
118351 |
4253
|
|
prime |
TBA |
TBA |
|
|
|
|
|
|
|
|
|
|
TBA |
TBA |
|
qsort-exam |
Non-recursive
version of quick sort algorithm. |
The program sorts 20 floating point numbers
in an array. Loop nesting of 3 levels. |
|
|
|
√ |
√ |
√ |
|
|
|
√ |
4535 |
121
|
|
qurt |
Root
computation of quadratic equations. |
The real and imaginary parts of the solution
are stored in arrays. |
|
|
√ |
√ |
|
√ |
|
|
|
√ |
4898 |
166
|
|
recursion* |
A
simple example of recursive code. |
Both
self-recursion and mutual recursion are
used. |
|
|
√ |
|
|
|
|
√ |
|
|
620 |
41
|
|
select |
A
function to select the Nth largest number
in a floating point array. |
A
lot of floating value array calculations,
loop nesting (3 levels). |
|
|
|
√ |
√ |
√ |
|
|
|
√ |
4494 |
114
|
|
sqrt |
Square
root function implemented by Taylor series.
|
Simple
numerical calculation. |
|
|
√ |
√ |
|
|
|
|
|
√ |
3567 |
77
|
|
st |
Statistics
program.
|
This
program computes for two arrays of numbers
the sum, the mean, the variance, and standard
deviation, and the correlation coefficient
between the two arrays. |
|
√ |
|
√ |
|
√ |
|
|
|
√ |
3857 |
177
|
|
statemate* |
Automatically
generated code. |
Generated
by the STAtechart Real-time-Code generator
STARC. |
|
|
|
√ |
|
|
|
|
|
|
52618 |
1276
|
|
ud |
TBA |
TBA |
|
|
|
|
|
|
|
|
|
|
TBA |
TBA |