Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C by ant ( 16 years ago )
/* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД *
і і
і ‘ҐаЁп вҐбв®ў PC Tech Journal і
і ’Ґбв ®ЇвЁ¬Ё§ жЁЁ Є®¤ ‘Ё і
і і
і Copyright (c) 1988 Ziff-Devis Publishing Company і
і і
і ќв Їа®Ја ¬¬ -вҐбв Ўл« а §а Ў®в ¤«п Їа®ўҐаЄЁ і
і ¬Ґв®¤®ў ®ЇвЁ¬Ё§ жЁЁ Є®¤ , ЇаЁ¬ҐпҐ¬ле Є®¬ЇЁ«пв®а®¬ і
і ‘Ё. Ћ Ґ ўла Ў влў Ґв а §г¬лҐ १г«мв вл Ё Ґ і
і ЇаҐ¤бв ў«пҐв е®а®иЁ© бвЁ«м Їа®Ја ¬¬Ёа®ў Ёп. і
і і
* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД */
#include <stdio.h>
#include <string.h>
#define max_vector 2
#define constant5 5
typedef unsigned char uchar;
int i, j, k, l, m;
int i2, j2, k2;
int g3, h3, i3, k3, m3;
int i4, j4;
int i5, j5, k5;
double flt_1, flt_2, flt_3, flt_4, flt_5, flt_6;
int ivector[ 3 ];
uchar ivector2[ 3 ];
short ivector4[ 6 ];
int ivector5[ 100 ];
#ifndef NO_PROTOTYPES
void dead_code( int, char * );
void unnecessary_loop( void );
void loop_jamming( int );
void loop_unrolling( int );
int jump_compression( int, int, int, int, int );
#else
void dead_code();
void unnecessary_loop();
void loop_jamming();
void loop_unrolling();
int jump_compression();
#endif
int /* cdecl */ main( argc, argv ) /* optbench */
int argc;
char **argv;
{
/* ДДДДДДДДДДДДДДДДДДДДДДДДДДДД *
і ђ §¬®¦ҐЁҐ Є®бв в Ё Є®ЇЁ© і
*ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД*/
j4 = 2;
if( i2 < j4 && i4 < j4 )
i2 = 2;
j4 = k5;
if( i2 < j4 && i4 < j4 )
i5 = 3;
/* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД *
і ‘ўҐавЄ Є®бв в, аЁд¬ҐвЁзҐбЄЁҐ ⮦¤Ґбвў і
і Ё Ё§«ЁиЁҐ ®ЇҐа жЁЁ § Јаг§ЄЁ/б®еа ҐЁп і
* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД */
i3 = 1 + 2;
flt_1 = 2.4 + 6.3;
i2 = 5;
j2 = i + 0;
k2 = i / 1;
i4 = i * 1;
i5 = i * 0;
#ifndef NO_ZERO_DIVIDE
/*
* ЌҐЄ®в®алҐ Є®¬ЇЁ«пв®ал а бЇ®§ ов ®иЁЎЄг
* ¤Ґ«ҐЁп г«м Ё Ґ ЈҐҐаЁагов ®ЎкҐЄвл© Є®¤
*/
i2 = i / 0;
flt_2 = flt_1 / 0.0;
#else
printf( "This compiler handles divide-by-zero as \
an error\n");
#endif
flt_3 = 2.4 / 1.0;
flt_4 = 1.0 + 0.0000001;
flt_5 = flt_6 * 0.0;
flt_6 = flt_2 * flt_3;
/* ДДДДДДДДДДДДДДДДДДДД *
і ‹ЁиҐҐ ЇаЁбў Ёў ЁҐ і
* ДДДДДДДДДДДДДДДДДДДД */
k3 = 1;
k3 = 1;
/* ДДДДДДДДДДДДДДДДДД *
і ‘Ё¦ҐЁҐ ¬®й®бвЁ і
* ДДДДДДДДДДДДДДДДДД */
k2 = 4 * j5;
for( i = 0; i <= 5; i++ )
ivector4[ i ] = i * 2;
/* ДДДДДДДДДДДДД *
і Џа®бв®© жЁЄ« і
* ДДДДДДДДДДДДД */
j5 = 0;
k5 = 10000;
do {
k5 = k5 - 1;
j5 = j5 + 1;
i5 = (k5 * 3) / (j5 * constant5);
} while ( k5 > 0 );
/* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД *
і “Їа ў«ҐЁҐ ЇҐаҐ¬Ґ®© Ё¤гЄжЁЁ жЁЄ« і
* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД */
for( i = 0; i < 100; i++ )
ivector5[ i * 2 + 3 ] = 5;
/* ДДДДДДДДДДДДДДДДДДДДДДД *
і ѓ«гЎ®ЄЁҐ Ї®¤ўла ¦ҐЁп і
* ДДДДДДДДДДДДДДДДДДДДДДД */
if( i < 10 )
j5 = i5 + i2;
else
k5 = i5 + i2;
/* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД *
і Џа®ўҐаЄ в®Ј®, Є Є Є®¬ЇЁ«пв®а ЈҐҐаЁагҐв ¤аҐб і
і ЇҐаҐ¬Ґ®© б Є®бв вл¬ Ё¤ҐЄб®¬, а §¬®¦ Ґв і
і Є®ЇЁЁ Ё ॣЁбвал і
* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД */
ivector[ 0 ] = 1; /* ЈҐҐа жЁп Є®бв в®Ј® ¤аҐб */
ivector[ i2 ] = 2; /* § 票Ґ i2 ¤®«¦® Ўлвм бЄ®ЇЁа®ў ®*/
ivector[ i2 ] = 2; /* Є®ЇЁа®ў ЁҐ ॣЁбва®ў */
ivector[ 2 ] = 3; /* ЈҐ а жЁп Є®бв в®Ј® ¤аҐб */
/* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДД *
і “¤ «ҐЁҐ ®ЎйЁе Ї®¤ўла ¦ҐЁ© і
* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДД */
if(( h3 + k3 ) < 0 || ( h3 + k3 ) > 5 )
printf("Common subexpression elimination\n");
else {
m3 = ( h3 + k3 ) / i3;
g3 = i3 + (h3 + k3);
}
/* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД *
і ‚лҐбҐЁҐ Ёў аЁ в®Ј® Є®¤ і
і (j * k) ¬®¦Ґв Ўлвм ўлҐбҐ® Ё§ жЁЄ« і
* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД */
for( i4 = 0; i4 <= max_vector; i4++)
ivector2[ i4 ] = j * k;
/* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДД *
і ‚л§®ў дгЄжЁЁ б аЈг¬Ґв ¬Ё і
* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДД */
dead_code( 1, "This line should not be printed" );
/* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД *
і ‚л§®ў дгЄжЁЁ ЎҐ§ аЈг¬Ґв®ў і
* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД */
unnecessary_loop();
//------------------------------------------------------
loop_jamming(7);
loop_unrolling(7);
jump_compression(1, 2, 3, 4, 5);
} /* Љ®Ґж дгЄжЁЁ main */
/* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД *
і ”гЄжЁп: dead_code і
і Џа®ўҐаЄ Ґ¤®бвЁ¦Ё¬®Ј® Є®¤ Ё «ЁиЁе і
і ЇаЁбў Ёў Ё©. ЌҐ ¤®«¦Ґ ЈҐҐаЁа®ў вмбп Є®¤. і
* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД */
void dead_code( a, b )
int a;
char *b;
{
int idead_store;
idead_store = a;
if( 0 )
printf( "%s\n", b );
} /* Љ®Ґж dead_code */
/* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД *
і ”гЄжЁп: unnecessary_loop і
і –ЁЄ« ў б«Ґ¤го饩 дгЄжЁЁ Ґг¦Ґ, в Є Є Є і
і § 票Ґ ЇаЁбў Ёў Ёп Ї®бв®п®. ‚ Ё¤Ґ «Ґ і
і жЁЄ« ¤®«¦Ґ Ўлвм г¤ «Ґ. і
* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД */
void unnecessary_loop()
{
int x;
x = 0;
for( i = 0; i < 5; i++ ) /* –ЁЄ« Ґ ¤®«¦Ґ
ЈҐҐаЁа®ў вмбп*/
k5 = x + j5;
} /* Љ®Ґж unnecessary_loop */
/* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД *
і ”гЄжЁп: loop_jamming і
і „ў жЁЄ« ў нв®© дгЄжЁЁ Ё¬Ґов ®¤Ё Є®ўлҐ і
і § Ј®«®ўЄЁ Ё ¬®Јгв Ўлвм б«Ёвл ў ®¤Ё. і
* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД */
void loop_jamming( x )
int x;
{
for( i = 0; i < 5; i++ )
k5 = x + j5 * i;
for( i = 0; i < 5; i++ )
i5 = x * k5 * i;
} /* Љ®Ґж loop_jamming */
/* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД *
і ”гЄжЁп: loop_unrolling і
і –ЁЄ« ў нв®© дгЄжЁЁ ¤®«¦Ґ Ўлвм § ¬ҐҐ і
і ваҐ¬п ЇаЁбў Ёў Ёп¬Ё б ЁбЇ®«м§®ў ЁҐ¬ і
і Є®бв в®© Ё¤ҐЄб жЁЁ ¬ ббЁў Ё«Ё ¬ иЁ®- і
і § ўЁбЁ¬л¬Ё Є®¬ ¤ ¬Ё ¤«п ЁЁжЁ «Ё§ жЁЁ і
і Ў«®Є Ї ¬пвЁ. і
* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД */
void loop_unrolling( x )
int x;
{
for( i = 0; i < 6; i++ )
ivector4[ i ] = 0;
} /* Љ®Ґж loop_unrolling */
/* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД *
і ”гЄжЁп: jump_compression і
і ќв Їа®Ја ¬¬ Ї®«Ґ§ ¤«п ¤Ґ¬®бва жЁЁ і
і б¦ вЁп 楯®зЄЁ ЇҐаҐе®¤®ў. goto end_1 ¬®¦Ґв і
і Ўлвм § ¬ҐҐ Їаאַ© ЇҐаҐе®¤ beg_1. і
* ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД */
int jump_compression( i, j, k, l, m )
int i, j, k, l, m;
{
beg_1:
if( i < j )
if( j < k )
if( k < l )
if( l < m )
l += m;
else
goto end_1;
else
k += l;
else {
j += k;
end_1:
goto beg_1;
}
else
i += j;
return( i + j + k + l + m );
} /* Љ®Ґж jump_compression */
Revise this Paste