123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388 |
- .file "solv2.c"
- .version "01.01"
- gcc2_compiled.:
- .section .rodata
- .align 4
- .LC0:
- .long 0x9ee75616,0x3cd203af
- .text
- .align 4
- .globl solv
- .type solv,@function
- solv:
- pushl %ebp
- movl %esp,%ebp
- subl $72,%esp
- pushl %edi
- pushl %esi
- pushl %ebx
- fldz
- pushl $8
- movl 16(%ebp),%edx
- pushl %edx
- fstpt -60(%ebp)
- call calloc
- movl %eax,-20(%ebp)
- movl $0,-4(%ebp)
- movl 8(%ebp),%ecx
- movl %ecx,-12(%ebp)
- movl %ecx,-16(%ebp)
- addl $8,%esp
- fldt -60(%ebp)
- movl 16(%ebp),%edi
- cmpl %edi,-4(%ebp)
- jge .L72
- leal 0(,%edi,8),%edx
- movl %edx,-24(%ebp)
- addl $8,%edx
- movl %edx,-32(%ebp)
- movl $0,-40(%ebp)
- movl 12(%ebp),%ecx
- movl %ecx,-44(%ebp)
- movl $0,-48(%ebp)
- .align 4
- .L7:
- cmpl $0,-4(%ebp)
- je .L8
- movl $0,-64(%ebp)
- movl -20(%ebp),%edi
- movl %edi,-72(%ebp)
- movl -12(%ebp),%ebx
- movl 16(%ebp),%edx
- cmpl %edx,-64(%ebp)
- jge .L10
- .align 4
- .L12:
- movl -72(%ebp),%ecx
- movl (%ebx),%eax
- movl %eax,(%ecx)
- movl 4(%ebx),%eax
- movl %eax,4(%ecx)
- addl $8,%ecx
- movl %ecx,-72(%ebp)
- incl -64(%ebp)
- addl -24(%ebp),%ebx
- movl 16(%ebp),%edi
- cmpl %edi,-64(%ebp)
- jl .L12
- .L10:
- movl $1,-64(%ebp)
- movl 16(%ebp),%edx
- cmpl %edx,-64(%ebp)
- jge .L15
- movl -48(%ebp),%ecx
- movl %ecx,-28(%ebp)
- movl -20(%ebp),%edi
- addl $8,%edi
- movl %edi,-68(%ebp)
- movl %edx,-36(%ebp)
- .align 4
- .L17:
- movl -64(%ebp),%edx
- movl %edx,-8(%ebp)
- movl -4(%ebp),%ecx
- cmpl %ecx,%edx
- jle .L18
- movl %ecx,-8(%ebp)
- .L18:
- xorl %esi,%esi
- movl -36(%ebp),%edi
- movl -12(%ebp),%edx
- leal (%edx,%edi,8),%eax
- movl %eax,%ebx
- subl -28(%ebp),%ebx
- movl -20(%ebp),%ecx
- movl %ecx,%edi
- movl %ecx,-72(%ebp)
- movl -8(%ebp),%ecx
- fldz
- cmpl %esi,%ecx
- jle .L20
- .align 4
- .L22:
- fldl (%ebx)
- fmull (%edi)
- faddp %st,%st(1)
- addl $8,%edi
- addl $8,%ebx
- incl %esi
- cmpl %esi,%ecx
- jg .L22
- .L20:
- movl -72(%ebp),%ecx
- movl -68(%ebp),%edx
- fldl (%edx)
- fsubp %st,%st(1)
- fstpl (%edx)
- addl $8,%edx
- movl %edx,-68(%ebp)
- movl 16(%ebp),%ecx
- addl %ecx,-36(%ebp)
- incl -64(%ebp)
- cmpl %ecx,-64(%ebp)
- jl .L17
- .L15:
- movl $0,-64(%ebp)
- movl -20(%ebp),%edi
- movl %edi,-72(%ebp)
- movl -12(%ebp),%ebx
- movl 16(%ebp),%edx
- cmpl %edx,-64(%ebp)
- jge .L8
- .align 4
- .L28:
- movl -72(%ebp),%ecx
- movl (%ecx),%eax
- movl %eax,(%ebx)
- movl 4(%ecx),%eax
- movl %eax,4(%ebx)
- addl $8,%ecx
- movl %ecx,-72(%ebp)
- incl -64(%ebp)
- addl -24(%ebp),%ebx
- movl 16(%ebp),%edi
- cmpl %edi,-64(%ebp)
- jl .L28
- .L8:
- movl -16(%ebp),%edx
- fldl (%edx)
- fabs
- movl -4(%ebp),%ecx
- movl %ecx,-8(%ebp)
- movl %ecx,%esi
- incl %esi
- movl %edx,-68(%ebp)
- cmpl %esi,16(%ebp)
- jle .L31
- .align 4
- .L33:
- movl -24(%ebp),%edi
- addl %edi,-68(%ebp)
- movl -68(%ebp),%edx
- fldl (%edx)
- fabs
- fcom %st(1)
- fnstsw %ax
- andb $69,%ah
- jne .L73
- fstp %st(1)
- movl %esi,-8(%ebp)
- jmp .L32
- .align 4
- .L73:
- fstp %st(0)
- .L32:
- incl %esi
- cmpl %esi,16(%ebp)
- jg .L33
- .L31:
- fld %st(0)
- fxch %st(2)
- fcom %st(1)
- fnstsw %ax
- andb $69,%ah
- jne .L74
- fstp %st(2)
- jmp .L36
- .align 4
- .L74:
- fstp %st(0)
- .L36:
- fldl .LC0
- fmul %st(2),%st
- fcompp
- fnstsw %ax
- andb $69,%ah
- jne .L38
- fstp %st(0)
- movl -20(%ebp),%ecx
- pushl %ecx
- call free
- movl $-1,%eax
- jmp .L71
- .align 4
- .L38:
- movl -4(%ebp),%edi
- cmpl %edi,-8(%ebp)
- je .L39
- movl -44(%ebp),%edx
- fldl (%edx)
- movl -8(%ebp),%ecx
- movl 12(%ebp),%edi
- movl (%edi,%ecx,8),%eax
- movl %eax,(%edx)
- movl 4(%edi,%ecx,8),%eax
- movl %eax,4(%edx)
- fstpl (%edi,%ecx,8)
- xorl %esi,%esi
- movl -40(%ebp),%edx
- movl 8(%ebp),%ecx
- leal (%ecx,%edx,8),%ebx
- movl 16(%ebp),%eax
- imull -8(%ebp),%eax
- leal (%ecx,%eax,8),%eax
- movl %eax,-72(%ebp)
- cmpl %esi,16(%ebp)
- jle .L39
- .align 4
- .L43:
- fldl (%ebx)
- movl -72(%ebp),%edi
- movl (%edi),%eax
- movl %eax,(%ebx)
- movl 4(%edi),%eax
- movl %eax,4(%ebx)
- addl $8,%ebx
- fstpl (%edi)
- addl $8,%edi
- movl %edi,-72(%ebp)
- incl %esi
- cmpl %esi,16(%ebp)
- jg .L43
- .L39:
- movl -4(%ebp),%esi
- incl %esi
- movl -16(%ebp),%edx
- movl %edx,-68(%ebp)
- fld1
- fdivl (%edx)
- cmpl %esi,16(%ebp)
- jle .L75
- .align 4
- .L48:
- movl -24(%ebp),%ecx
- addl %ecx,-68(%ebp)
- movl -68(%ebp),%edi
- fldl (%edi)
- fmul %st(1),%st
- fstpl (%edi)
- incl %esi
- cmpl %esi,16(%ebp)
- jg .L48
- .L75:
- fstp %st(0)
- movl 16(%ebp),%edx
- addl %edx,-40(%ebp)
- addl $8,-44(%ebp)
- addl $8,-48(%ebp)
- incl -4(%ebp)
- addl $8,-12(%ebp)
- movl -32(%ebp),%ecx
- addl %ecx,-16(%ebp)
- cmpl %edx,-4(%ebp)
- jl .L7
- .L72:
- fstp %st(0)
- movl $1,-4(%ebp)
- movl 12(%ebp),%edi
- addl $8,%edi
- movl %edi,-68(%ebp)
- movl 16(%ebp),%edx
- cmpl %edx,-4(%ebp)
- jge .L52
- movl 16(%ebp),%eax
- .align 4
- .L54:
- xorl %esi,%esi
- movl 8(%ebp),%ecx
- leal (%ecx,%eax,8),%ebx
- movl 12(%ebp),%edi
- movl %edi,-72(%ebp)
- fldz
- cmpl %esi,-4(%ebp)
- jle .L56
- .align 4
- .L58:
- fldl (%ebx)
- movl -72(%ebp),%edx
- fmull (%edx)
- faddp %st,%st(1)
- addl $8,%edx
- movl %edx,-72(%ebp)
- addl $8,%ebx
- incl %esi
- cmpl %esi,-4(%ebp)
- jg .L58
- .L56:
- movl -68(%ebp),%ecx
- fldl (%ecx)
- fsubp %st,%st(1)
- fstpl (%ecx)
- addl $8,%ecx
- movl %ecx,-68(%ebp)
- addl 16(%ebp),%eax
- incl -4(%ebp)
- movl 16(%ebp),%edi
- cmpl %edi,-4(%ebp)
- jl .L54
- .L52:
- movl 16(%ebp),%edx
- decl %edx
- movl %edx,-4(%ebp)
- addl $-8,-68(%ebp)
- movl 16(%ebp),%eax
- imull %eax,%eax
- movl 8(%ebp),%ecx
- leal -8(%ecx,%eax,8),%eax
- movl %eax,-16(%ebp)
- testl %edx,%edx
- jl .L62
- movl 16(%ebp),%edi
- leal 8(,%edi,8),%edi
- movl %edi,-64(%ebp)
- leal 0(,%edx,8),%eax
- .align 4
- .L64:
- movl -4(%ebp),%esi
- incl %esi
- movl -16(%ebp),%ebx
- movl 12(%ebp),%edx
- addl %eax,%edx
- movl %edx,-72(%ebp)
- fldz
- cmpl %esi,16(%ebp)
- jle .L66
- .align 4
- .L68:
- addl $8,%ebx
- addl $8,-72(%ebp)
- fldl (%ebx)
- movl -72(%ebp),%ecx
- fmull (%ecx)
- faddp %st,%st(1)
- incl %esi
- cmpl %esi,16(%ebp)
- jg .L68
- .L66:
- movl -68(%ebp),%edi
- fldl (%edi)
- fsubp %st,%st(1)
- fstl (%edi)
- movl -16(%ebp),%edx
- fdivl (%edx)
- fstpl (%edi)
- addl $-8,%edi
- movl %edi,-68(%ebp)
- addl $-8,%eax
- movl -64(%ebp),%ecx
- subl %ecx,%edx
- movl %edx,-16(%ebp)
- decl -4(%ebp)
- jns .L64
- .L62:
- movl -20(%ebp),%edi
- pushl %edi
- call free
- xorl %eax,%eax
- .L71:
- leal -84(%ebp),%esp
- popl %ebx
- popl %esi
- popl %edi
- movl %ebp,%esp
- popl %ebp
- ret
- .Lfe1:
- .size solv,.Lfe1-solv
- .ident "GCC: (GNU) 2.7.2"
|