Given the following C code and unoptimized assembly code, your task is to generate highly optimized x86-64 assembly code.
C Code:

```c
#include <stdio.h>
int main(void) {
	int i,max=0;
	double l[40],r[40];
	for(i=0;i<40;i++){
		int ret=scanf("%lf %lf",&l[i],&r[i]);
		if(ret==EOF) break;
		if(i>max) max=i;
	}
	int al=0,bl=0,cl=0,dl=0;
	for(i=0;i<=max;i++){
		if(l[i]>=1.1){
			al++;
		}
		else if(l[i]>=0.6&&l[i]<1.1){
			bl++;
		}
		else if(l[i]>=0.2&&l[i]<0.6){
			cl++;
		}
		else{
			dl++;
		}
	}
	int ar=0,br=0,cr=0,dr=0;
	for(i=0;i<=max;i++){
		if(r[i]>=1.1){
			ar++;
		}
		else if(r[i]>=0.6&&r[i]<1.1){
			br++;
		}
		else if(r[i]>=0.2&&r[i]<0.6){
			cr++;
		}
		else{
			dr++;
		}
	}
	printf("%d %d\n",al,ar);
	printf("%d %d\n",bl,br);
	printf("%d %d\n",cl,cr);
	printf("%d %d\n",dl,dr);
	return 0;	
}

```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.section	.rodata
.LC0:
	.string	"%lf %lf"
.LC4:
	.string	"%d %d\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$704, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -696(%rbp)
	movl	$0, -700(%rbp)
	jmp	.L2
.L6:
	leaq	-336(%rbp), %rdx
	movl	-700(%rbp), %eax
	cltq
	salq	$3, %rax
	addq	%rax, %rdx
	leaq	-656(%rbp), %rcx
	movl	-700(%rbp), %eax
	cltq
	salq	$3, %rax
	addq	%rcx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	%eax, -660(%rbp)
	cmpl	$-1, -660(%rbp)
	je	.L43
	movl	-700(%rbp), %eax
	cmpl	-696(%rbp), %eax
	jle	.L5
	movl	-700(%rbp), %eax
	movl	%eax, -696(%rbp)
.L5:
	addl	$1, -700(%rbp)
.L2:
	cmpl	$39, -700(%rbp)
	jle	.L6
	jmp	.L4
.L43:
	nop
.L4:
	movl	$0, -692(%rbp)
	movl	$0, -688(%rbp)
	movl	$0, -684(%rbp)
	movl	$0, -680(%rbp)
	movl	$0, -700(%rbp)
	jmp	.L7
.L17:
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm0
	comisd	.LC1(%rip), %xmm0
	jb	.L41
	addl	$1, -692(%rbp)
	jmp	.L10
.L41:
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm0
	comisd	.LC2(%rip), %xmm0
	jb	.L11
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm1
	movsd	.LC1(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jbe	.L11
	addl	$1, -688(%rbp)
	jmp	.L10
.L11:
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm0
	comisd	.LC3(%rip), %xmm0
	jb	.L14
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm1
	movsd	.LC2(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jbe	.L14
	addl	$1, -684(%rbp)
	jmp	.L10
.L14:
	addl	$1, -680(%rbp)
.L10:
	addl	$1, -700(%rbp)
.L7:
	movl	-700(%rbp), %eax
	cmpl	-696(%rbp), %eax
	jle	.L17
	movl	$0, -676(%rbp)
	movl	$0, -672(%rbp)
	movl	$0, -668(%rbp)
	movl	$0, -664(%rbp)
	movl	$0, -700(%rbp)
	jmp	.L18
.L28:
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm0
	comisd	.LC1(%rip), %xmm0
	jb	.L42
	addl	$1, -676(%rbp)
	jmp	.L21
.L42:
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm0
	comisd	.LC2(%rip), %xmm0
	jb	.L22
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm1
	movsd	.LC1(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jbe	.L22
	addl	$1, -672(%rbp)
	jmp	.L21
.L22:
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm0
	comisd	.LC3(%rip), %xmm0
	jb	.L25
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm1
	movsd	.LC2(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jbe	.L25
	addl	$1, -668(%rbp)
	jmp	.L21
.L25:
	addl	$1, -664(%rbp)
.L21:
	addl	$1, -700(%rbp)
.L18:
	movl	-700(%rbp), %eax
	cmpl	-696(%rbp), %eax
	jle	.L28
	movl	-676(%rbp), %edx
	movl	-692(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-672(%rbp), %edx
	movl	-688(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-668(%rbp), %edx
	movl	-684(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-664(%rbp), %edx
	movl	-680(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L30
	call	__stack_chk_fail@PLT
.L30:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC1:
	.long	-1717986918
	.long	1072798105
	.align 8
.LC2:
	.long	858993459
	.long	1071854387
	.align 8
.LC3:
	.long	-1717986918
	.long	1070176665
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
```

Only output the optimized assembly code. Do not include any other text. Do not write any comments in the assembly code. Wrap the assembly code in ```assembly``` tags.
user
	.file	"temp.c"
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%lf %lf"
.LC8:
	.string	"%d %d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB23:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	xorl	%r14d, %r14d
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	xorl	%ebx, %ebx
	subq	$760, %rsp
	.cfi_def_cfa_offset 816
	movq	%fs:40, %rax
	movq	%rax, 744(%rsp)
	xorl	%eax, %eax
	leaq	416(%rsp), %rbp
	leaq	96(%rsp), %r12
	jmp	.L3
	.p2align 4,,10
	.p2align 3
.L110:
	cmpl	%ebx, %r14d
	cmovl	%ebx, %r14d
	addq	$1, %rbx
	cmpq	$40, %rbx
	je	.L2
.L3:
	leaq	0(,%rbx,8), %rax
	leaq	.LC0(%rip), %rdi
	movq	%rbp, %r15
	movq	%r12, %r13
	leaq	0(%rbp,%rax), %rdx
	leaq	(%r12,%rax), %rsi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	cmpl	$-1, %eax
	jne	.L110
.L2:
	leal	1(%r14), %eax
	cmpl	$3, %r14d
	jle	.L78
	movl	%eax, %edx
	pxor	%xmm9, %xmm9
	addq	$32, %r12
	movapd	.LC3(%rip), %xmm5
	shrl	$2, %edx
	movaps	%xmm9, 16(%rsp)
	movdqa	.LC4(%rip), %xmm6
	movapd	.LC1(%rip), %xmm4
	subl	$1, %edx
	movdqa	%xmm9, %xmm15
	movaps	%xmm9, (%rsp)
	movapd	.LC2(%rip), %xmm14
	salq	$5, %rdx
	movaps	%xmm5, 48(%rsp)
	addq	%r12, %rdx
	movaps	%xmm6, 64(%rsp)
	movaps	%xmm9, 32(%rsp)
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L111:
	addq	$32, %r12
.L5:
	movapd	16(%r13), %xmm1
	movapd	%xmm4, %xmm6
	movapd	0(%r13), %xmm0
	movapd	%xmm14, %xmm2
	movapd	%xmm4, %xmm5
	movapd	%xmm14, %xmm3
	movq	%r12, %r13
	cmplepd	%xmm1, %xmm6
	cmplepd	%xmm1, %xmm2
	movapd	%xmm1, %xmm7
	cmplepd	%xmm0, %xmm5
	cmplepd	%xmm0, %xmm3
	movapd	%xmm0, %xmm8
	cmpltpd	%xmm4, %xmm7
	cmpltpd	%xmm4, %xmm8
	movdqa	%xmm6, %xmm10
	pandn	%xmm2, %xmm10
	movdqa	%xmm5, %xmm11
	por	%xmm6, %xmm2
	movdqa	%xmm10, %xmm12
	pxor	.LC9(%rip), %xmm2
	pandn	%xmm3, %xmm11
	pand	%xmm7, %xmm12
	pandn	%xmm10, %xmm7
	movdqa	%xmm11, %xmm13
	por	%xmm7, %xmm2
	por	%xmm5, %xmm3
	movapd	48(%rsp), %xmm7
	pxor	.LC9(%rip), %xmm3
	pand	%xmm8, %xmm13
	pandn	%xmm11, %xmm8
	movaps	%xmm12, 80(%rsp)
	movdqa	%xmm2, %xmm11
	por	%xmm8, %xmm3
	movapd	%xmm7, %xmm8
	cmplepd	%xmm0, %xmm8
	cmplepd	%xmm1, %xmm7
	movdqa	%xmm3, %xmm12
	cmpltpd	%xmm14, %xmm0
	cmpltpd	%xmm14, %xmm1
	pand	%xmm8, %xmm12
	pandn	%xmm3, %xmm8
	movdqa	64(%rsp), %xmm3
	pand	%xmm7, %xmm11
	movdqa	%xmm12, %xmm10
	movdqa	%xmm11, %xmm9
	pandn	%xmm2, %xmm7
	pand	%xmm3, %xmm6
	pand	%xmm3, %xmm5
	pand	%xmm0, %xmm10
	shufps	$136, %xmm6, %xmm5
	movdqa	16(%rsp), %xmm6
	pand	%xmm1, %xmm9
	pandn	%xmm12, %xmm0
	shufps	$136, %xmm9, %xmm10
	pandn	%xmm11, %xmm1
	paddd	(%rsp), %xmm5
	por	%xmm8, %xmm0
	psubd	%xmm10, %xmm6
	por	%xmm7, %xmm1
	movdqa	%xmm13, %xmm2
	shufps	$136, 80(%rsp), %xmm2
	movaps	%xmm6, 16(%rsp)
	movdqa	32(%rsp), %xmm6
	shufps	$136, %xmm1, %xmm0
	psubd	%xmm2, %xmm15
	movaps	%xmm5, (%rsp)
	psubd	%xmm0, %xmm6
	movaps	%xmm6, 32(%rsp)
	cmpq	%r12, %rdx
	jne	.L111
	movdqa	%xmm6, %xmm0
	movdqa	%xmm6, %xmm9
	movdqa	16(%rsp), %xmm5
	movl	%eax, %ecx
	psrldq	$8, %xmm0
	movdqa	(%rsp), %xmm6
	andl	$-4, %ecx
	paddd	%xmm0, %xmm9
	movdqa	%xmm9, %xmm0
	psrldq	$4, %xmm0
	paddd	%xmm0, %xmm9
	movdqa	%xmm5, %xmm0
	psrldq	$8, %xmm0
	movd	%xmm9, %r13d
	paddd	%xmm5, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %r8d
	movdqa	%xmm15, %xmm0
	psrldq	$8, %xmm0
	paddd	%xmm15, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %ebx
	movdqa	%xmm6, %xmm0
	psrldq	$8, %xmm0
	paddd	%xmm6, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %edx
	testb	$3, %al
	je	.L6
.L4:
	movslq	%ecx, %rsi
	movsd	.LC5(%rip), %xmm0
	movsd	96(%rsp,%rsi,8), %xmm2
	comisd	%xmm0, %xmm2
	jb	.L112
	addl	$1, %edx
.L12:
	leal	1(%rcx), %esi
	cmpl	%esi, %r14d
	jl	.L15
	movslq	%esi, %rsi
	movsd	96(%rsp,%rsi,8), %xmm2
	comisd	%xmm0, %xmm2
	jnb	.L16
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L22
	comisd	%xmm2, %xmm0
	jbe	.L22
	addl	$1, %ebx
	jmp	.L21
.L24:
	addl	$1, %edx
.L29:
	addl	$3, %ecx
	cmpl	%ecx, %r14d
	jl	.L15
	movslq	%ecx, %rcx
	movsd	96(%rsp,%rcx,8), %xmm2
	comisd	%xmm0, %xmm2
	jb	.L113
	addl	$1, %edx
.L15:
	cmpl	$3, %r14d
	jle	.L79
	movapd	.LC3(%rip), %xmm5
	movdqa	.LC4(%rip), %xmm6
	movapd	.LC1(%rip), %xmm4
	movapd	.LC2(%rip), %xmm14
	movaps	%xmm5, 48(%rsp)
	movaps	%xmm6, 64(%rsp)
.L6:
	movl	%eax, %ecx
	pxor	%xmm9, %xmm9
	addq	$32, %rbp
	shrl	$2, %ecx
	movaps	%xmm9, 16(%rsp)
	movdqa	%xmm9, %xmm15
	subl	$1, %ecx
	movaps	%xmm9, (%rsp)
	salq	$5, %rcx
	movaps	%xmm9, 32(%rsp)
	addq	%rbp, %rcx
	jmp	.L42
	.p2align 4,,10
	.p2align 3
.L114:
	addq	$32, %rbp
.L42:
	movapd	16(%r15), %xmm1
	movapd	%xmm4, %xmm6
	movapd	(%r15), %xmm0
	movapd	%xmm14, %xmm2
	movapd	%xmm4, %xmm5
	movapd	%xmm14, %xmm3
	movq	%rbp, %r15
	cmplepd	%xmm1, %xmm6
	cmplepd	%xmm1, %xmm2
	movapd	%xmm1, %xmm7
	cmplepd	%xmm0, %xmm5
	cmplepd	%xmm0, %xmm3
	movapd	%xmm0, %xmm8
	cmpltpd	%xmm4, %xmm7
	cmpltpd	%xmm4, %xmm8
	movdqa	%xmm6, %xmm10
	pandn	%xmm2, %xmm10
	movdqa	%xmm5, %xmm11
	por	%xmm6, %xmm2
	movdqa	%xmm10, %xmm12
	pxor	.LC9(%rip), %xmm2
	pandn	%xmm3, %xmm11
	pand	%xmm7, %xmm12
	pandn	%xmm10, %xmm7
	movdqa	%xmm11, %xmm13
	por	%xmm7, %xmm2
	por	%xmm5, %xmm3
	movapd	48(%rsp), %xmm7
	pxor	.LC9(%rip), %xmm3
	pand	%xmm8, %xmm13
	pandn	%xmm11, %xmm8
	movaps	%xmm12, 80(%rsp)
	movdqa	%xmm2, %xmm11
	por	%xmm8, %xmm3
	movapd	%xmm7, %xmm8
	cmplepd	%xmm0, %xmm8
	cmplepd	%xmm1, %xmm7
	movdqa	%xmm3, %xmm12
	cmpltpd	%xmm14, %xmm0
	cmpltpd	%xmm14, %xmm1
	pand	%xmm8, %xmm12
	pandn	%xmm3, %xmm8
	movdqa	64(%rsp), %xmm3
	pand	%xmm7, %xmm11
	movdqa	%xmm12, %xmm10
	movdqa	%xmm11, %xmm9
	pandn	%xmm2, %xmm7
	pand	%xmm3, %xmm6
	pand	%xmm3, %xmm5
	pand	%xmm0, %xmm10
	shufps	$136, %xmm6, %xmm5
	movdqa	16(%rsp), %xmm6
	pand	%xmm1, %xmm9
	pandn	%xmm12, %xmm0
	shufps	$136, %xmm9, %xmm10
	pandn	%xmm11, %xmm1
	paddd	(%rsp), %xmm5
	por	%xmm8, %xmm0
	psubd	%xmm10, %xmm6
	por	%xmm7, %xmm1
	movdqa	%xmm13, %xmm2
	shufps	$136, 80(%rsp), %xmm2
	movaps	%xmm6, 16(%rsp)
	movdqa	32(%rsp), %xmm6
	shufps	$136, %xmm1, %xmm0
	psubd	%xmm2, %xmm15
	movaps	%xmm5, (%rsp)
	psubd	%xmm0, %xmm6
	movaps	%xmm6, 32(%rsp)
	cmpq	%rcx, %rbp
	jne	.L114
	movdqa	%xmm6, %xmm0
	movdqa	%xmm6, %xmm9
	movdqa	16(%rsp), %xmm4
	movl	%eax, %esi
	psrldq	$8, %xmm0
	andl	$-4, %esi
	paddd	%xmm0, %xmm9
	movdqa	%xmm9, %xmm0
	psrldq	$4, %xmm0
	paddd	%xmm0, %xmm9
	movdqa	%xmm4, %xmm0
	psrldq	$8, %xmm0
	movd	%xmm9, %r12d
	paddd	%xmm4, %xmm0
	movdqa	(%rsp), %xmm4
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %ebp
	movdqa	%xmm15, %xmm0
	psrldq	$8, %xmm0
	paddd	%xmm15, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %r15d
	movdqa	%xmm4, %xmm0
	psrldq	$8, %xmm0
	paddd	%xmm4, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %ecx
	testb	$3, %al
	je	.L43
	movsd	.LC5(%rip), %xmm0
.L41:
	movslq	%esi, %rax
	movsd	416(%rsp,%rax,8), %xmm2
	comisd	%xmm0, %xmm2
	jb	.L115
	addl	$1, %ecx
.L49:
	leal	1(%rsi), %eax
	cmpl	%eax, %r14d
	jl	.L43
	cltq
	movsd	416(%rsp,%rax,8), %xmm2
	comisd	%xmm0, %xmm2
	jnb	.L52
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L58
	comisd	%xmm2, %xmm0
	jbe	.L58
	addl	$1, %r15d
	jmp	.L57
.L60:
	addl	$1, %ecx
.L65:
	addl	$3, %esi
	cmpl	%esi, %r14d
	jl	.L43
	movslq	%esi, %rsi
	movsd	416(%rsp,%rsi,8), %xmm2
	comisd	%xmm0, %xmm2
	jb	.L116
	addl	$1, %ecx
.L43:
	leaq	.LC8(%rip), %r14
	movl	$1, %edi
	xorl	%eax, %eax
	movl	%r8d, (%rsp)
	movq	%r14, %rsi
	call	__printf_chk@PLT
	movl	%r15d, %ecx
	movl	%ebx, %edx
	movq	%r14, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movl	(%rsp), %edx
	movl	%ebp, %ecx
	movq	%r14, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	xorl	%eax, %eax
	movl	%r12d, %ecx
	movl	%r13d, %edx
	movq	%r14, %rsi
	movl	$1, %edi
	call	__printf_chk@PLT
	movq	744(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L117
	addq	$760, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
.L115:
	.cfi_restore_state
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L50
	comisd	%xmm2, %xmm0
	jbe	.L50
	addl	$1, %r15d
	jmp	.L49
.L112:
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L13
	comisd	%xmm2, %xmm0
	jbe	.L13
	addl	$1, %ebx
	jmp	.L12
.L50:
	comisd	.LC7(%rip), %xmm2
	jb	.L46
	comisd	%xmm2, %xmm1
	jbe	.L46
	addl	$1, %ebp
	jmp	.L49
.L13:
	comisd	.LC7(%rip), %xmm2
	jb	.L9
	comisd	%xmm2, %xmm1
	jbe	.L9
	addl	$1, %r8d
	jmp	.L12
.L58:
	comisd	.LC7(%rip), %xmm2
	jb	.L54
	comisd	%xmm2, %xmm1
	jbe	.L54
	addl	$1, %ebp
	jmp	.L57
.L22:
	comisd	.LC7(%rip), %xmm2
	jb	.L18
	comisd	%xmm2, %xmm1
	jbe	.L18
	addl	$1, %r8d
	jmp	.L21
.L46:
	addl	$1, %r12d
	jmp	.L49
.L9:
	addl	$1, %r13d
	jmp	.L12
.L52:
	addl	$1, %ecx
.L57:
	leal	2(%rsi), %eax
	cmpl	%eax, %r14d
	jl	.L43
	cltq
	movsd	416(%rsp,%rax,8), %xmm2
	comisd	%xmm0, %xmm2
	jnb	.L60
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L66
	comisd	%xmm2, %xmm0
	jbe	.L66
	addl	$1, %r15d
	jmp	.L65
.L66:
	comisd	.LC7(%rip), %xmm2
	jb	.L62
	comisd	%xmm2, %xmm1
	jbe	.L62
	addl	$1, %ebp
	jmp	.L65
.L16:
	addl	$1, %edx
.L21:
	leal	2(%rcx), %esi
	cmpl	%esi, %r14d
	jl	.L15
	movslq	%esi, %rsi
	movsd	96(%rsp,%rsi,8), %xmm2
	comisd	%xmm0, %xmm2
	jnb	.L24
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L30
	comisd	%xmm2, %xmm0
	jbe	.L30
	addl	$1, %ebx
	jmp	.L29
.L30:
	comisd	.LC7(%rip), %xmm2
	jb	.L26
	comisd	%xmm2, %xmm1
	jbe	.L26
	addl	$1, %r8d
	jmp	.L29
.L113:
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L36
	comisd	%xmm2, %xmm0
	jbe	.L36
	addl	$1, %ebx
	jmp	.L15
.L116:
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L72
	comisd	%xmm2, %xmm0
	jbe	.L72
	addl	$1, %r15d
	jmp	.L43
.L36:
	comisd	.LC7(%rip), %xmm2
	jb	.L39
	comisd	%xmm2, %xmm1
	jbe	.L39
	addl	$1, %r8d
	jmp	.L15
.L72:
	comisd	.LC7(%rip), %xmm2
	jb	.L75
	comisd	%xmm2, %xmm1
	jbe	.L75
	addl	$1, %ebp
	jmp	.L43
.L18:
	addl	$1, %r13d
	jmp	.L21
.L54:
	addl	$1, %r12d
	jmp	.L57
.L26:
	addl	$1, %r13d
	jmp	.L29
.L62:
	addl	$1, %r12d
	jmp	.L65
.L75:
	addl	$1, %r12d
	jmp	.L43
.L39:
	addl	$1, %r13d
	jmp	.L15
.L79:
	xorl	%r12d, %r12d
	xorl	%ebp, %ebp
	xorl	%r15d, %r15d
	xorl	%ecx, %ecx
	xorl	%esi, %esi
	jmp	.L41
.L78:
	xorl	%r13d, %r13d
	xorl	%r8d, %r8d
	xorl	%ebx, %ebx
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	jmp	.L4
.L117:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE23:
	.size	main, .-main
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC1:
	.long	-1717986918
	.long	1072798105
	.long	-1717986918
	.long	1072798105
	.align 16
.LC2:
	.long	858993459
	.long	1071854387
	.long	858993459
	.long	1071854387
	.align 16
.LC3:
	.long	-1717986918
	.long	1070176665
	.long	-1717986918
	.long	1070176665
	.align 16
.LC4:
	.quad	1
	.quad	1
	.set	.LC5,.LC1
	.set	.LC6,.LC2
	.set	.LC7,.LC3
	.align 16
.LC9:
	.quad	-1
	.quad	-1
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

rule
	.file	"temp.c"
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%lf %lf"
.LC8:
	.string	"%d %d\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB23:
	.cfi_startproc
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	xorl	%r14d, %r14d
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	xorl	%ebx, %ebx
	subq	$760, %rsp
	.cfi_def_cfa_offset 816
	movq	%fs:40, %rax
	movq	%rax, 744(%rsp)
	xorl	%eax, %eax
	leaq	416(%rsp), %rbp
	leaq	96(%rsp), %r12
	jmp	.L3
	.p2align 4,,10
	.p2align 3
.L110:
	cmpl	%ebx, %r14d
	cmovl	%ebx, %r14d
	addq	$1, %rbx
	cmpq	$40, %rbx
	je	.L2
.L3:
	leaq	0(,%rbx,8), %rax
	leaq	.LC0(%rip), %rdi
	movq	%rbp, %r15
	movq	%r12, %r13
	leaq	0(%rbp,%rax), %rdx
	leaq	(%r12,%rax), %rsi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	cmpl	$-1, %eax
	jne	.L110
.L2:
	leal	1(%r14), %eax
	cmpl	$3, %r14d
	jle	.L78
	movl	%eax, %edx
	pxor	%xmm9, %xmm9
	addq	$32, %r12
	movapd	.LC3(%rip), %xmm5
	shrl	$2, %edx
	movaps	%xmm9, 16(%rsp)
	movdqa	.LC4(%rip), %xmm6
	movapd	.LC1(%rip), %xmm4
	subl	$1, %edx
	movdqa	%xmm9, %xmm15
	movaps	%xmm9, (%rsp)
	movapd	.LC2(%rip), %xmm14
	salq	$5, %rdx
	movaps	%xmm5, 48(%rsp)
	addq	%r12, %rdx
	movaps	%xmm6, 64(%rsp)
	movaps	%xmm9, 32(%rsp)
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L111:
	addq	$32, %r12
.L5:
	movapd	16(%r13), %xmm1
	movapd	%xmm4, %xmm6
	movapd	0(%r13), %xmm0
	movapd	%xmm14, %xmm2
	movapd	%xmm4, %xmm5
	movapd	%xmm14, %xmm3
	movq	%r12, %r13
	cmplepd	%xmm1, %xmm6
	cmplepd	%xmm1, %xmm2
	movapd	%xmm1, %xmm7
	cmplepd	%xmm0, %xmm5
	cmplepd	%xmm0, %xmm3
	movapd	%xmm0, %xmm8
	cmpltpd	%xmm4, %xmm7
	cmpltpd	%xmm4, %xmm8
	movdqa	%xmm6, %xmm10
	pandn	%xmm2, %xmm10
	movdqa	%xmm5, %xmm11
	por	%xmm6, %xmm2
	movdqa	%xmm10, %xmm12
	pxor	.LC9(%rip), %xmm2
	pandn	%xmm3, %xmm11
	pand	%xmm7, %xmm12
	pandn	%xmm10, %xmm7
	movdqa	%xmm11, %xmm13
	por	%xmm7, %xmm2
	por	%xmm5, %xmm3
	movapd	48(%rsp), %xmm7
	pxor	.LC9(%rip), %xmm3
	pand	%xmm8, %xmm13
	pandn	%xmm11, %xmm8
	movaps	%xmm12, 80(%rsp)
	movdqa	%xmm2, %xmm11
	por	%xmm8, %xmm3
	movapd	%xmm7, %xmm8
	cmplepd	%xmm0, %xmm8
	cmplepd	%xmm1, %xmm7
	movdqa	%xmm3, %xmm12
	cmpltpd	%xmm14, %xmm0
	cmpltpd	%xmm14, %xmm1
	pand	%xmm8, %xmm12
	pandn	%xmm3, %xmm8
	movdqa	64(%rsp), %xmm3
	pand	%xmm7, %xmm11
	movdqa	%xmm12, %xmm10
	movdqa	%xmm11, %xmm9
	pandn	%xmm2, %xmm7
	pand	%xmm3, %xmm6
	pand	%xmm3, %xmm5
	pand	%xmm0, %xmm10
	shufps	$136, %xmm6, %xmm5
	movdqa	16(%rsp), %xmm6
	pand	%xmm1, %xmm9
	pandn	%xmm12, %xmm0
	shufps	$136, %xmm9, %xmm10
	pandn	%xmm11, %xmm1
	paddd	(%rsp), %xmm5
	por	%xmm8, %xmm0
	psubd	%xmm10, %xmm6
	por	%xmm7, %xmm1
	movdqa	%xmm13, %xmm2
	shufps	$136, 80(%rsp), %xmm2
	movaps	%xmm6, 16(%rsp)
	movdqa	32(%rsp), %xmm6
	shufps	$136, %xmm1, %xmm0
	psubd	%xmm2, %xmm15
	movaps	%xmm5, (%rsp)
	psubd	%xmm0, %xmm6
	movaps	%xmm6, 32(%rsp)
	cmpq	%r12, %rdx
	jne	.L111
	movdqa	%xmm6, %xmm0
	movdqa	%xmm6, %xmm9
	movdqa	16(%rsp), %xmm5
	movl	%eax, %ecx
	psrldq	$8, %xmm0
	movdqa	(%rsp), %xmm6
	andl	$-4, %ecx
	paddd	%xmm0, %xmm9
	movdqa	%xmm9, %xmm0
	psrldq	$4, %xmm0
	paddd	%xmm0, %xmm9
	movdqa	%xmm5, %xmm0
	psrldq	$8, %xmm0
	movd	%xmm9, %r13d
	paddd	%xmm5, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %r8d
	movdqa	%xmm15, %xmm0
	psrldq	$8, %xmm0
	paddd	%xmm15, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %ebx
	movdqa	%xmm6, %xmm0
	psrldq	$8, %xmm0
	paddd	%xmm6, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %edx
	testb	$3, %al
	je	.L6
.L4:
	movslq	%ecx, %rsi
	movsd	.LC5(%rip), %xmm0
	movsd	96(%rsp,%rsi,8), %xmm2
	comisd	%xmm0, %xmm2
	jb	.L112
	addl	$1, %edx
.L12:
	leal	1(%rcx), %esi
	cmpl	%esi, %r14d
	jl	.L15
	movslq	%esi, %rsi
	movsd	96(%rsp,%rsi,8), %xmm2
	comisd	%xmm0, %xmm2
	jnb	.L16
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L22
	comisd	%xmm2, %xmm0
	jbe	.L22
	addl	$1, %ebx
	jmp	.L21
.L24:
	addl	$1, %edx
.L29:
	addl	$3, %ecx
	cmpl	%ecx, %r14d
	jl	.L15
	movslq	%ecx, %rcx
	movsd	96(%rsp,%rcx,8), %xmm2
	comisd	%xmm0, %xmm2
	jb	.L113
	addl	$1, %edx
.L15:
	cmpl	$3, %r14d
	jle	.L79
	movapd	.LC3(%rip), %xmm5
	movdqa	.LC4(%rip), %xmm6
	movapd	.LC1(%rip), %xmm4
	movapd	.LC2(%rip), %xmm14
	movaps	%xmm5, 48(%rsp)
	movaps	%xmm6, 64(%rsp)
.L6:
	movl	%eax, %ecx
	pxor	%xmm9, %xmm9
	addq	$32, %rbp
	shrl	$2, %ecx
	movaps	%xmm9, 16(%rsp)
	movdqa	%xmm9, %xmm15
	subl	$1, %ecx
	movaps	%xmm9, (%rsp)
	salq	$5, %rcx
	movaps	%xmm9, 32(%rsp)
	addq	%rbp, %rcx
	jmp	.L42
	.p2align 4,,10
	.p2align 3
.L114:
	addq	$32, %rbp
.L42:
	movapd	16(%r15), %xmm1
	movapd	%xmm4, %xmm6
	movapd	(%r15), %xmm0
	movapd	%xmm14, %xmm2
	movapd	%xmm4, %xmm5
	movapd	%xmm14, %xmm3
	movq	%rbp, %r15
	cmplepd	%xmm1, %xmm6
	cmplepd	%xmm1, %xmm2
	movapd	%xmm1, %xmm7
	cmplepd	%xmm0, %xmm5
	cmplepd	%xmm0, %xmm3
	movapd	%xmm0, %xmm8
	cmpltpd	%xmm4, %xmm7
	cmpltpd	%xmm4, %xmm8
	movdqa	%xmm6, %xmm10
	pandn	%xmm2, %xmm10
	movdqa	%xmm5, %xmm11
	por	%xmm6, %xmm2
	movdqa	%xmm10, %xmm12
	pxor	.LC9(%rip), %xmm2
	pandn	%xmm3, %xmm11
	pand	%xmm7, %xmm12
	pandn	%xmm10, %xmm7
	movdqa	%xmm11, %xmm13
	por	%xmm7, %xmm2
	por	%xmm5, %xmm3
	movapd	48(%rsp), %xmm7
	pxor	.LC9(%rip), %xmm3
	pand	%xmm8, %xmm13
	pandn	%xmm11, %xmm8
	movaps	%xmm12, 80(%rsp)
	movdqa	%xmm2, %xmm11
	por	%xmm8, %xmm3
	movapd	%xmm7, %xmm8
	cmplepd	%xmm0, %xmm8
	cmplepd	%xmm1, %xmm7
	movdqa	%xmm3, %xmm12
	cmpltpd	%xmm14, %xmm0
	cmpltpd	%xmm14, %xmm1
	pand	%xmm8, %xmm12
	pandn	%xmm3, %xmm8
	movdqa	64(%rsp), %xmm3
	pand	%xmm7, %xmm11
	movdqa	%xmm12, %xmm10
	movdqa	%xmm11, %xmm9
	pandn	%xmm2, %xmm7
	pand	%xmm3, %xmm6
	pand	%xmm3, %xmm5
	pand	%xmm0, %xmm10
	shufps	$136, %xmm6, %xmm5
	movdqa	16(%rsp), %xmm6
	pand	%xmm1, %xmm9
	pandn	%xmm12, %xmm0
	shufps	$136, %xmm9, %xmm10
	pandn	%xmm11, %xmm1
	paddd	(%rsp), %xmm5
	por	%xmm8, %xmm0
	psubd	%xmm10, %xmm6
	por	%xmm7, %xmm1
	movdqa	%xmm13, %xmm2
	shufps	$136, 80(%rsp), %xmm2
	movaps	%xmm6, 16(%rsp)
	movdqa	32(%rsp), %xmm6
	shufps	$136, %xmm1, %xmm0
	psubd	%xmm2, %xmm15
	movaps	%xmm5, (%rsp)
	psubd	%xmm0, %xmm6
	movaps	%xmm6, 32(%rsp)
	cmpq	%rcx, %rbp
	jne	.L114
	movdqa	%xmm6, %xmm0
	movdqa	%xmm6, %xmm9
	movdqa	16(%rsp), %xmm4
	movl	%eax, %esi
	psrldq	$8, %xmm0
	andl	$-4, %esi
	paddd	%xmm0, %xmm9
	movdqa	%xmm9, %xmm0
	psrldq	$4, %xmm0
	paddd	%xmm0, %xmm9
	movdqa	%xmm4, %xmm0
	psrldq	$8, %xmm0
	movd	%xmm9, %r12d
	paddd	%xmm4, %xmm0
	movdqa	(%rsp), %xmm4
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %ebp
	movdqa	%xmm15, %xmm0
	psrldq	$8, %xmm0
	paddd	%xmm15, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %r15d
	movdqa	%xmm4, %xmm0
	psrldq	$8, %xmm0
	paddd	%xmm4, %xmm0
	movdqa	%xmm0, %xmm1
	psrldq	$4, %xmm1
	paddd	%xmm1, %xmm0
	movd	%xmm0, %ecx
	testb	$3, %al
	je	.L43
	movsd	.LC5(%rip), %xmm0
.L41:
	movslq	%esi, %rax
	movsd	416(%rsp,%rax,8), %xmm2
	comisd	%xmm0, %xmm2
	jb	.L115
	addl	$1, %ecx
.L49:
	leal	1(%rsi), %eax
	cmpl	%eax, %r14d
	jl	.L43
	cltq
	movsd	416(%rsp,%rax,8), %xmm2
	comisd	%xmm0, %xmm2
	jnb	.L52
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L58
	comisd	%xmm2, %xmm0
	jbe	.L58
	addl	$1, %r15d
	jmp	.L57
.L60:
	addl	$1, %ecx
.L65:
	addl	$3, %esi
	cmpl	%esi, %r14d
	jl	.L43
	movslq	%esi, %rsi
	movsd	416(%rsp,%rsi,8), %xmm2
	comisd	%xmm0, %xmm2
	jb	.L116
	addl	$1, %ecx
.L43:
	leaq	.LC8(%rip), %r14
	movl	$1, %edi
	xorl	%eax, %eax
	movl	%r8d, (%rsp)
	movq	%r14, %rsi
	call	__printf_chk@PLT
	movl	%r15d, %ecx
	movl	%ebx, %edx
	movq	%r14, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	movl	(%rsp), %edx
	movl	%ebp, %ecx
	movq	%r14, %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	call	__printf_chk@PLT
	xorl	%eax, %eax
	movl	%r12d, %ecx
	movl	%r13d, %edx
	movq	%r14, %rsi
	movl	$1, %edi
	call	__printf_chk@PLT
	movq	744(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L117
	addq	$760, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
.L115:
	.cfi_restore_state
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L50
	comisd	%xmm2, %xmm0
	jbe	.L50
	addl	$1, %r15d
	jmp	.L49
.L112:
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L13
	comisd	%xmm2, %xmm0
	jbe	.L13
	addl	$1, %ebx
	jmp	.L12
.L50:
	comisd	.LC7(%rip), %xmm2
	jb	.L46
	comisd	%xmm2, %xmm1
	jbe	.L46
	addl	$1, %ebp
	jmp	.L49
.L13:
	comisd	.LC7(%rip), %xmm2
	jb	.L9
	comisd	%xmm2, %xmm1
	jbe	.L9
	addl	$1, %r8d
	jmp	.L12
.L58:
	comisd	.LC7(%rip), %xmm2
	jb	.L54
	comisd	%xmm2, %xmm1
	jbe	.L54
	addl	$1, %ebp
	jmp	.L57
.L22:
	comisd	.LC7(%rip), %xmm2
	jb	.L18
	comisd	%xmm2, %xmm1
	jbe	.L18
	addl	$1, %r8d
	jmp	.L21
.L46:
	addl	$1, %r12d
	jmp	.L49
.L9:
	addl	$1, %r13d
	jmp	.L12
.L52:
	addl	$1, %ecx
.L57:
	leal	2(%rsi), %eax
	cmpl	%eax, %r14d
	jl	.L43
	cltq
	movsd	416(%rsp,%rax,8), %xmm2
	comisd	%xmm0, %xmm2
	jnb	.L60
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L66
	comisd	%xmm2, %xmm0
	jbe	.L66
	addl	$1, %r15d
	jmp	.L65
.L66:
	comisd	.LC7(%rip), %xmm2
	jb	.L62
	comisd	%xmm2, %xmm1
	jbe	.L62
	addl	$1, %ebp
	jmp	.L65
.L16:
	addl	$1, %edx
.L21:
	leal	2(%rcx), %esi
	cmpl	%esi, %r14d
	jl	.L15
	movslq	%esi, %rsi
	movsd	96(%rsp,%rsi,8), %xmm2
	comisd	%xmm0, %xmm2
	jnb	.L24
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L30
	comisd	%xmm2, %xmm0
	jbe	.L30
	addl	$1, %ebx
	jmp	.L29
.L30:
	comisd	.LC7(%rip), %xmm2
	jb	.L26
	comisd	%xmm2, %xmm1
	jbe	.L26
	addl	$1, %r8d
	jmp	.L29
.L113:
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L36
	comisd	%xmm2, %xmm0
	jbe	.L36
	addl	$1, %ebx
	jmp	.L15
.L116:
	movsd	.LC6(%rip), %xmm1
	comisd	%xmm1, %xmm2
	jb	.L72
	comisd	%xmm2, %xmm0
	jbe	.L72
	addl	$1, %r15d
	jmp	.L43
.L36:
	comisd	.LC7(%rip), %xmm2
	jb	.L39
	comisd	%xmm2, %xmm1
	jbe	.L39
	addl	$1, %r8d
	jmp	.L15
.L72:
	comisd	.LC7(%rip), %xmm2
	jb	.L75
	comisd	%xmm2, %xmm1
	jbe	.L75
	addl	$1, %ebp
	jmp	.L43
.L18:
	addl	$1, %r13d
	jmp	.L21
.L54:
	addl	$1, %r12d
	jmp	.L57
.L26:
	addl	$1, %r13d
	jmp	.L29
.L62:
	addl	$1, %r12d
	jmp	.L65
.L75:
	addl	$1, %r12d
	jmp	.L43
.L39:
	addl	$1, %r13d
	jmp	.L15
.L79:
	xorl	%r12d, %r12d
	xorl	%ebp, %ebp
	xorl	%r15d, %r15d
	xorl	%ecx, %ecx
	xorl	%esi, %esi
	jmp	.L41
.L78:
	xorl	%r13d, %r13d
	xorl	%r8d, %r8d
	xorl	%ebx, %ebx
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	jmp	.L4
.L117:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE23:
	.size	main, .-main
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC1:
	.long	-1717986918
	.long	1072798105
	.long	-1717986918
	.long	1072798105
	.align 16
.LC2:
	.long	858993459
	.long	1071854387
	.long	858993459
	.long	1071854387
	.align 16
.LC3:
	.long	-1717986918
	.long	1070176665
	.long	-1717986918
	.long	1070176665
	.align 16
.LC4:
	.quad	1
	.quad	1
	.set	.LC5,.LC1
	.set	.LC6,.LC2
	.set	.LC7,.LC3
	.align 16
.LC9:
	.quad	-1
	.quad	-1
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

#include <stdio.h>
int main(void) {
	int i,max=0;
	double l[40],r[40];
	for(i=0;i<40;i++){
		int ret=scanf("%lf %lf",&l[i],&r[i]);
		if(ret==EOF) break;
		if(i>max) max=i;
	}
	int al=0,bl=0,cl=0,dl=0;
	for(i=0;i<=max;i++){
		if(l[i]>=1.1){
			al++;
		}
		else if(l[i]>=0.6&&l[i]<1.1){
			bl++;
		}
		else if(l[i]>=0.2&&l[i]<0.6){
			cl++;
		}
		else{
			dl++;
		}
	}
	int ar=0,br=0,cr=0,dr=0;
	for(i=0;i<=max;i++){
		if(r[i]>=1.1){
			ar++;
		}
		else if(r[i]>=0.6&&r[i]<1.1){
			br++;
		}
		else if(r[i]>=0.2&&r[i]<0.6){
			cr++;
		}
		else{
			dr++;
		}
	}
	printf("%d %d\n",al,ar);
	printf("%d %d\n",bl,br);
	printf("%d %d\n",cl,cr);
	printf("%d %d\n",dl,dr);
	return 0;	
}


1.0 1.2
0.8 1.5
1.2 0.7
2.0 2.1903643288076555
 1.0 1.6960573379527397
1.4596389610615816 1.5471720124202895
1.2 0.7
2.751284804693524 2.1903643288076555
 1.4450818768746183 1.6960573379527397
2.61268179406582 1.5471720124202895
2.573217216239934 0.7
4.9346769267643475 2.1903643288076555
 3.074377310282718 3.408310358864073
4.365908554441974 2.7842928577123516
2.573217216239934 1.750655805377047
6.112015344915439 2.378616543190681
 1.0 1.2
0.8 1.5
1.2 0.7
2.751284804693524 2.1903643288076555
 1.0 1.2
0.8 1.5471720124202895
1.2 0.7
2.751284804693524 2.1903643288076555
 1.0 1.6960573379527397
0.8 1.5471720124202895
1.2 0.7
2.751284804693524 2.1903643288076555
 1.0 1.6960573379527397
0.8413834025534568 1.5471720124202895
1.2 0.7
2.751284804693524 2.1903643288076555
 1.0 1.6960573379527397
1.4596389610615816 1.5471720124202895
1.2 0.7
3.619100269325771 2.1903643288076555
 1.0 1.6960573379527397
1.4596389610615816 1.5471720124202895
1.2 0.7
4.285760834475757 2.1903643288076555

2 3
2 1
0 0
0 0
 3 3
1 1
0 0
0 0
 4 3
0 1
0 0
0 0
 4 4
0 0
0 0
0 0
 2 3
2 1
0 0
0 0
 2 3
2 1
0 0
0 0
 2 3
2 1
0 0
0 0
 2 3
2 1
0 0
0 0
 3 3
1 1
0 0
0 0
 3 3
1 1
0 0
0 0

Given the following C code and unoptimized assembly code, your task is to generate highly optimized x86-64 assembly code.
C Code:

```c
#include <stdio.h>
int main(void) {
	int i,max=0;
	double l[40],r[40];
	for(i=0;i<40;i++){
		int ret=scanf("%lf %lf",&l[i],&r[i]);
		if(ret==EOF) break;
		if(i>max) max=i;
	}
	int al=0,bl=0,cl=0,dl=0;
	for(i=0;i<=max;i++){
		if(l[i]>=1.1){
			al++;
		}
		else if(l[i]>=0.6&&l[i]<1.1){
			bl++;
		}
		else if(l[i]>=0.2&&l[i]<0.6){
			cl++;
		}
		else{
			dl++;
		}
	}
	int ar=0,br=0,cr=0,dr=0;
	for(i=0;i<=max;i++){
		if(r[i]>=1.1){
			ar++;
		}
		else if(r[i]>=0.6&&r[i]<1.1){
			br++;
		}
		else if(r[i]>=0.2&&r[i]<0.6){
			cr++;
		}
		else{
			dr++;
		}
	}
	printf("%d %d\n",al,ar);
	printf("%d %d\n",bl,br);
	printf("%d %d\n",cl,cr);
	printf("%d %d\n",dl,dr);
	return 0;	
}

```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.section	.rodata
.LC0:
	.string	"%lf %lf"
.LC4:
	.string	"%d %d\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$704, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -696(%rbp)
	movl	$0, -700(%rbp)
	jmp	.L2
.L6:
	leaq	-336(%rbp), %rdx
	movl	-700(%rbp), %eax
	cltq
	salq	$3, %rax
	addq	%rax, %rdx
	leaq	-656(%rbp), %rcx
	movl	-700(%rbp), %eax
	cltq
	salq	$3, %rax
	addq	%rcx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	%eax, -660(%rbp)
	cmpl	$-1, -660(%rbp)
	je	.L43
	movl	-700(%rbp), %eax
	cmpl	-696(%rbp), %eax
	jle	.L5
	movl	-700(%rbp), %eax
	movl	%eax, -696(%rbp)
.L5:
	addl	$1, -700(%rbp)
.L2:
	cmpl	$39, -700(%rbp)
	jle	.L6
	jmp	.L4
.L43:
	nop
.L4:
	movl	$0, -692(%rbp)
	movl	$0, -688(%rbp)
	movl	$0, -684(%rbp)
	movl	$0, -680(%rbp)
	movl	$0, -700(%rbp)
	jmp	.L7
.L17:
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm0
	comisd	.LC1(%rip), %xmm0
	jb	.L41
	addl	$1, -692(%rbp)
	jmp	.L10
.L41:
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm0
	comisd	.LC2(%rip), %xmm0
	jb	.L11
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm1
	movsd	.LC1(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jbe	.L11
	addl	$1, -688(%rbp)
	jmp	.L10
.L11:
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm0
	comisd	.LC3(%rip), %xmm0
	jb	.L14
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm1
	movsd	.LC2(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jbe	.L14
	addl	$1, -684(%rbp)
	jmp	.L10
.L14:
	addl	$1, -680(%rbp)
.L10:
	addl	$1, -700(%rbp)
.L7:
	movl	-700(%rbp), %eax
	cmpl	-696(%rbp), %eax
	jle	.L17
	movl	$0, -676(%rbp)
	movl	$0, -672(%rbp)
	movl	$0, -668(%rbp)
	movl	$0, -664(%rbp)
	movl	$0, -700(%rbp)
	jmp	.L18
.L28:
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm0
	comisd	.LC1(%rip), %xmm0
	jb	.L42
	addl	$1, -676(%rbp)
	jmp	.L21
.L42:
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm0
	comisd	.LC2(%rip), %xmm0
	jb	.L22
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm1
	movsd	.LC1(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jbe	.L22
	addl	$1, -672(%rbp)
	jmp	.L21
.L22:
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm0
	comisd	.LC3(%rip), %xmm0
	jb	.L25
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm1
	movsd	.LC2(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jbe	.L25
	addl	$1, -668(%rbp)
	jmp	.L21
.L25:
	addl	$1, -664(%rbp)
.L21:
	addl	$1, -700(%rbp)
.L18:
	movl	-700(%rbp), %eax
	cmpl	-696(%rbp), %eax
	jle	.L28
	movl	-676(%rbp), %edx
	movl	-692(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-672(%rbp), %edx
	movl	-688(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-668(%rbp), %edx
	movl	-684(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-664(%rbp), %edx
	movl	-680(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L30
	call	__stack_chk_fail@PLT
.L30:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC1:
	.long	-1717986918
	.long	1072798105
	.align 8
.LC2:
	.long	858993459
	.long	1071854387
	.align 8
.LC3:
	.long	-1717986918
	.long	1070176665
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
```

Only output the optimized assembly code. Do not include any other text. Do not write any comments in the assembly code. Wrap the assembly code in ```assembly``` tags.
train
	.file	"temp.c"
	.text
	.section	.rodata
.LC0:
	.string	"%lf %lf"
.LC4:
	.string	"%d %d\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$704, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$0, -696(%rbp)
	movl	$0, -700(%rbp)
	jmp	.L2
.L6:
	leaq	-336(%rbp), %rdx
	movl	-700(%rbp), %eax
	cltq
	salq	$3, %rax
	addq	%rax, %rdx
	leaq	-656(%rbp), %rcx
	movl	-700(%rbp), %eax
	cltq
	salq	$3, %rax
	addq	%rcx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	%eax, -660(%rbp)
	cmpl	$-1, -660(%rbp)
	je	.L43
	movl	-700(%rbp), %eax
	cmpl	-696(%rbp), %eax
	jle	.L5
	movl	-700(%rbp), %eax
	movl	%eax, -696(%rbp)
.L5:
	addl	$1, -700(%rbp)
.L2:
	cmpl	$39, -700(%rbp)
	jle	.L6
	jmp	.L4
.L43:
	nop
.L4:
	movl	$0, -692(%rbp)
	movl	$0, -688(%rbp)
	movl	$0, -684(%rbp)
	movl	$0, -680(%rbp)
	movl	$0, -700(%rbp)
	jmp	.L7
.L17:
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm0
	comisd	.LC1(%rip), %xmm0
	jb	.L41
	addl	$1, -692(%rbp)
	jmp	.L10
.L41:
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm0
	comisd	.LC2(%rip), %xmm0
	jb	.L11
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm1
	movsd	.LC1(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jbe	.L11
	addl	$1, -688(%rbp)
	jmp	.L10
.L11:
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm0
	comisd	.LC3(%rip), %xmm0
	jb	.L14
	movl	-700(%rbp), %eax
	cltq
	movsd	-656(%rbp,%rax,8), %xmm1
	movsd	.LC2(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jbe	.L14
	addl	$1, -684(%rbp)
	jmp	.L10
.L14:
	addl	$1, -680(%rbp)
.L10:
	addl	$1, -700(%rbp)
.L7:
	movl	-700(%rbp), %eax
	cmpl	-696(%rbp), %eax
	jle	.L17
	movl	$0, -676(%rbp)
	movl	$0, -672(%rbp)
	movl	$0, -668(%rbp)
	movl	$0, -664(%rbp)
	movl	$0, -700(%rbp)
	jmp	.L18
.L28:
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm0
	comisd	.LC1(%rip), %xmm0
	jb	.L42
	addl	$1, -676(%rbp)
	jmp	.L21
.L42:
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm0
	comisd	.LC2(%rip), %xmm0
	jb	.L22
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm1
	movsd	.LC1(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jbe	.L22
	addl	$1, -672(%rbp)
	jmp	.L21
.L22:
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm0
	comisd	.LC3(%rip), %xmm0
	jb	.L25
	movl	-700(%rbp), %eax
	cltq
	movsd	-336(%rbp,%rax,8), %xmm1
	movsd	.LC2(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jbe	.L25
	addl	$1, -668(%rbp)
	jmp	.L21
.L25:
	addl	$1, -664(%rbp)
.L21:
	addl	$1, -700(%rbp)
.L18:
	movl	-700(%rbp), %eax
	cmpl	-696(%rbp), %eax
	jle	.L28
	movl	-676(%rbp), %edx
	movl	-692(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-672(%rbp), %edx
	movl	-688(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-668(%rbp), %edx
	movl	-684(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	-664(%rbp), %edx
	movl	-680(%rbp), %eax
	movl	%eax, %esi
	leaq	.LC4(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	printf@PLT
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L30
	call	__stack_chk_fail@PLT
.L30:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC1:
	.long	-1717986918
	.long	1072798105
	.align 8
.LC2:
	.long	858993459
	.long	1071854387
	.align 8
.LC3:
	.long	-1717986918
	.long	1070176665
	.ident	"GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:
