This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
c/4916: gcc 3.0.2 problem
- From: Jorja Henikoff <jorja at bateson dot fhcrc dot org>
- To: gcc-gnats at gcc dot gnu dot org
- Date: Tue, 20 Nov 2001 12:51:55 -0800 (PST)
- Subject: c/4916: gcc 3.0.2 problem
[Get raw message]
>Number: 4916
>Category: c
>Synopsis: Internal compiler error in change_address, at emit-rtl.c:1635
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: wrong-code
>Submitter-Id: net
>Arrival-Date: Tue Nov 20 13:46:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: Jorja Henikoff
>Release: 3.0.2
>Organization:
Fred Hutchinson Cancer Research Center
>Environment:
System: SunOS bateson 5.8 Generic_108528-11 sun4u sparc SUNW,Sun-Blade-100
Architecture: sun4
<machine, os, target, libraries (multiple lines)>
host: sparc-sun-solaris2.8
build: sparc-sun-solaris2.8
target: sparc-sun-solaris2.8
configured with: ../configure --with-as=/usr/local/bin/as --with-ld=/usr/local/bin/ld --enable-libgcj
>Description:
gcc aborts with any -O options, finishes compile with -g
gcc -Wall -O2 -I../include -c addseqs.c
In file included from ../include/residues.h:14,
from ../include/blocksprogs.h:12,
from addseqs.c:50:
../include/aabet.h:61: warning: missing braces around initializer
../include/aabet.h:61: warning: (near initialization for `aa_adegen[0]')
In file included from ../include/residues.h:15,
from ../include/blocksprogs.h:12,
from addseqs.c:50:
../include/ntbet.h:156: warning: missing braces around initializer
../include/ntbet.h:156: warning: (near initialization for `nt_adegen[0]')
../include/ntbet.h:179: warning: missing braces around initializer
../include/ntbet.h:179: warning: (near initialization for `nt_bdegen[0]')
In file included from ../include/residues.h:16,
from ../include/blocksprogs.h:12,
from addseqs.c:50:
../include/gcode.h:24: warning: missing braces around initializer
../include/gcode.h:24: warning: (near initialization for `gcodes[0]')
addseqs.c: In function `best_pos':
addseqs.c:479: warning: `best_position' might be used uninitialized in this function
addseqs.c: In function `pssmdist':
addseqs.c:858: warning: double format, different type arg (arg 3)
addseqs.c:649: warning: `minfirst' might be used uninitialized in this function
addseqs.c:649: warning: `minlast' might be used uninitialized in this function
addseqs.c: In function `compute_dist':
addseqs.c:1147: Internal compiler error in change_address, at emit-rtl.c:1635
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
*** Error code 1
make: Fatal error: Command failed for target `addseqs.o'
>How-To-Repeat:
# 50 "addseqs.c"
# 1 "../include/blocksprogs.h" 1
# 1 "/usr/include/stdlib.h" 1 3
# 16 "/usr/include/stdlib.h" 3
#pragma ident "@(#)stdlib.h 1.47 99/11/03 SMI"
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/iso/stdlib_iso.h" 1 3
# 37 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/iso/stdlib_iso.h" 3
#pragma ident "@(#)stdlib_iso.h 1.2 99/12/21 SMI"
# 1 "/usr/include/sys/feature_tests.h" 1 3
# 13 "/usr/include/sys/feature_tests.h" 3
#pragma ident "@(#)feature_tests.h 1.18 99/07/26 SMI"
# 1 "/usr/include/sys/isa_defs.h" 1 3
# 9 "/usr/include/sys/isa_defs.h" 3
#pragma ident "@(#)isa_defs.h 1.20 99/05/04 SMI"
# 16 "/usr/include/sys/feature_tests.h" 2 3
# 40 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/iso/stdlib_iso.h" 2 3
extern unsigned char __ctype[];
# 57 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/iso/stdlib_iso.h" 3
typedef struct {
int quot;
int rem;
} div_t;
typedef struct {
long quot;
long rem;
} ldiv_t;
typedef unsigned int size_t;
# 96 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/iso/stdlib_iso.h" 3
typedef long wchar_t;
extern void abort(void);
extern int abs(int);
extern int atexit(void (*)(void));
extern double atof(const char *);
extern int atoi(const char *);
extern long int atol(const char *);
extern void *bsearch(const void *, const void *, size_t, size_t,
int (*)(const void *, const void *));
extern void *calloc(size_t, size_t);
extern div_t div(int, int);
extern void exit(int);
extern void free(void *);
extern char *getenv(const char *);
extern long int labs(long);
extern ldiv_t ldiv(long, long);
extern void *malloc(size_t);
extern int mblen(const char *, size_t);
extern size_t mbstowcs(wchar_t *, const char *, size_t);
extern int mbtowc(wchar_t *, const char *, size_t);
extern void qsort(void *, size_t, size_t,
int (*)(const void *, const void *));
extern int rand(void);
extern void *realloc(void *, size_t);
extern void srand(unsigned int);
extern double strtod(const char *, char **);
extern long int strtol(const char *, char **, int);
extern unsigned long int strtoul(const char *, char **, int);
extern int system(const char *);
extern int wctomb(char *, wchar_t);
extern size_t wcstombs(char *, const wchar_t *, size_t);
# 19 "/usr/include/stdlib.h" 2 3
# 68 "/usr/include/stdlib.h" 3
typedef struct {
long long quot;
long long rem;
} lldiv_t;
typedef long uid_t;
# 112 "/usr/include/stdlib.h" 3
extern void _exithandle(void);
extern double drand48(void);
extern double erand48(unsigned short *);
extern long jrand48(unsigned short *);
extern void lcong48(unsigned short *);
extern long lrand48(void);
extern long mrand48(void);
extern long nrand48(unsigned short *);
extern unsigned short *seed48(unsigned short *);
extern void srand48(long);
extern int putenv(char *);
extern void setkey(const char *);
# 140 "/usr/include/stdlib.h" 3
typedef int ssize_t;
extern void swab(const char *, char *, ssize_t);
extern int mkstemp(char *);
extern int mkstemp64(char *);
extern long a64l(const char *);
extern char *ecvt(double, int, int *, int *);
extern char *fcvt(double, int, int *, int *);
extern char *gcvt(double, int, char *);
extern int getsubopt(char **, char *const *, char **);
extern int grantpt(int);
extern char *initstate(unsigned, char *, size_t);
extern char *l64a(long);
extern char *mktemp(char *);
extern char *ptsname(int);
extern long random(void);
extern char *realpath(const char *, char *);
extern char *setstate(const char *);
extern void srandom(unsigned);
extern int ttyslot(void);
extern int unlockpt(int);
extern void *valloc(size_t);
extern int dup2(int, int);
extern char *qecvt(long double, int, int *, int *);
extern char *qfcvt(long double, int, int *, int *);
extern char *qgcvt(long double, int, char *);
extern char *getcwd(char *, size_t);
extern const char *getexecname(void);
extern char *getlogin(void);
extern int getopt(int, char *const *, const char *);
extern char *optarg;
extern int optind, opterr, optopt;
extern char *getpass(const char *);
extern char *getpassphrase(const char *);
extern int getpw(uid_t, char *);
extern int isatty(int);
extern void *memalign(size_t, size_t);
extern char *ttyname(int);
extern long long atoll(const char *);
extern long long llabs(long long);
extern lldiv_t lldiv(long long, long long);
extern char *lltostr(long long, char *);
extern long long strtoll(const char *, char **, int);
extern unsigned long long strtoull(const char *, char **, int);
extern char *ulltostr(unsigned long long, char *);
# 3 "../include/blocksprogs.h" 2
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 1 3
# 14 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 3
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdarg.h" 1 3
# 43 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdarg.h" 3
typedef __builtin_va_list __gnuc_va_list;
# 15 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 2 3
# 34 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 3
#pragma ident "@(#)stdio.h 1.78 99/12/08 SMI"
# 1 "/usr/include/iso/stdio_iso.h" 1 3
# 32 "/usr/include/iso/stdio_iso.h" 3
#pragma ident "@(#)stdio_iso.h 1.2 99/10/25 SMI"
# 1 "/usr/include/sys/feature_tests.h" 1 3
# 36 "/usr/include/iso/stdio_iso.h" 2 3
# 1 "/usr/include/sys/va_list.h" 1 3
# 9 "/usr/include/sys/va_list.h" 3
#pragma ident "@(#)va_list.h 1.12 99/05/04 SMI"
# 26 "/usr/include/sys/va_list.h" 3
typedef void *__va_list;
# 37 "/usr/include/iso/stdio_iso.h" 2 3
# 1 "/usr/include/stdio_tag.h" 1 3
# 9 "/usr/include/stdio_tag.h" 3
#pragma ident "@(#)stdio_tag.h 1.3 98/04/20 SMI"
# 21 "/usr/include/stdio_tag.h" 3
typedef struct __FILE __FILE;
# 38 "/usr/include/iso/stdio_iso.h" 2 3
# 1 "/usr/include/stdio_impl.h" 1 3
# 9 "/usr/include/stdio_impl.h" 3
#pragma ident "@(#)stdio_impl.h 1.8 99/06/10 SMI"
# 1 "/usr/include/sys/isa_defs.h" 1 3
# 12 "/usr/include/stdio_impl.h" 2 3
# 38 "/usr/include/stdio_impl.h" 3
struct __FILE
{
ssize_t _cnt;
unsigned char *_ptr;
unsigned char *_base;
unsigned char _flag;
unsigned char _file;
unsigned __orientation:2;
unsigned __ionolock:1;
unsigned __filler:5;
};
# 39 "/usr/include/iso/stdio_iso.h" 2 3
# 59 "/usr/include/iso/stdio_iso.h" 3
typedef long long __longlong_t;
# 75 "/usr/include/iso/stdio_iso.h" 3
typedef __FILE FILE;
# 88 "/usr/include/iso/stdio_iso.h" 3
typedef long fpos_t;
# 147 "/usr/include/iso/stdio_iso.h" 3
extern __FILE __iob[20];
# 164 "/usr/include/iso/stdio_iso.h" 3
extern int remove(const char *);
extern int rename(const char *, const char *);
extern FILE *tmpfile(void);
extern char *tmpnam(char *);
extern int fclose(FILE *);
extern int fflush(FILE *);
extern FILE *fopen(const char *, const char *);
extern FILE *freopen(const char *, const char *, FILE *);
extern void setbuf(FILE *, char *);
extern int setvbuf(FILE *, char *, int, size_t);
extern int fprintf(FILE *, const char *, ...);
extern int fscanf(FILE *, const char *, ...);
extern int printf(const char *, ...);
extern int scanf(const char *, ...);
extern int sprintf(char *, const char *, ...);
extern int sscanf(const char *, const char *, ...);
extern int vfprintf(FILE *, const char *, __va_list);
extern int vprintf(const char *, __va_list);
extern int vsprintf(char *, const char *, __va_list);
extern int fgetc(FILE *);
extern char *fgets(char *, int, FILE *);
extern int fputc(int, FILE *);
extern int fputs(const char *, FILE *);
extern int getc(FILE *);
extern int putc(int, FILE *);
extern int getchar(void);
extern int putchar(int);
extern char *gets(char *);
extern int puts(const char *);
extern int ungetc(int, FILE *);
extern size_t fread(void *, size_t, size_t, FILE *);
extern size_t fwrite(const void *, size_t, size_t, FILE *);
extern int fgetpos(FILE *, fpos_t *);
extern int fseek(FILE *, long, int);
extern int fsetpos(FILE *, const fpos_t *);
extern long ftell(FILE *);
extern void rewind(FILE *);
extern void clearerr(FILE *);
extern int feof(FILE *);
extern int ferror(FILE *);
extern void perror(const char *);
extern int __filbuf(FILE *);
extern int __flsbuf(int, FILE *);
# 37 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 2 3
# 105 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 3
typedef long off_t;
typedef __longlong_t off64_t;
# 123 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 3
typedef __longlong_t fpos64_t;
# 151 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 3
extern unsigned char _sibuf[], _sobuf[];
# 193 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 3
extern unsigned char *_bufendtab[];
extern FILE *_lastbuf;
# 229 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 3
extern void setbuffer(FILE *, char *, size_t);
extern int setlinebuf(FILE *);
extern int snprintf(char *, size_t, const char *, ...);
extern int vsnprintf(char *, size_t, const char *, __gnuc_va_list);
# 250 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 3
extern FILE *fdopen(int, const char *);
extern char *ctermid(char *);
extern int fileno(FILE *);
# 276 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 3
extern FILE *popen(const char *, const char *);
extern char *cuserid(char *);
extern char *tempnam(const char *, const char *);
extern int getopt(int, char *const *, const char *);
extern int getsubopt(char **, char *const *, char **);
extern char *optarg;
extern int optind, opterr, optopt;
extern int getw(FILE *);
extern int putw(int, FILE *);
extern int pclose(FILE *);
extern int fseeko(FILE *, off_t, int);
extern off_t ftello(FILE *);
# 305 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 3
extern FILE *fopen64(const char *, const char *);
extern FILE *freopen64(const char *, const char *, FILE *);
extern FILE *tmpfile64(void);
extern int fgetpos64(FILE *, fpos64_t *);
extern int fsetpos64(FILE *, const fpos64_t *);
extern int fseeko64(FILE *, off64_t, int);
extern off64_t ftello64(FILE *);
# 4 "../include/blocksprogs.h" 2
# 1 "/usr/include/string.h" 1 3
# 16 "/usr/include/string.h" 3
#pragma ident "@(#)string.h 1.24 99/08/10 SMI"
# 1 "/usr/include/iso/string_iso.h" 1 3
# 28 "/usr/include/iso/string_iso.h" 3
#pragma ident "@(#)string_iso.h 1.2 99/11/09 SMI"
# 1 "/usr/include/sys/feature_tests.h" 1 3
# 32 "/usr/include/iso/string_iso.h" 2 3
# 60 "/usr/include/iso/string_iso.h" 3
extern int memcmp(const void *, const void *, size_t);
extern void *memcpy(void *, const void *, size_t);
extern void *memmove(void *, const void *, size_t);
extern void *memset(void *, int, size_t);
extern char *strcat(char *, const char *);
extern int strcmp(const char *, const char *);
extern char *strcpy(char *, const char *);
extern int strcoll(const char *, const char *);
extern size_t strcspn(const char *, const char *);
extern char *strerror(int);
extern size_t strlen(const char *);
extern char *strncat(char *, const char *, size_t);
extern int strncmp(const char *, const char *, size_t);
extern char *strncpy(char *, const char *, size_t);
extern size_t strspn(const char *, const char *);
extern char *strtok(char *, const char *);
extern size_t strxfrm(char *, const char *, size_t);
# 112 "/usr/include/iso/string_iso.h" 3
extern void *memchr(const void *, int, size_t);
extern char *strchr(const char *, int);
extern char *strpbrk(const char *, const char *);
extern char *strrchr(const char *, int);
extern char *strstr(const char *, const char *);
# 19 "/usr/include/string.h" 2 3
# 63 "/usr/include/string.h" 3
extern void *memccpy(void *, const void *, int, size_t);
extern char *strsignal(int);
extern int ffs(int);
extern int strcasecmp(const char *, const char *);
extern int strncasecmp(const char *, const char *, size_t);
extern size_t strlcpy(char *, const char *, size_t);
extern size_t strlcat(char *, const char *, size_t);
extern char *strdup(const char *);
# 5 "../include/blocksprogs.h" 2
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/math.h" 1 3
# 23 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/math.h" 3
#pragma ident "@(#)math.h 2.10 99/07/29 SMI"
# 1 "/usr/include/iso/math_iso.h" 1 3
#pragma ident "@(#)math_iso.h 1.1 99/07/30 SMI"
# 20 "/usr/include/iso/math_iso.h" 3
typedef union _h_val {
unsigned long _i[sizeof(double) / sizeof(unsigned long)];
double _d;
} _h_val;
extern const _h_val __huge_val;
# 37 "/usr/include/iso/math_iso.h" 3
extern double acos (double);
extern double asin (double);
extern double atan (double);
extern double atan2 (double, double);
extern double cos (double);
extern double sin (double);
extern double tan (double);
extern double cosh (double);
extern double sinh (double);
extern double tanh (double);
extern double exp (double);
extern double frexp (double, int *);
extern double ldexp (double, int);
extern double log (double);
extern double log10 (double);
extern double modf (double, double *);
extern double pow (double, double);
extern double sqrt (double);
extern double ceil (double);
extern double fabs (double);
extern double floor (double);
extern double fmod (double, double);
# 26 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/math.h" 2 3
# 89 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/math.h" 3
extern int signgam;
enum version {libm_ieee = -1, c_issue_4, ansi_1, strict_ansi};
extern const enum version _lib_version;
struct exception {
int type;
char *name;
double arg1;
double arg2;
double retval;
};
# 145 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/math.h" 3
extern double erf (double);
extern double erfc (double);
extern double gamma (double);
extern double hypot (double, double);
extern int isnan (double);
extern double j0 (double);
extern double j1 (double);
extern double jn (int, double);
extern double lgamma (double);
extern double y0 (double);
extern double y1 (double);
extern double yn (int, double);
# 172 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/math.h" 3
extern double acosh (double);
extern double asinh (double);
extern double atanh (double);
extern double cbrt (double);
extern double logb (double);
extern double nextafter (double, double);
extern double remainder (double, double);
extern double scalb (double, double);
# 192 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/math.h" 3
extern double expm1 (double);
extern int ilogb (double);
extern double log1p (double);
extern double rint (double);
# 208 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/math.h" 3
extern int matherr (struct exception *);
extern double significand (double);
extern double copysign (double, double);
extern double scalbn (double, int);
# 243 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/math.h" 3
extern float modff (float, float *);
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/floatingpoint.h" 1 3
# 20 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/floatingpoint.h" 3
#pragma ident "@(#)floatingpoint.h 2.5 99/06/22 SMI"
# 1 "/usr/include/stdio_tag.h" 1 3
# 24 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/floatingpoint.h" 2 3
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/ieeefp.h" 1 3
# 17 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/ieeefp.h" 3
#pragma ident "@(#)ieeefp.h 2.8 99/10/29"
# 27 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/ieeefp.h" 3
enum fp_direction_type {
fp_nearest = 0,
fp_tozero = 1,
fp_positive = 2,
fp_negative = 3
};
enum fp_precision_type {
fp_extended = 0,
fp_single = 1,
fp_double = 2,
fp_precision_3 = 3
};
enum fp_exception_type {
fp_inexact = 0,
fp_division = 1,
fp_underflow = 2,
fp_overflow = 3,
fp_invalid = 4
};
enum fp_trap_enable_type {
fp_trap_inexact = 0,
fp_trap_division = 1,
fp_trap_underflow = 2,
fp_trap_overflow = 3,
fp_trap_invalid = 4
};
# 133 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/ieeefp.h" 3
enum fp_class_type {
fp_zero = 0,
fp_subnormal = 1,
fp_normal = 2,
fp_infinity = 3,
fp_quiet = 4,
fp_signaling = 5
};
# 26 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/floatingpoint.h" 2 3
# 62 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/floatingpoint.h" 3
typedef int sigfpe_code_type;
typedef void (*sigfpe_handler_type)();
extern sigfpe_handler_type sigfpe (sigfpe_code_type, sigfpe_handler_type);
typedef float single;
typedef unsigned extended[3];
typedef long double quadruple;
typedef unsigned fp_exception_field_type;
# 94 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/floatingpoint.h" 3
typedef char decimal_string[512];
typedef struct {
enum fp_class_type fpclass;
int sign;
int exponent;
decimal_string ds;
int more;
int ndigits;
} decimal_record;
enum decimal_form {
fixed_form,
floating_form
};
typedef struct {
enum fp_direction_type rd;
enum decimal_form df;
int ndigits;
} decimal_mode;
enum decimal_string_form {
invalid_form,
whitespace_form,
fixed_int_form,
fixed_intdot_form,
fixed_dotfrac_form,
fixed_intdotfrac_form,
floating_int_form,
floating_intdot_form,
floating_dotfrac_form,
floating_intdotfrac_form,
inf_form,
infinity_form,
nan_form,
nanstring_form
};
extern void single_to_decimal (single *, decimal_mode *, decimal_record *, fp_exception_field_type *);
extern void double_to_decimal (double *, decimal_mode *, decimal_record *, fp_exception_field_type *);
extern void extended_to_decimal (extended *, decimal_mode *, decimal_record *, fp_exception_field_type *);
extern void quadruple_to_decimal (quadruple *, decimal_mode *, decimal_record *, fp_exception_field_type *);
extern void decimal_to_single (single *, decimal_mode *, decimal_record *, fp_exception_field_type *);
extern void decimal_to_double (double *, decimal_mode *, decimal_record *, fp_exception_field_type *);
extern void decimal_to_extended (extended *, decimal_mode *, decimal_record *, fp_exception_field_type *);
extern void decimal_to_quadruple (quadruple *, decimal_mode *, decimal_record *, fp_exception_field_type *);
extern void string_to_decimal (char **, int, int, decimal_record *, enum decimal_string_form *, char **);
extern void func_to_decimal (char **, int, int, decimal_record *, enum decimal_string_form *, char **, int (*)(void), int *, int (*)(int));
extern void file_to_decimal (char **, int, int, decimal_record *, enum decimal_string_form *, char **, FILE *, int *);
extern char *seconvert (single *, int, int *, int *, char *);
extern char *sfconvert (single *, int, int *, int *, char *);
extern char *sgconvert (single *, int, int, char *);
extern char *econvert (double, int, int *, int *, char *);
extern char *fconvert (double, int, int *, int *, char *);
extern char *gconvert (double, int, int, char *);
extern char *qeconvert (quadruple *, int, int *, int *, char *);
extern char *qfconvert (quadruple *, int, int *, int *, char *);
extern char *qgconvert (quadruple *, int, int, char *);
extern char *ecvt (double, int, int *, int *);
extern char *fcvt (double, int, int *, int *);
extern char *gcvt (double, int, char *);
extern double atof (const char *);
extern double strtod (const char *, char **);
# 251 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/math.h" 2 3
# 6 "../include/blocksprogs.h" 2
# 1 "/usr/include/unistd.h" 1 3
# 16 "/usr/include/unistd.h" 3
#pragma ident "@(#)unistd.h 1.58 99/11/11 SMI"
# 1 "/usr/include/sys/feature_tests.h" 1 3
# 19 "/usr/include/unistd.h" 2 3
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 1 3
# 25 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
#pragma ident "@(#)types.h 1.66 00/02/14 SMI"
# 1 "/usr/include/sys/isa_defs.h" 1 3
# 28 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 2 3
# 1 "/usr/include/sys/feature_tests.h" 1 3
# 29 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 2 3
# 1 "/usr/include/sys/machtypes.h" 1 3
# 16 "/usr/include/sys/machtypes.h" 3
#pragma ident "@(#)machtypes.h 1.13 99/05/04 SMI"
# 1 "/usr/include/sys/feature_tests.h" 1 3
# 19 "/usr/include/sys/machtypes.h" 2 3
# 33 "/usr/include/sys/machtypes.h" 3
typedef struct _label_t { long val[2]; } label_t;
typedef unsigned char lock_t;
# 34 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 2 3
# 45 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
# 1 "/usr/include/sys/int_types.h" 1 3
# 9 "/usr/include/sys/int_types.h" 3
#pragma ident "@(#)int_types.h 1.6 97/08/20 SMI"
# 42 "/usr/include/sys/int_types.h" 3
# 1 "/usr/include/sys/isa_defs.h" 1 3
# 43 "/usr/include/sys/int_types.h" 2 3
# 62 "/usr/include/sys/int_types.h" 3
typedef char int8_t;
typedef short int16_t;
typedef int int32_t;
typedef long long int64_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long long uint64_t;
# 94 "/usr/include/sys/int_types.h" 3
typedef int64_t intmax_t;
typedef uint64_t uintmax_t;
# 110 "/usr/include/sys/int_types.h" 3
typedef int intptr_t;
typedef unsigned int uintptr_t;
typedef char int_least8_t;
typedef short int_least16_t;
typedef int int_least32_t;
typedef long long int_least64_t;
typedef unsigned char uint_least8_t;
typedef unsigned short uint_least16_t;
typedef unsigned int uint_least32_t;
typedef unsigned long long uint_least64_t;
# 46 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 2 3
# 62 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef long long longlong_t;
typedef unsigned long long u_longlong_t;
# 85 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef long t_scalar_t;
typedef unsigned long t_uscalar_t;
typedef unsigned char uchar_t;
typedef unsigned short ushort_t;
typedef unsigned int uint_t;
typedef unsigned long ulong_t;
typedef char *caddr_t;
typedef long daddr_t;
typedef short cnt_t;
typedef ulong_t paddr_t;
# 118 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef int ptrdiff_t;
# 127 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef ulong_t pfn_t;
typedef ulong_t pgcnt_t;
typedef long spgcnt_t;
typedef uchar_t use_t;
typedef short sysid_t;
typedef short index_t;
typedef void *timeout_id_t;
typedef void *bufcall_id_t;
# 165 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef ulong_t ino_t;
typedef long blkcnt_t;
typedef ulong_t fsblkcnt_t;
typedef ulong_t fsfilcnt_t;
# 183 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef u_longlong_t ino64_t;
typedef longlong_t blkcnt64_t;
typedef u_longlong_t fsblkcnt64_t;
typedef u_longlong_t fsfilcnt64_t;
typedef long blksize_t;
typedef enum { B_FALSE, B_TRUE } boolean_t;
# 210 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef int64_t pad64_t;
typedef uint64_t upad64_t;
# 223 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef longlong_t offset_t;
typedef u_longlong_t u_offset_t;
typedef u_longlong_t len_t;
typedef longlong_t diskaddr_t;
# 244 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef union {
offset_t _f;
struct {
int32_t _u;
int32_t _l;
} _p;
} lloff_t;
# 264 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef union {
diskaddr_t _f;
struct {
int32_t _u;
int32_t _l;
} _p;
} lldaddr_t;
typedef uint_t k_fltset_t;
# 287 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef long id_t;
typedef uint_t useconds_t;
typedef long suseconds_t;
# 308 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef ulong_t major_t;
typedef ulong_t minor_t;
typedef short pri_t;
# 328 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef ushort_t o_mode_t;
typedef short o_dev_t;
typedef ushort_t o_uid_t;
typedef o_uid_t o_gid_t;
typedef short o_nlink_t;
typedef short o_pid_t;
typedef ushort_t o_ino_t;
typedef int key_t;
typedef ulong_t mode_t;
# 356 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef uid_t gid_t;
typedef id_t taskid_t;
typedef id_t projid_t;
typedef unsigned int pthread_t;
typedef unsigned int pthread_key_t;
typedef struct _pthread_mutex {
struct {
uint16_t __pthread_mutex_flag1;
uint8_t __pthread_mutex_flag2;
uint8_t __pthread_mutex_ceiling;
uint32_t __pthread_mutex_type;
} __pthread_mutex_flags;
union {
struct {
uint8_t __pthread_mutex_pad[8];
} __pthread_mutex_lock64;
upad64_t __pthread_mutex_owner64;
} __pthread_mutex_lock;
upad64_t __pthread_mutex_data;
} pthread_mutex_t;
typedef struct _pthread_cond {
struct {
uint8_t __pthread_cond_flag[4];
uint32_t __pthread_cond_type;
} __pthread_cond_flags;
upad64_t __pthread_cond_data;
} pthread_cond_t;
typedef struct _pthread_rwlock {
int32_t __pthread_rwlock_readers;
uint16_t __pthread_rwlock_type;
uint16_t __pthread_rwlock_magic;
upad64_t __pthread_rwlock_pad1[3];
upad64_t __pthread_rwlock_pad2[2];
upad64_t __pthread_rwlock_pad3[2];
} pthread_rwlock_t;
typedef struct _pthread_attr {
void *__pthread_attrp;
} pthread_attr_t;
typedef struct _pthread_mutexattr {
void *__pthread_mutexattrp;
} pthread_mutexattr_t;
typedef struct _pthread_condattr {
void *__pthread_condattrp;
} pthread_condattr_t;
typedef struct _once {
upad64_t __pthread_once_pad[4];
} pthread_once_t;
typedef struct _pthread_rwlockattr {
void *__pthread_rwlockattrp;
} pthread_rwlockattr_t;
typedef ulong_t dev_t;
typedef ulong_t nlink_t;
typedef long pid_t;
# 481 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef long time_t;
typedef long clock_t;
typedef int clockid_t;
typedef int timer_t;
typedef unsigned char unchar;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long ulong;
# 557 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 3
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef struct _quad { int val[2]; } quad_t;
typedef quad_t quad;
# 1 "/usr/include/sys/select.h" 1 3
# 12 "/usr/include/sys/select.h" 3
#pragma ident "@(#)select.h 1.16 98/04/27 SMI"
# 1 "/usr/include/sys/feature_tests.h" 1 3
# 15 "/usr/include/sys/select.h" 2 3
# 1 "/usr/include/sys/time.h" 1 3
# 22 "/usr/include/sys/time.h" 3
#pragma ident "@(#)time.h 2.66 01/01/17 SMI"
# 1 "/usr/include/sys/feature_tests.h" 1 3
# 25 "/usr/include/sys/time.h" 2 3
# 49 "/usr/include/sys/time.h" 3
struct timeval {
time_t tv_sec;
suseconds_t tv_usec;
};
# 82 "/usr/include/sys/time.h" 3
struct timezone {
int tz_minuteswest;
int tz_dsttime;
};
# 100 "/usr/include/sys/time.h" 3
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 1 3
# 101 "/usr/include/sys/time.h" 2 3
# 155 "/usr/include/sys/time.h" 3
struct itimerval {
struct timeval it_interval;
struct timeval it_value;
};
# 203 "/usr/include/sys/time.h" 3
typedef longlong_t hrtime_t;
# 320 "/usr/include/sys/time.h" 3
int adjtime(struct timeval *, struct timeval *);
# 331 "/usr/include/sys/time.h" 3
int getitimer(int, struct itimerval *);
int utimes(const char *, const struct timeval *);
int setitimer(int, struct itimerval *, struct itimerval *);
# 369 "/usr/include/sys/time.h" 3
int settimeofday(struct timeval *, void *);
hrtime_t gethrtime(void);
hrtime_t gethrvtime(void);
# 389 "/usr/include/sys/time.h" 3
int gettimeofday(struct timeval *, void *);
# 410 "/usr/include/sys/time.h" 3
# 1 "/usr/include/time.h" 1 3
# 16 "/usr/include/time.h" 3
#pragma ident "@(#)time.h 1.39 99/08/10 SMI"
# 1 "/usr/include/sys/feature_tests.h" 1 3
# 19 "/usr/include/time.h" 2 3
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 1 3
# 20 "/usr/include/time.h" 2 3
# 1 "/usr/include/iso/time_iso.h" 1 3
# 28 "/usr/include/iso/time_iso.h" 3
#pragma ident "@(#)time_iso.h 1.1 99/08/09 SMI"
# 1 "/usr/include/sys/feature_tests.h" 1 3
# 31 "/usr/include/iso/time_iso.h" 2 3
# 69 "/usr/include/iso/time_iso.h" 3
struct tm {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
extern char *asctime(const struct tm *);
extern clock_t clock(void);
extern char *ctime(const time_t *);
extern double difftime(time_t, time_t);
extern struct tm *gmtime(const time_t *);
extern struct tm *localtime(const time_t *);
extern time_t mktime(struct tm *);
extern time_t time(time_t *);
extern size_t strftime(char *, size_t, const char *, const struct tm *);
# 21 "/usr/include/time.h" 2 3
# 67 "/usr/include/time.h" 3
extern char *strptime(const char *, const char *, struct tm *);
# 83 "/usr/include/time.h" 3
# 1 "/usr/include/sys/time_impl.h" 1 3
# 15 "/usr/include/sys/time_impl.h" 3
#pragma ident "@(#)time_impl.h 1.5 99/10/05 SMI"
# 1 "/usr/include/sys/feature_tests.h" 1 3
# 18 "/usr/include/sys/time_impl.h" 2 3
# 36 "/usr/include/sys/time_impl.h" 3
typedef struct timespec {
time_t tv_sec;
long tv_nsec;
} timespec_t;
# 60 "/usr/include/sys/time_impl.h" 3
typedef struct timespec timestruc_t;
# 79 "/usr/include/sys/time_impl.h" 3
typedef struct itimerspec {
struct timespec it_interval;
struct timespec it_value;
} itimerspec_t;
# 84 "/usr/include/time.h" 2 3
# 98 "/usr/include/time.h" 3
union sigval {
int sival_int;
void *sival_ptr;
};
struct sigevent {
int sigev_notify;
int sigev_signo;
union sigval sigev_value;
void (*sigev_notify_function)(union sigval);
pthread_attr_t *sigev_notify_attributes;
int __sigev_pad2;
};
extern int clock_getres(clockid_t, struct timespec *);
extern int clock_gettime(clockid_t, struct timespec *);
extern int clock_settime(clockid_t, const struct timespec *);
extern int timer_create(clockid_t, struct sigevent *, timer_t *);
extern int timer_delete(timer_t);
extern int timer_getoverrun(timer_t);
extern int timer_gettime(timer_t, struct itimerspec *);
extern int timer_settime(timer_t, int, const struct itimerspec *,
struct itimerspec *);
extern int nanosleep(const struct timespec *, struct timespec *);
extern void tzset(void);
extern char *tzname[2];
extern long _sysconf(int);
extern long timezone;
extern int daylight;
extern int cftime(char *, char *, const time_t *);
extern int ascftime(char *, const char *, const struct tm *);
extern long altzone;
extern struct tm *getdate(const char *);
extern int getdate_err;
# 411 "/usr/include/sys/time.h" 2 3
# 423 "/usr/include/sys/time.h" 3
# 1 "/usr/include/sys/select.h" 1 3
# 424 "/usr/include/sys/time.h" 2 3
# 18 "/usr/include/sys/select.h" 2 3
# 45 "/usr/include/sys/select.h" 3
typedef long fd_mask;
typedef long fds_mask;
# 73 "/usr/include/sys/select.h" 3
typedef struct fd_set {
long fds_bits[(((1024)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))];
} fd_set;
# 97 "/usr/include/sys/select.h" 3
extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
# 570 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 2 3
# 21 "/usr/include/unistd.h" 2 3
# 1 "/usr/include/sys/unistd.h" 1 3
# 25 "/usr/include/sys/unistd.h" 3
#pragma ident "@(#)unistd.h 1.37 98/10/28 SMI"
# 1 "/usr/include/sys/feature_tests.h" 1 3
# 28 "/usr/include/sys/unistd.h" 2 3
# 22 "/usr/include/unistd.h" 2 3
# 171 "/usr/include/unistd.h" 3
extern int access(const char *, int);
extern int acct(const char *);
extern unsigned alarm(unsigned);
extern int brk(void *);
extern int chdir(const char *);
extern int chown(const char *, uid_t, gid_t);
extern int chroot(const char *);
extern int close(int);
extern char *ctermid(char *);
extern char *cuserid(char *);
extern int dup(int);
extern int dup2(int, int);
extern int execl(const char *, const char *, ...);
extern int execle(const char *, const char *, ...);
extern int execlp(const char *, const char *, ...);
extern int execv(const char *, char *const *);
extern int execve(const char *, char *const *, char *const *);
extern int execvp(const char *, char *const *);
extern void _exit(int);
extern int fattach(int, const char *);
extern int fchdir(int);
extern int fchown(int, uid_t, gid_t);
extern int fchroot(int);
extern int fdatasync(int);
# 243 "/usr/include/unistd.h" 3
extern int fdetach(const char *);
extern pid_t fork(void);
extern pid_t fork1(void);
extern long fpathconf(int, int);
extern int fsync(int);
extern int ftruncate(int, off_t);
extern char *getcwd(char *, size_t);
extern int getdtablesize(void);
extern gid_t getegid(void);
extern uid_t geteuid(void);
extern gid_t getgid(void);
extern int getgroups(int, gid_t *);
extern long gethostid(void);
extern int gethostname(char *, int);
extern char *getlogin(void);
# 289 "/usr/include/unistd.h" 3
extern int getpagesize(void);
extern pid_t getpgid(pid_t);
extern pid_t getpid(void);
extern pid_t getppid(void);
extern pid_t getpgrp(void);
char *gettxt(const char *, const char *);
extern pid_t getsid(pid_t);
extern uid_t getuid(void);
extern char *getwd(char *);
# 315 "/usr/include/unistd.h" 3
extern int ioctl(int, int, ...);
extern int isaexec(const char *, char *const *, char *const *);
extern int isatty(int);
extern int link(const char *, const char *);
extern int lchown(const char *, uid_t, gid_t);
extern int lockf(int, int, off_t);
extern int readlink(const char *, char *, size_t);
extern off_t lseek(int, off_t, int);
extern int nice(int);
extern long pathconf(const char *, int);
extern int pause(void);
extern int pipe(int *);
extern offset_t llseek(int, offset_t, int);
extern off_t tell(int);
extern int mincore(caddr_t, size_t, char *);
extern ssize_t pread(int, void *, size_t, off_t);
extern void profil(unsigned short *, size_t, unsigned long, unsigned int);
extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void));
extern long ptrace(int, pid_t, long, long);
extern ssize_t pwrite(int, const void *, size_t, off_t);
extern ssize_t read(int, void *, size_t);
extern int rename(const char *, const char *);
extern int resolvepath(const char *, char *, size_t);
extern int rmdir(const char *);
extern void *sbrk(intptr_t);
extern int setgid(gid_t);
extern int setegid(gid_t);
extern int setgroups(int, const gid_t *);
extern int setpgid(pid_t, pid_t);
extern pid_t setpgrp(void);
extern int setregid(gid_t, gid_t);
extern int setreuid(uid_t, uid_t);
extern pid_t setsid(void);
extern int setuid(uid_t);
extern int seteuid(uid_t);
extern unsigned sleep(unsigned);
extern int stime(const time_t *);
extern int symlink(const char *, const char *);
extern void sync(void);
extern long sysconf(int);
# 438 "/usr/include/unistd.h" 3
extern pid_t tcgetpgrp(int);
extern int tcsetpgrp(int, pid_t);
extern off_t tell(int);
extern int truncate(const char *, off_t);
extern char *ttyname(int);
extern useconds_t ualarm(useconds_t, useconds_t);
extern int unlink(const char *);
extern int usleep(useconds_t);
extern pid_t vfork(void);
extern void vhangup(void);
extern ssize_t write(int, const void *, size_t);
extern void yield(void);
extern int ftruncate64(int, off64_t);
extern off64_t lseek64(int, off64_t, int);
extern ssize_t pread64(int, void *, size_t, off64_t);
extern ssize_t pwrite64(int, const void *, size_t, off64_t);
extern off64_t tell64(int);
extern int truncate64(const char *, off64_t);
extern int lockf64(int, int, off64_t);
# 782 "/usr/include/unistd.h" 3
#pragma unknown_control_flow(vfork)
# 7 "../include/blocksprogs.h" 2
# 1 "/usr/include/ctype.h" 1 3
# 16 "/usr/include/ctype.h" 3
#pragma ident "@(#)ctype.h 1.33 99/08/10 SMI"
# 1 "/usr/include/iso/ctype_iso.h" 1 3
# 28 "/usr/include/iso/ctype_iso.h" 3
#pragma ident "@(#)ctype_iso.h 1.1 99/08/09 SMI"
# 1 "/usr/include/sys/feature_tests.h" 1 3
# 31 "/usr/include/iso/ctype_iso.h" 2 3
# 63 "/usr/include/iso/ctype_iso.h" 3
extern int isalnum(int);
extern int isalpha(int);
extern int iscntrl(int);
extern int isdigit(int);
extern int isgraph(int);
extern int islower(int);
extern int isprint(int);
extern int ispunct(int);
extern int isspace(int);
extern int isupper(int);
extern int isxdigit(int);
extern int tolower(int);
extern int toupper(int);
extern unsigned char __ctype[];
extern unsigned int *__ctype_mask;
extern int *__trans_upper;
extern int *__trans_lower;
# 19 "/usr/include/ctype.h" 2 3
# 49 "/usr/include/ctype.h" 3
extern int isascii(int);
extern int toascii(int);
extern int _tolower(int);
extern int _toupper(int);
# 8 "../include/blocksprogs.h" 2
# 1 "../include/global.h" 1
# 15 "../include/global.h"
# 1 "/usr/include/stdlib.h" 1 3
# 16 "../include/global.h" 2
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 1 3
# 17 "../include/global.h" 2
# 1 "/usr/include/string.h" 1 3
# 18 "../include/global.h" 2
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stddef.h" 1 3
# 19 "../include/global.h" 2
# 1 "/usr/include/ctype.h" 1 3
# 20 "../include/global.h" 2
# 1 "/usr/include/malloc.h" 1 3
# 11 "/usr/include/malloc.h" 3
#pragma ident "@(#)malloc.h 1.11 97/08/23 SMI"
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/sys/types.h" 1 3
# 14 "/usr/include/malloc.h" 2 3
# 31 "/usr/include/malloc.h" 3
struct mallinfo {
unsigned long arena;
unsigned long ordblks;
unsigned long smblks;
unsigned long hblks;
unsigned long hblkhd;
unsigned long usmblks;
unsigned long fsmblks;
unsigned long uordblks;
unsigned long fordblks;
unsigned long keepcost;
};
void *malloc(size_t);
void free(void *);
void *realloc(void *, size_t);
int mallopt(int, int);
struct mallinfo mallinfo(void);
void *calloc(size_t, size_t);
# 21 "../include/global.h" 2
# 30 "../include/global.h"
typedef int Boolean;
# 50 "../include/global.h"
# 1 "../include/license.h" 1
# 51 "../include/global.h" 2
# 1 "../include/strutil.h" 1
# 19 "../include/strutil.h"
extern char Buffer[500];
# 36 "../include/strutil.h"
extern Boolean blank_line();
# 51 "../include/strutil.h"
extern char *eat_whitespace();
# 66 "../include/strutil.h"
extern char *remove_trailing_whitespace();
# 86 "../include/strutil.h"
extern char *get_token();
# 52 "../include/global.h" 2
# 1 "../include/errors.h" 1
# 31 "../include/errors.h"
extern char ErrorBuffer[500];
extern int ErrorLevelReport;
# 47 "../include/errors.h"
extern void set_error_file_name();
# 62 "../include/errors.h"
extern void ErrorReport();
# 90 "../include/errors.h"
extern void ABRT_signal_handler();
# 53 "../include/global.h" 2
# 1 "../include/memory.h" 1
# 104 "../include/memory.h"
extern Boolean reclaim_space();
# 117 "../include/memory.h"
extern void init_reclaim_space();
# 54 "../include/global.h" 2
# 10 "../include/blocksprogs.h" 2
# 1 "../include/errors.h" 1
# 11 "../include/blocksprogs.h" 2
# 1 "../include/memory.h" 1
# 12 "../include/blocksprogs.h" 2
# 1 "../include/residues.h" 1
# 12 "../include/residues.h"
# 1 "../include/blastapp.h" 1
# 52 "../include/blastapp.h"
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/limits.h" 1 3
# 11 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/limits.h" 3
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/syslimits.h" 1 3
# 25 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/syslimits.h" 3
#pragma ident "@(#)limits.h 1.51 99/10/08 SMI"
# 1 "/usr/include/sys/feature_tests.h" 1 3
# 28 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/syslimits.h" 2 3
# 1 "/usr/include/sys/isa_defs.h" 1 3
# 29 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/syslimits.h" 2 3
# 1 "/usr/include/iso/limits_iso.h" 1 3
# 28 "/usr/include/iso/limits_iso.h" 3
#pragma ident "@(#)limits_iso.h 1.1 99/08/09 SMI"
# 30 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/syslimits.h" 2 3
# 41 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/syslimits.h" 3
# 1 "/usr/include/sys/int_limits.h" 1 3
# 9 "/usr/include/sys/int_limits.h" 3
#pragma ident "@(#)int_limits.h 1.6 99/08/06 SMI"
# 44 "/usr/include/sys/int_limits.h" 3
# 1 "/usr/include/sys/isa_defs.h" 1 3
# 45 "/usr/include/sys/int_limits.h" 2 3
# 42 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/syslimits.h" 2 3
# 12 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/limits.h" 2 3
# 53 "../include/blastapp.h" 2
# 13 "../include/residues.h" 2
# 1 "../include/alphabet.h" 1
# 24 "../include/alphabet.h"
typedef struct degen {
char residue;
int ndegen;
char *list;
} Degen, DegenPtr;
# 14 "../include/residues.h" 2
# 1 "../include/aabet.h" 1
# 32 "../include/aabet.h"
int aa_atob[1<<8]
= {
((24 +1)+1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +3),((24 +1)+1),(24 +1),(24 +1),((24 +1)+1),(24 +1),(24 +1),
(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),
(24 +3),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),24,(24 +1),(24 +1), 0,24,(24 +1),
(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),
((24 +1)+2), 1,21, 5, 4, 7,14, 8, 9,10,23,12,11,13, 3,23,
15, 6, 2,16,17,23,20,18,23,19,22,(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),
((24 +1)+2), 1,21, 5, 4, 7,14, 8, 9,10,23,12,11,13, 3,23,
15, 6, 2,16,17,23,20,18,23,19,22,(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),
(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),
(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),
(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),
(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),
(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),
(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),
(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),
(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1),(24 +1) }
;
char aa_btoa[] = "-ARNDCQEGHILKMFPSTWYVBZX*";
Degen aa_adegen[25]
= {
'-', 1, "-",
'A', 1, "A",
'R', 1, "R",
'N', 1, "N",
'D', 1, "D",
'C', 1, "C",
'Q', 1, "Q",
'E', 1, "E",
'G', 1, "G",
'H', 1, "H",
'I', 1, "I",
'L', 1, "L",
'K', 1, "K",
'M', 1, "M",
'F', 1, "F",
'P', 1, "P",
'S', 1, "S",
'T', 1, "T",
'W', 1, "W",
'Y', 1, "Y",
'V', 1, "V",
'B', 2, "DN",
'Z', 2, "EQ",
'X', 20, "ARNDCQEGHILKMFPSTWYV",
'*', 1, "*"
}
;
# 97 "../include/aabet.h"
double aafq[21]
= {0, .081, .057, .045, .054, .015, .039, .061, .068, .022, .057,
.093, .056, .025, .040, .049, .068, .058, .013, .032, .067 }
;
# 15 "../include/residues.h" 2
# 1 "../include/ntbet.h" 1
# 38 "../include/ntbet.h"
int nt_atob[1<<8]
= {
((15 +1)+1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +3),((15 +1)+1),(15 +1),(15 +1),((15 +1)+1),(15 +1),(15 +1),
(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),
(15 +3),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),((15 +1)+2),(15 +1),(15 +1),15,(15 +1),(15 +1),
(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),
((15 +1)+2), 0,10, 1,11,14,14, 2,12,14,14, 7,14, 6,14,14,
14,14, 4, 9, 3, 3,13, 8,14, 5,14,(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),
((15 +1)+2), 0,10, 1,11,14,14, 2,12,14,14, 7,14, 6,14,14,
14,14, 4, 9, 3, 3,13, 8,14, 5,14,(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),
(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),
(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),
(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),
(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),
(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),
(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),
(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),
(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1),(15 +1)
}
;
char nt_btoa[] = "ACGTRYMKWSBDHVN-";
# 105 "../include/ntbet.h"
char nt_brevcomp[128]
= {
3, 2, 1, 0, 5, 4, 7, 6, 8, 9,13,12,11,10,14,15,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16
}
;
char nt_arevcomp[128]
= {
'?','?','?','?','?','?','?','?',
'?','?','?','?','?','?','?','?',
'?','?','?','?','?','?','?','?',
'?','?','?','?','?','?','?','?',
'?','?','?','?','?','?','?','?',
'?','?','?','?','?', '-','?','?',
'?','?','?','?','?','?','?','?',
'?','?','?','?','?','?','?','?',
'?','T', 'V', 'G', 'H', '?','?','C',
'D', '?','?','M', '?','K', 'N', '?',
'?','?','Y', 'S', 'A', 'A', 'B', 'W',
'N', 'R', '?','?','?','?','?','?',
'?','T', 'V', 'G', 'H', '?','?','C',
'D', '?','?','M', '?','K', 'N', '?',
'?','?','Y', 'S', 'A', 'A', 'B', 'W',
'N', 'R', '?','?','?','?','?','?',
}
;
Degen nt_adegen[16]
= {
'A', 1, "A",
'C', 1, "C",
'G', 1, "G",
'T', 1, "T",
'R', 2, "AG",
'Y', 2, "CT",
'M', 2, "AC",
'K', 2, "GT",
'W', 2, "AT",
'S', 2, "CG",
'B', 3, "CGT",
'D', 3, "AGT",
'H', 3, "ACT",
'V', 3, "ACG",
'N', 4, "ACGT",
'-', 1, "-"
}
;
Degen nt_bdegen[16]
= {
'\000', 1, "\000",
'\001', 1, "\001",
'\002', 1, "\002",
'\003', 1, "\003",
'\004', 2, "\000\002",
'\005', 2, "\001\003",
'\006', 2, "\000\001",
'\007', 2, "\002\003",
'\010', 2, "\000\003",
'\011', 2, "\001\002",
'\012', 3, "\001\002\003",
'\013', 3, "\000\002\003",
'\014', 3, "\000\001\003",
'\015', 3, "\000\001\002",
'\016', 4, "\000\001\002\003",
'\017', 1, "\017"
}
;
# 217 "../include/ntbet.h"
double ntfq[4]
= { 0.25, 0.25, 0.25, 0.25 }
;
# 16 "../include/residues.h" 2
# 1 "../include/gcode.h" 1
# 12 "../include/gcode.h"
typedef struct {
char *name;
char *code;
char *inits;
} GeneticCode, *GeneticCodePtr;
GeneticCode gcodes[9]
= {
"Standard",
"FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG",
"0000000000000000000000000000000000010000000000000000000000000000",
"Vertebrate Mitochondrial",
"FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSS**VVVVAAAADDEEGGGG",
"0000000000000000000000000000000011110000000000000000000000000000",
"Yeast Mitochondrial",
"FFLLSSSSYY**CCWWTTTTPPPPHHQQRRRRIIMMTTTTNNKKSSRRVVVVAAAADDEEGGGG",
"0000000000000000000000000000000000010000000000000000000000000000",
"Mold Mitochondrial and Mycoplasma",
"FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG",
"0000000000000000000000000000000000010000000000000000000000000000",
"Invertebrate Mitochondrial",
"FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSSSSVVVVAAAADDEEGGGG",
"0000000000000000000000000000000010110000000000000000000000000000",
"Ciliate Macronuclear",
"FFLLSSSSYYQQCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG",
"0000000000000000000000000000000000010000000000000000000000000000",
"Protozoan Mitochondrial",
"FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG",
"0011000000000000000100000000000000010000000000000000000000000000",
"Plant Mitochondrial",
"FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRWIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG",
"0000000000000000000000000000000000010000000000000000000000000000",
"Echinodermate Mitochondrial",
"FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNNKSSSSVVVVAAAADDEEGGGG",
"0000000000000000000000000000000000010000000000000000000000000000"
}
;
void init_gcode ();
unsigned char codon2aa ();
void aa2codon ();
# 17 "../include/residues.h" 2
# 13 "../include/blocksprogs.h" 2
# 1 "../include/blocks.h" 1
# 15 "../include/blocks.h"
# 1 "../include/output.h" 1
# 16 "../include/blocks.h" 2
# 1 "../include/sequences.h" 1
# 24 "../include/sequences.h"
typedef unsigned char Residue;
struct sequence_struct {
char name[100];
char info[100];
int position;
int length;
int max_length;
int type;
double weight;
int undefined;
double undefined_dbl;
void *undefined_ptr;
Residue *sequence;
};
typedef struct sequence_struct Sequence;
# 81 "../include/sequences.h"
struct db_info {
char *type;
char *start;
char *desc;
char *seq;
char *end;
int title_offset;
int seq_offset;
};
extern struct db_info DbInfo[10];
# 110 "../include/sequences.h"
extern Sequence *read_a_sequence();
# 136 "../include/sequences.h"
extern int read_sequence();
# 150 "../include/sequences.h"
extern int sequence_type();
# 164 "../include/sequences.h"
extern int sequence_comparison();
# 175 "../include/sequences.h"
extern void free_sequence();
# 195 "../include/sequences.h"
extern Sequence *translate_sequence();
extern Sequence *untranslate_sequence();
# 216 "../include/sequences.h"
extern int type_dbs();
# 232 "../include/sequences.h"
extern int seq_type_dbs();
# 242 "../include/sequences.h"
extern void print_sequence();
# 253 "../include/sequences.h"
extern void output_sequence();
# 264 "../include/sequences.h"
extern void resize_sequence();
# 17 "../include/blocks.h" 2
# 28 "../include/blocks.h"
struct cluster_struct {
int num_sequences;
Sequence *sequences;
};
typedef struct cluster_struct Cluster;
struct block_struct {
char id[100];
char ac[100];
char de[100];
char bl[100];
char number[100];
char family[100];
char motif[20];
int width;
int percentile;
int strength;
int max_sequences;
int num_sequences;
int max_clusters;
int num_clusters;
int min_prev;
int max_prev;
int undefined;
double undefined_dbl;
void *undefined_ptr;
Cluster *clusters;
Sequence *sequences;
Residue **residues;
};
typedef struct block_struct Block;
# 74 "../include/blocks.h"
extern Block *read_a_block ();
extern Block *read_a_block_faster ();
extern Boolean read_to_block();
# 90 "../include/blocks.h"
extern int block_comparison();
# 101 "../include/blocks.h"
extern void free_block() ;
extern int read_block_header();
extern void read_block_body();
extern void next_cluster();
# 114 "../include/blocks.h"
extern void resize_block_sequences();
extern void resize_block_clusters();
# 126 "../include/blocks.h"
extern void print_block();
# 137 "../include/blocks.h"
extern void output_block();
# 150 "../include/blocks.h"
extern void output_block_s();
# 160 "../include/blocks.h"
extern Block *new_block();
# 14 "../include/blocksprogs.h" 2
# 1 "../include/matrix.h" 1
# 12 "../include/matrix.h"
# 1 "../include/pattern.h" 1
# 16 "../include/pattern.h"
extern Boolean UsePatterns;
typedef struct pattern_residue_struct PatternResidue;
struct pattern_residue_struct {
int offset;
int num_residues;
char *residues;
PatternResidue *next;
};
struct pattern_struct {
int beg_offset;
int num_residues;
PatternResidue *pat;
};
typedef struct pattern_struct Pattern;
extern void scan_patterns();
extern Boolean pattern_matches();
extern int residue_compare_function();
# 13 "../include/matrix.h" 2
typedef double MatType;
# 36 "../include/matrix.h"
struct matrix_struct {
Block *block;
char id[100];
char ac[100];
char de[80];
char ma[100];
char number[20];
char motif[20];
int width;
int num_sequences;
int percentile;
int strength;
int max_length;
Pattern **patterns;
int undefined;
void *undefined_ptr;
MatType *weights[26];
};
typedef struct matrix_struct Matrix;
# 73 "../include/matrix.h"
extern Matrix *read_a_matrix ();
# 87 "../include/matrix.h"
extern int matrix_comparison();
# 99 "../include/matrix.h"
extern Matrix *new_matrix();
# 111 "../include/matrix.h"
extern void free_matrix();
# 122 "../include/matrix.h"
extern void print_matrix();
# 135 "../include/matrix.h"
extern void output_matrix();
# 150 "../include/matrix.h"
extern void output_matrix_s();
# 165 "../include/matrix.h"
extern void output_matrix_st();
# 15 "../include/blocksprogs.h" 2
# 1 "../include/sequences.h" 1
# 16 "../include/blocksprogs.h" 2
# 1 "../include/aabet.h" 1
# 17 "../include/blocksprogs.h" 2
# 1 "../include/ntbet.h" 1
# 18 "../include/blocksprogs.h" 2
# 1 "../include/convert.h" 1
# 22 "../include/convert.h"
extern double RTot;
struct float_qij {
double value[21][21];
double marg[21];
};
extern struct float_qij *Qij;
struct pb_counts {
double diffaas;
double naas[26];
};
extern struct float_qij *load_qij();
extern void pb_weights();
# 53 "../include/convert.h"
extern Matrix *block_to_matrix();
# 70 "../include/convert.h"
extern void original_conversion_method();
# 90 "../include/convert.h"
extern void original_conversion_method_cleaned_up();
# 108 "../include/convert.h"
extern void pre_weighted_conversion_method();
extern void pb_weights();
extern void altschul_data_dependent_conversion_method();
extern void gribskov_conversion_method();
# 19 "../include/blocksprogs.h" 2
# 1 "../include/frequency.h" 1
# 22 "../include/frequency.h"
extern double frequency[26];
extern double Codon_Usage[64];
# 40 "../include/frequency.h"
extern Boolean load_frequencies();
# 51 "../include/frequency.h"
extern Boolean load_codons();
extern void frq_qij();
# 20 "../include/blocksprogs.h" 2
# 1 "../include/files.h" 1
# 25 "../include/files.h"
extern char ExportMatrixFile[100];
extern char OutputFile[100];
struct file_list {
FILE *fp;
int db_type;
int seq_type;
int num_files;
int max_files;
int cur_file;
char **file_names;
};
typedef struct file_list FileList;
extern FileList BlockFiles;
extern FileList MatrixFiles;
extern FileList DatabaseFiles;
extern FileList FrequencyFile;
extern FileList SequenceFiles;
extern FileList PatternFiles;
# 71 "../include/files.h"
extern void insert_file();
# 83 "../include/files.h"
extern FILE *get_file();
# 96 "../include/files.h"
extern void rewind_file();
# 108 "../include/files.h"
extern char *get_current_file_name();
# 121 "../include/files.h"
char *get_file_name();
# 133 "../include/files.h"
extern int number_of_files();
extern void file_assign();
# 150 "../include/files.h"
extern int get_sequence_db_seq_type();
# 164 "../include/files.h"
extern int get_sequence_db_db_type();
# 185 "../include/files.h"
extern void close_file();
# 21 "../include/blocksprogs.h" 2
# 1 "../include/protomat.h" 1
# 12 "../include/protomat.h"
# 1 "/usr/include/stdlib.h" 1 3
# 13 "../include/protomat.h" 2
# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.2/include/stdio.h" 1 3
# 14 "../include/protomat.h" 2
# 1 "/usr/include/string.h" 1 3
# 15 "../include/protomat.h" 2
# 66 "../include/protomat.h"
typedef unsigned char *aa_type[20][20][24];
struct motif_struct {
unsigned char aa1, aa2, aa3, distance1, distance2;
int freq, dups;
int seq_no[400], pos[400];
int score, scores[55], domain, mots;
char group, sub_group;
};
struct group_struct {
int group_no, sub_no, position;
};
struct merged_motif {
int dropped;
char aa[3];
int nmotif;
int nident;
int max_score;
int domain;
int distance;
int dups;
int loffset;
int leftpos[400];
int cluster[400];
int scores[55];
int t_loffset;
int t_domain;
int t_score;
int position[400];
int maxpos;
int minpos;
int in_degree;
int out_degree;
};
struct sequences {
int num;
int totlen;
int *len;
int *offlen;
char *name;
char *seq;
};
struct aux_seq {
int block[50];
};
struct temp {
int value;
int index;
int flag;
};
struct dtemp {
double value;
int index;
};
struct pair {
int score;
int cluster;
};
# 170 "../include/protomat.h"
struct block_list {
int b;
int minprev;
int maxprev;
struct block_list *next_block;
struct block_list *next_best;
struct block_list *prev_best;
};
struct path {
int nblocks;
int nbest;
int naas;
unsigned long totscore;
int totmotif;
int totident;
int nseqs;
int seqs[400];
struct block_list *first_block;
struct block_list *first_best;
struct path *next_path;
};
struct matrix {
int npos;
int maxdiff;
int mark;
};
struct follow_data {
struct path *path;
int mark[50][50];
};
struct score {
char scores[21][21];
int highpass;
};
struct split_name {
int dir_len, file_len, name_len;
};
struct db_id {
char entry[18 +1];
char ps[2];
char info[80];
int len;
int frag;
int lst;
int found;
int block;
int search;
int rank;
int score;
double pvalue;
struct db_id *next;
struct db_id *prior;
};
struct db_id *makedbid();
struct db_id *check_entry();
int get_ids();
struct split_name *split_names();
char *dir_unix();
int kr_atoi();
void kr_itoa();
void getscore();
char *num_to_aachar();
int aachar_to_num();
void pr_num_to_aa();
void pr_num_to_aa_space();
# 22 "../include/blocksprogs.h" 2
# 51 "addseqs.c" 2
struct blocks_list {
int nblock;
int nseq;
int nadd;
int mindist;
int maxdist;
int bestpos;
int endpos;
int bestscore;
Block *block;
Matrix *pssm, *pssm_frq;
struct blocks_list *next;
};
struct seqseq {
int seq, minseq, clump;
double maxscore, minscore;
};
struct btemp {
double score;
int bnum;
struct blocks_list *blist;
};
void addseq();
void assemble_hit();
void best_pos();
void scale_weights();
void fix_ac();
void add_cluster();
void write_seq();
void order_seq();
int btempcmp();
void compute_dist();
struct blocks_list *make_blist();
void insert_blist();
void free_blist();
struct score_struct {
double ways, prob;
};
int pssmdist();
char Version[12] = " 5/ 2/00.1";
int NumSeqs, TN995, CutOff;
double TPabove;
double QMax;
int main(argc, argv)
int argc;
char *argv[];
{
FILE *fseq, *fblk, *fout, *fqij, *fdat;
Block *block;
Sequence *sequence;
struct blocks_list *blist, *bcur, *bprev;
char frqname[80], qijname[80], siminame[80];
char infile[80], outfile[80], seqsfile[80];
char *blimps_dir;
int i, j, not_in, in_order, above_cut, endpos;
int fragment;
int maxpos, minpos;
int seqsonly, simionly, blksonly;
ErrorLevelReport = 2;
printf("ADDSEQS Version %s\n", Version);
if (argc < 3)
{
printf("ADDSEQS: Copyright 1999 by the Fred Hutchinson Cancer");
printf(" Research Center\n");
printf("Adds sequences to blocks.\n");
printf("USAGE: addseqs <in_block_file> <seqs_file> <out_blocks_file>\n");
printf(" <in_block_file> = input blocks\n");
printf(" <seqs_file> = fasta format sequences\n");
printf(" <out_file> = output file\n");
printf(" <blks|seqs|simi>= processing option\n");
printf(" blks = add sequences to blocks & output blocks\n");
printf(" seqs = add sequences to blocks & output sequences\n");
printf(" simi = add sequences to blocks & do similarity analysis\n");
}
if (argc > 1)
strcpy(infile, argv[1]);
else
{
printf("\nEnter name of file containing blocks: ");
gets(infile);
}
if ( (fblk=fopen(infile, "r")) == ((void *)0))
{
printf("\nCannot open file %s\n", infile);
exit(-1);
}
if (argc > 2)
strcpy(seqsfile, argv[2]);
else
{
printf("\nEnter name of sequence file: ");
gets(seqsfile);
}
if ( (fseq=fopen(seqsfile, "r")) == ((void *)0))
{
printf("\nCannot open file %s\n", seqsfile);
exit(-1);
}
if (argc > 3)
strcpy(outfile, argv[3]);
else
{
printf("\nEnter name of output seqs file: ");
gets(outfile);
}
if ( (fout=fopen(outfile, "w")) == ((void *)0))
{
printf("\nCannot open file %s\n", outfile);
exit(-1);
}
blksonly = 1; seqsonly = 0; simionly = 0;
if (argc > 4)
{
if (strcasecmp(argv[4], "seqs") == 0)
{
blksonly = 0; seqsonly = 1; simionly = 0;
}
else if (strcasecmp(argv[4], "simi") == 0)
{
blksonly = 0; seqsonly = 0; simionly = 1;
}
}
CutOff = 800;
blimps_dir = getenv("BLIMPS_DIR");
frqname[0] = '\0';
if (blimps_dir != ((void *)0)) sprintf(frqname, "%s/docs/", blimps_dir);
strcat(frqname, "default.amino.frq");
load_frequencies(frqname);
qijname[0] = '\0';
if (blimps_dir != ((void *)0)) sprintf(qijname, "%s/docs/", blimps_dir);
strcat(qijname, "default.qij");
Qij = ((void *)0);
if ( (fqij=fopen(qijname, "r")) != ((void *)0)) Qij = load_qij(fqij);
fclose(fqij);
RTot = 5.0;
blist = make_blist();
while ((block = read_a_block(fblk)) != ((void *)0))
{
pb_weights(block);
scale_weights(block, 1);
insert_blist(blist, block);
}
fclose(fblk);
if (blist->nblock == 0)
{
printf("No blocks found in %s .\n", infile);
exit(-1);
}
NumSeqs = 0;
while (!((fseq)->_flag & 0020) &&
(sequence = read_a_sequence(fseq, 7, 0)) != ((void *)0))
{
NumSeqs += 1;
fragment = 0;
if (strstr(sequence->info, "FRAGMENT") != ((void *)0)) fragment = 1;
bcur = blist->next;
minpos = 9999; maxpos = -9999;
endpos = -9999;
not_in = in_order = above_cut = 1;
while (bcur != ((void *)0) && bcur->block != ((void *)0))
{
for (i = 0; i < bcur->block->num_sequences; i++)
{
j = (int) strlen(bcur->block->sequences[i].name);
if ((int) strlen(sequence->name) < j) j = strlen(sequence->name);
if ((strncmp(sequence->name, bcur->block->sequences[i].name, j)) == 0)
not_in = 0;
}
if (not_in)
{
bcur->bestpos = bcur->endpos = bcur->bestscore = -999;
best_pos(bcur, sequence);
if (bcur->bestscore < CutOff) above_cut = 0;
if (bcur->bestpos < endpos)
{
printf(" out of order %d, previous end %d\n",
bcur->bestpos, endpos);
in_order = 0;
}
else
{ endpos = bcur->bestpos + bcur->block->width; }
if (bcur->bestpos < 0 || endpos > sequence->length)
fragment = 1;
if (bcur->bestpos < minpos) minpos = bcur->bestpos;
if ((bcur->bestpos + bcur->block->width) > maxpos)
maxpos = bcur->bestpos + bcur->block->width - 1;
}
bcur = bcur->next;
}
if ( (!blksonly && not_in) ||
(blksonly && not_in && !fragment && in_order && above_cut) )
{
bcur = blist->next; bprev = ((void *)0);
while (bcur != ((void *)0) && bcur->block != ((void *)0))
{
addseq(bprev, bcur, sequence);
if (!blist->nadd) add_cluster(bcur->block);
bprev = bcur;
bcur = bcur->next;
}
blist->nadd += 1;
if (!blksonly && blist->nblock > 1)
assemble_hit(blist, &minpos, &maxpos);
}
if (seqsonly)
{
write_seq(fout, sequence, minpos, maxpos);
}
if (simionly) strcpy(siminame, sequence->name);
free_sequence(sequence);
}
if (NumSeqs == 0)
{
printf("No sequences found in %s .\n", seqsfile);
exit(-1);
}
fclose(fseq);
printf("\n");
if (!seqsonly)
{
bcur = blist->next;
while (bcur != ((void *)0) && bcur->block != ((void *)0))
{
if (blksonly ||
(simionly && bcur->block->undefined))
{
pb_weights(bcur->block);
scale_weights(bcur->block, 0);
fix_ac(bcur);
output_block(bcur->block, fout);
if (simionly)
{
printf("Query added to %s\n", bcur->block->number);
}
}
bcur = bcur->next;
}
}
fclose(fout);
if (!simionly)
printf("%d sequences added\n", blist->nadd);
if (blksonly)
{
if ( (fdat=fopen("addseqs.dat", "a")) != ((void *)0))
{
fprintf(fdat, "%s %d %d %d %d\n",
blist->next->block->number, blist->nblock, blist->nseq,
blist->next->block->num_sequences, NumSeqs);
fclose(fdat);
}
}
exit(0);
}
void addseq(bprev, blist, seq)
struct blocks_list *bprev, *blist;
Sequence *seq;
{
int j, pos, posj, prevdist, clmax, newseq;
pos = blist->bestpos;
if (blist->block->num_sequences + 1 > blist->block->max_sequences)
{
resize_block_sequences(blist->block);
}
newseq = blist->block->num_sequences;
blist->block->sequences[newseq].position = pos + 1;
strcpy(blist->block->sequences[newseq].name, seq->name);
strcpy(blist->block->sequences[newseq].info, seq->info);
blist->block->sequences[newseq].undefined = 1;
blist->block->sequences[newseq].max_length =
blist->block->width;
blist->block->num_sequences += 1;
clmax = blist->block->num_clusters - 1;
blist->block->clusters[clmax].num_sequences += 1;
# 410 "addseqs.c"
for (j=0; j< blist->block->width; j++)
{
if (blist->bestscore >= CutOff)
{
posj = pos + j;
if (posj >= 0 && posj < seq->length)
blist->block->sequences[newseq].sequence[j] =
seq->sequence[posj];
else
blist->block->sequences[newseq].sequence[j] = 23;
}
else
{
blist->block->sequences[newseq].sequence[j] = 23;
}
}
prevdist = pos;
if (bprev != ((void *)0))
{
prevdist -= (bprev->block->sequences[newseq].position + bprev->block->width);
}
if (prevdist < blist->mindist) blist->mindist = prevdist;
if (prevdist > blist->maxdist) blist->maxdist = prevdist;
}
void scale_weights(block, stype)
Block *block;
int stype;
{
double maxweight, minweight, sumweight, factor;
int seq;
sumweight = maxweight = 0.0; minweight = 999999.9;
for (seq = 0; seq < block->num_sequences; seq++)
{
sumweight += block->sequences[seq].weight;
if (block->sequences[seq].weight > maxweight)
maxweight = block->sequences[seq].weight;
if (block->sequences[seq].weight < minweight)
minweight = block->sequences[seq].weight;
}
factor = 1.0;
if (stype == 0) factor = 100. / maxweight;
else if (stype == 1) factor = (double) block->num_sequences / sumweight;
else if (stype > 1) factor = (double) stype / sumweight;
for (seq = 0; seq < block->num_sequences; seq++)
{
block->sequences[seq].weight *= factor;
}
}
void best_pos(blist, seq)
struct blocks_list *blist;
Sequence *seq;
{
int scan_pos, seq_pos, mat_pos, best_position;
double seq_score, max_seq_score;
max_seq_score = 0.0;
for (seq_pos= -blist->pssm->width+1; seq_pos < seq->length; seq_pos++) {
seq_score = 0.0;
for (mat_pos=0; mat_pos < blist->pssm->width; mat_pos++) {
scan_pos = seq_pos + mat_pos;
if ((scan_pos >= 0) && (scan_pos < seq->length)) {
seq_score += blist->pssm->weights[seq->sequence[scan_pos]][mat_pos];
}
else {
seq_score += blist->pssm->weights[aa_atob['-']][mat_pos];
}
}
if (seq_score > max_seq_score) {
max_seq_score = seq_score;
best_position = seq_pos;
}
}
if (blist->pssm->percentile > 0)
{
printf("%s %s calibrated ", seq->name, blist->block->number);
max_seq_score *= 1000.0;
max_seq_score /= (double) blist->pssm->percentile;
}
blist->bestpos = best_position;
blist->endpos = best_position + blist->block->width - 1;
blist->bestscore = ((max_seq_score >= 0.0) ? (int) (max_seq_score+0.5) : (int) (max_seq_score-0.5));
printf("best score = %5d at %d\n", blist->bestscore, blist->bestpos);
}
struct blocks_list *make_blist()
{
struct blocks_list *new;
new = (struct blocks_list *) malloc (sizeof(struct blocks_list));
new->nblock = new->nseq = new->nadd = 0;
new->bestscore = new->bestpos = new->maxdist = -9999;
new->mindist = 9999;
new->block = ((void *)0);
new->next = ((void *)0);
return(new);
}
void insert_blist(blist, block)
struct blocks_list *blist;
Block *block;
{
struct blocks_list *cur;
char *ptr, ctemp[80];
cur = blist;
while (cur->next != ((void *)0)) cur = cur->next;
cur->next = make_blist();
cur->next->block = block;
cur->next->pssm = block_to_matrix(block, 3);
cur->next->pssm_frq = block_to_matrix(block, 2);
strcpy(ctemp, block->ac);
ptr = strtok(ctemp, "(");
if (ptr != ((void *)0))
{
ptr = strtok(((void *)0), ",");
if (ptr != ((void *)0))
{
cur->next->mindist = atoi(ptr);
ptr = strtok(((void *)0), ")");
if (ptr != ((void *)0))
{ cur->next->maxdist = atoi(ptr);}
}
}
if (cur->next->pssm->percentile <= 0)
{
cur->next->pssm->percentile = pssmdist(cur->next->pssm, 0, frequency, ((void *)0));
block->percentile = cur->next->pssm->percentile;
}
if (cur->next->pssm->strength <= 0)
{
cur->next->pssm->strength = pssmdist(cur->next->pssm, 1, frequency, cur->next->pssm_frq);
block->strength = cur->next->pssm->strength;
}
blist->nblock += 1;
blist->nseq = block->num_sequences;
}
void free_blist(blist)
struct blocks_list *blist;
{
struct blocks_list *cur, *last;
cur = last = blist;
while (cur->next != ((void *)0))
{
last = cur; cur = cur->next;
}
if (cur != blist)
{
free(cur);
last->next = ((void *)0);
free_blist(last);
}
else free(blist);
}
int pssmdist(matrix, ftype, freqs, obs_freqs)
Matrix *matrix, *obs_freqs;
int ftype;
double *freqs;
{
struct score_struct *last, *this, ends[6000];
struct score_struct middle[6000], scores[2][6000];
int col, aa, minvalue, maxvalue, minscore, maxscore, mincol, maxcol;
int x, score, minfirst, minlast;
double cum, aligns, report, ftemp, dtemp, probwt[60];
if (ftype == 1) report = (double) 0.5 * 100;
else report = (double) 0.005 * 185371;
minscore = maxscore = 0;
maxvalue = -1;
minvalue = 9999;
probwt[0] = 20.0;
for (col = 0; col < matrix->width; col++)
{
if (col > 0) probwt[col] = probwt[col - 1] * 20.0;
mincol = 9999; maxcol = -1;
for (aa = 1; aa <= 20; aa++)
{
if (matrix->weights[aa][col] > maxvalue)
maxvalue = matrix->weights[aa][col];
if (matrix->weights[aa][col] < minvalue)
minvalue = matrix->weights[aa][col];
if (matrix->weights[aa][col] > maxcol)
maxcol = matrix->weights[aa][col];
if (matrix->weights[aa][col] < mincol)
mincol = matrix->weights[aa][col];
}
maxscore += maxcol;
minscore += mincol;
if (col == 0) minfirst = mincol;
if (col == (matrix->width - 1) ) minlast = mincol;
}
dtemp = probwt[matrix->width - 1] * 21.0 - 40.0;
cum = 0.0;
for (col = 0; col < matrix->width; col++)
{
probwt[col] = probwt[col] * 19.0 / dtemp;
cum += probwt[col];
if (col < matrix->width - 1) cum += probwt[col];
}
if (minfirst < minscore) minscore = minfirst;
if (minlast < minscore) minscore = minlast;
# 705 "addseqs.c"
if (maxscore > 6000) maxscore = 6000 - 1;
last = scores[0]; this = scores[1];
for (x = minvalue; x <= maxscore; x++)
{ last[x].ways = last[x].prob = this[x].ways = this[x].prob = 0.0;
ends[x].ways = ends[x].prob = middle[x].ways = middle[x].prob = 0.0; }
col = 0;
for (aa=1; aa <= 20; aa++)
{
x = matrix->weights[aa][col];
last[x].ways += 1.0;
if (ftype == 1) ftemp = obs_freqs->weights[aa][col] / 100.;
else ftemp = freqs[aa];
last[x].prob += ftemp;
}
for (col=1; col < matrix->width; col++)
{
for (x=minvalue; x <= maxscore; x++)
{
ends[x].ways += last[x].ways;
ends[x].prob += last[x].prob * probwt[col - 1];
}
for (aa=1; aa <= 20; aa++)
{
for (x=minvalue; x <= maxscore; x++)
{
if (last[x].ways > 0)
{
score = x + matrix->weights[aa][col];
this[score].ways += last[x].ways;
if (ftype == 1) ftemp = obs_freqs->weights[aa][col] / 100.;
else ftemp = freqs[aa];
this[score].prob += last[x].prob * ftemp;
}
}
}
if (this == scores[1])
{ last = scores[1]; this = scores[0]; }
else
{ last = scores[0]; this = scores[1]; }
for (x = minvalue; x <= maxscore; x++)
{ this[x].ways = this[x].prob = 0.0; }
}
for (x=minvalue; x <= maxscore; x++)
{
middle[x].ways = last[x].ways;
middle[x].prob = last[x].prob * probwt[matrix->width - 1];
last[x].ways = last[x].prob = 0.0;
}
col = matrix->width - 1;
for (aa=1; aa <= 20; aa++)
{
x = matrix->weights[aa][col];
last[x].ways += 1.0;
if (ftype == 1) ftemp = obs_freqs->weights[aa][col] / 100.;
else ftemp = freqs[aa];
last[x].prob += ftemp;
}
for (col = matrix->width - 2; col >= 1; col--)
{
for (x=minvalue; x <= maxscore; x++)
{
ends[x].ways += last[x].ways;
ends[x].prob += last[x].prob * probwt[matrix->width - col - 2];
}
for (aa=1; aa <= 20; aa++)
{
for (x=minvalue; x <= maxscore; x++)
{
if (last[x].ways > 0)
{
score = x + matrix->weights[aa][col];
this[score].ways += last[x].ways;
if (ftype == 1) ftemp = obs_freqs->weights[aa][col] / 100.;
else ftemp = freqs[aa];
this[score].prob += last[x].prob * ftemp;
}
}
}
if (this == scores[1])
{ last = scores[1]; this = scores[0]; }
else
{ last = scores[0]; this = scores[1]; }
for (x = minvalue; x <= maxscore; x++)
{ this[x].ways = this[x].prob = 0.0; }
}
for (x=minvalue; x <= maxscore; x++)
{
ends[x].ways += last[x].ways;
ends[x].prob += last[x].prob * probwt[matrix->width - 2];
}
if (ftype == 1) aligns = 100;
else aligns = (double) 58639837 + 185371 * (matrix->width - 1);
if (ftype == 1 && TN995 > 0)
{
x = maxscore; TPabove = 0.0;
while (x > TN995)
{
if (middle[x].prob > 0.0 || ends[x].prob > 0.0)
{
TPabove += (middle[x].prob + ends[x].prob) * aligns;
}
x--;
}
}
x = maxscore; cum = 0.0;
while (cum < report && x >= 0)
{
if (middle[x].prob > 0.0 || ends[x].prob > 0.0)
{
cum += (middle[x].prob + ends[x].prob) * aligns;
}
x--;
}
if (ftype == 1) printf("Median TP score = %d, TPabove = %f\n",
x, TPabove);
else printf("99.5 TN score = %d\n", x);
return(x);
}
void fix_ac(blist)
struct blocks_list *blist;
{
sprintf(blist->block->ac, "%s; distance from previous block=(%d,%d)",
blist->block->number, blist->mindist, blist->maxdist);
}
void add_cluster(block)
Block *block;
{
if (block->num_clusters + 1 > block->max_clusters)
{
resize_block_clusters(block);
}
block->clusters[ block->num_clusters - 1 ].num_sequences -= 1;
block->clusters[ block->num_clusters ].num_sequences = 1;
block->clusters[ block->num_clusters ].sequences =
&(block->sequences[ block->num_sequences - 1 ]);
block->num_clusters += 1;
}
void write_seq(fout, seq, minpos, maxpos)
FILE *fout;
Sequence *seq;
int minpos, maxpos;
{
int min, max, pos;
min = 9999; max = -9999;
if ((minpos < 0) || (maxpos > seq->length) || (maxpos < minpos))
{
printf("Cannot write %s of length %d from %d to %d\n",
seq->name, seq->length, minpos, maxpos);
}
else
{
min = minpos - 10;
if (minpos < 0) minpos = 0;
max = maxpos + 10;
if (maxpos > seq->length) maxpos = seq->length;
fprintf(fout, ">%s %s from %d to %d\n",
seq->name, seq->info, min+1, max+1);
for (pos=min; pos < max; pos++)
{
fprintf(fout, "%c", aa_btoa[seq->sequence[pos]]);
if ((pos+1)%60 == 0) { fprintf(fout, "\n"); }
}
fprintf(fout, "\n");
}
}
void order_seq(sseq, b1, b2)
struct seqseq *sseq;
Block *b1, *b2;
{
int nseq, i1, i2;
nseq = b1->num_sequences;
if (b2->num_sequences < nseq) nseq = b2->num_sequences;
for (i1 = 0; i1 < nseq; i1++)
{
if (b1 == b2) sseq[i1].seq = i1;
else
{
sseq[i1].seq = -1;
i2 = 0;
while (sseq[i1].seq < 0 && i2 < nseq)
{
if (strcmp(b1->sequences[i1].name, b2->sequences[i2].name) == 0)
sseq[i1].seq = i2;
i2++;
}
}
}
}
# 966 "addseqs.c"
void assemble_hit(blist, minpos, maxpos)
struct blocks_list *blist;
int *minpos, *maxpos;
{
struct blocks_list *bcur, *bprev;
struct btemp *btemp;
int i, j, qseq;
btemp = (struct btemp *) malloc(blist->nblock * sizeof(struct btemp));
bcur = blist->next; bprev = ((void *)0);
i = 0;
while (bcur != ((void *)0) && bcur->block != ((void *)0))
{
btemp[i].score = bcur->bestscore;
btemp[i].bnum = i+1;
btemp[i].blist = bcur;
bcur->block->undefined = 0;
i++;
bprev = bcur;
bcur = bcur->next;
}
qsort(btemp, blist->nblock, sizeof(struct btemp), btempcmp);
btemp[0].blist->block->undefined = 1;
qseq = btemp[0].blist->block->num_sequences - 1;
for (i=1; i<blist->nblock; i++)
{
btemp[i].blist->block->undefined = 1;
for (j=0; j<i; j++)
{
if (btemp[j].blist->block->undefined &&
( (btemp[j].blist->bestscore < CutOff) ||
(btemp[i].bnum < btemp[j].bnum &&
btemp[i].blist->endpos > btemp[j].blist->bestpos) ||
(btemp[i].bnum > btemp[j].bnum &&
btemp[i].blist->bestpos < btemp[j].blist->endpos) ) )
{
btemp[i].blist->block->sequences[qseq].undefined = 0;
btemp[i].blist->block->undefined = 0;
}
}
}
*minpos = *maxpos; *maxpos = -999;
bcur = blist->next;
while (bcur != ((void *)0) && bcur->block != ((void *)0))
{
if (bcur->block->sequences[qseq].undefined)
{
if (bcur->block->sequences[qseq].position < *minpos)
*minpos = bcur->block->sequences[qseq].position;
if (bcur->block->sequences[qseq].position > *maxpos)
*maxpos = bcur->block->sequences[qseq].position;
}
bcur = bcur->next;
}
free(btemp);
}
int btempcmp(t1, t2)
struct btemp *t1, *t2;
{
double diff;
diff = t2->score - t1->score;
if (diff > 0.0) return(1);
else if (diff < 0.0) return(-1);
else return(0);
}
# 1061 "addseqs.c"
void compute_dist(ofp, mtype, nseq, seqs, mat)
FILE *ofp;
int mtype;
int nseq;
Sequence *seqs[1000];
struct float_qij *mat;
{
int length, s1, s2, aa1, aa2, pos;
double dist[1000][1000], maxdist, meandist, maxscore, dtemp;
maxdist = -999;
meandist = 0.0;
for (s1=0; s1<nseq; s1++)
{
length = seqs[s1]->length;
for (s2=s1; s2<nseq; s2++)
{
if (seqs[s2]->length < length)
{
printf("WARNING: sequence segments are of different lengths\n");
printf("%s %d : %s %d\n", seqs[s1]->name, seqs[s1]->length,
seqs[s2]->name, seqs[s2]->length);
length = seqs[s2]->length;
}
dist[s1][s2] = maxscore = 0.0;
for (pos=0; pos<length; pos++)
{
aa1 = seqs[s1]->sequence[pos];
aa2 = seqs[s2]->sequence[pos];
dist[s1][s2] += mat->value[aa1][aa2];
dtemp = mat->value[aa1][aa1];
if (mat->value[aa2][aa2] > dtemp) dtemp = mat->value[aa2][aa2];
maxscore += dtemp;
}
if (mtype == 3)
{
dist[s1][s2] /= maxscore;
if (dist[s1][s2] > 1.0) dist[s1][s2] = 1.0;
if (dist[s1][s2] < -1.0) dist[s1][s2] = -1.0;
}
}
}
for (s1=0; s1<nseq; s1++)
{
for (s2=s1; s2<nseq; s2++)
{
meandist += dist[s1][s2];
if (dist[s1][s2] > maxdist)
maxdist = dist[s1][s2];
if (s1 != s2)
dist[s2][s1] = dist[s1][s2];
}
}
dtemp = (double) nseq * (nseq + 1.0) / 2.0;
meandist /= dtemp;
printf("Mean dissimilarity distance = %.2f\n",
(maxdist - meandist) );
for (s1=0; s1<nseq; s1++)
{
fprintf(ofp, "%s ", seqs[s1]->name);
for (s2=0; s2<nseq; s2++)
{
if (mtype == 1)
fprintf(ofp, "%.0f ", dist[s1][s2]);
else if (mtype == 2)
fprintf(ofp, "%.0f ", maxdist - dist[s1][s2]);
else if (mtype == 3)
fprintf(ofp, "%.2f ", dist[s1][s2]);
if ((s2%25 == 0)) fprintf(ofp, "\n");
}
if (s2 == nseq) fprintf(ofp, "\n");
}
}
.file "addseqs.i"
.global aa_atob
.section ".data"
.align 4
.type aa_atob,#object
.size aa_atob,1024
aa_atob:
.uaword 26
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 27
.uaword 26
.uaword 25
.uaword 25
.uaword 26
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 27
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 24
.uaword 25
.uaword 25
.uaword 0
.uaword 24
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 27
.uaword 1
.uaword 21
.uaword 5
.uaword 4
.uaword 7
.uaword 14
.uaword 8
.uaword 9
.uaword 10
.uaword 23
.uaword 12
.uaword 11
.uaword 13
.uaword 3
.uaword 23
.uaword 15
.uaword 6
.uaword 2
.uaword 16
.uaword 17
.uaword 23
.uaword 20
.uaword 18
.uaword 23
.uaword 19
.uaword 22
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 27
.uaword 1
.uaword 21
.uaword 5
.uaword 4
.uaword 7
.uaword 14
.uaword 8
.uaword 9
.uaword 10
.uaword 23
.uaword 12
.uaword 11
.uaword 13
.uaword 3
.uaword 23
.uaword 15
.uaword 6
.uaword 2
.uaword 16
.uaword 17
.uaword 23
.uaword 20
.uaword 18
.uaword 23
.uaword 19
.uaword 22
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.uaword 25
.global aa_btoa
.align 8
.type aa_btoa,#object
.size aa_btoa,26
aa_btoa:
.asciz "-ARNDCQEGHILKMFPSTWYVBZX*"
.global aa_adegen
.section ".rodata"
.align 8
.LLC0:
.asciz "-"
.align 8
.LLC1:
.asciz "A"
.align 8
.LLC2:
.asciz "R"
.align 8
.LLC3:
.asciz "N"
.align 8
.LLC4:
.asciz "D"
.align 8
.LLC5:
.asciz "C"
.align 8
.LLC6:
.asciz "Q"
.align 8
.LLC7:
.asciz "E"
.align 8
.LLC8:
.asciz "G"
.align 8
.LLC9:
.asciz "H"
.align 8
.LLC10:
.asciz "I"
.align 8
.LLC11:
.asciz "L"
.align 8
.LLC12:
.asciz "K"
.align 8
.LLC13:
.asciz "M"
.align 8
.LLC14:
.asciz "F"
.align 8
.LLC15:
.asciz "P"
.align 8
.LLC16:
.asciz "S"
.align 8
.LLC17:
.asciz "T"
.align 8
.LLC18:
.asciz "W"
.align 8
.LLC19:
.asciz "Y"
.align 8
.LLC20:
.asciz "V"
.align 8
.LLC21:
.asciz "DN"
.align 8
.LLC22:
.asciz "EQ"
.align 8
.LLC23:
.asciz "ARNDCQEGHILKMFPSTWYV"
.align 8
.LLC24:
.asciz "*"
.section ".data"
.align 4
.type aa_adegen,#object
.size aa_adegen,300
aa_adegen:
.byte 45
.skip 3
.uaword 1
.uaword .LLC0
.byte 65
.skip 3
.uaword 1
.uaword .LLC1
.byte 82
.skip 3
.uaword 1
.uaword .LLC2
.byte 78
.skip 3
.uaword 1
.uaword .LLC3
.byte 68
.skip 3
.uaword 1
.uaword .LLC4
.byte 67
.skip 3
.uaword 1
.uaword .LLC5
.byte 81
.skip 3
.uaword 1
.uaword .LLC6
.byte 69
.skip 3
.uaword 1
.uaword .LLC7
.byte 71
.skip 3
.uaword 1
.uaword .LLC8
.byte 72
.skip 3
.uaword 1
.uaword .LLC9
.byte 73
.skip 3
.uaword 1
.uaword .LLC10
.byte 76
.skip 3
.uaword 1
.uaword .LLC11
.byte 75
.skip 3
.uaword 1
.uaword .LLC12
.byte 77
.skip 3
.uaword 1
.uaword .LLC13
.byte 70
.skip 3
.uaword 1
.uaword .LLC14
.byte 80
.skip 3
.uaword 1
.uaword .LLC15
.byte 83
.skip 3
.uaword 1
.uaword .LLC16
.byte 84
.skip 3
.uaword 1
.uaword .LLC17
.byte 87
.skip 3
.uaword 1
.uaword .LLC18
.byte 89
.skip 3
.uaword 1
.uaword .LLC19
.byte 86
.skip 3
.uaword 1
.uaword .LLC20
.byte 66
.skip 3
.uaword 2
.uaword .LLC21
.byte 90
.skip 3
.uaword 2
.uaword .LLC22
.byte 88
.skip 3
.uaword 20
.uaword .LLC23
.byte 42
.skip 3
.uaword 1
.uaword .LLC24
.global aafq
.align 8
.type aafq,#object
.size aafq,168
aafq:
.uaword 0x0 ! ~0.00000000000000000000e0
.uaword 0x0
.uaword 0x3fb4bc6a ! ~8.10000000000000025535e-2
.uaword 0x7ef9db23
.uaword 0x3fad2f1a ! ~5.70000000000000020539e-2
.uaword 0x9fbe76c9
.uaword 0x3fa70a3d ! ~4.49999999999999983347e-2
.uaword 0x70a3d70a
.uaword 0x3faba5e3 ! ~5.39999999999999993894e-2
.uaword 0x53f7ced9
.uaword 0x3f8eb851 ! ~1.49999999999999994449e-2
.uaword 0xeb851eb8
.uaword 0x3fa3f7ce ! ~3.89999999999999999445e-2
.uaword 0xd916872b
.uaword 0x3faf3b64 ! ~6.09999999999999986677e-2
.uaword 0x5a1cac08
.uaword 0x3fb16872 ! ~6.80000000000000048850e-2
.uaword 0xb020c49c
.uaword 0x3f96872b ! ~2.19999999999999987232e-2
.uaword 0x20c49ba
.uaword 0x3fad2f1a ! ~5.70000000000000020539e-2
.uaword 0x9fbe76c9
.uaword 0x3fb7ced9 ! ~9.29999999999999993339e-2
.uaword 0x16872b02
.uaword 0x3facac08 ! ~5.60000000000000011657e-2
.uaword 0x3126e979
.uaword 0x3f999999 ! ~2.50000000000000013878e-2
.uaword 0x9999999a
.uaword 0x3fa47ae1 ! ~4.00000000000000008327e-2
.uaword 0x47ae147b
.uaword 0x3fa91687 ! ~4.90000000000000018874e-2
.uaword 0x2b020c4a
.uaword 0x3fb16872 ! ~6.80000000000000048850e-2
.uaword 0xb020c49c
.uaword 0x3fadb22d ! ~5.80000000000000029421e-2
.uaword 0xe560419
.uaword 0x3f8a9fbe ! ~1.29999999999999994033e-2
.uaword 0x76c8b439
.uaword 0x3fa0624d ! ~3.20000000000000006661e-2
.uaword 0xd2f1a9fc
.uaword 0x3fb126e9 ! ~6.70000000000000039968e-2
.uaword 0x78d4fdf4
.global nt_atob
.align 4
.type nt_atob,#object
.size nt_atob,1024
nt_atob:
.uaword 17
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 18
.uaword 17
.uaword 16
.uaword 16
.uaword 17
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 18
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 18
.uaword 16
.uaword 16
.uaword 15
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 18
.uaword 0
.uaword 10
.uaword 1
.uaword 11
.uaword 14
.uaword 14
.uaword 2
.uaword 12
.uaword 14
.uaword 14
.uaword 7
.uaword 14
.uaword 6
.uaword 14
.uaword 14
.uaword 14
.uaword 14
.uaword 4
.uaword 9
.uaword 3
.uaword 3
.uaword 13
.uaword 8
.uaword 14
.uaword 5
.uaword 14
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 18
.uaword 0
.uaword 10
.uaword 1
.uaword 11
.uaword 14
.uaword 14
.uaword 2
.uaword 12
.uaword 14
.uaword 14
.uaword 7
.uaword 14
.uaword 6
.uaword 14
.uaword 14
.uaword 14
.uaword 14
.uaword 4
.uaword 9
.uaword 3
.uaword 3
.uaword 13
.uaword 8
.uaword 14
.uaword 5
.uaword 14
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.uaword 16
.global nt_btoa
.align 8
.type nt_btoa,#object
.size nt_btoa,17
nt_btoa:
.asciz "ACGTRYMKWSBDHVN-"
.global nt_brevcomp
.align 8
.type nt_brevcomp,#object
.size nt_brevcomp,128
nt_brevcomp:
.byte 3
.byte 2
.byte 1
.byte 0
.byte 5
.byte 4
.byte 7
.byte 6
.byte 8
.byte 9
.byte 13
.byte 12
.byte 11
.byte 10
.byte 14
.byte 15
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.byte 16
.global nt_arevcomp
.align 8
.type nt_arevcomp,#object
.size nt_arevcomp,128
nt_arevcomp:
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 45
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 84
.byte 86
.byte 71
.byte 72
.byte 63
.byte 63
.byte 67
.byte 68
.byte 63
.byte 63
.byte 77
.byte 63
.byte 75
.byte 78
.byte 63
.byte 63
.byte 63
.byte 89
.byte 83
.byte 65
.byte 65
.byte 66
.byte 87
.byte 78
.byte 82
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 84
.byte 86
.byte 71
.byte 72
.byte 63
.byte 63
.byte 67
.byte 68
.byte 63
.byte 63
.byte 77
.byte 63
.byte 75
.byte 78
.byte 63
.byte 63
.byte 63
.byte 89
.byte 83
.byte 65
.byte 65
.byte 66
.byte 87
.byte 78
.byte 82
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.byte 63
.global nt_adegen
.section ".rodata"
.align 8
.LLC25:
.asciz "AG"
.align 8
.LLC26:
.asciz "CT"
.align 8
.LLC27:
.asciz "AC"
.align 8
.LLC28:
.asciz "GT"
.align 8
.LLC29:
.asciz "AT"
.align 8
.LLC30:
.asciz "CG"
.align 8
.LLC31:
.asciz "CGT"
.align 8
.LLC32:
.asciz "AGT"
.align 8
.LLC33:
.asciz "ACT"
.align 8
.LLC34:
.asciz "ACG"
.align 8
.LLC35:
.asciz "ACGT"
.section ".data"
.align 4
.type nt_adegen,#object
.size nt_adegen,192
nt_adegen:
.byte 65
.skip 3
.uaword 1
.uaword .LLC1
.byte 67
.skip 3
.uaword 1
.uaword .LLC5
.byte 71
.skip 3
.uaword 1
.uaword .LLC8
.byte 84
.skip 3
.uaword 1
.uaword .LLC17
.byte 82
.skip 3
.uaword 2
.uaword .LLC25
.byte 89
.skip 3
.uaword 2
.uaword .LLC26
.byte 77
.skip 3
.uaword 2
.uaword .LLC27
.byte 75
.skip 3
.uaword 2
.uaword .LLC28
.byte 87
.skip 3
.uaword 2
.uaword .LLC29
.byte 83
.skip 3
.uaword 2
.uaword .LLC30
.byte 66
.skip 3
.uaword 3
.uaword .LLC31
.byte 68
.skip 3
.uaword 3
.uaword .LLC32
.byte 72
.skip 3
.uaword 3
.uaword .LLC33
.byte 86
.skip 3
.uaword 3
.uaword .LLC34
.byte 78
.skip 3
.uaword 4
.uaword .LLC35
.byte 45
.skip 3
.uaword 1
.uaword .LLC0
.global nt_bdegen
.section ".rodata"
.align 8
.LLC36:
.asciz ""
.asciz ""
.align 8
.LLC37:
.asciz "\001"
.align 8
.LLC38:
.asciz "\002"
.align 8
.LLC39:
.asciz "\003"
.align 8
.LLC40:
.asciz ""
.asciz "\002"
.align 8
.LLC41:
.asciz "\001\003"
.align 8
.LLC42:
.asciz ""
.asciz "\001"
.align 8
.LLC43:
.asciz "\002\003"
.align 8
.LLC44:
.asciz ""
.asciz "\003"
.align 8
.LLC45:
.asciz "\001\002"
.align 8
.LLC46:
.asciz "\001\002\003"
.align 8
.LLC47:
.asciz ""
.asciz "\002\003"
.align 8
.LLC48:
.asciz ""
.asciz "\001\003"
.align 8
.LLC49:
.asciz ""
.asciz "\001\002"
.align 8
.LLC50:
.asciz ""
.asciz "\001\002\003"
.align 8
.LLC51:
.asciz "\017"
.section ".data"
.align 4
.type nt_bdegen,#object
.size nt_bdegen,192
nt_bdegen:
.byte 0
.skip 3
.uaword 1
.uaword .LLC36
.byte 1
.skip 3
.uaword 1
.uaword .LLC37
.byte 2
.skip 3
.uaword 1
.uaword .LLC38
.byte 3
.skip 3
.uaword 1
.uaword .LLC39
.byte 4
.skip 3
.uaword 2
.uaword .LLC40
.byte 5
.skip 3
.uaword 2
.uaword .LLC41
.byte 6
.skip 3
.uaword 2
.uaword .LLC42
.byte 7
.skip 3
.uaword 2
.uaword .LLC43
.byte 8
.skip 3
.uaword 2
.uaword .LLC44
.byte 9
.skip 3
.uaword 2
.uaword .LLC45
.byte 10
.skip 3
.uaword 3
.uaword .LLC46
.byte 11
.skip 3
.uaword 3
.uaword .LLC47
.byte 12
.skip 3
.uaword 3
.uaword .LLC48
.byte 13
.skip 3
.uaword 3
.uaword .LLC49
.byte 14
.skip 3
.uaword 4
.uaword .LLC50
.byte 15
.skip 3
.uaword 1
.uaword .LLC51
.global ntfq
.align 8
.type ntfq,#object
.size ntfq,32
ntfq:
.uaword 0x3fd00000 ! ~2.50000000000000000000e-1
.uaword 0x0
.uaword 0x3fd00000 ! ~2.50000000000000000000e-1
.uaword 0x0
.uaword 0x3fd00000 ! ~2.50000000000000000000e-1
.uaword 0x0
.uaword 0x3fd00000 ! ~2.50000000000000000000e-1
.uaword 0x0
.global gcodes
.section ".rodata"
.align 8
.LLC52:
.asciz "Standard"
.align 8
.LLC53:
.asciz "FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG"
.align 8
.LLC54:
.asciz "0000000000000000000000000000000000010000000000000000000000000000"
.align 8
.LLC55:
.asciz "Vertebrate Mitochondrial"
.align 8
.LLC56:
.asciz "FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSS**VVVVAAAADDEEGGGG"
.align 8
.LLC57:
.asciz "0000000000000000000000000000000011110000000000000000000000000000"
.align 8
.LLC58:
.asciz "Yeast Mitochondrial"
.align 8
.LLC59:
.asciz "FFLLSSSSYY**CCWWTTTTPPPPHHQQRRRRIIMMTTTTNNKKSSRRVVVVAAAADDEEGGGG"
.align 8
.LLC60:
.asciz "Mold Mitochondrial and Mycoplasma"
.align 8
.LLC61:
.asciz "FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG"
.align 8
.LLC62:
.asciz "Invertebrate Mitochondrial"
.align 8
.LLC63:
.asciz "FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIMMTTTTNNKKSSSSVVVVAAAADDEEGGGG"
.align 8
.LLC64:
.asciz "0000000000000000000000000000000010110000000000000000000000000000"
.align 8
.LLC65:
.asciz "Ciliate Macronuclear"
.align 8
.LLC66:
.asciz "FFLLSSSSYYQQCC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG"
.align 8
.LLC67:
.asciz "Protozoan Mitochondrial"
.align 8
.LLC68:
.asciz "0011000000000000000100000000000000010000000000000000000000000000"
.align 8
.LLC69:
.asciz "Plant Mitochondrial"
.align 8
.LLC70:
.asciz "FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRWIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG"
.align 8
.LLC71:
.asciz "Echinodermate Mitochondrial"
.align 8
.LLC72:
.asciz "FFLLSSSSYY**CCWWLLLLPPPPHHQQRRRRIIIMTTTTNNNKSSSSVVVVAAAADDEEGGGG"
.section ".data"
.align 4
.type gcodes,#object
.size gcodes,108
gcodes:
.uaword .LLC52
.uaword .LLC53
.uaword .LLC54
.uaword .LLC55
.uaword .LLC56
.uaword .LLC57
.uaword .LLC58
.uaword .LLC59
.uaword .LLC54
.uaword .LLC60
.uaword .LLC61
.uaword .LLC54
.uaword .LLC62
.uaword .LLC63
.uaword .LLC64
.uaword .LLC65
.uaword .LLC66
.uaword .LLC54
.uaword .LLC67
.uaword .LLC61
.uaword .LLC68
.uaword .LLC69
.uaword .LLC70
.uaword .LLC54
.uaword .LLC71
.uaword .LLC72
.uaword .LLC54
.global Version
.align 8
.type Version,#object
.size Version,12
Version:
.asciz " 5/ 2/00.1"
.skip 1
.section ".rodata"
.align 8
.LLC73:
.asciz "ADDSEQS Version %s\n"
.align 8
.LLC74:
.asciz "ADDSEQS: Copyright 1999 by the Fred Hutchinson Cancer"
.align 8
.LLC75:
.asciz " Research Center"
.align 8
.LLC76:
.asciz "Adds sequences to blocks."
.align 8
.LLC77:
.asciz "USAGE: addseqs <in_block_file> <seqs_file> <out_blocks_file>"
.align 8
.LLC78:
.asciz " <in_block_file> = input blocks"
.align 8
.LLC79:
.asciz "\t\t <seqs_file> = fasta format sequences"
.align 8
.LLC80:
.asciz " <out_file> = output file"
.align 8
.LLC81:
.asciz " <blks|seqs|simi>= processing option"
.align 8
.LLC82:
.asciz " blks = add sequences to blocks & output blocks"
.align 8
.LLC83:
.asciz " seqs = add sequences to blocks & output sequences"
.align 8
.LLC84:
.asciz " simi = add sequences to blocks & do similarity analysis"
.align 8
.LLC85:
.asciz "\nEnter name of file containing blocks: "
.align 8
.LLC86:
.asciz "r"
.align 8
.LLC88:
.asciz "\nEnter name of sequence file: "
.align 8
.LLC89:
.asciz "\nEnter name of output seqs file: "
.align 8
.LLC90:
.asciz "w"
.align 8
.LLC91:
.asciz "seqs"
.align 8
.LLC92:
.asciz "simi"
.align 8
.LLC93:
.asciz "BLIMPS_DIR"
.align 8
.LLC94:
.asciz "%s/docs/"
.align 8
.LLC95:
.asciz "default.amino.frq"
.align 8
.LLC96:
.asciz "default.qij"
.align 8
.LLC103:
.asciz "%d sequences added\n"
.align 8
.LLC104:
.asciz "addseqs.dat"
.align 8
.LLC105:
.asciz "a"
.align 8
.LLC106:
.asciz "%s %d %d %d %d\n"
.align 8
.LLC102:
.asciz "Query added to %s\n"
.align 8
.LLC99:
.asciz "FRAGMENT"
.align 8
.LLC100:
.asciz " out of order %d, previous end %d\n"
.align 8
.LLC87:
.asciz "\nCannot open file %s\n"
.align 8
.LLC98:
.asciz "No blocks found in %s .\n"
.align 8
.LLC101:
.asciz "No sequences found in %s .\n"
.align 8
.LLC97:
.uaword 0x40140000 ! ~5.00000000000000000000e0
.uaword 0x0
.align 4
.LLC126:
.uaword -9999
.section ".text"
.align 4
.global main
.type main,#function
.proc 04
main:
!#PROLOGUE# 0
save %sp, -624, %sp
!#PROLOGUE# 1
mov 2, %o1
sethi %hi(ErrorLevelReport), %o0
st %o1, [%o0+%lo(ErrorLevelReport)]
sethi %hi(.LLC73), %o0
sethi %hi(Version), %o1
or %o0, %lo(.LLC73), %o0
call printf, 0
or %o1, %lo(Version), %o1
cmp %i0, 2
bg .LL105
cmp %i0, 1
sethi %hi(.LLC74), %o0
call printf, 0
or %o0, %lo(.LLC74), %o0
sethi %hi(.LLC75), %o0
call puts, 0
or %o0, %lo(.LLC75), %o0
sethi %hi(.LLC76), %o0
call puts, 0
or %o0, %lo(.LLC76), %o0
sethi %hi(.LLC77), %o0
call puts, 0
or %o0, %lo(.LLC77), %o0
sethi %hi(.LLC78), %o0
call puts, 0
or %o0, %lo(.LLC78), %o0
sethi %hi(.LLC79), %o0
call puts, 0
or %o0, %lo(.LLC79), %o0
sethi %hi(.LLC80), %o0
call puts, 0
or %o0, %lo(.LLC80), %o0
sethi %hi(.LLC81), %o0
call puts, 0
or %o0, %lo(.LLC81), %o0
sethi %hi(.LLC82), %o0
call puts, 0
or %o0, %lo(.LLC82), %o0
sethi %hi(.LLC83), %o0
call puts, 0
or %o0, %lo(.LLC83), %o0
sethi %hi(.LLC84), %o0
call puts, 0
or %o0, %lo(.LLC84), %o0
cmp %i0, 1
.LL105:
ble .LL3
sethi %hi(.LLC85), %o0
add %fp, -336, %l5
ld [%i1+4], %o1
call strcpy, 0
mov %l5, %o0
sethi %hi(.LLC86), %l3
.LL104:
mov %l5, %o0
call fopen, 0
or %l3, %lo(.LLC86), %o1
orcc %o0, 0, %l4
be .LL79
cmp %i0, 2
ble .LL6
sethi %hi(.LLC88), %o0
add %fp, -496, %o2
ld [%i1+8], %o1
call strcpy, 0
mov %o2, %o0
add %fp, -496, %o2
.LL103:
mov %o2, %o0
call fopen, 0
or %l3, %lo(.LLC86), %o1
cmp %o0, 0
be .LL80
st %o0, [%fp-508]
cmp %i0, 3
ble .LL9
sethi %hi(.LLC89), %o0
add %fp, -416, %l0
ld [%i1+12], %o1
call strcpy, 0
mov %l0, %o0
sethi %hi(.LLC90), %o1
.LL102:
or %o1, %lo(.LLC90), %o1
call fopen, 0
mov %l0, %o0
cmp %o0, 0
be .LL81
st %o0, [%fp-512]
cmp %i0, 4
mov 1, %i4
st %g0, [%fp-516]
ble .LL12
st %g0, [%fp-520]
ld [%i1+16], %o0
sethi %hi(.LLC91), %o1
call strcasecmp, 0
or %o1, %lo(.LLC91), %o1
cmp %o0, 0
be .LL82
sethi %hi(.LLC92), %o1
ld [%i1+16], %o0
call strcasecmp, 0
or %o1, %lo(.LLC92), %o1
cmp %o0, 0
be .LL83
mov 1, %o1
.LL12:
mov 800, %o0
sethi %hi(CutOff), %o2
st %o0, [%o2+%lo(CutOff)]
sethi %hi(.LLC93), %o0
call getenv, 0
or %o0, %lo(.LLC93), %o0
orcc %o0, 0, %l0
be .LL77
stb %g0, [%fp-96]
add %fp, -96, %l1
sethi %hi(.LLC94), %o1
or %o1, %lo(.LLC94), %o1
mov %l1, %o0
call sprintf, 0
mov %l0, %o2
.LL16:
sethi %hi(.LLC95), %o1
or %o1, %lo(.LLC95), %o1
call strcat, 0
mov %l1, %o0
call load_frequencies, 0
mov %l1, %o0
cmp %l0, 0
be .LL78
stb %g0, [%fp-176]
add %fp, -176, %l1
sethi %hi(.LLC94), %o1
or %o1, %lo(.LLC94), %o1
mov %l0, %o2
call sprintf, 0
mov %l1, %o0
.LL17:
sethi %hi(.LLC96), %o1
or %o1, %lo(.LLC96), %o1
call strcat, 0
mov %l1, %o0
sethi %hi(Qij), %l2
st %g0, [%l2+%lo(Qij)]
mov %l1, %o0
call fopen, 0
or %l3, %lo(.LLC86), %o1
orcc %o0, 0, %l0
be .LL18
nop
call load_qij, 0
nop
st %o0, [%l2+%lo(Qij)]
.LL18:
call fclose, 0
mov %l0, %o0
sethi %hi(.LLC97), %o0
ldd [%o0+%lo(.LLC97)], %f2
sethi %hi(RTot), %o0
call make_blist, 0
std %f2, [%o0+%lo(RTot)]
mov %o0, %l3
.LL19:
call read_a_block, 0
mov %l4, %o0
orcc %o0, 0, %i0
be .LL84
nop
call pb_weights, 0
nop
mov %i0, %o0
call scale_weights, 0
mov 1, %o1
mov %l3, %o0
call insert_blist, 0
mov %i0, %o1
b,a .LL19
.LL84:
call fclose, 0
mov %l4, %o0
ld [%l3], %o1
cmp %o1, 0
be .LL85
sethi %hi(NumSeqs), %i5
st %g0, [%i5+%lo(NumSeqs)]
ld [%fp-508], %o2
.LL99:
ldub [%o2+12], %o0
andcc %o0, 16, %g0
be .LL86
mov %o2, %o0
.LL25:
ld [%i5+%lo(NumSeqs)], %o0
cmp %o0, 0
be .LL87
add %fp, -496, %o2
call fclose, 0
ld [%fp-508], %o0
call putchar, 0
mov 10, %o0
ld [%fp-516], %o0
cmp %o0, 0
be,a .LL88
ld [%l3+44], %i1
.LL63:
call fclose, 0
ld [%fp-512], %o0
ld [%fp-520], %o2
cmp %o2, 0
be .LL89
sethi %hi(.LLC103), %o0
cmp %i4, 0
.LL97:
be .LL73
sethi %hi(.LLC104), %o0
sethi %hi(.LLC105), %o1
or %o0, %lo(.LLC104), %o0
call fopen, 0
or %o1, %lo(.LLC105), %o1
orcc %o0, 0, %l0
be .LL73
ld [%i5+%lo(NumSeqs)], %o3
ld [%l3+44], %o1
ld [%o1+32], %o2
sethi %hi(.LLC106), %o1
ld [%o2+636], %o5
or %o1, %lo(.LLC106), %o1
ld [%l3+4], %o4
add %o2, 400, %o2
st %o3, [%sp+92]
call fprintf, 0
ld [%l3], %o3
call fclose, 0
mov %l0, %o0
b,a .LL73
.LL89:
ld [%l3+8], %o1
call printf, 0
or %o0, %lo(.LLC103), %o0
b .LL97
cmp %i4, 0
.LL88:
cmp %i1, 0
be .LL63
nop
ld [%i1+32], %o1
cmp %o1, 0
be .LL63
sethi %hi(.LLC102), %l0
cmp %i4, 0
.LL106:
be .LL90
mov %o1, %o0
.LL69:
call pb_weights, 0
nop
ld [%i1+32], %o0
call scale_weights, 0
mov 0, %o1
call fix_ac, 0
mov %i1, %o0
ld [%i1+32], %o0
call output_block, 0
ld [%fp-512], %o1
ld [%fp-520], %o1
cmp %o1, 0
be .LL68
or %l0, %lo(.LLC102), %o0
ld [%i1+32], %o1
call printf, 0
add %o1, 400, %o1
.LL68:
ld [%i1+44], %i1
.LL98:
cmp %i1, 0
be .LL63
nop
ld [%i1+32], %o0
orcc %o0, 0, %o1
bne .LL106
cmp %i4, 0
b,a .LL63
.LL90:
ld [%fp-520], %o2
cmp %o2, 0
be,a .LL98
ld [%i1+44], %i1
ld [%o1+656], %o1
cmp %o1, 0
bne .LL69
nop
b .LL98
ld [%i1+44], %i1
.LL86:
mov 7, %o1
call read_a_sequence, 0
mov 0, %o2
orcc %o0, 0, %l2
be .LL25
ld [%i5+%lo(NumSeqs)], %o2
sethi %hi(.LLC99), %o1
add %o2, 1, %o2
add %l2, 100, %o0
st %o2, [%i5+%lo(NumSeqs)]
call strstr, 0
or %o1, %lo(.LLC99), %o1
cmp %o0, 0
be .LL28
mov 0, %l7
mov 1, %l7
.LL28:
ld [%l3+44], %i1
sethi %hi(9216), %o1
sethi %hi(-10240), %o2
sethi %hi(.LLC126), %o0
or %o1, 783, %o1
or %o2, 241, %o2
ld [%o0+%lo(.LLC126)], %l4
st %o1, [%fp-500]
st %o2, [%fp-504]
cmp %i1, 0
mov 1, %i3
mov 1, %i2
be .LL30
mov 1, %l5
ld [%i1+32], %o1
cmp %o1, 0
be .LL107
cmp %i4, 0
mov -999, %l6
ld [%o1+636], %o0
.LL113:
mov 0, %l1
cmp %l1, %o0
bge .LL108
cmp %l5, 0
mov 0, %l0
ld [%o1+680], %o0
.LL109:
add %l1, 1, %l1
call strlen, 0
add %o0, %l0, %o0
mov %o0, %i0
call strlen, 0
mov %l2, %o0
cmp %o0, %i0
bge .LL37
mov %l2, %o0
call strlen, 0
nop
mov %o0, %i0
.LL37:
ld [%i1+32], %o3
mov %i0, %o2
ld [%o3+680], %o1
mov %l2, %o0
call strncmp, 0
add %o1, %l0, %o1
cmp %o0, 0
be .LL91
add %l0, 248, %l0
.LL35:
ld [%i1+32], %o1
ld [%o1+636], %o0
cmp %l1, %o0
bl,a .LL109
ld [%o1+680], %o0
cmp %l5, 0
.LL108:
be .LL40
mov %i1, %o0
mov %l2, %o1
st %l6, [%i1+28]
st %l6, [%i1+24]
call best_pos, 0
st %l6, [%i1+20]
sethi %hi(CutOff), %o2
ld [%i1+28], %o1
ld [%o2+%lo(CutOff)], %o0
cmp %o1, %o0
bl,a .LL41
mov 0, %i3
.LL41:
ld [%i1+20], %o3
cmp %o3, %l4
bge,a .LL42
ld [%i1+32], %o0
sethi %hi(.LLC100), %o0
mov %o3, %o1
or %o0, %lo(.LLC100), %o0
call printf, 0
mov %l4, %o2
ld [%i1+20], %o3
mov 0, %i2
.LL43:
cmp %o3, 0
bl,a .LL44
mov 1, %l7
ld [%l2+204], %o0
cmp %l4, %o0
ble .LL110
ld [%fp-500], %o0
mov 1, %l7
.LL44:
ld [%fp-500], %o0
.LL110:
cmp %o3, %o0
bge,a .LL111
ld [%i1+32], %o0
st %o3, [%fp-500]
ld [%i1+20], %o3
ld [%i1+32], %o0
.LL111:
ld [%o0+620], %o1
ld [%fp-504], %o2
add %o3, %o1, %o0
cmp %o0, %o2
ble,a .LL112
ld [%i1+44], %i1
add %o0, -1, %o0
st %o0, [%fp-504]
.LL40:
ld [%i1+44], %i1
.LL112:
cmp %i1, 0
be .LL107
cmp %i4, 0
ld [%i1+32], %o1
cmp %o1, 0
bne,a .LL113
ld [%o1+636], %o0
.LL30:
cmp %i4, 0
.LL107:
be .LL92
cmp %l5, 0
be .LL49
cmp %l7, 0
be .LL93
cmp %i2, 0
.LL49:
ld [%fp-516], %o0
.LL100:
cmp %o0, 0
be .LL59
ld [%fp-500], %o2
mov %l2, %o1
ld [%fp-512], %o0
call write_seq, 0
ld [%fp-504], %o3
.LL59:
ld [%fp-520], %o1
cmp %o1, 0
be .LL60
add %fp, -256, %o0
call strcpy, 0
mov %l2, %o1
.LL60:
call free_sequence, 0
mov %l2, %o0
b .LL99
ld [%fp-508], %o2
.LL93:
be .LL49
cmp %i3, 0
be .LL100
ld [%fp-516], %o0
ld [%l3+44], %i1
.LL115:
b .LL96
mov 0, %o1
.LL54:
mov %i1, %o1
call addseq, 0
mov %l2, %o2
ld [%l3+8], %o0
cmp %o0, 0
be .LL94
nop
mov %i1, %o1
.LL101:
ld [%i1+44], %i1
.LL96:
cmp %i1, 0
be,a .LL114
ld [%l3+8], %o0
ld [%i1+32], %o0
cmp %o0, 0
bne .LL54
mov %o1, %o0
ld [%l3+8], %o0
.LL114:
cmp %i4, 0
add %o0, 1, %o0
bne .LL49
st %o0, [%l3+8]
ld [%l3], %o0
cmp %o0, 1
ble,a .LL100
ld [%fp-516], %o0
mov %l3, %o0
add %fp, -500, %o1
call assemble_hit, 0
add %fp, -504, %o2
b .LL100
ld [%fp-516], %o0
.LL94:
call add_cluster, 0
ld [%i1+32], %o0
b .LL101
mov %i1, %o1
.LL92:
bne,a .LL115
ld [%l3+44], %i1
b .LL100
ld [%fp-516], %o0
.LL42:
ld [%o0+620], %o1
b .LL43
add %o3, %o1, %l4
.LL91:
b .LL35
mov 0, %l5
.LL78:
b .LL17
add %fp, -176, %l1
.LL77:
b .LL16
add %fp, -96, %l1
.LL83:
mov 0, %i4
st %g0, [%fp-516]
b .LL12
st %o1, [%fp-520]
.LL82:
mov 0, %i4
mov 1, %o0
st %o0, [%fp-516]
b .LL12
st %i4, [%fp-520]
.LL9:
call printf, 0
or %o0, %lo(.LLC89), %o0
add %fp, -416, %l0
call gets, 0
mov %l0, %o0
b .LL102
sethi %hi(.LLC90), %o1
.LL6:
call printf, 0
or %o0, %lo(.LLC88), %o0
add %fp, -496, %o1
call gets, 0
mov %o1, %o0
b .LL103
add %fp, -496, %o2
.LL3:
call printf, 0
or %o0, %lo(.LLC85), %o0
add %fp, -336, %l5
call gets, 0
mov %l5, %o0
b .LL104
sethi %hi(.LLC86), %l3
.LL79:
sethi %hi(.LLC87), %o0
or %o0, %lo(.LLC87), %o0
call printf, 0
mov %l5, %o1
call exit, 0
mov -1, %o0
.LL80:
add %fp, -496, %o2
sethi %hi(.LLC87), %o0
or %o0, %lo(.LLC87), %o0
call printf, 0
mov %o2, %o1
call exit, 0
mov -1, %o0
.LL81:
sethi %hi(.LLC87), %o0
or %o0, %lo(.LLC87), %o0
call printf, 0
mov %l0, %o1
call exit, 0
mov -1, %o0
.LL85:
sethi %hi(.LLC98), %o0
or %o0, %lo(.LLC98), %o0
call printf, 0
mov %l5, %o1
call exit, 0
mov -1, %o0
.LL87:
sethi %hi(.LLC101), %o0
or %o0, %lo(.LLC101), %o0
call printf, 0
mov %o2, %o1
call exit, 0
mov -1, %o0
.LL73:
call exit, 0
mov 0, %o0
.LLfe1:
.size main,.LLfe1-main
.align 4
.global addseq
.type addseq,#function
.proc 020
addseq:
!#PROLOGUE# 0
save %sp, -112, %sp
!#PROLOGUE# 1
ld [%i1+32], %o4
ld [%o4+636], %o0
ld [%o4+632], %o1
add %o0, 1, %o0
cmp %o0, %o1
ble .LL117
ld [%i1+20], %l1
call resize_block_sequences, 0
mov %o4, %o0
ld [%i1+32], %o4
.LL117:
ld [%o4+636], %l2
add %l1, 1, %o3
sll %l2, 5, %l3
ld [%o4+680], %o0
sub %l3, %l2, %o1
sll %o1, 3, %l0
add %o0, %l0, %o0
st %o3, [%o0+200]
ld [%i1+32], %o2
mov %i2, %o1
ld [%o2+680], %o0
call strcpy, 0
add %o0, %l0, %o0
ld [%i1+32], %o2
add %i2, 100, %o1
ld [%o2+680], %o0
add %o0, %l0, %o0
call strcpy, 0
add %o0, 100, %o0
ld [%i1+32], %o1
mov 0, %o5
ld [%o1+680], %o0
mov 1, %o1
add %o0, %l0, %o0
st %o1, [%o0+224]
ld [%i1+32], %o2
ld [%o2+680], %o0
ld [%o2+620], %o1
add %o0, %l0, %o0
st %o1, [%o0+208]
ld [%i1+32], %o3
ld [%o3+636], %o0
add %o0, 1, %o0
st %o0, [%o3+636]
ld [%i1+32], %o2
ld [%o2+644], %o1
ld [%o2+676], %o3
add %o1, -1, %o1
sll %o1, 3, %o1
ld [%o3+%o1], %o0
add %o0, 1, %o0
st %o0, [%o3+%o1]
ld [%i1+32], %o4
mov %o4, %o2
ld [%o2+620], %o0
cmp %o5, %o0
bge .LL131
cmp %i0, 0
mov %l0, %o7
sethi %hi(CutOff), %g1
mov 23, %l0
.LL121:
ld [%i1+28], %o1
ld [%g1+%lo(CutOff)], %o0
cmp %o1, %o0
bl,a .LL132
ld [%o4+680], %o0
addcc %l1, %o5, %o3
bneg,a .LL132
ld [%o4+680], %o0
ld [%i2+204], %o0
cmp %o3, %o0
bge,a .LL122
ld [%o4+680], %o0
ld [%o2+680], %o1
ld [%i2+244], %o2
add %o1, %o7, %o1
ldub [%o2+%o3], %o3
ld [%o1+244], %o0
stb %o3, [%o0+%o5]
.LL120:
ld [%i1+32], %o2
add %o5, 1, %o5
ld [%o2+620], %o0
cmp %o5, %o0
bl .LL121
mov %o2, %o4
cmp %i0, 0
.LL131:
be .LL127
mov %l1, %o4
ld [%i0+32], %o3
sub %l3, %l2, %o0
ld [%o3+680], %o1
sll %o0, 3, %o0
add %o1, %o0, %o1
ld [%o1+200], %o2
ld [%o3+620], %o0
add %o2, %o0, %o2
sub %o4, %o2, %o4
.LL127:
ld [%i1+12], %o0
cmp %o4, %o0
bl,a .LL128
st %o4, [%i1+12]
.LL128:
ld [%i1+16], %o0
cmp %o4, %o0
bg,a .LL129
st %o4, [%i1+16]
b,a .LL129
.LL122:
.LL132:
add %o0, %o7, %o0
ld [%o0+244], %o1
b .LL120
stb %l0, [%o1+%o5]
.LL129:
ret
restore
.LLfe2:
.size addseq,.LLfe2-addseq
.section ".rodata"
.align 8
.LLC127:
.uaword 0x0 ! ~0.00000000000000000000e0
.uaword 0x0
.align 8
.LLC128:
.uaword 0x412e847f ! ~9.99999900000000023283e5
.uaword 0xcccccccd
.align 8
.LLC129:
.uaword 0x3ff00000 ! ~1.00000000000000000000e0
.uaword 0x0
.align 8
.LLC130:
.uaword 0x40590000 ! ~1.00000000000000000000e2
.uaword 0x0
.section ".text"
.align 4
.global scale_weights
.type scale_weights,#function
.proc 020
scale_weights:
!#PROLOGUE# 0
save %sp, -120, %sp
!#PROLOGUE# 1
sethi %hi(.LLC127), %o0
ldd [%o0+%lo(.LLC127)], %f4
mov %i0, %i4
fmovs %f4, %f8
ld [%i4+636], %i3
sethi %hi(.LLC128), %o0
ldd [%o0+%lo(.LLC128)], %f6
cmp %i3, 0
ble .LL153
fmovs %f5, %f9
ld [%i4+680], %i0
mov %i3, %i2
add %i0, 216, %i0
ldd [%i0], %f2
.LL158:
addcc %i2, -1, %i2
faddd %f4, %f2, %f4
fcmped %f2, %f8
nop
fbule .LL138
add %i0, 248, %i0
fmovs %f2, %f8
fmovs %f3, %f9
.LL138:
fcmped %f2, %f6
nop
fbuge .LL136
nop
fmovs %f2, %f6
fmovs %f3, %f7
.LL136:
bne,a .LL158
ldd [%i0], %f2
.LL153:
sethi %hi(.LLC129), %o0
cmp %i1, 0
be .LL155
ldd [%o0+%lo(.LLC129)], %f6
cmp %i1, 1
be,a .LL157
st %i3, [%fp-20]
ble .LL159
mov 0, %i2
st %i1, [%fp-20]
.LL157:
ld [%fp-20], %f6
fitod %f6, %f2
fdivd %f2, %f4, %f6
.LL144:
mov 0, %i2
.LL159:
cmp %i2, %i3
bge .LL154
mov 0, %i3
.LL151:
ld [%i4+680], %i0
add %i2, 1, %i2
add %i0, %i3, %i0
ldd [%i0+216], %f2
fmuld %f2, %f6, %f2
std %f2, [%i0+216]
ld [%i4+636], %i1
cmp %i2, %i1
bl .LL151
add %i3, 248, %i3
b,a .LL154
.LL155:
sethi %hi(.LLC130), %o0
ldd [%o0+%lo(.LLC130)], %f2
b .LL144
fdivd %f2, %f8, %f6
.LL154:
ret
restore
.LLfe3:
.size scale_weights,.LLfe3-scale_weights
.section ".rodata"
.align 8
.LLC135:
.asciz "%s %s calibrated "
.align 8
.LLC138:
.asciz "best score = %5d at %d\n"
.align 8
.LLC134:
.uaword 0x0 ! ~0.00000000000000000000e0
.uaword 0x0
.align 8
.LLC136:
.uaword 0x408f4000 ! ~1.00000000000000000000e3
.uaword 0x0
.align 8
.LLC137:
.uaword 0x3fe00000 ! ~5.00000000000000000000e-1
.uaword 0x0
.section ".text"
.align 4
.global best_pos
.type best_pos,#function
.proc 020
best_pos:
!#PROLOGUE# 0
save %sp, -120, %sp
!#PROLOGUE# 1
ld [%i0+36], %i2
mov 1, %o0
ld [%i2+424], %o1
sub %o0, %o1, %o4
ld [%i1+204], %l1
sethi %hi(.LLC134), %o0
cmp %o4, %l1
bge .LL179
ldd [%o0+%lo(.LLC134)], %f6
mov %o1, %l6
mov %i2, %l5
mov %l1, %l4
sethi %hi(aa_atob), %l7
sethi %hi(.LLC134), %o0
.LL184:
mov 0, %o2
ldd [%o0+%lo(.LLC134)], %f4
cmp %o2, %l6
bge .LL180
mov %l5, %o5
mov %l1, %l0
mov %i2, %g1
or %l7, %lo(aa_atob), %l2
.LL168:
addcc %o4, %o2, %o0
bneg .LL169
sll %o2, 3, %o7
cmp %o0, %l0
bge .LL169
mov %o7, %o3
ld [%i1+244], %o1
ldub [%o1+%o0], %o0
sll %o0, 2, %o0
add %o0, 456, %o0
ld [%o5+%o0], %o1
ldd [%o1+%o3], %f8
.LL182:
fmovs %f8, %f2
fmovs %f9, %f3
faddd %f4, %f2, %f4
ld [%i2+424], %o0
add %o2, 1, %o2
cmp %o2, %o0
bl .LL168
mov %i2, %o5
.LL180:
fcmped %f4, %f6
nop
fbule,a .LL183
add %o4, 1, %o4
fmovs %f4, %f6
mov %o4, %l3
fmovs %f5, %f7
add %o4, 1, %o4
.LL183:
cmp %o4, %l4
bl .LL184
sethi %hi(.LLC134), %o0
.LL179:
ld [%i2+432], %o0
cmp %o0, 0
ble,a .LL185
ld [%i0+32], %o0
ld [%i0+32], %o2
sethi %hi(.LLC135), %o0
mov %i1, %o1
std %f6, [%fp-24]
add %o2, 400, %o2
call printf, 0
or %o0, %lo(.LLC135), %o0
sethi %hi(.LLC136), %o0
ldd [%o0+%lo(.LLC136)], %f2
ldd [%fp-24], %f6
fmuld %f6, %f2, %f6
ld [%i0+36], %o1
ld [%o1+432], %f4
fitod %f4, %f2
fdivd %f6, %f2, %f6
ld [%i0+32], %o0
.LL185:
st %l3, [%i0+20]
ld [%o0+620], %o1
sethi %hi(.LLC134), %o0
add %l3, %o1, %o1
ldd [%o0+%lo(.LLC134)], %f2
add %o1, -1, %o1
fcmped %f6, %f2
nop
fbul .LL176
st %o1, [%i0+24]
sethi %hi(.LLC137), %o0
ldd [%o0+%lo(.LLC137)], %f2
b .LL181
faddd %f6, %f2, %f2
.LL176:
sethi %hi(.LLC137), %o0
ldd [%o0+%lo(.LLC137)], %f2
fsubd %f6, %f2, %f2
.LL181:
fdtoi %f2, %f4
b .LL177
st %f4, [%i0+28]
.LL169:
ld [%l2+180], %o0
sll %o0, 2, %o0
add %o0, 456, %o0
ld [%g1+%o0], %o1
b .LL182
ldd [%o1+%o7], %f8
.LL177:
ld [%i0+20], %i2
ld [%i0+28], %i1
sethi %hi(.LLC138), %i0
call printf, 0
restore %i0, %lo(.LLC138), %o0
.LLfe4:
.size best_pos,.LLfe4-best_pos
.align 4
.global make_blist
.type make_blist,#function
.proc 0110
make_blist:
!#PROLOGUE# 0
save %sp, -112, %sp
!#PROLOGUE# 1
call malloc, 0
mov 48, %o0
sethi %hi(-10240), %o2
sethi %hi(9216), %o1
or %o2, 241, %o2
or %o1, 783, %o1
st %o2, [%o0+28]
st %o1, [%o0+12]
st %g0, [%o0+8]
st %g0, [%o0+4]
st %g0, [%o0]
st %o2, [%o0+16]
st %o2, [%o0+20]
st %g0, [%o0+32]
st %g0, [%o0+44]
ret
restore %g0, %o0, %o0
.LLfe5:
.size make_blist,.LLfe5-make_blist
.section ".rodata"
.align 8
.LLC145:
.asciz "("
.align 8
.LLC146:
.asciz ","
.align 8
.LLC147:
.asciz ")"
.section ".text"
.align 4
.global insert_blist
.type insert_blist,#function
.proc 020
insert_blist:
!#PROLOGUE# 0
save %sp, -192, %sp
!#PROLOGUE# 1
ld [%i0+44], %o0
cmp %o0, 0
be .LL197
mov %i0, %l2
mov %o0, %o1
mov %o1, %l2
.LL199:
ld [%l2+44], %o1
cmp %o1, 0
bne,a .LL199
mov %o1, %l2
.LL197:
call make_blist, 0
nop
st %o0, [%l2+44]
st %i1, [%o0+32]
ld [%l2+44], %l0
mov 3, %o1
call block_to_matrix, 0
mov %i1, %o0
st %o0, [%l0+36]
ld [%l2+44], %l1
mov 2, %o1
call block_to_matrix, 0
mov %i1, %o0
add %fp, -96, %l0
st %o0, [%l1+40]
add %i1, 100, %o1
call strcpy, 0
mov %l0, %o0
sethi %hi(.LLC145), %o1
or %o1, %lo(.LLC145), %o1
call strtok, 0
mov %l0, %o0
orcc %o0, 0, %o1
be .LL192
sethi %hi(.LLC146), %o1
or %o1, %lo(.LLC146), %o1
call strtok, 0
mov 0, %o0
orcc %o0, 0, %o1
be,a .LL200
ld [%l2+44], %o1
call atoi, 0
ld [%l2+44], %l0
st %o0, [%l0+12]
sethi %hi(.LLC147), %o1
or %o1, %lo(.LLC147), %o1
call strtok, 0
mov 0, %o0
orcc %o0, 0, %o1
be,a .LL200
ld [%l2+44], %o1
call atoi, 0
ld [%l2+44], %l0
st %o0, [%l0+16]
.LL192:
ld [%l2+44], %o1
.LL200:
ld [%o1+36], %l0
ld [%l0+432], %o0
cmp %o0, 0
ble .LL198
sethi %hi(frequency), %o2
.LL195:
ld [%o1+36], %l0
ld [%l0+436], %o0
cmp %o0, 0
bg,a .LL201
ld [%i0], %o0
ld [%o1+40], %o3
sethi %hi(frequency), %o2
or %o2, %lo(frequency), %o2
mov 1, %o1
call pssmdist, 0
mov %l0, %o0
st %o0, [%l0+436]
ld [%l2+44], %o0
ld [%o0+36], %o1
ld [%o1+436], %o2
b .LL196
st %o2, [%i1+628]
.LL198:
or %o2, %lo(frequency), %o2
mov 0, %o1
mov %l0, %o0
call pssmdist, 0
mov 0, %o3
st %o0, [%l0+432]
ld [%l2+44], %o0
ld [%o0+36], %o1
ld [%o1+432], %o2
st %o2, [%i1+624]
b .LL195
ld [%l2+44], %o1
.LL196:
ld [%i0], %o0
.LL201:
add %o0, 1, %o0
st %o0, [%i0]
ld [%i1+636], %o1
st %o1, [%i0+4]
ret
restore
.LLfe6:
.size insert_blist,.LLfe6-insert_blist
.align 4
.global free_blist
.type free_blist,#function
.proc 020
free_blist:
!#PROLOGUE# 0
save %sp, -112, %sp
!#PROLOGUE# 1
.LL208:
ld [%i0+44], %o0
mov %i0, %l0
cmp %o0, 0
be .LL210
mov %i0, %o1
mov %o1, %l0
.LL211:
ld [%l0+44], %o1
ld [%o1+44], %o0
cmp %o0, 0
bne,a .LL211
mov %o1, %l0
.LL210:
cmp %o1, %i0
be .LL207
nop
call free, 0
mov %o1, %o0
st %g0, [%l0+44]
b .LL208
mov %l0, %i0
.LL207:
call free, 0
restore
.LLfe7:
.size free_blist,.LLfe7-free_blist
.global .umul
.section ".rodata"
.align 8
.LLC159:
.asciz "99.5 TN score = %d\n"
.align 8
.LLC158:
.asciz "Median TP score = %d, TPabove = %f\n"
.align 8
.LLC148:
.uaword 0x40490000 ! ~5.00000000000000000000e1
.uaword 0x0
.align 8
.LLC149:
.uaword 0x408cf6d7 ! ~9.26855000000000018190e2
.uaword 0xa3d70a4
.align 8
.LLC150:
.uaword 0x40340000 ! ~2.00000000000000000000e1
.uaword 0x0
.align 8
.LLC151:
.uaword 0x40350000 ! ~2.10000000000000000000e1
.uaword 0x0
.align 8
.LLC152:
.uaword 0x40440000 ! ~4.00000000000000000000e1
.uaword 0x0
.align 8
.LLC153:
.uaword 0x0 ! ~0.00000000000000000000e0
.uaword 0x0
.align 8
.LLC154:
.uaword 0x40330000 ! ~1.90000000000000000000e1
.uaword 0x0
.align 8
.LLC155:
.uaword 0x3ff00000 ! ~1.00000000000000000000e0
.uaword 0x0
.align 8
.LLC156:
.uaword 0x40590000 ! ~1.00000000000000000000e2
.uaword 0x0
.align 8
.LLC157:
.uaword 0x418bf62e ! ~5.86398370000000000000e7
.uaword 0xe8000000
.section ".text"
.align 4
.global pssmdist
.type pssmdist,#function
.proc 04
pssmdist:
!#PROLOGUE# 0
sethi %hi(-384608), %g1
or %g1, %lo(-384608), %g1
save %sp, %g1, %sp
!#PROLOGUE# 1
mov %i1, %i4
mov %i0, %l5
cmp %i4, 1
be .LL375
mov %i2, %i5
sethi %hi(.LLC149), %o1
ldd [%o1+%lo(.LLC149)], %f16
.LL214:
sethi %hi(.LLC150), %o3
ldd [%o3+%lo(.LLC150)], %f2
sethi %hi(-385024), %o0
fmovs %f2, %f4
ld [%l5+424], %o2
or %o0, 544, %o0
add %fp, -16, %i2
mov -1, %o3
fmovs %f3, %f5
sethi %hi(9216), %o1
mov 0, %l3
cmp %l3, %o2
mov 0, %l0
std %f4, [%i2+%o0]
st %o3, [%fp-16]
ld [%fp-16], %f10
or %o1, 783, %o3
st %o3, [%fp-16]
ld [%fp-16], %f12
bge .LL355
mov 0, %l1
fmovs %f2, %f14
add %i2, %o0, %o5
mov %o1, %l4
mov 0, %o4
fmovs %f3, %f15
.LL218:
cmp %l1, 0
ble .LL388
or %l4, 783, %o0
mov %o4, %o3
add %o3, -8, %o0
ldd [%o5+%o0], %f4
fmovs %f4, %f2
ld [%l5+424], %o2
fmovs %f5, %f3
fmuld %f2, %f14, %f2
std %f2, [%o5+%o3]
or %l4, 783, %o0
.LL388:
st %o0, [%fp-16]
ld [%fp-16], %f8
mov -1, %o1
st %o1, [%fp-16]
ld [%fp-16], %f9
mov %o4, %o3
add %l5, 460, %o1
mov 19, %o7
ld [%o1], %o0
.LL389:
fitod %f10, %f2
ldd [%o0+%o3], %f6
addcc %o7, -1, %o7
add %o1, 4, %o1
fmovs %f6, %f4
fmovs %f7, %f5
fcmped %f4, %f2
nop
fbule .LL224
fitod %f12, %f6
fdtoi %f4, %f10
.LL224:
fcmped %f4, %f6
fitod %f9, %f2
nop
fbuge .LL226
fitod %f8, %f6
fdtoi %f4, %f12
.LL226:
fcmped %f4, %f2
nop
fbg,a .LL228
fdtoi %f4, %f9
.LL228:
fcmped %f4, %f6
nop
fbl,a .LL222
fdtoi %f4, %f8
.LL222:
bpos,a .LL389
ld [%o1], %o0
st %f9, [%fp-16]
ld [%fp-16], %o0
cmp %l1, 0
st %f8, [%fp-16]
ld [%fp-16], %o1
add %l3, %o0, %l3
be .LL376
add %l0, %o1, %l0
.LL233:
add %o2, -1, %o0
cmp %l1, %o0
be,a .LL217
st %f8, [%fp-16]
.LL217:
add %l1, 1, %l1
cmp %l1, %o2
bl .LL218
add %o4, 8, %o4
.LL355:
sethi %hi(-385024), %o0
sll %o2, 3, %o1
or %o0, 544, %o0
add %o1, -8, %o1
add %i2, %o0, %o0
ldd [%o0+%o1], %f2
mov 0, %l1
fmovs %f2, %f4
sethi %hi(.LLC151), %o1
cmp %l1, %o2
sethi %hi(.LLC152), %o2
fmovs %f3, %f5
ldd [%o1+%lo(.LLC151)], %f2
fmuld %f4, %f2, %f4
ldd [%o2+%lo(.LLC152)], %f2
bge .LL357
fsubd %f4, %f2, %f4
sethi %hi(.LLC154), %o3
ld [%l5+424], %o2
mov %o0, %o1
ldd [%o3+%lo(.LLC154)], %f6
.LL239:
sll %l1, 3, %o0
ldd [%o1+%o0], %f8
add %l1, 1, %l1
fmovs %f8, %f2
cmp %l1, %o2
fmovs %f9, %f3
fmuld %f2, %f6, %f2
fdivd %f2, %f4, %f2
bl .LL239
std %f2, [%o1+%o0]
.LL357:
sethi %hi(5120), %o1
or %o1, 880, %o0
cmp %l3, %o0
bg,a .LL244
or %o1, 879, %l3
.LL244:
sethi %hi(-384000), %o0
add %i2, %o0, %o5
sethi %hi(95232), %o1
or %o1, 768, %o0
st %f12, [%fp-16]
ld [%fp-16], %o1
mov %o1, %i0
cmp %i0, %l3
bg .LL358
add %o5, %o0, %g1
sub %i2, %o0, %o3
sethi %hi(-192512), %o0
or %o0, 512, %o0
add %i2, %o0, %o2
sethi %hi(.LLC153), %o0
sll %i0, 4, %o1
ldd [%o0+%lo(.LLC153)], %f2
add %o1, 8, %o1
fmovs %f2, %f4
.LL408:
sll %i0, 4, %o0
add %i0, 1, %i0
cmp %i0, %l3
fmovs %f3, %f5
fmovs %f2, %f6
std %f4, [%o1+%g1]
fmovs %f3, %f7
fmovs %f2, %f8
std %f6, [%g1+%o0]
fmovs %f3, %f9
fmovs %f2, %f14
std %f8, [%o1+%o5]
fmovs %f3, %f15
std %f14, [%o5+%o0]
std %f4, [%o2+%o1]
std %f6, [%o2+%o0]
std %f8, [%o3+%o1]
std %f14, [%o3+%o0]
ble .LL408
add %o1, 16, %o1
.LL358:
sethi %hi(.LLC155), %o0
sethi %hi(.LLC156), %o1
ldd [%o0+%lo(.LLC155)], %f8
mov 1, %o7
ldd [%o1+%lo(.LLC156)], %f4
mov 0, %o3
mov 0, %o4
mov 460, %o2
.LL253:
ld [%o2+%l5], %o0
cmp %i4, 1
ldd [%o0+%o4], %f6
fmovs %f7, %f3
sll %o7, 3, %o0
fmovs %f6, %f2
fdtoi %f2, %f2
st %f2, [%fp-16]
ld [%fp-16], %i0
sll %i0, 4, %o1
ldd [%o5+%o1], %f14
fmovs %f14, %f2
fmovs %f15, %f3
faddd %f2, %f8, %f2
be .LL378
std %f2, [%o5+%o1]
ldd [%i5+%o0], %f14
fmovs %f14, %f6
fmovs %f15, %f7
.LL255:
add %o5, %o1, %o0
ldd [%o0+8], %f2
add %o7, 1, %o7
faddd %f2, %f6, %f2
add %o2, 4, %o2
cmp %o7, 20
ble .LL253
std %f2, [%o0+8]
ld [%l5+424], %o2
mov 1, %l1
cmp %l1, %o2
bge .LL390
st %f12, [%fp-16]
ld [%fp-16], %o1
sethi %hi(-385024), %o0
or %o0, 524, %o0
sll %o1, 4, %o1
add %o0, %fp, %o0
mov 8, %l2
mov 0, %i1
mov %i2, %l4
st %o1, [%o0]
.LL260:
st %f12, [%fp-16]
ld [%fp-16], %o2
mov %o2, %i0
cmp %i0, %l3
bg .LL391
sethi %hi(.LLC153), %o0
sethi %hi(-96256), %o3
or %o3, 256, %o3
sethi %hi(-385024), %o0
or %o0, 544, %o0
add %l4, %o3, %o2
add %l4, %o0, %o3
sethi %hi(-385024), %o0
or %o0, 524, %o0
add %o0, %fp, %o0
ld [%o0], %o0
mov %i1, %o4
add %o0, 8, %o1
.LL264:
sll %i0, 4, %o0
ldd [%o5+%o0], %f2
add %i0, 1, %i0
fmovs %f2, %f4
ldd [%o2+%o0], %f6
cmp %i0, %l3
fmovs %f3, %f5
fmovs %f6, %f2
fmovs %f7, %f3
faddd %f2, %f4, %f2
std %f2, [%o2+%o0]
ldd [%o1+%o5], %f8
ldd [%o3+%o4], %f14
fmovs %f8, %f6
fmovs %f14, %f4
fmovs %f15, %f5
fmovs %f9, %f7
fmuld %f6, %f4, %f6
ldd [%o2+%o1], %f4
fmovs %f4, %f2
fmovs %f5, %f3
faddd %f2, %f6, %f2
std %f2, [%o2+%o1]
ble .LL264
add %o1, 16, %o1
sethi %hi(.LLC153), %o0
.LL391:
sethi %hi(.LLC156), %o1
or %o0, %lo(.LLC153), %l7
or %o1, %lo(.LLC156), %l6
mov 1, %o7
st %f12, [%fp-16]
.LL394:
ld [%fp-16], %o0
mov %o0, %i0
cmp %i0, %l3
bg,a .LL392
add %o7, 1, %o7
ldd [%l7], %f10
sll %o7, 2, %l0
ldd [%l6], %f8
sll %o7, 3, %o4
sll %i0, 4, %o3
.LL393:
ldd [%o5+%o3], %f2
add %l0, 456, %o2
fmovs %f2, %f6
fmovs %f3, %f7
fcmped %f6, %f10
nop
fbule .LL272
cmp %i4, 1
st %i0, [%fp-16]
ld [%fp-16], %f3
fitod %f3, %f4
ld [%l5+%o2], %o0
ldd [%o0+%l2], %f14
fmovs %f14, %f2
fmovs %f15, %f3
faddd %f4, %f2, %f4
fdtoi %f4, %f4
st %f4, [%fp-16]
ld [%fp-16], %o0
sll %o0, 4, %o1
ldd [%g1+%o1], %f4
fmovs %f4, %f2
fmovs %f5, %f3
faddd %f2, %f6, %f2
be .LL379
std %f2, [%g1+%o1]
ldd [%i5+%o4], %f14
fmovs %f14, %f6
fmovs %f15, %f7
.LL277:
add %o5, %o3, %o0
ldd [%o0+8], %f2
add %g1, %o1, %o1
fmuld %f2, %f6, %f2
ldd [%o1+8], %f4
faddd %f4, %f2, %f4
std %f4, [%o1+8]
.LL272:
add %i0, 1, %i0
cmp %i0, %l3
ble .LL393
sll %i0, 4, %o3
add %o7, 1, %o7
.LL392:
cmp %o7, 20
ble,a .LL394
st %f12, [%fp-16]
sethi %hi(-384000), %o1
sethi %hi(95232), %o2
add %l4, %o1, %o0
or %o2, 768, %o2
add %o0, %o2, %o1
cmp %g1, %o1
be .LL380
mov %g1, %o5
mov %o0, %o5
mov %o1, %g1
.LL281:
st %f12, [%fp-16]
ld [%fp-16], %o3
mov %o3, %i0
cmp %i0, %l3
bg,a .LL395
ld [%l5+424], %o2
sethi %hi(.LLC153), %o0
or %o0, %lo(.LLC153), %o0
ldd [%o0], %f2
fmovs %f2, %f4
.LL409:
sll %i0, 4, %o1
add %g1, %o1, %o0
std %f2, [%o0+8]
add %i0, 1, %i0
fmovs %f3, %f5
cmp %i0, %l3
ble .LL409
std %f4, [%g1+%o1]
ld [%l5+424], %o2
.LL395:
add %l1, 1, %l1
cmp %l1, %o2
add %l2, 8, %l2
bl .LL260
add %i1, 8, %i1
st %f12, [%fp-16]
.LL390:
ld [%fp-16], %o0
mov %o0, %i0
cmp %i0, %l3
bg,a .LL396
add %o2, -1, %l1
sethi %hi(-385024), %o1
or %o1, 544, %o1
add %i2, %o1, %o4
sethi %hi(-192512), %o0
sethi %hi(.LLC153), %o1
or %o0, 512, %o0
ldd [%o1+%lo(.LLC153)], %f6
add %i2, %o0, %o3
.LL291:
sll %i0, 4, %o1
ldd [%o5+%o1], %f4
add %o5, %o1, %o2
fmovs %f4, %f2
ld [%l5+424], %o0
add %i0, 1, %i0
sll %o0, 3, %o0
add %o0, -8, %o0
fmovs %f5, %f3
cmp %i0, %l3
std %f2, [%o3+%o1]
ldd [%o4+%o0], %f8
fmovs %f6, %f14
ldd [%o2+8], %f2
add %o1, 8, %o0
fmovs %f8, %f4
fmovs %f9, %f5
fmuld %f2, %f4, %f2
fmovs %f7, %f15
std %f2, [%o3+%o0]
std %f6, [%o2+8]
ble .LL291
std %f14, [%o5+%o1]
ld [%l5+424], %o2
add %o2, -1, %l1
.LL396:
sethi %hi(.LLC155), %o0
sethi %hi(.LLC156), %o1
sll %l1, 3, %o3
ldd [%o0+%lo(.LLC155)], %f8
mov 1, %o7
ldd [%o1+%lo(.LLC156)], %f4
mov %o3, %o4
mov 460, %o2
.LL296:
ld [%o2+%l5], %o0
cmp %i4, 1
ldd [%o0+%o4], %f6
fmovs %f7, %f3
sll %o7, 3, %o0
fmovs %f6, %f2
fdtoi %f2, %f2
st %f2, [%fp-16]
ld [%fp-16], %i0
sll %i0, 4, %o1
ldd [%o5+%o1], %f14
fmovs %f14, %f2
fmovs %f15, %f3
faddd %f2, %f8, %f2
be .LL381
std %f2, [%o5+%o1]
ldd [%i5+%o0], %f14
fmovs %f14, %f6
fmovs %f15, %f7
.LL298:
add %o5, %o1, %o0
ldd [%o0+8], %f2
add %o7, 1, %o7
faddd %f2, %f6, %f2
add %o2, 4, %o2
cmp %o7, 20
ble .LL296
std %f2, [%o0+8]
ld [%l5+424], %o0
add %o0, -2, %l1
cmp %l1, 0
ble .LL397
st %f12, [%fp-16]
ld [%fp-16], %o0
mov %i2, %l4
sll %o0, 4, %i1
st %f12, [%fp-16]
.LL403:
ld [%fp-16], %o1
mov %o1, %i0
cmp %i0, %l3
bg .LL398
sethi %hi(.LLC153), %o0
ld [%l5+424], %o0
sethi %hi(-96256), %o3
sub %o0, %l1, %o0
sll %o0, 3, %o0
add %o0, -16, %o4
or %o3, 256, %o3
sethi %hi(-385024), %o0
add %l4, %o3, %o2
or %o0, 544, %o0
add %l4, %o0, %o3
add %i1, 8, %o1
.LL307:
sll %i0, 4, %o0
ldd [%o5+%o0], %f2
add %i0, 1, %i0
fmovs %f2, %f4
ldd [%o2+%o0], %f6
cmp %i0, %l3
fmovs %f3, %f5
fmovs %f6, %f2
fmovs %f7, %f3
faddd %f2, %f4, %f2
std %f2, [%o2+%o0]
ldd [%o1+%o5], %f8
ldd [%o3+%o4], %f14
fmovs %f8, %f6
fmovs %f14, %f4
fmovs %f15, %f5
fmovs %f9, %f7
fmuld %f6, %f4, %f6
ldd [%o2+%o1], %f4
fmovs %f4, %f2
fmovs %f5, %f3
faddd %f2, %f6, %f2
std %f2, [%o2+%o1]
ble .LL307
add %o1, 16, %o1
sethi %hi(.LLC153), %o0
.LL398:
sethi %hi(.LLC156), %o1
or %o0, %lo(.LLC153), %l7
or %o1, %lo(.LLC156), %l6
mov 1, %o7
st %f12, [%fp-16]
.LL401:
ld [%fp-16], %o0
mov %o0, %i0
cmp %i0, %l3
bg,a .LL399
add %o7, 1, %o7
ldd [%l7], %f10
sll %o7, 2, %l2
ldd [%l6], %f8
sll %o7, 3, %l0
sll %i0, 4, %o4
.LL400:
ldd [%o5+%o4], %f2
add %l2, 456, %o2
fmovs %f2, %f6
sll %l1, 3, %o3
fmovs %f3, %f7
fcmped %f6, %f10
nop
fbule .LL315
cmp %i4, 1
st %i0, [%fp-16]
ld [%fp-16], %f3
fitod %f3, %f4
ld [%l5+%o2], %o0
ldd [%o0+%o3], %f14
fmovs %f14, %f2
fmovs %f15, %f3
faddd %f4, %f2, %f4
fdtoi %f4, %f4
st %f4, [%fp-16]
ld [%fp-16], %o0
sll %o0, 4, %o1
ldd [%g1+%o1], %f4
fmovs %f4, %f2
fmovs %f5, %f3
faddd %f2, %f6, %f2
be .LL382
std %f2, [%g1+%o1]
ldd [%i5+%l0], %f14
fmovs %f14, %f6
fmovs %f15, %f7
.LL320:
add %o5, %o4, %o0
ldd [%o0+8], %f2
add %g1, %o1, %o1
fmuld %f2, %f6, %f2
ldd [%o1+8], %f4
faddd %f4, %f2, %f4
std %f4, [%o1+8]
.LL315:
add %i0, 1, %i0
cmp %i0, %l3
ble,a .LL400
sll %i0, 4, %o4
add %o7, 1, %o7
.LL399:
cmp %o7, 20
ble,a .LL401
st %f12, [%fp-16]
sethi %hi(-384000), %o1
sethi %hi(95232), %o2
add %l4, %o1, %o0
or %o2, 768, %o2
add %o0, %o2, %o1
cmp %g1, %o1
be .LL383
mov %g1, %o5
mov %o0, %o5
mov %o1, %g1
.LL324:
st %f12, [%fp-16]
ld [%fp-16], %o3
mov %o3, %i0
cmp %i0, %l3
bg,a .LL402
add %l1, -1, %l1
sethi %hi(.LLC153), %o0
or %o0, %lo(.LLC153), %o0
ldd [%o0], %f2
fmovs %f2, %f4
.LL410:
sll %i0, 4, %o1
add %g1, %o1, %o0
std %f2, [%o0+8]
add %i0, 1, %i0
fmovs %f3, %f5
cmp %i0, %l3
ble .LL410
std %f4, [%g1+%o1]
add %l1, -1, %l1
.LL402:
cmp %l1, 0
bg .LL403
st %f12, [%fp-16]
.LL397:
ld [%fp-16], %o0
mov %o0, %i0
cmp %i0, %l3
bg .LL404
cmp %i4, 1
sethi %hi(-96256), %o0
or %o0, 256, %o0
ld [%l5+424], %o1
add %i2, %o0, %o3
sethi %hi(-385024), %o0
sll %o1, 3, %o1
sll %i0, 4, %o2
or %o0, 544, %o0
add %o1, -16, %o1
add %i2, %o0, %o4
add %o2, 8, %o2
.LL334:
sll %i0, 4, %o0
ldd [%o5+%o0], %f2
add %i0, 1, %i0
fmovs %f2, %f4
ldd [%o3+%o0], %f6
cmp %i0, %l3
fmovs %f3, %f5
fmovs %f6, %f2
fmovs %f7, %f3
faddd %f2, %f4, %f2
std %f2, [%o3+%o0]
ldd [%o2+%o5], %f8
ldd [%o4+%o1], %f12
fmovs %f8, %f6
ldd [%o3+%o2], %f14
fmovs %f9, %f7
fmovs %f12, %f4
fmovs %f13, %f5
fmuld %f6, %f4, %f6
fmovs %f14, %f2
fmovs %f15, %f3
faddd %f2, %f6, %f2
std %f2, [%o3+%o2]
ble .LL334
add %o2, 16, %o2
cmp %i4, 1
.LL404:
be .LL384
sethi %hi(.LLC156), %o0
sethi %hi(-385024), %o2
or %o2, 512, %o2
add %o2, %fp, %o2
ld [%l5+424], %o0
sethi %hi(185344), %o1
or %o1, 27, %o1
call .umul, 0
std %f16, [%o2]
sethi %hi(-186368), %o1
or %o1, 997, %o1
add %o0, %o1, %o0
st %o0, [%fp-16]
ld [%fp-16], %f2
sethi %hi(.LLC157), %o0
fitod %f2, %f4
sethi %hi(-385024), %o1
or %o1, 512, %o1
add %o1, %fp, %o1
ldd [%o1], %f16
ldd [%o0+%lo(.LLC157)], %f2
faddd %f4, %f2, %f4
.LL337:
cmp %i4, 1
be .LL385
sethi %hi(TN995), %o0
.LL338:
sethi %hi(.LLC153), %o0
.LL407:
ldd [%o0+%lo(.LLC153)], %f8
fcmped %f8, %f16
nop
fbuge .LL346
mov %l3, %i0
cmp %i0, 0
bl .LL346
fmovs %f8, %f10
sethi %hi(-96256), %o1
sethi %hi(-192512), %o2
sll %i0, 4, %o0
or %o1, 256, %o1
fmovs %f9, %f11
or %o2, 512, %o2
add %i2, %o1, %o1
add %i2, %o2, %o2
add %o0, 8, %o0
ldd [%o2+%o0], %f2
.LL406:
add %i0, -1, %i0
fmovs %f2, %f6
fmovs %f3, %f7
fcmped %f6, %f10
nop
fbg .LL351
cmp %i0, 0
ldd [%o1+%o0], %f12
fmovs %f12, %f2
fmovs %f13, %f3
fcmped %f2, %f10
nop
fbule,a .LL405
fcmped %f8, %f16
.LL351:
ldd [%o1+%o0], %f14
fmovs %f14, %f2
fmovs %f15, %f3
faddd %f6, %f2, %f2
fmuld %f2, %f4, %f2
faddd %f8, %f2, %f8
fcmped %f8, %f16
.LL405:
nop
fbuge .LL346
add %o0, -16, %o0
bge,a .LL406
ldd [%o2+%o0], %f2
.LL346:
cmp %i4, 1
be .LL386
sethi %hi(TPabove), %o0
sethi %hi(.LLC159), %o0
or %o0, %lo(.LLC159), %o0
call printf, 0
mov %i0, %o1
b,a .LL354
.LL386:
ldd [%o0+%lo(TPabove)], %o2
mov %i0, %o1
sethi %hi(.LLC158), %o0
call printf, 0
or %o0, %lo(.LLC158), %o0
b,a .LL354
.LL385:
ld [%o0+%lo(TN995)], %o3
cmp %o3, 0
ble .LL407
sethi %hi(.LLC153), %o0
sethi %hi(.LLC153), %o2
ldd [%o2+%lo(.LLC153)], %f2
mov %l3, %i0
sethi %hi(TPabove), %o5
cmp %i0, %o3
ble .LL407
std %f2, [%o5+%lo(TPabove)]
fmovs %f2, %f10
sethi %hi(-192512), %o1
or %o1, 512, %o1
sethi %hi(-96256), %o2
or %o2, 256, %o2
fmovs %f3, %f11
add %i2, %o1, %o4
sll %i0, 4, %o0
add %i2, %o2, %o1
mov %o3, %o2
fmovs %f10, %f8
add %o0, 8, %o0
fmovs %f11, %f9
.LL341:
ldd [%o4+%o0], %f2
add %i0, -1, %i0
fmovs %f2, %f6
fmovs %f3, %f7
fcmped %f6, %f10
nop
fbg .LL343
cmp %i0, %o2
ldd [%o1+%o0], %f12
fmovs %f12, %f2
fmovs %f13, %f3
fcmped %f2, %f10
nop
fbule .LL342
nop
.LL343:
ldd [%o1+%o0], %f14
fmovs %f14, %f2
fmovs %f15, %f3
faddd %f6, %f2, %f2
fmuld %f2, %f4, %f2
faddd %f8, %f2, %f8
.LL342:
bg .LL341
add %o0, -16, %o0
b .LL338
std %f8, [%o5+%lo(TPabove)]
.LL384:
b .LL337
ldd [%o0+%lo(.LLC156)], %f4
.LL383:
b .LL324
mov %o0, %g1
.LL382:
ld [%i3+%o2], %o0
ldd [%o0+%o3], %f6
fmovs %f6, %f2
fmovs %f7, %f3
b .LL320
fdivd %f2, %f8, %f6
.LL381:
ld [%o2+%i3], %o0
ldd [%o0+%o3], %f6
fmovs %f6, %f2
fmovs %f7, %f3
b .LL298
fdivd %f2, %f4, %f6
.LL380:
b .LL281
mov %o0, %g1
.LL379:
ld [%i3+%o2], %o0
ldd [%o0+%l2], %f6
fmovs %f6, %f2
fmovs %f7, %f3
b .LL277
fdivd %f2, %f8, %f6
.LL378:
ld [%o2+%i3], %o0
ldd [%o0+%o3], %f6
fmovs %f6, %f2
fmovs %f7, %f3
b .LL255
fdivd %f2, %f4, %f6
.LL376:
b .LL233
mov %o1, %l2
.LL375:
sethi %hi(.LLC148), %o0
b .LL214
ldd [%o0+%lo(.LLC148)], %f16
.LL354:
ret
restore
.LLfe8:
.size pssmdist,.LLfe8-pssmdist
.section ".rodata"
.align 8
.LLC174:
.asciz "%s; distance from previous block=(%d,%d)"
.section ".text"
.align 4
.global fix_ac
.type fix_ac,#function
.proc 020
fix_ac:
!#PROLOGUE# 0
!#PROLOGUE# 1
ld [%o0+32], %o1
ld [%o0+16], %o4
add %o1, 400, %o2
ld [%o0+12], %o3
add %o1, 100, %o1
mov %o1, %o0
sethi %hi(.LLC174), %o1
or %o1, %lo(.LLC174), %o1
or %o7, %g0, %g1
call sprintf, 0
or %g1, %g0, %o7
.LLfe9:
.size fix_ac,.LLfe9-fix_ac
.align 4
.global add_cluster
.type add_cluster,#function
.proc 020
add_cluster:
!#PROLOGUE# 0
save %sp, -112, %sp
!#PROLOGUE# 1
ld [%i0+644], %o3
ld [%i0+640], %o2
add %o3, 1, %o1
cmp %o1, %o2
ble .LL413
mov %i0, %o0
call resize_block_clusters, 0
nop
ld [%i0+644], %o3
.LL413:
ld [%i0+676], %o1
sll %o3, 3, %o2
add %o1, %o2, %o1
ld [%o1-8], %o0
add %o0, -1, %o0
st %o0, [%o1-8]
ld [%i0+644], %o2
mov 1, %o0
ld [%i0+676], %o3
sll %o2, 3, %o2
st %o0, [%o3+%o2]
ld [%i0+636], %o1
sll %o1, 5, %o0
sub %o0, %o1, %o0
ld [%i0+644], %o3
sll %o0, 3, %o0
ld [%i0+680], %o1
sll %o3, 3, %o3
ld [%i0+676], %o2
add %o1, %o0, %o1
add %o2, %o3, %o2
add %o1, -248, %o1
st %o1, [%o2+4]
ld [%i0+644], %o0
add %o0, 1, %o0
st %o0, [%i0+644]
ret
restore
.LLfe10:
.size add_cluster,.LLfe10-add_cluster
.global .rem
.section ".rodata"
.align 8
.LLC175:
.asciz "Cannot write %s of length %d from %d to %d\n"
.align 8
.LLC176:
.asciz ">%s %s from %d to %d\n"
.section ".text"
.align 4
.global write_seq
.type write_seq,#function
.proc 020
write_seq:
!#PROLOGUE# 0
save %sp, -112, %sp
!#PROLOGUE# 1
orcc %i2, 0, %o4
bl .LL427
mov %i3, %i4
ld [%i1+204], %o0
cmp %i4, %o0
bg .LL416
mov %o0, %i2
cmp %i4, %o4
bge .LL415
add %o4, -10, %l0
.LL416:
sethi %hi(.LLC175), %i0
or %i0, %lo(.LLC175), %i0
call printf, 0
restore %g0, %o4, %o3
.LL415:
add %i4, 10, %i3
sethi %hi(.LLC176), %o1
add %o4, -9, %o4
add %i1, 100, %o3
add %i3, 1, %o5
or %o1, %lo(.LLC176), %o1
mov %i0, %o0
call fprintf, 0
mov %i1, %o2
mov %l0, %i2
cmp %i2, %i3
bge,a .LL426
mov %i0, %i1
sethi %hi(aa_btoa), %o0
or %o0, %lo(aa_btoa), %i4
ld [%i1+244], %o0
.LL431:
mov %i0, %o1
ldub [%o0+%i2], %o2
add %i2, 1, %l0
ldsb [%i4+%o2], %o0
call fputc, 0
mov %l0, %i2
mov 60, %o1
call .rem, 0
mov %l0, %o0
mov %o0, %o2
mov 10, %o0
cmp %o2, 0
be .LL428
mov %i0, %o1
cmp %i2, %i3
.LL430:
bl,a .LL431
ld [%i1+244], %o0
b .LL429
mov %i0, %i1
.LL428:
call fputc, 0
nop
b .LL430
cmp %i2, %i3
.LL427:
b .LL416
ld [%i1+204], %i2
.LL426:
.LL429:
call fputc, 0
restore %g0, 10, %o0
.LLfe11:
.size write_seq,.LLfe11-write_seq
.align 4
.global order_seq
.type order_seq,#function
.proc 020
order_seq:
!#PROLOGUE# 0
save %sp, -112, %sp
!#PROLOGUE# 1
ld [%i1+636], %l2
ld [%i2+636], %o0
cmp %o0, %l2
bl,a .LL433
mov %o0, %l2
.LL433:
mov 0, %l6
cmp %l6, %l2
bge .LL447
mov -1, %i3
mov 0, %l7
mov 0, %l3
.LL437:
cmp %i1, %i2
be,a .LL436
st %l6, [%l3+%i0]
mov 0, %l0
st %i3, [%l3+%i0]
cmp %l0, %l2
bge .LL436
mov %l3, %l5
mov 0, %l1
mov %l3, %l4
ld [%i1+680], %o0
.LL452:
ld [%i2+680], %o1
add %o0, %l7, %o0
call strcmp, 0
add %o1, %l1, %o1
cmp %o0, 0
be .LL449
add %l1, 248, %l1
.LL444:
ld [%i0+%l4], %o0
cmp %o0, 0
bl .LL450
add %l0, 1, %l0
.LL436:
add %l6, 1, %l6
.LL451:
cmp %l6, %l2
add %l7, 248, %l7
bl .LL437
add %l3, 32, %l3
b,a .LL447
.LL450:
cmp %l0, %l2
bl,a .LL452
ld [%i1+680], %o0
b .LL451
add %l6, 1, %l6
.LL449:
b .LL444
st %l0, [%i0+%l5]
.LL447:
ret
restore
.LLfe12:
.size order_seq,.LLfe12-order_seq
.align 4
.global assemble_hit
.type assemble_hit,#function
.proc 020
assemble_hit:
!#PROLOGUE# 0
save %sp, -112, %sp
!#PROLOGUE# 1
mov %i0, %l7
ld [%l7], %o0
mov %i1, %i4
call malloc, 0
sll %o0, 4, %o0
ld [%l7+44], %o3
mov %o0, %i0
mov %i2, %i3
cmp %o3, 0
b .LL482
mov 0, %l3
.LL456:
sll %l3, 4, %o0
fitod %f2, %f4
add %i0, %o0, %o2
add %l3, 1, %o1
mov %o1, %l3
std %f4, [%i0+%o0]
st %o3, [%o2+12]
st %o1, [%o2+8]
ld [%o3+32], %o0
st %g0, [%o0+656]
ld [%o3+44], %o3
cmp %o3, 0
.LL482:
be,a .LL483
ld [%l7], %o1
ld [%o3+32], %o0
cmp %o0, 0
bne,a .LL456
ld [%o3+28], %f2
ld [%l7], %o1
.LL483:
sethi %hi(btempcmp), %o3
mov %i0, %o0
mov 16, %o2
call qsort, 0
or %o3, %lo(btempcmp), %o3
ld [%i0+12], %o0
mov 1, %l3
ld [%o0+32], %o2
mov 1, %o0
st %o0, [%o2+656]
ld [%i0+12], %o1
ld [%o1+32], %o0
ld [%l7], %o1
ld [%o0+636], %o2
cmp %l3, %o1
bge .LL480
add %o2, -1, %i1
sethi %hi(CutOff), %o0
ld [%o0+%lo(CutOff)], %i5
add %i0, 16, %l2
mov 16, %i2
.LL462:
ld [%l2+12], %o1
cmp %l3, 0
ld [%o1+32], %o0
mov 1, %o1
ble .LL481
st %o1, [%o0+656]
sll %i1, 5, %o0
sub %o0, %i1, %o0
sll %o0, 3, %l6
mov %i5, %l5
mov %i2, %l4
mov %l2, %l1
mov %i0, %g1
mov %l3, %l0
.LL466:
ld [%g1+12], %o7
ld [%o7+32], %o0
ld [%o0+656], %o1
cmp %o1, 0
be,a .LL484
addcc %l0, -1, %l0
ld [%o7+28], %o0
cmp %o0, %l5
bl .LL468
add %i0, %l4, %o5
ld [%g1+8], %o4
ld [%o5+8], %o3
cmp %o3, %o4
bge .LL485
nop
ld [%o5+12], %o0
ld [%o7+20], %o2
ld [%o0+24], %o1
cmp %o1, %o2
bg,a .LL486
ld [%l1+12], %o1
cmp %o3, %o4
.LL485:
ble,a .LL484
addcc %l0, -1, %l0
ld [%o5+12], %o0
ld [%o7+24], %o2
ld [%o0+20], %o1
cmp %o1, %o2
bge,a .LL484
addcc %l0, -1, %l0
.LL468:
ld [%l1+12], %o1
.LL486:
ld [%o1+32], %o2
ld [%o2+680], %o0
add %o0, %l6, %o0
st %g0, [%o0+224]
ld [%l1+12], %o1
ld [%o1+32], %o0
st %g0, [%o0+656]
addcc %l0, -1, %l0
.LL484:
bne .LL466
add %g1, 16, %g1
.LL481:
ld [%l7], %o0
add %l3, 1, %l3
cmp %l3, %o0
add %l2, 16, %l2
bl .LL462
add %i2, 16, %i2
.LL480:
ld [%i3], %o1
mov -999, %o0
ld [%l7+44], %o3
st %o1, [%i4]
cmp %o3, 0
be .LL473
st %o0, [%i3]
ld [%o3+32], %o4
cmp %o4, 0
be .LL473
sll %i1, 5, %o0
sub %o0, %i1, %o0
sll %o0, 3, %o2
ld [%o4+680], %o0
.LL489:
add %o0, %o2, %o0
ld [%o0+224], %o1
cmp %o1, 0
be,a .LL487
ld [%o3+44], %o3
ld [%o0+200], %o1
ld [%i4], %o0
cmp %o1, %o0
bge,a .LL488
ld [%o4+680], %o0
ld [%o3+32], %o4
st %o1, [%i4]
ld [%o4+680], %o0
.LL488:
add %o0, %o2, %o0
ld [%i3], %o1
ld [%o0+200], %o0
cmp %o0, %o1
bg,a .LL476
st %o0, [%i3]
.LL476:
ld [%o3+44], %o3
.LL487:
cmp %o3, 0
be .LL473
nop
ld [%o3+32], %o0
orcc %o0, 0, %o4
bne,a .LL489
ld [%o4+680], %o0
.LL473:
call free, 0
restore
.LLfe13:
.size assemble_hit,.LLfe13-assemble_hit
.section ".rodata"
.align 8
.LLC177:
.uaword 0x0 ! ~0.00000000000000000000e0
.uaword 0x0
.section ".text"
.align 4
.global btempcmp
.type btempcmp,#function
.proc 04
btempcmp:
!#PROLOGUE# 0
save %sp, -112, %sp
!#PROLOGUE# 1
ldd [%i0], %f2
sethi %hi(.LLC177), %o0
ldd [%i1], %f4
fsubd %f4, %f2, %f4
ldd [%o0+%lo(.LLC177)], %f6
fcmped %f4, %f6
nop
fbg .LL490
mov 1, %i0
fcmped %f4, %f6
nop
fbl .LL490
mov -1, %i0
mov 0, %i0
.LL490:
ret
restore
.LLfe14:
.size btempcmp,.LLfe14-btempcmp
>Fix:
Don't use -O options
>Release-Note:
>Audit-Trail:
>Unformatted:
To: gcc-gnats@gcc.gnu.org
Subject: gcc 3.0.2 problem
From: jorja@fhcrc.org
Reply-To: jorja@fhcrc.org
Cc:
X-send-pr-version: 3.113
X-GNATS-Notify: