.cstring
LC0:
	.ascii "ffi_test_0()\0"
	.text
.globl _ffi_test_0
_ffi_test_0:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$20, %esp
	call	L3
"L00000000001$pb":
L3:
	popl	%ebx
	leal	LC0-"L00000000001$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_puts$stub
	addl	$20, %esp
	popl	%ebx
	leave
	ret
	.cstring
LC1:
	.ascii "ffi_test_1()\0"
	.text
.globl _ffi_test_1
_ffi_test_1:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$20, %esp
	call	L6
"L00000000002$pb":
L6:
	popl	%ebx
	leal	LC1-"L00000000002$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_puts$stub
	movl	$3, %eax
	addl	$20, %esp
	popl	%ebx
	leave
	ret
	.cstring
LC2:
	.ascii "ffi_test_2(%d,%d)\12\0"
	.text
.globl _ffi_test_2
_ffi_test_2:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$20, %esp
	call	L9
"L00000000003$pb":
L9:
	popl	%ebx
	movl	12(%ebp), %eax
	movl	%eax, 8(%esp)
	movl	8(%ebp), %eax
	movl	%eax, 4(%esp)
	leal	LC2-"L00000000003$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	movl	12(%ebp), %eax
	addl	8(%ebp), %eax
	addl	$20, %esp
	popl	%ebx
	leave
	ret
	.cstring
LC3:
	.ascii "ffi_test_3(%d,%d,%d,%d)\12\0"
	.text
.globl _ffi_test_3
_ffi_test_3:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$36, %esp
	call	L12
"L00000000004$pb":
L12:
	popl	%ebx
	movl	20(%ebp), %eax
	movl	%eax, 16(%esp)
	movl	16(%ebp), %eax
	movl	%eax, 12(%esp)
	movl	12(%ebp), %eax
	movl	%eax, 8(%esp)
	movl	8(%ebp), %eax
	movl	%eax, 4(%esp)
	leal	LC3-"L00000000004$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	movl	12(%ebp), %eax
	movl	8(%ebp), %edx
	addl	%eax, %edx
	movl	16(%ebp), %eax
	imull	20(%ebp), %eax
	leal	(%edx,%eax), %eax
	addl	$36, %esp
	popl	%ebx
	leave
	ret
	.cstring
LC4:
	.ascii "ffi_test_4()\0"
	.literal4
	.align 2
LC5:
	.long	1069547520
	.text
.globl _ffi_test_4
_ffi_test_4:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$36, %esp
	call	L15
"L00000000005$pb":
L15:
	popl	%ebx
	leal	LC4-"L00000000005$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_puts$stub
	leal	LC5-"L00000000005$pb"(%ebx), %eax
	movl	(%eax), %eax
	movl	%eax, -12(%ebp)
	movss	-12(%ebp), %xmm0
	movss	%xmm0, -12(%ebp)
	flds	-12(%ebp)
	addl	$36, %esp
	popl	%ebx
	leave
	ret
	.cstring
LC6:
	.ascii "ffi_test_5()\0"
	.literal8
	.align 3
LC7:
	.long	0
	.long	1073217536
	.text
.globl _ffi_test_5
_ffi_test_5:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$36, %esp
	call	L18
"L00000000006$pb":
L18:
	popl	%ebx
	leal	LC6-"L00000000006$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_puts$stub
	leal	LC7-"L00000000006$pb"(%ebx), %eax
	movsd	(%eax), %xmm0
	movsd	%xmm0, -16(%ebp)
	fldl	-16(%ebp)
	addl	$36, %esp
	popl	%ebx
	leave
	ret
	.cstring
LC8:
	.ascii "ffi_test_6(%f,%f)\12\0"
	.text
.globl _ffi_test_6
_ffi_test_6:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$52, %esp
	call	L21
"L00000000007$pb":
L21:
	popl	%ebx
	cvtss2sd	12(%ebp), %xmm0
	cvtss2sd	8(%ebp), %xmm1
	movsd	%xmm0, 12(%esp)
	movsd	%xmm1, 4(%esp)
	leal	LC8-"L00000000007$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	movss	8(%ebp), %xmm0
	mulss	12(%ebp), %xmm0
	cvtss2sd	%xmm0, %xmm0
	movsd	%xmm0, -16(%ebp)
	fldl	-16(%ebp)
	addl	$52, %esp
	popl	%ebx
	leave
	ret
	.cstring
LC9:
	.ascii "ffi_test_7(%f,%f)\12\0"
	.text
.globl _ffi_test_7
_ffi_test_7:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$68, %esp
	call	L24
"L00000000008$pb":
L24:
	popl	%ebx
	movl	8(%ebp), %eax
	movl	%eax, -16(%ebp)
	movl	12(%ebp), %eax
	movl	%eax, -12(%ebp)
	movl	16(%ebp), %eax
	movl	%eax, -24(%ebp)
	movl	20(%ebp), %eax
	movl	%eax, -20(%ebp)
	movsd	-24(%ebp), %xmm0
	movsd	%xmm0, 12(%esp)
	movsd	-16(%ebp), %xmm0
	movsd	%xmm0, 4(%esp)
	leal	LC9-"L00000000008$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	movsd	-16(%ebp), %xmm0
	mulsd	-24(%ebp), %xmm0
	movsd	%xmm0, -32(%ebp)
	fldl	-32(%ebp)
	addl	$68, %esp
	popl	%ebx
	leave
	ret
	.cstring
LC10:
	.ascii "ffi_test_8(%f,%f,%f,%f,%d)\12\0"
	.text
.globl _ffi_test_8
_ffi_test_8:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$84, %esp
	call	L27
"L00000000009$pb":
L27:
	popl	%ebx
	movl	8(%ebp), %eax
	movl	%eax, -16(%ebp)
	movl	12(%ebp), %eax
	movl	%eax, -12(%ebp)
	movl	20(%ebp), %eax
	movl	%eax, -24(%ebp)
	movl	24(%ebp), %eax
	movl	%eax, -20(%ebp)
	cvtss2sd	28(%ebp), %xmm0
	cvtss2sd	16(%ebp), %xmm1
	movl	32(%ebp), %eax
	movl	%eax, 36(%esp)
	movsd	%xmm0, 28(%esp)
	movsd	-24(%ebp), %xmm0
	movsd	%xmm0, 20(%esp)
	movsd	%xmm1, 12(%esp)
	movsd	-16(%ebp), %xmm0
	movsd	%xmm0, 4(%esp)
	leal	LC10-"L00000000009$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	cvtss2sd	16(%ebp), %xmm0
	movapd	%xmm0, %xmm1
	mulsd	-16(%ebp), %xmm1
	cvtss2sd	28(%ebp), %xmm0
	mulsd	-24(%ebp), %xmm0
	addsd	%xmm0, %xmm1
	cvtsi2sd	32(%ebp), %xmm0
	addsd	%xmm1, %xmm0
	movsd	%xmm0, -32(%ebp)
	fldl	-32(%ebp)
	addl	$84, %esp
	popl	%ebx
	leave
	ret
	.cstring
	.align 2
LC11:
	.ascii "ffi_test_9(%d,%d,%d,%d,%d,%d,%d)\12\0"
	.text
.globl _ffi_test_9
_ffi_test_9:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$36, %esp
	call	L30
"L00000000010$pb":
L30:
	popl	%ebx
	movl	32(%ebp), %eax
	movl	%eax, 28(%esp)
	movl	28(%ebp), %eax
	movl	%eax, 24(%esp)
	movl	24(%ebp), %eax
	movl	%eax, 20(%esp)
	movl	20(%ebp), %eax
	movl	%eax, 16(%esp)
	movl	16(%ebp), %eax
	movl	%eax, 12(%esp)
	movl	12(%ebp), %eax
	movl	%eax, 8(%esp)
	movl	8(%ebp), %eax
	movl	%eax, 4(%esp)
	leal	LC11-"L00000000010$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	movl	12(%ebp), %eax
	addl	8(%ebp), %eax
	addl	16(%ebp), %eax
	addl	20(%ebp), %eax
	addl	24(%ebp), %eax
	addl	28(%ebp), %eax
	addl	32(%ebp), %eax
	addl	$36, %esp
	popl	%ebx
	leave
	ret
	.cstring
	.align 2
LC12:
	.ascii "ffi_test_10(%d,%d,%f,%d,%f,%d,%d,%d)\12\0"
	.text
.globl _ffi_test_10
_ffi_test_10:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$68, %esp
	call	L33
"L00000000011$pb":
L33:
	popl	%ebx
	movl	16(%ebp), %eax
	movl	%eax, -16(%ebp)
	movl	20(%ebp), %eax
	movl	%eax, -12(%ebp)
	cvtss2sd	28(%ebp), %xmm0
	movl	40(%ebp), %eax
	movl	%eax, 40(%esp)
	movl	36(%ebp), %eax
	movl	%eax, 36(%esp)
	movl	32(%ebp), %eax
	movl	%eax, 32(%esp)
	movsd	%xmm0, 24(%esp)
	movl	24(%ebp), %eax
	movl	%eax, 20(%esp)
	movsd	-16(%ebp), %xmm0
	movsd	%xmm0, 12(%esp)
	movl	12(%ebp), %eax
	movl	%eax, 8(%esp)
	movl	8(%ebp), %eax
	movl	%eax, 4(%esp)
	leal	LC12-"L00000000011$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	movl	12(%ebp), %edx
	movl	8(%ebp), %eax
	subl	%edx, %eax
	cvtsi2sd	%eax, %xmm0
	movapd	%xmm0, %xmm1
	subsd	-16(%ebp), %xmm1
	cvtsi2sd	24(%ebp), %xmm0
	subsd	%xmm0, %xmm1
	cvtss2sd	28(%ebp), %xmm0
	subsd	%xmm0, %xmm1
	cvtsi2sd	32(%ebp), %xmm0
	subsd	%xmm0, %xmm1
	cvtsi2sd	36(%ebp), %xmm0
	subsd	%xmm0, %xmm1
	cvtsi2sd	40(%ebp), %xmm0
	movapd	%xmm1, %xmm2
	subsd	%xmm0, %xmm2
	movapd	%xmm2, %xmm0
	cvttsd2si	%xmm0, %eax
	addl	$68, %esp
	popl	%ebx
	leave
	ret
	.cstring
LC13:
	.ascii "ffi_test_11(%d,{%d,%d},%d)\12\0"
	.text
.globl _ffi_test_11
_ffi_test_11:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$36, %esp
	call	L36
"L00000000012$pb":
L36:
	popl	%ebx
	movl	16(%ebp), %edx
	movl	12(%ebp), %ecx
	movl	20(%ebp), %eax
	movl	%eax, 16(%esp)
	movl	%edx, 12(%esp)
	movl	%ecx, 8(%esp)
	movl	8(%ebp), %eax
	movl	%eax, 4(%esp)
	leal	LC13-"L00000000012$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	movl	12(%ebp), %eax
	movl	%eax, %edx
	imull	8(%ebp), %edx
	movl	16(%ebp), %eax
	imull	20(%ebp), %eax
	leal	(%edx,%eax), %eax
	addl	$36, %esp
	popl	%ebx
	leave
	ret
	.cstring
	.align 2
LC14:
	.ascii "ffi_test_12(%d,%d,{%f,%f,%f,%f},%d,%d,%d)\12\0"
	.text
.globl _ffi_test_12
_ffi_test_12:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$68, %esp
	call	L39
"L00000000013$pb":
L39:
	popl	%ebx
	movss	28(%ebp), %xmm0
	cvtss2sd	%xmm0, %xmm1
	movss	24(%ebp), %xmm0
	cvtss2sd	%xmm0, %xmm2
	movss	20(%ebp), %xmm0
	cvtss2sd	%xmm0, %xmm3
	movss	16(%ebp), %xmm0
	cvtss2sd	%xmm0, %xmm0
	movl	40(%ebp), %eax
	movl	%eax, 52(%esp)
	movl	36(%ebp), %eax
	movl	%eax, 48(%esp)
	movl	32(%ebp), %eax
	movl	%eax, 44(%esp)
	movsd	%xmm1, 36(%esp)
	movsd	%xmm2, 28(%esp)
	movsd	%xmm3, 20(%esp)
	movsd	%xmm0, 12(%esp)
	movl	12(%ebp), %eax
	movl	%eax, 8(%esp)
	movl	8(%ebp), %eax
	movl	%eax, 4(%esp)
	leal	LC14-"L00000000013$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	movl	12(%ebp), %eax
	addl	8(%ebp), %eax
	cvtsi2ss	%eax, %xmm1
	movss	16(%ebp), %xmm0
	addss	%xmm0, %xmm1
	movss	20(%ebp), %xmm0
	addss	%xmm0, %xmm1
	movss	24(%ebp), %xmm0
	addss	%xmm0, %xmm1
	movss	28(%ebp), %xmm0
	addss	%xmm0, %xmm1
	cvtsi2ss	32(%ebp), %xmm0
	addss	%xmm0, %xmm1
	cvtsi2ss	36(%ebp), %xmm0
	addss	%xmm0, %xmm1
	cvtsi2ss	40(%ebp), %xmm0
	addss	%xmm1, %xmm0
	cvttss2si	%xmm0, %eax
	addl	$68, %esp
	popl	%ebx
	leave
	ret
	.cstring
	.align 2
LC15:
	.ascii "ffi_test_13(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d)\12\0"
	.text
.globl _ffi_test_13
_ffi_test_13:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$52, %esp
	call	L42
"L00000000014$pb":
L42:
	popl	%ebx
	movl	48(%ebp), %eax
	movl	%eax, 44(%esp)
	movl	44(%ebp), %eax
	movl	%eax, 40(%esp)
	movl	40(%ebp), %eax
	movl	%eax, 36(%esp)
	movl	36(%ebp), %eax
	movl	%eax, 32(%esp)
	movl	32(%ebp), %eax
	movl	%eax, 28(%esp)
	movl	28(%ebp), %eax
	movl	%eax, 24(%esp)
	movl	24(%ebp), %eax
	movl	%eax, 20(%esp)
	movl	20(%ebp), %eax
	movl	%eax, 16(%esp)
	movl	16(%ebp), %eax
	movl	%eax, 12(%esp)
	movl	12(%ebp), %eax
	movl	%eax, 8(%esp)
	movl	8(%ebp), %eax
	movl	%eax, 4(%esp)
	leal	LC15-"L00000000014$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	movl	12(%ebp), %eax
	addl	8(%ebp), %eax
	addl	16(%ebp), %eax
	addl	20(%ebp), %eax
	addl	24(%ebp), %eax
	addl	28(%ebp), %eax
	addl	32(%ebp), %eax
	addl	36(%ebp), %eax
	addl	40(%ebp), %eax
	addl	44(%ebp), %eax
	addl	48(%ebp), %eax
	addl	$52, %esp
	popl	%ebx
	leave
	ret
	.cstring
LC16:
	.ascii "ffi_test_14(%d,%d)\12\0"
	.text
.globl _ffi_test_14
_ffi_test_14:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$36, %esp
	call	L45
"L00000000015$pb":
L45:
	popl	%ebx
	movl	12(%ebp), %eax
	movl	%eax, 8(%esp)
	movl	8(%ebp), %eax
	movl	%eax, 4(%esp)
	leal	LC16-"L00000000015$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	movl	8(%ebp), %eax
	movl	%eax, -16(%ebp)
	movl	12(%ebp), %eax
	movl	%eax, -12(%ebp)
	movl	-16(%ebp), %eax
	movl	-12(%ebp), %edx
	addl	$36, %esp
	popl	%ebx
	leave
	ret
	.cstring
LC17:
	.ascii "foo\0"
LC18:
	.ascii "bar\0"
	.text
.globl _ffi_test_15
_ffi_test_15:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$36, %esp
	call	L51
"L00000000016$pb":
L51:
	popl	%ebx
	movl	12(%ebp), %eax
	movl	%eax, 4(%esp)
	movl	8(%ebp), %eax
	movl	%eax, (%esp)
	call	L_strcmp$stub
	testl	%eax, %eax
	je	L47
	leal	LC17-"L00000000016$pb"(%ebx), %eax
	movl	%eax, -12(%ebp)
	jmp	L49
L47:
	leal	LC18-"L00000000016$pb"(%ebx), %eax
	movl	%eax, -12(%ebp)
L49:
	movl	-12(%ebp), %eax
	addl	$36, %esp
	popl	%ebx
	leave
	ret
.globl _ffi_test_16
_ffi_test_16:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movl	8(%ebp), %edx
	movl	12(%ebp), %eax
	movl	%eax, -20(%ebp)
	movl	16(%ebp), %eax
	movl	%eax, -16(%ebp)
	movl	20(%ebp), %eax
	movl	%eax, -12(%ebp)
	movl	-20(%ebp), %eax
	movl	%eax, (%edx)
	movl	-16(%ebp), %eax
	movl	%eax, 4(%edx)
	movl	-12(%ebp), %eax
	movl	%eax, 8(%edx)
	movl	%edx, %eax
	leave
	ret	$4
.globl _ffi_test_17
_ffi_test_17:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movl	8(%ebp), %eax
	movl	%eax, -12(%ebp)
	movl	-12(%ebp), %eax
	leave
	ret
	.cstring
LC19:
	.ascii "ffi_test_18(%d,%d,%d,%d)\12\0"
	.text
.globl _ffi_test_18
_ffi_test_18:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$36, %esp
	call	L58
"L00000000017$pb":
L58:
	popl	%ebx
	movl	20(%ebp), %eax
	movl	%eax, 16(%esp)
	movl	16(%ebp), %eax
	movl	%eax, 12(%esp)
	movl	12(%ebp), %eax
	movl	%eax, 8(%esp)
	movl	8(%ebp), %eax
	movl	%eax, 4(%esp)
	leal	LC19-"L00000000017$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	movl	12(%ebp), %eax
	movl	8(%ebp), %edx
	addl	%eax, %edx
	movl	16(%ebp), %eax
	imull	20(%ebp), %eax
	leal	(%edx,%eax), %eax
	addl	$36, %esp
	popl	%ebx
	leave
	ret	$16
.globl _ffi_test_19
_ffi_test_19:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movl	8(%ebp), %edx
	movl	12(%ebp), %eax
	movl	%eax, -20(%ebp)
	movl	16(%ebp), %eax
	movl	%eax, -16(%ebp)
	movl	20(%ebp), %eax
	movl	%eax, -12(%ebp)
	movl	-20(%ebp), %eax
	movl	%eax, (%edx)
	movl	-16(%ebp), %eax
	movl	%eax, 4(%edx)
	movl	-12(%ebp), %eax
	movl	%eax, 8(%edx)
	movl	%edx, %eax
	leave
	ret	$16
	.cstring
	.align 2
LC20:
	.ascii "ffi_test_20(%f,%f,%f,%f,%f,%f,%f,%f,%f)\12\0"
	.text
.globl _ffi_test_20
_ffi_test_20:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$164, %esp
	call	L63
"L00000000018$pb":
L63:
	popl	%ebx
	movl	8(%ebp), %eax
	movl	%eax, -16(%ebp)
	movl	12(%ebp), %eax
	movl	%eax, -12(%ebp)
	movl	16(%ebp), %eax
	movl	%eax, -24(%ebp)
	movl	20(%ebp), %eax
	movl	%eax, -20(%ebp)
	movl	24(%ebp), %eax
	movl	%eax, -32(%ebp)
	movl	28(%ebp), %eax
	movl	%eax, -28(%ebp)
	movl	32(%ebp), %eax
	movl	%eax, -40(%ebp)
	movl	36(%ebp), %eax
	movl	%eax, -36(%ebp)
	movl	40(%ebp), %eax
	movl	%eax, -48(%ebp)
	movl	44(%ebp), %eax
	movl	%eax, -44(%ebp)
	movl	48(%ebp), %eax
	movl	%eax, -56(%ebp)
	movl	52(%ebp), %eax
	movl	%eax, -52(%ebp)
	movl	56(%ebp), %eax
	movl	%eax, -64(%ebp)
	movl	60(%ebp), %eax
	movl	%eax, -60(%ebp)
	movl	64(%ebp), %eax
	movl	%eax, -72(%ebp)
	movl	68(%ebp), %eax
	movl	%eax, -68(%ebp)
	movl	72(%ebp), %eax
	movl	%eax, -80(%ebp)
	movl	76(%ebp), %eax
	movl	%eax, -76(%ebp)
	movsd	-80(%ebp), %xmm0
	movsd	%xmm0, 68(%esp)
	movsd	-72(%ebp), %xmm0
	movsd	%xmm0, 60(%esp)
	movsd	-64(%ebp), %xmm0
	movsd	%xmm0, 52(%esp)
	movsd	-56(%ebp), %xmm0
	movsd	%xmm0, 44(%esp)
	movsd	-48(%ebp), %xmm0
	movsd	%xmm0, 36(%esp)
	movsd	-40(%ebp), %xmm0
	movsd	%xmm0, 28(%esp)
	movsd	-32(%ebp), %xmm0
	movsd	%xmm0, 20(%esp)
	movsd	-24(%ebp), %xmm0
	movsd	%xmm0, 12(%esp)
	movsd	-16(%ebp), %xmm0
	movsd	%xmm0, 4(%esp)
	leal	LC20-"L00000000018$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	addl	$164, %esp
	popl	%ebx
	leave
	ret
.globl _ffi_test_21
_ffi_test_21:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$56, %esp
	movl	8(%ebp), %eax
	movl	%eax, -16(%ebp)
	movl	%eax, %edx
	sarl	$31, %edx
	movl	%edx, -12(%ebp)
	movl	12(%ebp), %eax
	movl	%eax, -48(%ebp)
	movl	%eax, %edx
	sarl	$31, %edx
	movl	%edx, -44(%ebp)
	movl	-16(%ebp), %eax
	mull	-48(%ebp)
	movl	%eax, -24(%ebp)
	movl	%edx, -20(%ebp)
	movl	-16(%ebp), %edx
	imull	-44(%ebp), %edx
	movl	%edx, -28(%ebp)
	movl	-20(%ebp), %ecx
	addl	-28(%ebp), %ecx
	movl	-48(%ebp), %eax
	imull	-12(%ebp), %eax
	addl	%eax, %ecx
	movl	%ecx, -20(%ebp)
	movl	-24(%ebp), %eax
	movl	-20(%ebp), %edx
	leave
	ret
	.cstring
LC21:
	.ascii "ffi_test_22(%ld,%lld,%lld)\12\0"
	.text
.globl _ffi_test_22
_ffi_test_22:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$52, %esp
	call	L68
"L00000000019$pb":
L68:
	popl	%ebx
	movl	12(%ebp), %eax
	movl	%eax, -16(%ebp)
	movl	16(%ebp), %eax
	movl	%eax, -12(%ebp)
	movl	20(%ebp), %eax
	movl	%eax, -24(%ebp)
	movl	24(%ebp), %eax
	movl	%eax, -20(%ebp)
	movl	-24(%ebp), %eax
	movl	-20(%ebp), %edx
	movl	%eax, 16(%esp)
	movl	%edx, 20(%esp)
	movl	-16(%ebp), %eax
	movl	-12(%ebp), %edx
	movl	%eax, 8(%esp)
	movl	%edx, 12(%esp)
	movl	8(%ebp), %eax
	movl	%eax, 4(%esp)
	leal	LC21-"L00000000019$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	movl	-24(%ebp), %eax
	movl	-20(%ebp), %edx
	movl	%eax, 8(%esp)
	movl	%edx, 12(%esp)
	movl	-16(%ebp), %eax
	movl	-12(%ebp), %edx
	movl	%eax, (%esp)
	movl	%edx, 4(%esp)
	call	L___divdi3$stub
	addl	8(%ebp), %eax
	addl	$52, %esp
	popl	%ebx
	leave
	ret
.globl _ffi_test_23
_ffi_test_23:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movl	8(%ebp), %eax
	movss	(%eax), %xmm1
	movl	12(%ebp), %eax
	movss	(%eax), %xmm0
	movaps	%xmm1, %xmm2
	mulss	%xmm0, %xmm2
	movl	8(%ebp), %eax
	addl	$4, %eax
	movss	(%eax), %xmm1
	movl	12(%ebp), %eax
	addl	$4, %eax
	movss	(%eax), %xmm0
	mulss	%xmm1, %xmm0
	addss	%xmm0, %xmm2
	movl	8(%ebp), %eax
	addl	$8, %eax
	movss	(%eax), %xmm1
	movl	12(%ebp), %eax
	addl	$8, %eax
	movss	(%eax), %xmm0
	mulss	%xmm1, %xmm0
	addss	%xmm2, %xmm0
	movss	%xmm0, -12(%ebp)
	flds	-12(%ebp)
	leave
	ret
.globl _ffi_test_24
_ffi_test_24:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movb	$1, -9(%ebp)
	movzbl	-9(%ebp), %eax
	leave
	ret
.globl _ffi_test_25
_ffi_test_25:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movb	$1, -10(%ebp)
	movb	$2, -9(%ebp)
	movzwl	-10(%ebp), %eax
	leave
	ret
.globl _ffi_test_26
_ffi_test_26:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movl	8(%ebp), %eax
	movb	$1, -11(%ebp)
	movb	$2, -10(%ebp)
	movb	$3, -9(%ebp)
	movzwl	-11(%ebp), %edx
	movw	%dx, (%eax)
	movzbl	-9(%ebp), %edx
	movb	%dl, 2(%eax)
	leave
	ret	$4
.globl _ffi_test_27
_ffi_test_27:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movb	$1, -12(%ebp)
	movb	$2, -11(%ebp)
	movb	$3, -10(%ebp)
	movb	$4, -9(%ebp)
	movl	-12(%ebp), %eax
	leave
	ret
.globl _ffi_test_28
_ffi_test_28:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movl	8(%ebp), %eax
	movb	$1, -13(%ebp)
	movb	$2, -12(%ebp)
	movb	$3, -11(%ebp)
	movb	$4, -10(%ebp)
	movb	$5, -9(%ebp)
	movl	-13(%ebp), %edx
	movl	%edx, (%eax)
	movzbl	-9(%ebp), %edx
	movb	%dl, 4(%eax)
	leave
	ret	$4
.globl _ffi_test_29
_ffi_test_29:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movl	8(%ebp), %eax
	movb	$1, -14(%ebp)
	movb	$2, -13(%ebp)
	movb	$3, -12(%ebp)
	movb	$4, -11(%ebp)
	movb	$5, -10(%ebp)
	movb	$6, -9(%ebp)
	movl	-14(%ebp), %edx
	movl	%edx, (%eax)
	movzwl	-10(%ebp), %edx
	movw	%dx, 4(%eax)
	leave
	ret	$4
.globl _ffi_test_30
_ffi_test_30:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movl	8(%ebp), %edx
	movb	$1, -15(%ebp)
	movb	$2, -14(%ebp)
	movb	$3, -13(%ebp)
	movb	$4, -12(%ebp)
	movb	$5, -11(%ebp)
	movb	$6, -10(%ebp)
	movb	$7, -9(%ebp)
	movl	-15(%ebp), %eax
	movl	%eax, (%edx)
	movzwl	-11(%ebp), %eax
	movw	%ax, 4(%edx)
	movzbl	-9(%ebp), %eax
	movb	%al, 6(%edx)
	movl	%edx, %eax
	leave
	ret	$4
.globl _ffi_test_31
_ffi_test_31:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$8, %esp
	leave
	ret
.globl _ffi_test_32
_ffi_test_32:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movsd	8(%ebp), %xmm1
	movsd	16(%ebp), %xmm0
	addsd	%xmm0, %xmm1
	cvtsi2sd	24(%ebp), %xmm0
	mulsd	%xmm1, %xmm0
	movsd	%xmm0, -16(%ebp)
	fldl	-16(%ebp)
	leave
	ret
.globl _ffi_test_33
_ffi_test_33:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movss	8(%ebp), %xmm1
	movss	12(%ebp), %xmm0
	addss	%xmm0, %xmm1
	cvtsi2ss	16(%ebp), %xmm0
	mulss	%xmm1, %xmm0
	cvtss2sd	%xmm0, %xmm0
	movsd	%xmm0, -16(%ebp)
	fldl	-16(%ebp)
	leave
	ret
.globl _ffi_test_34
_ffi_test_34:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movss	8(%ebp), %xmm1
	movl	12(%ebp), %eax
	cvtsi2ss	%eax, %xmm0
	addss	%xmm0, %xmm1
	cvtsi2ss	16(%ebp), %xmm0
	mulss	%xmm1, %xmm0
	cvtss2sd	%xmm0, %xmm0
	movsd	%xmm0, -16(%ebp)
	fldl	-16(%ebp)
	leave
	ret
.globl _ffi_test_35
_ffi_test_35:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movl	8(%ebp), %edx
	movl	12(%ebp), %eax
	leal	(%edx,%eax), %eax
	imull	16(%ebp), %eax
	cvtsi2sd	%eax, %xmm0
	movsd	%xmm0, -16(%ebp)
	fldl	-16(%ebp)
	leave
	ret
.globl _ffi_test_36
_ffi_test_36:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$24, %esp
	movsd	12(%ebp), %xmm0
	movsd	%xmm0, -16(%ebp)
	fldl	-16(%ebp)
	leave
	ret
.lcomm _global_var.12587,4,2
	.cstring
LC22:
	.ascii "ffi_test_37\0"
LC23:
	.ascii "global_var is %d\12\0"
	.text
.globl _ffi_test_37
_ffi_test_37:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	subl	$20, %esp
	call	L99
"L00000000020$pb":
L99:
	popl	%ebx
	leal	LC22-"L00000000020$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_puts$stub
	leal	_global_var.12587-"L00000000020$pb"(%ebx), %eax
	movl	(%eax), %edx
	movl	%edx, %eax
	addl	%eax, %eax
	leal	(%eax,%edx), %ecx
	leal	_global_var.12587-"L00000000020$pb"(%ebx), %eax
	movl	(%eax), %eax
	leal	(%eax,%eax), %edx
	leal	_global_var.12587-"L00000000020$pb"(%ebx), %eax
	movl	(%eax), %eax
	movl	%ecx, 8(%esp)
	movl	%edx, 4(%esp)
	movl	%eax, (%esp)
	movl	8(%ebp), %eax
	call	*%eax
	movl	%eax, %edx
	leal	_global_var.12587-"L00000000020$pb"(%ebx), %eax
	movl	%edx, (%eax)
	leal	_global_var.12587-"L00000000020$pb"(%ebx), %eax
	movl	(%eax), %eax
	movl	%eax, 4(%esp)
	leal	LC23-"L00000000020$pb"(%ebx), %eax
	movl	%eax, (%esp)
	call	L_printf$stub
	leal	_global_var.12587-"L00000000020$pb"(%ebx), %eax
	movl	(%eax), %eax
	addl	$20, %esp
	popl	%ebx
	leave
	ret
.comm _our_exception_port,4,2
.comm _userenv,256,5
.comm _T,4,2
.comm _stack_chain,4,2
.comm _ds_size,4,2
.comm _rs_size,4,2
.comm _stage2,1,0
.comm _profiling_p,1,0
.comm _signal_number,4,2
.comm _signal_fault_addr,4,2
.comm _signal_callstack_top,4,2
.comm _secure_gc,1,0
.comm _data_heap,4,2
.comm _cards_offset,4,2
.comm _newspace,4,2
.comm _nursery,4,2
.comm _gc_time,8,3
.comm _nursery_collections,4,2
.comm _aging_collections,4,2
.comm _cards_scanned,4,2
.comm _performing_gc,1,0
.comm _collecting_gen,4,2
.comm _collecting_aging_again,1,0
.comm _last_code_heap_scan,4,2
.comm _growing_data_heap,1,0
.comm _old_data_heap,4,2
.comm _gc_jmp,72,5
.comm _heap_scan_ptr,4,2
.comm _gc_off,1,0
.comm _gc_locals_region,4,2
.comm _gc_locals,4,2
.comm _extra_roots_region,4,2
.comm _extra_roots,4,2
.comm _bignum_zero,4,2
.comm _bignum_pos_one,4,2
.comm _bignum_neg_one,4,2
.comm _code_heap,8,2
.comm _data_relocation_base,4,2
.comm _code_relocation_base,4,2
.comm _posix_argc,4,2
.comm _posix_argv,4,2
	.section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5
L___divdi3$stub:
	.indirect_symbol ___divdi3
	hlt ; hlt ; hlt ; hlt ; hlt
L_printf$stub:
	.indirect_symbol _printf
	hlt ; hlt ; hlt ; hlt ; hlt
L_puts$stub:
	.indirect_symbol _puts
	hlt ; hlt ; hlt ; hlt ; hlt
L_strcmp$stub:
	.indirect_symbol _strcmp
	hlt ; hlt ; hlt ; hlt ; hlt
	.subsections_via_symbols