 .ident "Coins Compiler version: coins-1.5 + BackEnd-1.1"
/* JavaCG for target:x86 convention:cygwin */

	.text
	.align	4
_bswap_16:
	pushl	%ebp
	movl	%esp,%ebp
	movw	8(%ebp),%ax
	movzwl	%ax,%eax
	movl	%eax,%ecx
	sarl	$8,%ecx
	sall	$8,%eax
	orl	%eax,%ecx
	movw	%cx,%ax
	leave
	ret


	.align	4
_bswap_32:
	pushl	%ebp
	movl	%esp,%ebp
	pushl	%ebx
	pushl	%esi
	movl	8(%ebp),%ebx
	movl	%ebx,%eax
	andl	$65535,%eax
	movw	%ax,%ax
	movzwl	%ax,%eax
	pushl	%eax
	call	_bswap_16
	movw	%ax,%si
	leal	4(%esp),%esp
	shrl	$16,%ebx
	movw	%bx,%ax
	movzwl	%ax,%eax
	pushl	%eax
	call	_bswap_16
	movw	%ax,%cx
	leal	4(%esp),%esp
	movzwl	%si,%eax
	sall	$16,%eax
	movzwl	%cx,%ecx
	orl	%ecx,%eax
	popl	%esi
	popl	%ebx
	leave
	ret


	.align	4
_bswap_64:
	pushl	%ebp
	movl	%esp,%ebp
	pushl	%ebx
	pushl	%esi
	pushl	%edi
	movl	8(%ebp),%esi
	movl	4+8(%ebp),%edi
	movl	%esi,%eax
	movl	%edi,%edx
	andl	$4294967295,%eax
	andl	$0,%edx
	movl	%eax,%eax
	pushl	%eax
	call	_bswap_32
	movl	%eax,%ebx
	leal	4(%esp),%esp
	movl	%esi,%eax
	movl	%edi,%edx
	movl	%edx,%eax
	xor	%edx,%edx
	movl	%eax,%eax
	pushl	%eax
	call	_bswap_32
	leal	4(%esp),%esp
	movl	%ebx,%ecx
	xorl	%ebx,%ebx
	movl	%ecx,%ebx
	xorl	%ecx,%ecx
	movl	%eax,%eax
	xorl	%edx,%edx
	orl	%eax,%ecx
	orl	%edx,%ebx
	movl	%ecx,%eax
	movl	%ebx,%edx
	popl	%edi
	popl	%esi
	popl	%ebx
	leave
	ret


	.align	4
	.global	_gnu_dev_major
_gnu_dev_major:
	pushl	%ebp
	movl	%esp,%ebp
	movl	8(%ebp),%eax
	shrl	$16,%eax
	andl	$65535,%eax
	leave
	ret


	.align	4
	.global	_gnu_dev_minor
_gnu_dev_minor:
	pushl	%ebp
	movl	%esp,%ebp
	movl	8(%ebp),%eax
	andl	$65535,%eax
	leave
	ret


	.align	4
	.global	_gnu_dev_makedev
_gnu_dev_makedev:
	pushl	%ebp
	movl	%esp,%ebp
	movl	8(%ebp),%eax
	movl	12(%ebp),%ecx
	sall	$16,%eax
	andl	$65535,%ecx
	orl	%ecx,%eax
	leave
	ret


	.align	4
	.global	___sgetc_r
___sgetc_r:
	pushl	%ebp
	movl	%esp,%ebp
	subl	$4,%esp
	pushl	%ebx
	pushl	%esi
	pushl	%edi
	movl	8(%ebp),%eax
	movl	%eax,-4(%ebp)
	movl	12(%ebp),%edi
	leal	4(%edi),%esi
	movl	(%esi),%eax
	leal	-1(%eax),%eax
	movl	%eax,(%esi)
	cmpl	$0,%eax
	jge	.L22
.L21:
	pushl	%edi
	pushl	-4(%ebp)
	call	___srget_r
	movl	%eax,%ebx
	leal	8(%esp),%esp
	jmp	.L23
.L22:
	movl	(%edi),%eax
	movzbl	(%eax),%ebx
	leal	1(%eax),%eax
	movl	%eax,(%edi)
.L23:
	movswl	12(%edi),%eax
	andl	$16384,%eax
	cmpl	$0,%eax
	je	.L37
.L24:
	cmpl	$13,%ebx
	jne	.L26
.L25:
	movl	$1,%eax
	jmp	.L27
.L26:
	movl	$0,%eax
.L27:
	movw	%ax,%ax
	movswl	%ax,%eax
	cmpl	$0,%eax
	je	.L37
.L28:
	movl	(%esi),%eax
	leal	-1(%eax),%eax
	movl	%eax,(%esi)
	cmpl	$0,%eax
	jge	.L30
.L29:
	pushl	%edi
	pushl	-4(%ebp)
	call	___srget_r
	leal	8(%esp),%esp
	jmp	.L31
.L30:
	movl	(%edi),%ecx
	movzbl	(%ecx),%eax
	leal	1(%ecx),%ecx
	movl	%ecx,(%edi)
.L31:
	cmpl	$10,%eax
	jne	.L33
.L32:
	movl	%eax,%ebx
	jmp	.L37
.L33:
	pushl	%edi
	pushl	%eax
	call	_ungetc
	leal	8(%esp),%esp
.L37:
	movl	%ebx,%eax
	popl	%edi
	popl	%esi
	popl	%ebx
	leave
	ret

	.align	1
_string.33:
	.byte	109
	.byte	105
	.byte	115
	.byte	99
	.byte	111
	.byte	115
	.byte	116
	.byte	91
	.byte	37
	.byte	100
	.byte	93
	.byte	91
	.byte	37
	.byte	100
	.byte	93
	.byte	61
	.byte	37
	.byte	51
	.byte	100
	.byte	32
	.byte	115
	.byte	112
	.byte	108
	.byte	105
	.byte	116
	.byte	91
	.byte	37
	.byte	100
	.byte	93
	.byte	91
	.byte	37
	.byte	100
	.byte	93
	.byte	61
	.byte	37
	.byte	100
	.byte	10
	.byte	0
	.align	1
_string.35:
	.byte	109
	.byte	105
	.byte	110
	.byte	61
	.byte	37
	.byte	100
	.byte	32
	.byte	99
	.byte	104
	.byte	111
	.byte	105
	.byte	99
	.byte	101
	.byte	61
	.byte	37
	.byte	100
	.byte	10
	.byte	0

	.align	4
	.global	_main
_main:
	pushl	%ebp
	movl	%esp,%ebp
	subl	$108,%esp
	pushl	%ebx
	pushl	%esi
	pushl	%edi
	movl	$_mincost,%ecx
	movl	$_mincost,-104(%ebp)
	movl	$16,%eax
	leal	_mincost(%eax),%eax
	movl	%eax,-88(%ebp)
	movl	$_nrow,-96(%ebp)
	movl	$4,%eax
	leal	_nrow(%eax),%eax
	movl	%eax,-80(%ebp)
	movl	$8,%eax
	leal	_nrow(%eax),%eax
	movl	%eax,-76(%ebp)
	movl	$_split,-92(%ebp)
	movl	$20,%eax
	leal	_nrow(%eax),%eax
	movl	%eax,-100(%ebp)
	movl	$0,%eax
.L41:
	movl	$0,(%ecx,%eax)
	leal	4(%eax),%eax
	leal	16(%ecx),%ecx
	cmpl	$16,%eax
	jl	.L41
.L62:
	movl	$4,-72(%ebp)
	movl	$1,-52(%ebp)
	movl	$1,-84(%ebp)
.L45:
	movl	$4,%ecx
	subl	-84(%ebp),%ecx
	movl	%ecx,%eax
	addl	-84(%ebp),%eax
	leal	1(%eax),%eax
	leal	_nrow(,%eax,4),%eax
	movl	%eax,-60(%ebp)
	cmpl	$0,%ecx
	jle	.L52
.L63:
	movl	$0,-56(%ebp)
	movl	$0,%ebx
	movl	-104(%ebp),%eax
	movl	%eax,-44(%ebp)
	movl	-92(%ebp),%eax
	movl	%eax,-48(%ebp)
	movl	-96(%ebp),%eax
	movl	%eax,-36(%ebp)
	movl	-88(%ebp),%eax
	movl	%eax,-40(%ebp)
	movl	-80(%ebp),%eax
	movl	%eax,-24(%ebp)
	movl	-72(%ebp),%eax
	movl	%eax,-28(%ebp)
	movl	-76(%ebp),%eax
	movl	%eax,-20(%ebp)
.L67:
	movl	%ebx,-16(%ebp)
	movl	-52(%ebp),%eax
	leal	1(%eax),%eax
	movl	%eax,-32(%ebp)
	movl	-32(%ebp),%eax
	leal	_nrow(,%eax,4),%eax
	movl	%eax,-12(%ebp)
	movl	-40(%ebp),%eax
	addl	-28(%ebp),%eax
	movl	%eax,-8(%ebp)
	movl	-56(%ebp),%eax
	addl	-44(%ebp),%eax
	movl	%eax,-4(%ebp)
	movl	-16(%ebp),%eax
	cmpl	-52(%ebp),%eax
	jge	.L74
.L64:
	movl	-36(%ebp),%eax
	movl	(%eax),%eax
	movl	%eax,-108(%ebp)
	movl	-20(%ebp),%eax
	movl	(%eax),%ebx
	movl	$2147483647,-64(%ebp)
	movl	-24(%ebp),%edx
	movl	-16(%ebp),%ecx
.L48:
	movl	-108(%ebp),%esi
	imull	(%edx),%esi
	imull	%ebx,%esi
	movl	-4(%ebp),%eax
	movl	(%eax),%edi
	movl	-8(%ebp),%eax
	addl	(%eax),%edi
	leal	(%edi,%esi),%eax
	cmpl	-64(%ebp),%eax
	jge	.L50
.L49:
	movl	%eax,-64(%ebp)
	movl	%ecx,-68(%ebp)
.L50:
	leal	1(%ecx),%ecx
	leal	4(%edx),%edx
	movl	-8(%ebp),%eax
	leal	16(%eax),%eax
	movl	%eax,-8(%ebp)
	movl	-4(%ebp),%eax
	leal	4(%eax),%eax
	movl	%eax,-4(%ebp)
	cmpl	-12(%ebp),%edx
	jl	.L48
.L82:
	jmp	.L51
.L74:
	movl	$2147483647,-64(%ebp)
.L51:
	movl	-44(%ebp),%eax
	addl	-28(%ebp),%eax
	movl	-64(%ebp),%ecx
	movl	%ecx,(%eax)
	movl	-48(%ebp),%ebx
	movl	-28(%ebp),%edx
	movl	-68(%ebp),%ecx
	movl	%ecx,(%ebx,%edx)
	movl	-16(%ebp),%ecx
	leal	1(%ecx),%ebx
	pushl	-68(%ebp)
	pushl	-52(%ebp)
	pushl	-16(%ebp)
	pushl	(%eax)
	pushl	-52(%ebp)
	pushl	-16(%ebp)
	pushl	$_string.33
	call	_printf
	leal	28(%esp),%esp
	movl	-32(%ebp),%eax
	movl	%eax,-52(%ebp)
	movl	-20(%ebp),%eax
	leal	4(%eax),%eax
	movl	%eax,-20(%ebp)
	movl	-28(%ebp),%eax
	leal	4(%eax),%eax
	movl	%eax,-28(%ebp)
	movl	-24(%ebp),%eax
	leal	4(%eax),%eax
	movl	%eax,-24(%ebp)
	movl	-40(%ebp),%eax
	leal	16(%eax),%eax
	movl	%eax,-40(%ebp)
	movl	-56(%ebp),%eax
	leal	4(%eax),%eax
	movl	%eax,-56(%ebp)
	movl	-36(%ebp),%eax
	leal	4(%eax),%eax
	movl	%eax,-36(%ebp)
	movl	-48(%ebp),%eax
	leal	16(%eax),%eax
	movl	%eax,-48(%ebp)
	movl	-44(%ebp),%eax
	leal	16(%eax),%eax
	movl	%eax,-44(%ebp)
	movl	-20(%ebp),%eax
	cmpl	-60(%ebp),%eax
	jl	.L67
.L52:
	movl	-84(%ebp),%eax
	leal	1(%eax),%eax
	movl	%eax,-84(%ebp)
	movl	-84(%ebp),%eax
	movl	%eax,-52(%ebp)
	movl	-76(%ebp),%eax
	leal	4(%eax),%eax
	movl	%eax,-76(%ebp)
	movl	-72(%ebp),%eax
	leal	4(%eax),%eax
	movl	%eax,-72(%ebp)
	movl	-76(%ebp),%eax
	cmpl	-100(%ebp),%eax
	jl	.L45
.L53:
	pushl	-68(%ebp)
	pushl	-64(%ebp)
	pushl	$_string.35
	call	_printf
	leal	12(%esp),%esp
.L54:
	popl	%edi
	popl	%esi
	popl	%ebx
	leave
	ret

	.data
	.align	4
	.global	_nrow
_nrow:
	.long	4
	.long	2
	.long	6
	.long	3
	.long	5
	.comm	_split,64
	.comm	_mincost,64
