public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: Jorja Henikoff <jorja@bateson.fhcrc.org> To: gcc-gnats@gcc.gnu.org Subject: c/4916: gcc 3.0.2 problem Date: Thu, 15 Nov 2001 12:46:00 -0000 [thread overview] Message-ID: <200111202051.fAKKptE08861@bateson.fhcrc.org> (raw) >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:
reply other threads:[~2001-11-20 21:46 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=200111202051.fAKKptE08861@bateson.fhcrc.org \ --to=jorja@bateson.fhcrc.org \ --cc=gcc-gnats@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).