From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5522 invoked by alias); 20 Nov 2001 21:46:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 5490 invoked by uid 71); 20 Nov 2001 21:46:00 -0000 Resent-Date: 20 Nov 2001 21:46:00 -0000 Resent-Message-ID: <20011120214600.5489.qmail@sourceware.cygnus.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, Jorja Henikoff Received:(qmail 4569 invoked from network); 20 Nov 2001 21:38:38 -0000 Received: from unknown (HELO fhcrc.org) (140.107.52.11) by sourceware.cygnus.com with SMTP; 20 Nov 2001 21:38:38 -0000 Received: from bateson.fhcrc.org (bateson [140.107.32.74]) by fhcrc.org (8.10.2/8.10.2) with ESMTP id fAKKpwj17335 for ; Tue, 20 Nov 2001 12:51:58 -0800 (PST) Received: (from jorja@localhost) by bateson.fhcrc.org (8.10.2+Sun/8.10.2) id fAKKptE08861 for gcc-gnats@gcc.gnu.org; Tue, 20 Nov 2001 12:51:55 -0800 (PST) Message-Id:<200111202051.fAKKptE08861@bateson.fhcrc.org> Date: Thu, 15 Nov 2001 12:46:00 -0000 From: Jorja Henikoff To: gcc-gnats@gcc.gnu.org Subject: c/4916: gcc 3.0.2 problem X-SW-Source: 2001-11/txt/msg00343.txt.bz2 List-Id: >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 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 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 \n"); printf(" = input blocks\n"); printf(" = fasta format sequences\n"); printf(" = output file\n"); printf(" = 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; inblock; i++) { btemp[i].blist->block->undefined = 1; for (j=0; jblock->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; s1length; for (s2=s1; s2length < 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; possequence[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 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; s1name); for (s2=0; s2 " .align 8 .LLC78: .asciz " = input blocks" .align 8 .LLC79: .asciz "\t\t = fasta format sequences" .align 8 .LLC80: .asciz " = output file" .align 8 .LLC81: .asciz " = 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: