














adpcm* 
Adaptive
pulse code modulation algorithm. 
Completely wellstructured 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
nonnegative numbers in a matrix. 
Nested
loops, wellstructured code. 



√ 
√ 
√ 




2880 
267 
compress* 
Data
compression program. 
Adopted
from SPEC95 for WCETcalculation. 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 
Calculates the faculty function.

Uses
selfrecursion. 


√

√




√



332

27 
fdct 
Fast
Discrete Cosine Transform. 
A lot of
calculations based on integer array
elements. 


√ 
√ 

√ 
√ 



8863 
239 
fft1 
1024point Fast Fourier Transform using the
CoolyTurkey
algorithm. 
A lot of
calculations based on floating point array
elements. 


√ 
√ 
√ 
√ 



√ 
6244 
219

fibcall 
Simple
iterative Fibonacci calculation, used to
calculate
fib(30). 
Parameterdependent function, singlenested
loop 


√ 
√ 






3499 
72

fir 
Finite
impulse response filter (signal processing
algorithms)
over a 700
items long
sample. 
Inner
loop with varying number of iterations,
loopiteration
dependent
decisions. 



√ 
√ 
√ 




11965 
276

insertsort* 
Insertion sort on a reversed array of size
10. 
Inputdata dependent nested loop with
worstcase 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 
Discretecosine transformation on a 8x8 pixel block. 
Long
calculation sequences (i.e., long basic
blocks),
singlenested
loops. 


√ 
√ 

√ 




16028 
375

lcdnum 
Read
ten values, output half to LCD. 
Loop
with iterationdependent 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,
triplenested
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 multidimensional 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
ifstatements
(more than
250). 



√ 






118351 
4253

prime 
Calculates whether numbers are prime.

Uses
integer division and modulo function.



√

√







797 
47 
qsortexam 
Nonrecursive 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
selfrecursion 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 RealtimeCode
generator
STARC. 



√ 






52618 
1276

ud 
Calculation of matrixes.

Loop
nesting of 3 levels.



√

√

√






6 K

163 