	.file	"optimize.c"
	.text
.globl set_row_1
	.type	set_row_1, @function
set_row_1:
.LFB2:
	pushq	%rbp
.LCFI0:
	movq	%rsp, %rbp
.LCFI1:
	movq	%rdi, -8(%rbp)
	movq	%rsi, -16(%rbp)
	movq	%rdx, -24(%rbp)
	movq	%rcx, -32(%rbp)
	movq	$0, -40(%rbp)
.L2:
	movq	-40(%rbp), %rax
	cmpq	-32(%rbp), %rax
	jge	.L1
	movq	-24(%rbp), %rax
	imulq	-32(%rbp), %rax
	addq	-40(%rbp), %rax
	leaq	0(,%rax,8), %rcx
	movq	-8(%rbp), %rsi
	movq	-40(%rbp), %rax
	leaq	0(,%rax,8), %rdx
	movq	-16(%rbp), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, (%rcx,%rsi)
	leaq	-40(%rbp), %rax
	incq	(%rax)
	jmp	.L2
.L1:
	leave
	ret
.LFE2:
	.size	set_row_1, .-set_row_1
.globl set_row_2
	.type	set_row_2, @function
set_row_2:
.LFB3:
	pushq	%rbp
.LCFI2:
	movq	%rsp, %rbp
.LCFI3:
	movq	%rdi, -8(%rbp)
	movq	%rsi, -16(%rbp)
	movq	%rdx, -24(%rbp)
	movq	%rcx, -32(%rbp)
	movq	-24(%rbp), %rax
	imulq	-32(%rbp), %rax
	movq	%rax, -48(%rbp)
	movq	$0, -40(%rbp)
.L6:
	movq	-40(%rbp), %rax
	cmpq	-32(%rbp), %rax
	jge	.L5
	movq	-40(%rbp), %rax
	addq	-48(%rbp), %rax
	leaq	0(,%rax,8), %rcx
	movq	-8(%rbp), %rsi
	movq	-40(%rbp), %rax
	leaq	0(,%rax,8), %rdx
	movq	-16(%rbp), %rax
	movq	(%rdx,%rax), %rax
	movq	%rax, (%rcx,%rsi)
	leaq	-40(%rbp), %rax
	incq	(%rax)
	jmp	.L6
.L5:
	leave
	ret
.LFE3:
	.size	set_row_2, .-set_row_2
.globl lower_1
	.type	lower_1, @function
lower_1:
.LFB4:
	pushq	%rbp
.LCFI4:
	movq	%rsp, %rbp
.LCFI5:
	pushq	%rbx
.LCFI6:
	subq	$24, %rsp
.LCFI7:
	movq	%rdi, -16(%rbp)
	movl	$0, -20(%rbp)
.L10:
	movl	-20(%rbp), %eax
	movslq	%eax,%rbx
	movq	-16(%rbp), %rdi
	call	strlen
	cmpq	%rax, %rbx
	jae	.L9
	movl	-20(%rbp), %eax
	movslq	%eax,%rdx
	movq	-16(%rbp), %rax
	cmpb	$64, (%rdx,%rax)
	jle	.L12
	movl	-20(%rbp), %eax
	movslq	%eax,%rdx
	movq	-16(%rbp), %rax
	cmpb	$90, (%rdx,%rax)
	jg	.L12
	movl	-20(%rbp), %eax
	movslq	%eax,%rsi
	movq	-16(%rbp), %rcx
	movl	-20(%rbp), %eax
	movslq	%eax,%rdx
	movq	-16(%rbp), %rax
	movzbl	(%rdx,%rax), %eax
	addl	$32, %eax
	movb	%al, (%rsi,%rcx)
.L12:
	leaq	-20(%rbp), %rax
	incl	(%rax)
	jmp	.L10
.L9:
	addq	$24, %rsp
	popq	%rbx
	leave
	ret
.LFE4:
	.size	lower_1, .-lower_1
.globl lower_2
	.type	lower_2, @function
lower_2:
.LFB5:
	pushq	%rbp
.LCFI8:
	movq	%rsp, %rbp
.LCFI9:
	subq	$16, %rsp
.LCFI10:
	movq	%rdi, -8(%rbp)
	movq	-8(%rbp), %rdi
	call	strlen
	movl	%eax, -16(%rbp)
	movl	$0, -12(%rbp)
.L15:
	movl	-12(%rbp), %eax
	cmpl	-16(%rbp), %eax
	jge	.L14
	movl	-12(%rbp), %eax
	movslq	%eax,%rdx
	movq	-8(%rbp), %rax
	cmpb	$64, (%rdx,%rax)
	jle	.L17
	movl	-12(%rbp), %eax
	movslq	%eax,%rdx
	movq	-8(%rbp), %rax
	cmpb	$90, (%rdx,%rax)
	jg	.L17
	movl	-12(%rbp), %eax
	movslq	%eax,%rsi
	movq	-8(%rbp), %rcx
	movl	-12(%rbp), %eax
	movslq	%eax,%rdx
	movq	-8(%rbp), %rax
	movzbl	(%rdx,%rax), %eax
	addl	$32, %eax
	movb	%al, (%rsi,%rcx)
.L17:
	leaq	-12(%rbp), %rax
	incl	(%rax)
	jmp	.L15
.L14:
	leave
	ret
.LFE5:
	.size	lower_2, .-lower_2
.globl lower_3
	.type	lower_3, @function
lower_3:
.LFB6:
	pushq	%rbp
.LCFI11:
	movq	%rsp, %rbp
.LCFI12:
	movq	%rdi, -8(%rbp)
	movb	$1, -13(%rbp)
	movl	$0, -12(%rbp)
.L20:
	cmpb	$0, -13(%rbp)
	je	.L19
	movl	-12(%rbp), %eax
	movslq	%eax,%rdx
	movq	-8(%rbp), %rax
	movzbl	(%rdx,%rax), %eax
	movb	%al, -13(%rbp)
	cmpb	$64, -13(%rbp)
	jle	.L22
	cmpb	$90, -13(%rbp)
	jg	.L22
	movl	-12(%rbp), %eax
	movslq	%eax,%rsi
	movq	-8(%rbp), %rcx
	movl	-12(%rbp), %eax
	movslq	%eax,%rdx
	movq	-8(%rbp), %rax
	movzbl	(%rdx,%rax), %eax
	addl	$32, %eax
	movb	%al, (%rsi,%rcx)
.L22:
	leaq	-12(%rbp), %rax
	incl	(%rax)
	jmp	.L20
.L19:
	leave
	ret
.LFE6:
	.size	lower_3, .-lower_3
.globl lower_4
	.type	lower_4, @function
lower_4:
.LFB7:
	pushq	%rbp
.LCFI13:
	movq	%rsp, %rbp
.LCFI14:
	movq	%rdi, -8(%rbp)
	movb	$1, -13(%rbp)
	movl	$0, -12(%rbp)
.L25:
	cmpb	$0, -13(%rbp)
	je	.L24
	movl	-12(%rbp), %eax
	movslq	%eax,%rdx
	movq	-8(%rbp), %rax
	movzbl	(%rdx,%rax), %eax
	movb	%al, -13(%rbp)
	cmpb	$64, -13(%rbp)
	jle	.L27
	cmpb	$90, -13(%rbp)
	jg	.L27
	movl	-12(%rbp), %eax
	movslq	%eax,%rsi
	movq	-8(%rbp), %rcx
	movl	-12(%rbp), %eax
	movslq	%eax,%rdx
	movq	-8(%rbp), %rax
	movzbl	(%rdx,%rax), %eax
	subl	$32, %eax
	movb	%al, (%rsi,%rcx)
.L27:
	leaq	-12(%rbp), %rax
	incl	(%rax)
	jmp	.L25
.L24:
	leave
	ret
.LFE7:
	.size	lower_4, .-lower_4
	.section	.rodata
	.align 8
.LC0:
	.long	0
	.long	1075052544
	.align 8
.LC1:
	.long	0
	.long	1075970048
	.text
.globl blur_1
	.type	blur_1, @function
blur_1:
.LFB8:
	pushq	%rbp
.LCFI15:
	movq	%rsp, %rbp
.LCFI16:
	movq	%rdi, -8(%rbp)
	movq	%rsi, -16(%rbp)
	movq	%rdx, -24(%rbp)
	movq	$1, -32(%rbp)
.L30:
	movq	-24(%rbp), %rax
	decq	%rax
	cmpq	-32(%rbp), %rax
	jle	.L29
	movq	$1, -40(%rbp)
.L33:
	movq	-24(%rbp), %rax
	decq	%rax
	cmpq	-40(%rbp), %rax
	jle	.L32
	movq	-32(%rbp), %rax
	imulq	-24(%rbp), %rax
	addq	-40(%rbp), %rax
	leaq	0(,%rax,8), %rcx
	movq	-16(%rbp), %rsi
	movq	-32(%rbp), %rax
	imulq	-24(%rbp), %rax
	addq	-40(%rbp), %rax
	leaq	0(,%rax,8), %rdx
	movq	-8(%rbp), %rax
	movlpd	(%rdx,%rax), %xmm1
	movlpd	.LC0(%rip), %xmm0
	mulsd	%xmm1, %xmm0
	movq	-32(%rbp), %rax
	decq	%rax
	imulq	-24(%rbp), %rax
	addq	-40(%rbp), %rax
	leaq	0(,%rax,8), %rdx
	movq	-8(%rbp), %rax
	addsd	(%rdx,%rax), %xmm0
	movq	-32(%rbp), %rax
	imulq	-24(%rbp), %rax
	addq	-40(%rbp), %rax
	salq	$3, %rax
	addq	-8(%rbp), %rax
	subq	$8, %rax
	addsd	(%rax), %xmm0
	movq	-32(%rbp), %rax
	incq	%rax
	imulq	-24(%rbp), %rax
	addq	-40(%rbp), %rax
	leaq	0(,%rax,8), %rdx
	movq	-8(%rbp), %rax
	addsd	(%rdx,%rax), %xmm0
	movq	-32(%rbp), %rax
	imulq	-24(%rbp), %rax
	addq	-40(%rbp), %rax
	salq	$3, %rax
	addq	-8(%rbp), %rax
	addq	$8, %rax
	movsd	%xmm0, %xmm1
	addsd	(%rax), %xmm1
	movlpd	.LC1(%rip), %xmm0
	divsd	%xmm0, %xmm1
	movsd	%xmm1, %xmm0
	movsd	%xmm0, (%rcx,%rsi)
	leaq	-40(%rbp), %rax
	incq	(%rax)
	jmp	.L33
.L32:
	leaq	-32(%rbp), %rax
	incq	(%rax)
	jmp	.L30
.L29:
	leave
	ret
.LFE8:
	.size	blur_1, .-blur_1
	.section	.rodata
	.align 8
.LC2:
	.long	0
	.long	1075052544
	.align 8
.LC3:
	.long	0
	.long	1075970048
	.text
.globl blur_2
	.type	blur_2, @function
blur_2:
.LFB9:
	pushq	%rbp
.LCFI17:
	movq	%rsp, %rbp
.LCFI18:
	movq	%rdi, -8(%rbp)
	movq	%rsi, -16(%rbp)
	movq	%rdx, -24(%rbp)
	movq	$1, -32(%rbp)
.L37:
	movq	-24(%rbp), %rax
	decq	%rax
	cmpq	-32(%rbp), %rax
	jle	.L38
	movq	$1, -40(%rbp)
.L40:
	movq	-24(%rbp), %rax
	decq	%rax
	cmpq	-40(%rbp), %rax
	jle	.L39
	movq	-24(%rbp), %rax
	imulq	-32(%rbp), %rax
	addq	-40(%rbp), %rax
	movq	%rax, -48(%rbp)
	leaq	-40(%rbp), %rax
	incq	(%rax)
	jmp	.L40
.L39:
	leaq	-32(%rbp), %rax
	incq	(%rax)
	jmp	.L37
.L38:
	movq	-48(%rbp), %rax
	leaq	0(,%rax,8), %rcx
	movq	-16(%rbp), %rsi
	movq	-48(%rbp), %rax
	leaq	0(,%rax,8), %rdx
	movq	-8(%rbp), %rax
	movlpd	(%rdx,%rax), %xmm1
	movlpd	.LC2(%rip), %xmm0
	mulsd	%xmm1, %xmm0
	movq	-24(%rbp), %rdx
	movq	-48(%rbp), %rax
	subq	%rdx, %rax
	leaq	0(,%rax,8), %rdx
	movq	-8(%rbp), %rax
	addsd	(%rdx,%rax), %xmm0
	movq	-48(%rbp), %rax
	salq	$3, %rax
	addq	-8(%rbp), %rax
	subq	$8, %rax
	addsd	(%rax), %xmm0
	movq	-24(%rbp), %rax
	addq	-48(%rbp), %rax
	leaq	0(,%rax,8), %rdx
	movq	-8(%rbp), %rax
	addsd	(%rdx,%rax), %xmm0
	movq	-48(%rbp), %rax
	salq	$3, %rax
	addq	-8(%rbp), %rax
	addq	$8, %rax
	movsd	%xmm0, %xmm1
	addsd	(%rax), %xmm1
	movlpd	.LC3(%rip), %xmm0
	divsd	%xmm0, %xmm1
	movsd	%xmm1, %xmm0
	movsd	%xmm0, (%rcx,%rsi)
	leave
	ret
.LFE9:
	.size	blur_2, .-blur_2
	.section	.eh_frame,"a",@progbits
.Lframe1:
	.long	.LECIE1-.LSCIE1
.LSCIE1:
	.long	0x0
	.byte	0x1
	.string	""
	.uleb128 0x1
	.sleb128 -8
	.byte	0x10
	.byte	0xc
	.uleb128 0x7
	.uleb128 0x8
	.byte	0x90
	.uleb128 0x1
	.align 8
.LECIE1:
.LSFDE1:
	.long	.LEFDE1-.LASFDE1
.LASFDE1:
	.long	.LASFDE1-.Lframe1
	.quad	.LFB2
	.quad	.LFE2-.LFB2
	.byte	0x4
	.long	.LCFI0-.LFB2
	.byte	0xe
	.uleb128 0x10
	.byte	0x86
	.uleb128 0x2
	.byte	0x4
	.long	.LCFI1-.LCFI0
	.byte	0xd
	.uleb128 0x6
	.align 8
.LEFDE1:
.LSFDE3:
	.long	.LEFDE3-.LASFDE3
.LASFDE3:
	.long	.LASFDE3-.Lframe1
	.quad	.LFB3
	.quad	.LFE3-.LFB3
	.byte	0x4
	.long	.LCFI2-.LFB3
	.byte	0xe
	.uleb128 0x10
	.byte	0x86
	.uleb128 0x2
	.byte	0x4
	.long	.LCFI3-.LCFI2
	.byte	0xd
	.uleb128 0x6
	.align 8
.LEFDE3:
.LSFDE5:
	.long	.LEFDE5-.LASFDE5
.LASFDE5:
	.long	.LASFDE5-.Lframe1
	.quad	.LFB4
	.quad	.LFE4-.LFB4
	.byte	0x4
	.long	.LCFI4-.LFB4
	.byte	0xe
	.uleb128 0x10
	.byte	0x86
	.uleb128 0x2
	.byte	0x4
	.long	.LCFI5-.LCFI4
	.byte	0xd
	.uleb128 0x6
	.byte	0x4
	.long	.LCFI7-.LCFI5
	.byte	0x83
	.uleb128 0x3
	.align 8
.LEFDE5:
.LSFDE7:
	.long	.LEFDE7-.LASFDE7
.LASFDE7:
	.long	.LASFDE7-.Lframe1
	.quad	.LFB5
	.quad	.LFE5-.LFB5
	.byte	0x4
	.long	.LCFI8-.LFB5
	.byte	0xe
	.uleb128 0x10
	.byte	0x86
	.uleb128 0x2
	.byte	0x4
	.long	.LCFI9-.LCFI8
	.byte	0xd
	.uleb128 0x6
	.align 8
.LEFDE7:
.LSFDE9:
	.long	.LEFDE9-.LASFDE9
.LASFDE9:
	.long	.LASFDE9-.Lframe1
	.quad	.LFB6
	.quad	.LFE6-.LFB6
	.byte	0x4
	.long	.LCFI11-.LFB6
	.byte	0xe
	.uleb128 0x10
	.byte	0x86
	.uleb128 0x2
	.byte	0x4
	.long	.LCFI12-.LCFI11
	.byte	0xd
	.uleb128 0x6
	.align 8
.LEFDE9:
.LSFDE11:
	.long	.LEFDE11-.LASFDE11
.LASFDE11:
	.long	.LASFDE11-.Lframe1
	.quad	.LFB7
	.quad	.LFE7-.LFB7
	.byte	0x4
	.long	.LCFI13-.LFB7
	.byte	0xe
	.uleb128 0x10
	.byte	0x86
	.uleb128 0x2
	.byte	0x4
	.long	.LCFI14-.LCFI13
	.byte	0xd
	.uleb128 0x6
	.align 8
.LEFDE11:
.LSFDE13:
	.long	.LEFDE13-.LASFDE13
.LASFDE13:
	.long	.LASFDE13-.Lframe1
	.quad	.LFB8
	.quad	.LFE8-.LFB8
	.byte	0x4
	.long	.LCFI15-.LFB8
	.byte	0xe
	.uleb128 0x10
	.byte	0x86
	.uleb128 0x2
	.byte	0x4
	.long	.LCFI16-.LCFI15
	.byte	0xd
	.uleb128 0x6
	.align 8
.LEFDE13:
.LSFDE15:
	.long	.LEFDE15-.LASFDE15
.LASFDE15:
	.long	.LASFDE15-.Lframe1
	.quad	.LFB9
	.quad	.LFE9-.LFB9
	.byte	0x4
	.long	.LCFI17-.LFB9
	.byte	0xe
	.uleb128 0x10
	.byte	0x86
	.uleb128 0x2
	.byte	0x4
	.long	.LCFI18-.LCFI17
	.byte	0xd
	.uleb128 0x6
	.align 8
.LEFDE15:
	.section	.note.GNU-stack,"",@progbits
	.ident	"GCC: (GNU) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)"
