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 now[9];
/* 9!=362880 */
int list_num;
int all_list[362880][9];

void tansaku(int pos,int rest) {
	int i;
	if(pos>=9) {
		for(i=0;i<9;i++)all_list[list_num][i]=now[i];
		list_num++;
	} else {
		for(i=0;i<9;i++) {
			if(rest & (1<<i)) {
				now[pos]=i;
				tansaku(pos+1,rest & ~(1<<i));
			}
		}
	}
}

int main(void) {
	int d_num,d_cur;
	int g_cards[9];
	int j_cards[9];
	int i,j;
	int now_g,now_j;
	int g_win,j_win;
	tansaku(0,0xffff);
	scanf("%d",&d_num);
	for(d_cur=0;d_cur<d_num;d_cur++) {
		for(i=0;i<9;i++)scanf("%d",&g_cards[i]);
		for(i=0;i<9;i++)scanf("%d",&j_cards[i]);
		g_win=j_win=0;
		for(i=0;i<list_num;i++) {
			now_g=now_j=0;
			for(j=0;j<9;j++) {
				if(g_cards[j]>j_cards[all_list[i][j]]) {
					now_g+=g_cards[j]+j_cards[all_list[i][j]];
				} else {
					now_j+=g_cards[j]+j_cards[all_list[i][j]];
				}
			}
			if(now_g>now_j)g_win++;
			else if(now_j>now_g)j_win++;
		}
		printf("%.15f %.15f\n",
			(double)g_win/list_num,(double)j_win/list_num);
	}
	return 0;
}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	now
	.bss
	.align 32
	.type	now, @object
	.size	now, 36
now:
	.zero	36
	.globl	list_num
	.align 4
	.type	list_num, @object
	.size	list_num, 4
list_num:
	.zero	4
	.globl	all_list
	.align 32
	.type	all_list, @object
	.size	all_list, 13063680
all_list:
	.zero	13063680
	.text
	.globl	tansaku
	.type	tansaku, @function
tansaku:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movl	%edi, -20(%rbp)
	movl	%esi, -24(%rbp)
	cmpl	$8, -20(%rbp)
	jle	.L2
	movl	$0, -4(%rbp)
	jmp	.L3
.L4:
	movl	list_num(%rip), %eax
	movl	-4(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	now(%rip), %rdx
	movl	(%rcx,%rdx), %edx
	movl	-4(%rbp), %ecx
	movslq	%ecx, %rsi
	movslq	%eax, %rcx
	movq	%rcx, %rax
	salq	$3, %rax
	addq	%rcx, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rcx
	leaq	all_list(%rip), %rax
	movl	%edx, (%rcx,%rax)
	addl	$1, -4(%rbp)
.L3:
	cmpl	$8, -4(%rbp)
	jle	.L4
	movl	list_num(%rip), %eax
	addl	$1, %eax
	movl	%eax, list_num(%rip)
	jmp	.L9
.L2:
	movl	$0, -4(%rbp)
	jmp	.L6
.L8:
	movl	-4(%rbp), %eax
	movl	-24(%rbp), %edx
	movl	%eax, %ecx
	sarl	%cl, %edx
	movl	%edx, %eax
	andl	$1, %eax
	testl	%eax, %eax
	je	.L7
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rcx
	leaq	now(%rip), %rdx
	movl	-4(%rbp), %eax
	movl	%eax, (%rcx,%rdx)
	movl	-4(%rbp), %eax
	movl	$1, %edx
	movl	%eax, %ecx
	sall	%cl, %edx
	movl	%edx, %eax
	notl	%eax
	andl	-24(%rbp), %eax
	movl	-20(%rbp), %edx
	addl	$1, %edx
	movl	%eax, %esi
	movl	%edx, %edi
	call	tansaku
.L7:
	addl	$1, -4(%rbp)
.L6:
	cmpl	$8, -4(%rbp)
	jle	.L8
.L9:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	tansaku, .-tansaku
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%.15f %.15f\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	addq	$-128, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$65535, %esi
	movl	$0, %edi
	call	tansaku
	leaq	-128(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -124(%rbp)
	jmp	.L11
.L24:
	movl	$0, -120(%rbp)
	jmp	.L12
.L13:
	leaq	-96(%rbp), %rdx
	movl	-120(%rbp), %eax
	cltq
	salq	$2, %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -120(%rbp)
.L12:
	cmpl	$8, -120(%rbp)
	jle	.L13
	movl	$0, -120(%rbp)
	jmp	.L14
.L15:
	leaq	-48(%rbp), %rdx
	movl	-120(%rbp), %eax
	cltq
	salq	$2, %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -120(%rbp)
.L14:
	cmpl	$8, -120(%rbp)
	jle	.L15
	movl	$0, -100(%rbp)
	movl	-100(%rbp), %eax
	movl	%eax, -104(%rbp)
	movl	$0, -120(%rbp)
	jmp	.L16
.L23:
	movl	$0, -108(%rbp)
	movl	-108(%rbp), %eax
	movl	%eax, -112(%rbp)
	movl	$0, -116(%rbp)
	jmp	.L17
.L20:
	movl	-116(%rbp), %eax
	cltq
	movl	-96(%rbp,%rax,4), %ecx
	movl	-116(%rbp), %eax
	movslq	%eax, %rsi
	movl	-120(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	all_list(%rip), %rax
	movl	(%rdx,%rax), %eax
	cltq
	movl	-48(%rbp,%rax,4), %eax
	cmpl	%eax, %ecx
	jle	.L18
	movl	-116(%rbp), %eax
	cltq
	movl	-96(%rbp,%rax,4), %ecx
	movl	-116(%rbp), %eax
	movslq	%eax, %rsi
	movl	-120(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	all_list(%rip), %rax
	movl	(%rdx,%rax), %eax
	cltq
	movl	-48(%rbp,%rax,4), %eax
	addl	%ecx, %eax
	addl	%eax, -112(%rbp)
	jmp	.L19
.L18:
	movl	-116(%rbp), %eax
	cltq
	movl	-96(%rbp,%rax,4), %ecx
	movl	-116(%rbp), %eax
	movslq	%eax, %rsi
	movl	-120(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	all_list(%rip), %rax
	movl	(%rdx,%rax), %eax
	cltq
	movl	-48(%rbp,%rax,4), %eax
	addl	%ecx, %eax
	addl	%eax, -108(%rbp)
.L19:
	addl	$1, -116(%rbp)
.L17:
	cmpl	$8, -116(%rbp)
	jle	.L20
	movl	-112(%rbp), %eax
	cmpl	-108(%rbp), %eax
	jle	.L21
	addl	$1, -104(%rbp)
	jmp	.L22
.L21:
	movl	-108(%rbp), %eax
	cmpl	-112(%rbp), %eax
	jle	.L22
	addl	$1, -100(%rbp)
.L22:
	addl	$1, -120(%rbp)
.L16:
	movl	list_num(%rip), %eax
	cmpl	%eax, -120(%rbp)
	jl	.L23
	pxor	%xmm0, %xmm0
	cvtsi2sdl	-100(%rbp), %xmm0
	movl	list_num(%rip), %eax
	pxor	%xmm1, %xmm1
	cvtsi2sdl	%eax, %xmm1
	movapd	%xmm0, %xmm2
	divsd	%xmm1, %xmm2
	pxor	%xmm0, %xmm0
	cvtsi2sdl	-104(%rbp), %xmm0
	movl	list_num(%rip), %eax
	pxor	%xmm1, %xmm1
	cvtsi2sdl	%eax, %xmm1
	divsd	%xmm1, %xmm0
	movq	%xmm0, %rax
	movapd	%xmm2, %xmm1
	movq	%rax, %xmm0
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$2, %eax
	call	printf@PLT
	addl	$1, -124(%rbp)
.L11:
	movl	-128(%rbp), %eax
	cmpl	%eax, -124(%rbp)
	jl	.L24
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L26
	call	__stack_chk_fail@PLT
.L26:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.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
	.p2align 4
	.globl	tansaku
	.type	tansaku, @function
tansaku:
.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
	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
	subq	$56, %rsp
	.cfi_def_cfa_offset 112
	movl	%edi, 4(%rsp)
	cmpl	$8, %edi
	jle	.L2
	movslq	list_num(%rip), %rdx
	movdqa	now(%rip), %xmm6
	leaq	(%rdx,%rdx,8), %rcx
	movq	%rdx, %rax
	leaq	all_list(%rip), %rdx
	leaq	(%rdx,%rcx,4), %rdx
	addl	$1, %eax
	movups	%xmm6, (%rdx)
	movdqa	16+now(%rip), %xmm7
	movl	%eax, list_num(%rip)
	movups	%xmm7, 16(%rdx)
	movl	32+now(%rip), %ecx
	movl	%ecx, 32(%rdx)
.L1:
	addq	$56, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	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
	.p2align 4,,10
	.p2align 3
.L2:
	.cfi_restore_state
	movslq	%edi, %rax
	movl	%esi, %r9d
	leaq	now(%rip), %r15
	xorl	%r14d, %r14d
	leal	1(%rax), %ecx
	movq	%rax, 8(%rsp)
	leal	4(%rax), %r11d
	movl	%ecx, (%rsp)
	leal	2(%rax), %ecx
	leaq	all_list(%rip), %r10
	movl	%ecx, 24(%rsp)
	leal	3(%rax), %ecx
	jmp	.L31
	.p2align 4,,10
	.p2align 3
.L5:
	addl	$1, %r14d
	cmpl	$9, %r14d
	je	.L1
.L31:
	btl	%r14d, %r9d
	jnc	.L5
	movq	8(%rsp), %rax
	cmpl	$9, (%rsp)
	movl	%r14d, (%r15,%rax,4)
	jne	.L6
	movslq	list_num(%rip), %rdx
	movdqa	(%r15), %xmm6
	movq	%rdx, %rax
	leaq	(%rdx,%rdx,8), %rdx
	leaq	(%r10,%rdx,4), %rdx
	addl	$1, %eax
	movups	%xmm6, (%rdx)
	movdqa	16+now(%rip), %xmm7
	movl	%eax, list_num(%rip)
	movups	%xmm7, 16(%rdx)
	movl	32+now(%rip), %esi
	movl	%esi, 32(%rdx)
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L6:
	movl	%r9d, %r8d
	movl	%r14d, 16(%rsp)
	xorl	%r12d, %r12d
	btrl	%r14d, %r8d
	movl	%r9d, 20(%rsp)
	movl	24(%rsp), %r14d
	movl	%r8d, %r9d
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L8:
	addl	$1, %r12d
	cmpl	$9, %r12d
	je	.L65
.L29:
	btl	%r12d, %r9d
	jnc	.L8
	movslq	(%rsp), %rax
	movl	%r12d, (%r15,%rax,4)
	cmpl	$9, %r14d
	jne	.L9
	movslq	list_num(%rip), %rdx
	movdqa	(%r15), %xmm4
	addl	$1, %r12d
	movq	%rdx, %rax
	leaq	(%rdx,%rdx,8), %rdx
	leaq	(%r10,%rdx,4), %rdx
	addl	$1, %eax
	movups	%xmm4, (%rdx)
	movdqa	16+now(%rip), %xmm5
	movl	%eax, list_num(%rip)
	movups	%xmm5, 16(%rdx)
	movl	32+now(%rip), %esi
	movl	%esi, 32(%rdx)
	cmpl	$9, %r12d
	jne	.L29
	.p2align 4,,10
	.p2align 3
.L65:
	movl	16(%rsp), %r14d
	movl	20(%rsp), %r9d
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L9:
	movl	%r9d, %edx
	movl	%r14d, %eax
	xorl	%ebp, %ebp
	btrl	%r12d, %edx
	movl	%edx, %r14d
	movl	%r12d, %edx
	jmp	.L27
	.p2align 4,,10
	.p2align 3
.L11:
	addl	$1, %ebp
	cmpl	$9, %ebp
	je	.L66
.L27:
	btl	%ebp, %r14d
	jnc	.L11
	movslq	%eax, %rsi
	movl	%ebp, (%r15,%rsi,4)
	cmpl	$9, %ecx
	jne	.L12
	movslq	list_num(%rip), %rdi
	movdqa	(%r15), %xmm2
	addl	$1, %ebp
	movq	%rdi, %rsi
	leaq	(%rdi,%rdi,8), %rdi
	leaq	(%r10,%rdi,4), %rdi
	addl	$1, %esi
	movups	%xmm2, (%rdi)
	movdqa	16+now(%rip), %xmm3
	movl	%esi, list_num(%rip)
	movups	%xmm3, 16(%rdi)
	movl	32+now(%rip), %r8d
	movl	%r8d, 32(%rdi)
	cmpl	$9, %ebp
	jne	.L27
	.p2align 4,,10
	.p2align 3
.L66:
	movl	%eax, %r14d
	movl	%edx, %r12d
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L12:
	movl	%r14d, %r12d
	xorl	%ebx, %ebx
	btrl	%ebp, %r12d
	jmp	.L25
	.p2align 4,,10
	.p2align 3
.L14:
	addl	$1, %ebx
	cmpl	$9, %ebx
	je	.L11
.L25:
	btl	%ebx, %r12d
	jnc	.L14
	movslq	%ecx, %rsi
	movl	%ebx, (%r15,%rsi,4)
	cmpl	$9, %r11d
	jne	.L15
	movslq	list_num(%rip), %rdi
	movdqa	(%r15), %xmm0
	movq	%rdi, %rsi
	leaq	(%rdi,%rdi,8), %rdi
	leaq	(%r10,%rdi,4), %rdi
	addl	$1, %esi
	movups	%xmm0, (%rdi)
	movdqa	16+now(%rip), %xmm1
	movl	%esi, list_num(%rip)
	movups	%xmm1, 16(%rdi)
	movl	32+now(%rip), %r8d
	movl	%r8d, 32(%rdi)
	jmp	.L14
	.p2align 4,,10
	.p2align 3
.L15:
	movl	%r12d, %r13d
	btrl	%ebx, %r13d
	testb	$1, %r13b
	jne	.L67
	testb	$2, %r13b
	jne	.L68
.L17:
	testb	$4, %r13b
	jne	.L69
.L18:
	testb	$8, %r13b
	jne	.L70
.L19:
	testb	$16, %r13b
	jne	.L71
.L20:
	testb	$32, %r13b
	jne	.L72
.L21:
	testb	$64, %r13b
	jne	.L73
.L22:
	testb	$-128, %r13b
	jne	.L74
.L23:
	testl	$256, %r13d
	je	.L14
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$8, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-257, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	jmp	.L14
	.p2align 4,,10
	.p2align 3
.L67:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$0, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-2, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	testb	$2, %r13b
	je	.L17
	.p2align 4,,10
	.p2align 3
.L68:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$1, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-3, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	testb	$4, %r13b
	je	.L18
	.p2align 4,,10
	.p2align 3
.L69:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$2, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-5, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	testb	$8, %r13b
	je	.L19
	.p2align 4,,10
	.p2align 3
.L70:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$3, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-9, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	testb	$16, %r13b
	je	.L20
	.p2align 4,,10
	.p2align 3
.L71:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$4, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-17, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	testb	$32, %r13b
	je	.L21
	.p2align 4,,10
	.p2align 3
.L72:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$5, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-33, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	testb	$64, %r13b
	je	.L22
	.p2align 4,,10
	.p2align 3
.L73:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$6, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-65, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	testb	$-128, %r13b
	je	.L23
	.p2align 4,,10
	.p2align 3
.L74:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$7, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andb	$127, %sil
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	jmp	.L23
	.cfi_endproc
.LFE23:
	.size	tansaku, .-tansaku
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC1:
	.string	"%d"
.LC2:
	.string	"%.15f %.15f\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB24:
	.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
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	movl	$65535, %r12d
	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	$184, %rsp
	.cfi_def_cfa_offset 240
	movq	%fs:40, %rax
	movq	%rax, 168(%rsp)
	xorl	%eax, %eax
	jmp	.L87
	.p2align 4,,10
	.p2align 3
.L77:
	addl	$1, %ebx
	cmpl	$9, %ebx
	je	.L153
.L87:
	btl	%ebx, %r12d
	jnc	.L77
	movl	$1, %eax
	movl	%ebx, %ecx
	movl	%ebx, now(%rip)
	sall	%cl, %eax
	movl	%eax, %ebp
	xorl	$65535, %ebp
	testb	$1, %al
	je	.L154
.L78:
	testb	$2, %bpl
	jne	.L155
.L79:
	testb	$4, %bpl
	jne	.L156
.L80:
	testb	$8, %bpl
	jne	.L157
.L81:
	testb	$16, %bpl
	jne	.L158
.L82:
	testb	$32, %bpl
	jne	.L159
.L83:
	testb	$64, %bpl
	jne	.L160
.L84:
	testb	$-128, %bpl
	jne	.L161
.L85:
	movl	%ebp, %eax
	sarl	$8, %eax
	cmpl	$254, %eax
	je	.L77
	movl	%ebp, %esi
	movl	$2, %edi
	addl	$1, %ebx
	movl	$8, 4+now(%rip)
	andl	$-257, %esi
	call	tansaku
	cmpl	$9, %ebx
	jne	.L87
.L153:
	leaq	.LC1(%rip), %r14
	leaq	76(%rsp), %rsi
	xorl	%eax, %eax
	movq	%r14, %rdi
	call	__isoc99_scanf@PLT
	movl	76(%rsp), %eax
	testl	%eax, %eax
	jle	.L113
	leaq	80(%rsp), %rax
	movl	$0, 24(%rsp)
	movq	%rax, 56(%rsp)
	leaq	116(%rsp), %rax
	movq	%rax, 32(%rsp)
	leaq	128(%rsp), %rax
	movq	%rax, 40(%rsp)
	leaq	164(%rsp), %rax
	movq	%rax, 48(%rsp)
	.p2align 4,,10
	.p2align 3
.L88:
	movq	56(%rsp), %rbx
	movq	32(%rsp), %rbp
	.p2align 4,,10
	.p2align 3
.L89:
	movq	%rbx, %rsi
	movq	%r14, %rdi
	xorl	%eax, %eax
	addq	$4, %rbx
	call	__isoc99_scanf@PLT
	cmpq	%rbp, %rbx
	jne	.L89
	movq	40(%rsp), %rbx
	movq	48(%rsp), %rbp
	.p2align 4,,10
	.p2align 3
.L90:
	movq	%rbx, %rsi
	movq	%r14, %rdi
	xorl	%eax, %eax
	addq	$4, %rbx
	call	__isoc99_scanf@PLT
	cmpq	%rbp, %rbx
	jne	.L90
	movl	list_num(%rip), %ecx
	movl	%ecx, 28(%rsp)
	testl	%ecx, %ecx
	jle	.L116
	leal	-1(%rcx), %edx
	leaq	all_list(%rip), %rax
	movl	$0, 20(%rsp)
	movl	80(%rsp), %r13d
	leaq	(%rdx,%rdx,8), %rdx
	leaq	36(%rax), %rcx
	movl	88(%rsp), %ebp
	movl	92(%rsp), %ebx
	leaq	(%rcx,%rdx,4), %rdx
	movl	84(%rsp), %r12d
	movl	96(%rsp), %r11d
	movl	$0, 16(%rsp)
	movl	100(%rsp), %r10d
	movl	104(%rsp), %r9d
	movq	%rdx, 8(%rsp)
	movl	108(%rsp), %r8d
	movl	112(%rsp), %edi
	jmp	.L92
	.p2align 4,,10
	.p2align 3
.L163:
	addl	%r15d, %ecx
.L95:
	movslq	8(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	0(%rbp,%rsi), %r15d
	cmpl	%esi, %ebp
	jg	.L96
	addl	%r15d, %ecx
.L97:
	movslq	12(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	(%rbx,%rsi), %r15d
	cmpl	%esi, %ebx
	jg	.L98
	addl	%r15d, %ecx
.L99:
	movslq	16(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	(%rsi,%r11), %r15d
	cmpl	%r11d, %esi
	jl	.L100
	addl	%r15d, %ecx
.L101:
	movslq	20(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	(%rsi,%r10), %r15d
	cmpl	%r10d, %esi
	jl	.L102
	addl	%r15d, %ecx
.L103:
	movslq	24(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	(%rsi,%r9), %r15d
	cmpl	%r9d, %esi
	jl	.L104
	addl	%r15d, %ecx
.L105:
	movslq	28(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	(%r8,%rsi), %r15d
	cmpl	%esi, %r8d
	jg	.L106
	addl	%r15d, %ecx
.L107:
	movslq	32(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	(%rsi,%rdi), %r15d
	cmpl	%edi, %esi
	jl	.L108
	addl	%r15d, %ecx
.L109:
	cmpl	%ecx, %edx
	jle	.L110
	addl	$1, 16(%rsp)
.L111:
	addq	$36, %rax
	cmpq	%rax, 8(%rsp)
	je	.L162
.L92:
	movslq	(%rax), %rdx
	xorl	%ecx, %ecx
	movl	128(%rsp,%rdx,4), %esi
	leal	0(%r13,%rsi), %edx
	cmpl	%esi, %r13d
	jg	.L93
	movl	%edx, %ecx
	xorl	%edx, %edx
.L93:
	movslq	4(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	(%r12,%rsi), %r15d
	cmpl	%esi, %r12d
	jle	.L163
	addl	%r15d, %edx
	jmp	.L95
.L161:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$7, 4+now(%rip)
	andb	$127, %sil
	call	tansaku
	jmp	.L85
.L160:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$6, 4+now(%rip)
	andl	$-65, %esi
	call	tansaku
	jmp	.L84
.L159:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$5, 4+now(%rip)
	andl	$-33, %esi
	call	tansaku
	jmp	.L83
.L158:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$4, 4+now(%rip)
	andl	$-17, %esi
	call	tansaku
	jmp	.L82
.L157:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$3, 4+now(%rip)
	andl	$-9, %esi
	call	tansaku
	jmp	.L81
.L156:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$2, 4+now(%rip)
	andl	$-5, %esi
	call	tansaku
	jmp	.L80
.L155:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$1, 4+now(%rip)
	andl	$-3, %esi
	call	tansaku
	jmp	.L79
.L154:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$0, 4+now(%rip)
	andl	$-2, %esi
	call	tansaku
	jmp	.L78
	.p2align 4,,10
	.p2align 3
.L110:
	jge	.L111
	addl	$1, 20(%rsp)
	addq	$36, %rax
	cmpq	%rax, 8(%rsp)
	jne	.L92
.L162:
	pxor	%xmm1, %xmm1
	pxor	%xmm0, %xmm0
	cvtsi2sdl	20(%rsp), %xmm1
	cvtsi2sdl	16(%rsp), %xmm0
.L91:
	pxor	%xmm2, %xmm2
	movl	$1, %edi
	movl	$2, %eax
	cvtsi2sdl	28(%rsp), %xmm2
	leaq	.LC2(%rip), %rsi
	divsd	%xmm2, %xmm0
	divsd	%xmm2, %xmm1
	call	__printf_chk@PLT
	addl	$1, 24(%rsp)
	movl	24(%rsp), %eax
	cmpl	%eax, 76(%rsp)
	jg	.L88
.L113:
	movq	168(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L164
	addq	$184, %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
	.p2align 4,,10
	.p2align 3
.L108:
	.cfi_restore_state
	addl	%r15d, %edx
	jmp	.L109
	.p2align 4,,10
	.p2align 3
.L106:
	addl	%r15d, %edx
	jmp	.L107
	.p2align 4,,10
	.p2align 3
.L104:
	addl	%r15d, %edx
	jmp	.L105
	.p2align 4,,10
	.p2align 3
.L102:
	addl	%r15d, %edx
	jmp	.L103
	.p2align 4,,10
	.p2align 3
.L100:
	addl	%r15d, %edx
	jmp	.L101
	.p2align 4,,10
	.p2align 3
.L98:
	addl	%r15d, %edx
	jmp	.L99
	.p2align 4,,10
	.p2align 3
.L96:
	addl	%r15d, %edx
	jmp	.L97
.L116:
	pxor	%xmm0, %xmm0
	movapd	%xmm0, %xmm1
	jmp	.L91
.L164:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE24:
	.size	main, .-main
	.globl	all_list
	.bss
	.align 32
	.type	all_list, @object
	.size	all_list, 13063680
all_list:
	.zero	13063680
	.globl	list_num
	.align 4
	.type	list_num, @object
	.size	list_num, 4
list_num:
	.zero	4
	.globl	now
	.align 32
	.type	now, @object
	.size	now, 36
now:
	.zero	36
	.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
	.p2align 4
	.globl	tansaku
	.type	tansaku, @function
tansaku:
.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
	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
	subq	$56, %rsp
	.cfi_def_cfa_offset 112
	movl	%edi, 4(%rsp)
	cmpl	$8, %edi
	jle	.L2
	movslq	list_num(%rip), %rdx
	movdqa	now(%rip), %xmm6
	leaq	(%rdx,%rdx,8), %rcx
	movq	%rdx, %rax
	leaq	all_list(%rip), %rdx
	leaq	(%rdx,%rcx,4), %rdx
	addl	$1, %eax
	movups	%xmm6, (%rdx)
	movdqa	16+now(%rip), %xmm7
	movl	%eax, list_num(%rip)
	movups	%xmm7, 16(%rdx)
	movl	32+now(%rip), %ecx
	movl	%ecx, 32(%rdx)
.L1:
	addq	$56, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	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
	.p2align 4,,10
	.p2align 3
.L2:
	.cfi_restore_state
	movslq	%edi, %rax
	movl	%esi, %r9d
	leaq	now(%rip), %r15
	xorl	%r14d, %r14d
	leal	1(%rax), %ecx
	movq	%rax, 8(%rsp)
	leal	4(%rax), %r11d
	movl	%ecx, (%rsp)
	leal	2(%rax), %ecx
	leaq	all_list(%rip), %r10
	movl	%ecx, 24(%rsp)
	leal	3(%rax), %ecx
	jmp	.L31
	.p2align 4,,10
	.p2align 3
.L5:
	addl	$1, %r14d
	cmpl	$9, %r14d
	je	.L1
.L31:
	btl	%r14d, %r9d
	jnc	.L5
	movq	8(%rsp), %rax
	cmpl	$9, (%rsp)
	movl	%r14d, (%r15,%rax,4)
	jne	.L6
	movslq	list_num(%rip), %rdx
	movdqa	(%r15), %xmm6
	movq	%rdx, %rax
	leaq	(%rdx,%rdx,8), %rdx
	leaq	(%r10,%rdx,4), %rdx
	addl	$1, %eax
	movups	%xmm6, (%rdx)
	movdqa	16+now(%rip), %xmm7
	movl	%eax, list_num(%rip)
	movups	%xmm7, 16(%rdx)
	movl	32+now(%rip), %esi
	movl	%esi, 32(%rdx)
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L6:
	movl	%r9d, %r8d
	movl	%r14d, 16(%rsp)
	xorl	%r12d, %r12d
	btrl	%r14d, %r8d
	movl	%r9d, 20(%rsp)
	movl	24(%rsp), %r14d
	movl	%r8d, %r9d
	jmp	.L29
	.p2align 4,,10
	.p2align 3
.L8:
	addl	$1, %r12d
	cmpl	$9, %r12d
	je	.L65
.L29:
	btl	%r12d, %r9d
	jnc	.L8
	movslq	(%rsp), %rax
	movl	%r12d, (%r15,%rax,4)
	cmpl	$9, %r14d
	jne	.L9
	movslq	list_num(%rip), %rdx
	movdqa	(%r15), %xmm4
	addl	$1, %r12d
	movq	%rdx, %rax
	leaq	(%rdx,%rdx,8), %rdx
	leaq	(%r10,%rdx,4), %rdx
	addl	$1, %eax
	movups	%xmm4, (%rdx)
	movdqa	16+now(%rip), %xmm5
	movl	%eax, list_num(%rip)
	movups	%xmm5, 16(%rdx)
	movl	32+now(%rip), %esi
	movl	%esi, 32(%rdx)
	cmpl	$9, %r12d
	jne	.L29
	.p2align 4,,10
	.p2align 3
.L65:
	movl	16(%rsp), %r14d
	movl	20(%rsp), %r9d
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L9:
	movl	%r9d, %edx
	movl	%r14d, %eax
	xorl	%ebp, %ebp
	btrl	%r12d, %edx
	movl	%edx, %r14d
	movl	%r12d, %edx
	jmp	.L27
	.p2align 4,,10
	.p2align 3
.L11:
	addl	$1, %ebp
	cmpl	$9, %ebp
	je	.L66
.L27:
	btl	%ebp, %r14d
	jnc	.L11
	movslq	%eax, %rsi
	movl	%ebp, (%r15,%rsi,4)
	cmpl	$9, %ecx
	jne	.L12
	movslq	list_num(%rip), %rdi
	movdqa	(%r15), %xmm2
	addl	$1, %ebp
	movq	%rdi, %rsi
	leaq	(%rdi,%rdi,8), %rdi
	leaq	(%r10,%rdi,4), %rdi
	addl	$1, %esi
	movups	%xmm2, (%rdi)
	movdqa	16+now(%rip), %xmm3
	movl	%esi, list_num(%rip)
	movups	%xmm3, 16(%rdi)
	movl	32+now(%rip), %r8d
	movl	%r8d, 32(%rdi)
	cmpl	$9, %ebp
	jne	.L27
	.p2align 4,,10
	.p2align 3
.L66:
	movl	%eax, %r14d
	movl	%edx, %r12d
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L12:
	movl	%r14d, %r12d
	xorl	%ebx, %ebx
	btrl	%ebp, %r12d
	jmp	.L25
	.p2align 4,,10
	.p2align 3
.L14:
	addl	$1, %ebx
	cmpl	$9, %ebx
	je	.L11
.L25:
	btl	%ebx, %r12d
	jnc	.L14
	movslq	%ecx, %rsi
	movl	%ebx, (%r15,%rsi,4)
	cmpl	$9, %r11d
	jne	.L15
	movslq	list_num(%rip), %rdi
	movdqa	(%r15), %xmm0
	movq	%rdi, %rsi
	leaq	(%rdi,%rdi,8), %rdi
	leaq	(%r10,%rdi,4), %rdi
	addl	$1, %esi
	movups	%xmm0, (%rdi)
	movdqa	16+now(%rip), %xmm1
	movl	%esi, list_num(%rip)
	movups	%xmm1, 16(%rdi)
	movl	32+now(%rip), %r8d
	movl	%r8d, 32(%rdi)
	jmp	.L14
	.p2align 4,,10
	.p2align 3
.L15:
	movl	%r12d, %r13d
	btrl	%ebx, %r13d
	testb	$1, %r13b
	jne	.L67
	testb	$2, %r13b
	jne	.L68
.L17:
	testb	$4, %r13b
	jne	.L69
.L18:
	testb	$8, %r13b
	jne	.L70
.L19:
	testb	$16, %r13b
	jne	.L71
.L20:
	testb	$32, %r13b
	jne	.L72
.L21:
	testb	$64, %r13b
	jne	.L73
.L22:
	testb	$-128, %r13b
	jne	.L74
.L23:
	testl	$256, %r13d
	je	.L14
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$8, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-257, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	jmp	.L14
	.p2align 4,,10
	.p2align 3
.L67:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$0, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-2, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	testb	$2, %r13b
	je	.L17
	.p2align 4,,10
	.p2align 3
.L68:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$1, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-3, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	testb	$4, %r13b
	je	.L18
	.p2align 4,,10
	.p2align 3
.L69:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$2, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-5, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	testb	$8, %r13b
	je	.L19
	.p2align 4,,10
	.p2align 3
.L70:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$3, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-9, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	testb	$16, %r13b
	je	.L20
	.p2align 4,,10
	.p2align 3
.L71:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$4, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-17, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	testb	$32, %r13b
	je	.L21
	.p2align 4,,10
	.p2align 3
.L72:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$5, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-33, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	testb	$64, %r13b
	je	.L22
	.p2align 4,,10
	.p2align 3
.L73:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$6, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andl	$-65, %esi
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	testb	$-128, %r13b
	je	.L23
	.p2align 4,,10
	.p2align 3
.L74:
	movslq	%r11d, %rsi
	movl	%eax, 36(%rsp)
	movl	4(%rsp), %eax
	movl	$7, (%r15,%rsi,4)
	movl	%r13d, %esi
	leal	5(%rax), %edi
	andb	$127, %sil
	movl	%ecx, 44(%rsp)
	movl	%edx, 40(%rsp)
	movl	%r9d, 32(%rsp)
	movl	%r11d, 28(%rsp)
	call	tansaku
	movl	44(%rsp), %ecx
	movl	40(%rsp), %edx
	leaq	all_list(%rip), %r10
	movl	36(%rsp), %eax
	movl	32(%rsp), %r9d
	movl	28(%rsp), %r11d
	jmp	.L23
	.cfi_endproc
.LFE23:
	.size	tansaku, .-tansaku
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC1:
	.string	"%d"
.LC2:
	.string	"%.15f %.15f\n"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB24:
	.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
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	movl	$65535, %r12d
	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	$184, %rsp
	.cfi_def_cfa_offset 240
	movq	%fs:40, %rax
	movq	%rax, 168(%rsp)
	xorl	%eax, %eax
	jmp	.L87
	.p2align 4,,10
	.p2align 3
.L77:
	addl	$1, %ebx
	cmpl	$9, %ebx
	je	.L153
.L87:
	btl	%ebx, %r12d
	jnc	.L77
	movl	$1, %eax
	movl	%ebx, %ecx
	movl	%ebx, now(%rip)
	sall	%cl, %eax
	movl	%eax, %ebp
	xorl	$65535, %ebp
	testb	$1, %al
	je	.L154
.L78:
	testb	$2, %bpl
	jne	.L155
.L79:
	testb	$4, %bpl
	jne	.L156
.L80:
	testb	$8, %bpl
	jne	.L157
.L81:
	testb	$16, %bpl
	jne	.L158
.L82:
	testb	$32, %bpl
	jne	.L159
.L83:
	testb	$64, %bpl
	jne	.L160
.L84:
	testb	$-128, %bpl
	jne	.L161
.L85:
	movl	%ebp, %eax
	sarl	$8, %eax
	cmpl	$254, %eax
	je	.L77
	movl	%ebp, %esi
	movl	$2, %edi
	addl	$1, %ebx
	movl	$8, 4+now(%rip)
	andl	$-257, %esi
	call	tansaku
	cmpl	$9, %ebx
	jne	.L87
.L153:
	leaq	.LC1(%rip), %r14
	leaq	76(%rsp), %rsi
	xorl	%eax, %eax
	movq	%r14, %rdi
	call	__isoc99_scanf@PLT
	movl	76(%rsp), %eax
	testl	%eax, %eax
	jle	.L113
	leaq	80(%rsp), %rax
	movl	$0, 24(%rsp)
	movq	%rax, 56(%rsp)
	leaq	116(%rsp), %rax
	movq	%rax, 32(%rsp)
	leaq	128(%rsp), %rax
	movq	%rax, 40(%rsp)
	leaq	164(%rsp), %rax
	movq	%rax, 48(%rsp)
	.p2align 4,,10
	.p2align 3
.L88:
	movq	56(%rsp), %rbx
	movq	32(%rsp), %rbp
	.p2align 4,,10
	.p2align 3
.L89:
	movq	%rbx, %rsi
	movq	%r14, %rdi
	xorl	%eax, %eax
	addq	$4, %rbx
	call	__isoc99_scanf@PLT
	cmpq	%rbp, %rbx
	jne	.L89
	movq	40(%rsp), %rbx
	movq	48(%rsp), %rbp
	.p2align 4,,10
	.p2align 3
.L90:
	movq	%rbx, %rsi
	movq	%r14, %rdi
	xorl	%eax, %eax
	addq	$4, %rbx
	call	__isoc99_scanf@PLT
	cmpq	%rbp, %rbx
	jne	.L90
	movl	list_num(%rip), %ecx
	movl	%ecx, 28(%rsp)
	testl	%ecx, %ecx
	jle	.L116
	leal	-1(%rcx), %edx
	leaq	all_list(%rip), %rax
	movl	$0, 20(%rsp)
	movl	80(%rsp), %r13d
	leaq	(%rdx,%rdx,8), %rdx
	leaq	36(%rax), %rcx
	movl	88(%rsp), %ebp
	movl	92(%rsp), %ebx
	leaq	(%rcx,%rdx,4), %rdx
	movl	84(%rsp), %r12d
	movl	96(%rsp), %r11d
	movl	$0, 16(%rsp)
	movl	100(%rsp), %r10d
	movl	104(%rsp), %r9d
	movq	%rdx, 8(%rsp)
	movl	108(%rsp), %r8d
	movl	112(%rsp), %edi
	jmp	.L92
	.p2align 4,,10
	.p2align 3
.L163:
	addl	%r15d, %ecx
.L95:
	movslq	8(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	0(%rbp,%rsi), %r15d
	cmpl	%esi, %ebp
	jg	.L96
	addl	%r15d, %ecx
.L97:
	movslq	12(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	(%rbx,%rsi), %r15d
	cmpl	%esi, %ebx
	jg	.L98
	addl	%r15d, %ecx
.L99:
	movslq	16(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	(%rsi,%r11), %r15d
	cmpl	%r11d, %esi
	jl	.L100
	addl	%r15d, %ecx
.L101:
	movslq	20(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	(%rsi,%r10), %r15d
	cmpl	%r10d, %esi
	jl	.L102
	addl	%r15d, %ecx
.L103:
	movslq	24(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	(%rsi,%r9), %r15d
	cmpl	%r9d, %esi
	jl	.L104
	addl	%r15d, %ecx
.L105:
	movslq	28(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	(%r8,%rsi), %r15d
	cmpl	%esi, %r8d
	jg	.L106
	addl	%r15d, %ecx
.L107:
	movslq	32(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	(%rsi,%rdi), %r15d
	cmpl	%edi, %esi
	jl	.L108
	addl	%r15d, %ecx
.L109:
	cmpl	%ecx, %edx
	jle	.L110
	addl	$1, 16(%rsp)
.L111:
	addq	$36, %rax
	cmpq	%rax, 8(%rsp)
	je	.L162
.L92:
	movslq	(%rax), %rdx
	xorl	%ecx, %ecx
	movl	128(%rsp,%rdx,4), %esi
	leal	0(%r13,%rsi), %edx
	cmpl	%esi, %r13d
	jg	.L93
	movl	%edx, %ecx
	xorl	%edx, %edx
.L93:
	movslq	4(%rax), %rsi
	movl	128(%rsp,%rsi,4), %esi
	leal	(%r12,%rsi), %r15d
	cmpl	%esi, %r12d
	jle	.L163
	addl	%r15d, %edx
	jmp	.L95
.L161:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$7, 4+now(%rip)
	andb	$127, %sil
	call	tansaku
	jmp	.L85
.L160:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$6, 4+now(%rip)
	andl	$-65, %esi
	call	tansaku
	jmp	.L84
.L159:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$5, 4+now(%rip)
	andl	$-33, %esi
	call	tansaku
	jmp	.L83
.L158:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$4, 4+now(%rip)
	andl	$-17, %esi
	call	tansaku
	jmp	.L82
.L157:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$3, 4+now(%rip)
	andl	$-9, %esi
	call	tansaku
	jmp	.L81
.L156:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$2, 4+now(%rip)
	andl	$-5, %esi
	call	tansaku
	jmp	.L80
.L155:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$1, 4+now(%rip)
	andl	$-3, %esi
	call	tansaku
	jmp	.L79
.L154:
	movl	%ebp, %esi
	movl	$2, %edi
	movl	$0, 4+now(%rip)
	andl	$-2, %esi
	call	tansaku
	jmp	.L78
	.p2align 4,,10
	.p2align 3
.L110:
	jge	.L111
	addl	$1, 20(%rsp)
	addq	$36, %rax
	cmpq	%rax, 8(%rsp)
	jne	.L92
.L162:
	pxor	%xmm1, %xmm1
	pxor	%xmm0, %xmm0
	cvtsi2sdl	20(%rsp), %xmm1
	cvtsi2sdl	16(%rsp), %xmm0
.L91:
	pxor	%xmm2, %xmm2
	movl	$1, %edi
	movl	$2, %eax
	cvtsi2sdl	28(%rsp), %xmm2
	leaq	.LC2(%rip), %rsi
	divsd	%xmm2, %xmm0
	divsd	%xmm2, %xmm1
	call	__printf_chk@PLT
	addl	$1, 24(%rsp)
	movl	24(%rsp), %eax
	cmpl	%eax, 76(%rsp)
	jg	.L88
.L113:
	movq	168(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L164
	addq	$184, %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
	.p2align 4,,10
	.p2align 3
.L108:
	.cfi_restore_state
	addl	%r15d, %edx
	jmp	.L109
	.p2align 4,,10
	.p2align 3
.L106:
	addl	%r15d, %edx
	jmp	.L107
	.p2align 4,,10
	.p2align 3
.L104:
	addl	%r15d, %edx
	jmp	.L105
	.p2align 4,,10
	.p2align 3
.L102:
	addl	%r15d, %edx
	jmp	.L103
	.p2align 4,,10
	.p2align 3
.L100:
	addl	%r15d, %edx
	jmp	.L101
	.p2align 4,,10
	.p2align 3
.L98:
	addl	%r15d, %edx
	jmp	.L99
	.p2align 4,,10
	.p2align 3
.L96:
	addl	%r15d, %edx
	jmp	.L97
.L116:
	pxor	%xmm0, %xmm0
	movapd	%xmm0, %xmm1
	jmp	.L91
.L164:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE24:
	.size	main, .-main
	.globl	all_list
	.bss
	.align 32
	.type	all_list, @object
	.size	all_list, 13063680
all_list:
	.zero	13063680
	.globl	list_num
	.align 4
	.type	list_num, @object
	.size	list_num, 4
list_num:
	.zero	4
	.globl	now
	.align 32
	.type	now, @object
	.size	now, 36
now:
	.zero	36
	.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 now[9];
/* 9!=362880 */
int list_num;
int all_list[362880][9];

void tansaku(int pos,int rest) {
	int i;
	if(pos>=9) {
		for(i=0;i<9;i++)all_list[list_num][i]=now[i];
		list_num++;
	} else {
		for(i=0;i<9;i++) {
			if(rest & (1<<i)) {
				now[pos]=i;
				tansaku(pos+1,rest & ~(1<<i));
			}
		}
	}
}

int main(void) {
	int d_num,d_cur;
	int g_cards[9];
	int j_cards[9];
	int i,j;
	int now_g,now_j;
	int g_win,j_win;
	tansaku(0,0xffff);
	scanf("%d",&d_num);
	for(d_cur=0;d_cur<d_num;d_cur++) {
		for(i=0;i<9;i++)scanf("%d",&g_cards[i]);
		for(i=0;i<9;i++)scanf("%d",&j_cards[i]);
		g_win=j_win=0;
		for(i=0;i<list_num;i++) {
			now_g=now_j=0;
			for(j=0;j<9;j++) {
				if(g_cards[j]>j_cards[all_list[i][j]]) {
					now_g+=g_cards[j]+j_cards[all_list[i][j]];
				} else {
					now_j+=g_cards[j]+j_cards[all_list[i][j]];
				}
			}
			if(now_g>now_j)g_win++;
			else if(now_j>now_g)j_win++;
		}
		printf("%.15f %.15f\n",
			(double)g_win/list_num,(double)j_win/list_num);
	}
	return 0;
}
2
1 3 5 7 9 11 13 15 17
2 4 6 8 10 12 14 16 18
2 5 7 9 11 13 15 17 18
1 3 4 6 8 10 12 14 16
 2
2 3 5 7 9 11 13 15 17
1 4 6 8 10 12 14 16 18
1 5 7 9 11 13 15 17 18
2 3 4 6 8 10 12 14 16

0.308909281305115 0.691090718694885
0.927447089947090 0.072552910052910
 0.301614858906526 0.698385141093474
0.927469135802469 0.072530864197531

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 now[9];
/* 9!=362880 */
int list_num;
int all_list[362880][9];

void tansaku(int pos,int rest) {
	int i;
	if(pos>=9) {
		for(i=0;i<9;i++)all_list[list_num][i]=now[i];
		list_num++;
	} else {
		for(i=0;i<9;i++) {
			if(rest & (1<<i)) {
				now[pos]=i;
				tansaku(pos+1,rest & ~(1<<i));
			}
		}
	}
}

int main(void) {
	int d_num,d_cur;
	int g_cards[9];
	int j_cards[9];
	int i,j;
	int now_g,now_j;
	int g_win,j_win;
	tansaku(0,0xffff);
	scanf("%d",&d_num);
	for(d_cur=0;d_cur<d_num;d_cur++) {
		for(i=0;i<9;i++)scanf("%d",&g_cards[i]);
		for(i=0;i<9;i++)scanf("%d",&j_cards[i]);
		g_win=j_win=0;
		for(i=0;i<list_num;i++) {
			now_g=now_j=0;
			for(j=0;j<9;j++) {
				if(g_cards[j]>j_cards[all_list[i][j]]) {
					now_g+=g_cards[j]+j_cards[all_list[i][j]];
				} else {
					now_j+=g_cards[j]+j_cards[all_list[i][j]];
				}
			}
			if(now_g>now_j)g_win++;
			else if(now_j>now_g)j_win++;
		}
		printf("%.15f %.15f\n",
			(double)g_win/list_num,(double)j_win/list_num);
	}
	return 0;
}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	now
	.bss
	.align 32
	.type	now, @object
	.size	now, 36
now:
	.zero	36
	.globl	list_num
	.align 4
	.type	list_num, @object
	.size	list_num, 4
list_num:
	.zero	4
	.globl	all_list
	.align 32
	.type	all_list, @object
	.size	all_list, 13063680
all_list:
	.zero	13063680
	.text
	.globl	tansaku
	.type	tansaku, @function
tansaku:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movl	%edi, -20(%rbp)
	movl	%esi, -24(%rbp)
	cmpl	$8, -20(%rbp)
	jle	.L2
	movl	$0, -4(%rbp)
	jmp	.L3
.L4:
	movl	list_num(%rip), %eax
	movl	-4(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	now(%rip), %rdx
	movl	(%rcx,%rdx), %edx
	movl	-4(%rbp), %ecx
	movslq	%ecx, %rsi
	movslq	%eax, %rcx
	movq	%rcx, %rax
	salq	$3, %rax
	addq	%rcx, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rcx
	leaq	all_list(%rip), %rax
	movl	%edx, (%rcx,%rax)
	addl	$1, -4(%rbp)
.L3:
	cmpl	$8, -4(%rbp)
	jle	.L4
	movl	list_num(%rip), %eax
	addl	$1, %eax
	movl	%eax, list_num(%rip)
	jmp	.L9
.L2:
	movl	$0, -4(%rbp)
	jmp	.L6
.L8:
	movl	-4(%rbp), %eax
	movl	-24(%rbp), %edx
	movl	%eax, %ecx
	sarl	%cl, %edx
	movl	%edx, %eax
	andl	$1, %eax
	testl	%eax, %eax
	je	.L7
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rcx
	leaq	now(%rip), %rdx
	movl	-4(%rbp), %eax
	movl	%eax, (%rcx,%rdx)
	movl	-4(%rbp), %eax
	movl	$1, %edx
	movl	%eax, %ecx
	sall	%cl, %edx
	movl	%edx, %eax
	notl	%eax
	andl	-24(%rbp), %eax
	movl	-20(%rbp), %edx
	addl	$1, %edx
	movl	%eax, %esi
	movl	%edx, %edi
	call	tansaku
.L7:
	addl	$1, -4(%rbp)
.L6:
	cmpl	$8, -4(%rbp)
	jle	.L8
.L9:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	tansaku, .-tansaku
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%.15f %.15f\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	addq	$-128, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$65535, %esi
	movl	$0, %edi
	call	tansaku
	leaq	-128(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -124(%rbp)
	jmp	.L11
.L24:
	movl	$0, -120(%rbp)
	jmp	.L12
.L13:
	leaq	-96(%rbp), %rdx
	movl	-120(%rbp), %eax
	cltq
	salq	$2, %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -120(%rbp)
.L12:
	cmpl	$8, -120(%rbp)
	jle	.L13
	movl	$0, -120(%rbp)
	jmp	.L14
.L15:
	leaq	-48(%rbp), %rdx
	movl	-120(%rbp), %eax
	cltq
	salq	$2, %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -120(%rbp)
.L14:
	cmpl	$8, -120(%rbp)
	jle	.L15
	movl	$0, -100(%rbp)
	movl	-100(%rbp), %eax
	movl	%eax, -104(%rbp)
	movl	$0, -120(%rbp)
	jmp	.L16
.L23:
	movl	$0, -108(%rbp)
	movl	-108(%rbp), %eax
	movl	%eax, -112(%rbp)
	movl	$0, -116(%rbp)
	jmp	.L17
.L20:
	movl	-116(%rbp), %eax
	cltq
	movl	-96(%rbp,%rax,4), %ecx
	movl	-116(%rbp), %eax
	movslq	%eax, %rsi
	movl	-120(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	all_list(%rip), %rax
	movl	(%rdx,%rax), %eax
	cltq
	movl	-48(%rbp,%rax,4), %eax
	cmpl	%eax, %ecx
	jle	.L18
	movl	-116(%rbp), %eax
	cltq
	movl	-96(%rbp,%rax,4), %ecx
	movl	-116(%rbp), %eax
	movslq	%eax, %rsi
	movl	-120(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	all_list(%rip), %rax
	movl	(%rdx,%rax), %eax
	cltq
	movl	-48(%rbp,%rax,4), %eax
	addl	%ecx, %eax
	addl	%eax, -112(%rbp)
	jmp	.L19
.L18:
	movl	-116(%rbp), %eax
	cltq
	movl	-96(%rbp,%rax,4), %ecx
	movl	-116(%rbp), %eax
	movslq	%eax, %rsi
	movl	-120(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	all_list(%rip), %rax
	movl	(%rdx,%rax), %eax
	cltq
	movl	-48(%rbp,%rax,4), %eax
	addl	%ecx, %eax
	addl	%eax, -108(%rbp)
.L19:
	addl	$1, -116(%rbp)
.L17:
	cmpl	$8, -116(%rbp)
	jle	.L20
	movl	-112(%rbp), %eax
	cmpl	-108(%rbp), %eax
	jle	.L21
	addl	$1, -104(%rbp)
	jmp	.L22
.L21:
	movl	-108(%rbp), %eax
	cmpl	-112(%rbp), %eax
	jle	.L22
	addl	$1, -100(%rbp)
.L22:
	addl	$1, -120(%rbp)
.L16:
	movl	list_num(%rip), %eax
	cmpl	%eax, -120(%rbp)
	jl	.L23
	pxor	%xmm0, %xmm0
	cvtsi2sdl	-100(%rbp), %xmm0
	movl	list_num(%rip), %eax
	pxor	%xmm1, %xmm1
	cvtsi2sdl	%eax, %xmm1
	movapd	%xmm0, %xmm2
	divsd	%xmm1, %xmm2
	pxor	%xmm0, %xmm0
	cvtsi2sdl	-104(%rbp), %xmm0
	movl	list_num(%rip), %eax
	pxor	%xmm1, %xmm1
	cvtsi2sdl	%eax, %xmm1
	divsd	%xmm1, %xmm0
	movq	%xmm0, %rax
	movapd	%xmm2, %xmm1
	movq	%rax, %xmm0
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$2, %eax
	call	printf@PLT
	addl	$1, -124(%rbp)
.L11:
	movl	-128(%rbp), %eax
	cmpl	%eax, -124(%rbp)
	jl	.L24
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L26
	call	__stack_chk_fail@PLT
.L26:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.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
	.globl	now
	.bss
	.align 32
	.type	now, @object
	.size	now, 36
now:
	.zero	36
	.globl	list_num
	.align 4
	.type	list_num, @object
	.size	list_num, 4
list_num:
	.zero	4
	.globl	all_list
	.align 32
	.type	all_list, @object
	.size	all_list, 13063680
all_list:
	.zero	13063680
	.text
	.globl	tansaku
	.type	tansaku, @function
tansaku:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movl	%edi, -20(%rbp)
	movl	%esi, -24(%rbp)
	cmpl	$8, -20(%rbp)
	jle	.L2
	movl	$0, -4(%rbp)
	jmp	.L3
.L4:
	movl	list_num(%rip), %eax
	movl	-4(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	now(%rip), %rdx
	movl	(%rcx,%rdx), %edx
	movl	-4(%rbp), %ecx
	movslq	%ecx, %rsi
	movslq	%eax, %rcx
	movq	%rcx, %rax
	salq	$3, %rax
	addq	%rcx, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rcx
	leaq	all_list(%rip), %rax
	movl	%edx, (%rcx,%rax)
	addl	$1, -4(%rbp)
.L3:
	cmpl	$8, -4(%rbp)
	jle	.L4
	movl	list_num(%rip), %eax
	addl	$1, %eax
	movl	%eax, list_num(%rip)
	jmp	.L9
.L2:
	movl	$0, -4(%rbp)
	jmp	.L6
.L8:
	movl	-4(%rbp), %eax
	movl	-24(%rbp), %edx
	movl	%eax, %ecx
	sarl	%cl, %edx
	movl	%edx, %eax
	andl	$1, %eax
	testl	%eax, %eax
	je	.L7
	movl	-20(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rcx
	leaq	now(%rip), %rdx
	movl	-4(%rbp), %eax
	movl	%eax, (%rcx,%rdx)
	movl	-4(%rbp), %eax
	movl	$1, %edx
	movl	%eax, %ecx
	sall	%cl, %edx
	movl	%edx, %eax
	notl	%eax
	andl	-24(%rbp), %eax
	movl	-20(%rbp), %edx
	addl	$1, %edx
	movl	%eax, %esi
	movl	%edx, %edi
	call	tansaku
.L7:
	addl	$1, -4(%rbp)
.L6:
	cmpl	$8, -4(%rbp)
	jle	.L8
.L9:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	tansaku, .-tansaku
	.section	.rodata
.LC0:
	.string	"%d"
.LC1:
	.string	"%.15f %.15f\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB1:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	addq	$-128, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	movl	$65535, %esi
	movl	$0, %edi
	call	tansaku
	leaq	-128(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	$0, -124(%rbp)
	jmp	.L11
.L24:
	movl	$0, -120(%rbp)
	jmp	.L12
.L13:
	leaq	-96(%rbp), %rdx
	movl	-120(%rbp), %eax
	cltq
	salq	$2, %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -120(%rbp)
.L12:
	cmpl	$8, -120(%rbp)
	jle	.L13
	movl	$0, -120(%rbp)
	jmp	.L14
.L15:
	leaq	-48(%rbp), %rdx
	movl	-120(%rbp), %eax
	cltq
	salq	$2, %rax
	addq	%rdx, %rax
	movq	%rax, %rsi
	leaq	.LC0(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	addl	$1, -120(%rbp)
.L14:
	cmpl	$8, -120(%rbp)
	jle	.L15
	movl	$0, -100(%rbp)
	movl	-100(%rbp), %eax
	movl	%eax, -104(%rbp)
	movl	$0, -120(%rbp)
	jmp	.L16
.L23:
	movl	$0, -108(%rbp)
	movl	-108(%rbp), %eax
	movl	%eax, -112(%rbp)
	movl	$0, -116(%rbp)
	jmp	.L17
.L20:
	movl	-116(%rbp), %eax
	cltq
	movl	-96(%rbp,%rax,4), %ecx
	movl	-116(%rbp), %eax
	movslq	%eax, %rsi
	movl	-120(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	all_list(%rip), %rax
	movl	(%rdx,%rax), %eax
	cltq
	movl	-48(%rbp,%rax,4), %eax
	cmpl	%eax, %ecx
	jle	.L18
	movl	-116(%rbp), %eax
	cltq
	movl	-96(%rbp,%rax,4), %ecx
	movl	-116(%rbp), %eax
	movslq	%eax, %rsi
	movl	-120(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	all_list(%rip), %rax
	movl	(%rdx,%rax), %eax
	cltq
	movl	-48(%rbp,%rax,4), %eax
	addl	%ecx, %eax
	addl	%eax, -112(%rbp)
	jmp	.L19
.L18:
	movl	-116(%rbp), %eax
	cltq
	movl	-96(%rbp,%rax,4), %ecx
	movl	-116(%rbp), %eax
	movslq	%eax, %rsi
	movl	-120(%rbp), %eax
	movslq	%eax, %rdx
	movq	%rdx, %rax
	salq	$3, %rax
	addq	%rdx, %rax
	addq	%rsi, %rax
	leaq	0(,%rax,4), %rdx
	leaq	all_list(%rip), %rax
	movl	(%rdx,%rax), %eax
	cltq
	movl	-48(%rbp,%rax,4), %eax
	addl	%ecx, %eax
	addl	%eax, -108(%rbp)
.L19:
	addl	$1, -116(%rbp)
.L17:
	cmpl	$8, -116(%rbp)
	jle	.L20
	movl	-112(%rbp), %eax
	cmpl	-108(%rbp), %eax
	jle	.L21
	addl	$1, -104(%rbp)
	jmp	.L22
.L21:
	movl	-108(%rbp), %eax
	cmpl	-112(%rbp), %eax
	jle	.L22
	addl	$1, -100(%rbp)
.L22:
	addl	$1, -120(%rbp)
.L16:
	movl	list_num(%rip), %eax
	cmpl	%eax, -120(%rbp)
	jl	.L23
	pxor	%xmm0, %xmm0
	cvtsi2sdl	-100(%rbp), %xmm0
	movl	list_num(%rip), %eax
	pxor	%xmm1, %xmm1
	cvtsi2sdl	%eax, %xmm1
	movapd	%xmm0, %xmm2
	divsd	%xmm1, %xmm2
	pxor	%xmm0, %xmm0
	cvtsi2sdl	-104(%rbp), %xmm0
	movl	list_num(%rip), %eax
	pxor	%xmm1, %xmm1
	cvtsi2sdl	%eax, %xmm1
	divsd	%xmm1, %xmm0
	movq	%xmm0, %rax
	movapd	%xmm2, %xmm1
	movq	%rax, %xmm0
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$2, %eax
	call	printf@PLT
	addl	$1, -124(%rbp)
.L11:
	movl	-128(%rbp), %eax
	cmpl	%eax, -124(%rbp)
	jl	.L24
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L26
	call	__stack_chk_fail@PLT
.L26:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.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:
