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

```c
// Aizu 1194: Vampire
// 2017.9.14 bal4u@uu

#include <stdio.h>
#include <string.h>
#include <math.h>

#define EPS 1e-7
#define INF 4096
#define BASE 30
int hi[60];
int r;

double tim(int x, int h)
{
	x -= BASE; if (x < 0) x++;
	if (x > r || x < -r) return INF;  
	return h+r-sqrt((double)(r*r-x*x));
}

int main()
{
	int n, x, x1, x2, h;
	double min, t;

	while (scanf("%d%d", &r, &n) && r) {
		memset(hi, 0, sizeof(hi));
		while (n-- > 0) {
			scanf("%d%d%d", &x1, &x2, &h); x1 += BASE, x2 += BASE;
			for (x = x1; x < x2; x++) if (hi[x] < h) hi[x] = h;
		}
		min = INF;
		for (x = BASE-r; x < BASE+r; x++) {
			t = tim(x, hi[x]);
			if (fabs(t) <= EPS) { min = 0; break; }
			if (min-t > EPS || t <= min) min = t;
		}
		printf("%.4lf\n", min);
	}
	return 0;
}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	hi
	.bss
	.align 32
	.type	hi, @object
	.size	hi, 240
hi:
	.zero	240
	.globl	r
	.align 4
	.type	r, @object
	.size	r, 4
r:
	.zero	4
	.text
	.globl	tim
	.type	tim, @function
tim:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	subl	$30, -4(%rbp)
	cmpl	$0, -4(%rbp)
	jns	.L2
	addl	$1, -4(%rbp)
.L2:
	movl	r(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jg	.L3
	movl	r(%rip), %eax
	negl	%eax
	cmpl	%eax, -4(%rbp)
	jge	.L4
.L3:
	movsd	.LC0(%rip), %xmm0
	jmp	.L5
.L4:
	movl	r(%rip), %edx
	movl	-8(%rbp), %eax
	addl	%edx, %eax
	pxor	%xmm2, %xmm2
	cvtsi2sdl	%eax, %xmm2
	movsd	%xmm2, -16(%rbp)
	movl	r(%rip), %edx
	movl	r(%rip), %eax
	imull	%eax, %edx
	movl	-4(%rbp), %eax
	imull	%eax, %eax
	subl	%eax, %edx
	pxor	%xmm3, %xmm3
	cvtsi2sdl	%edx, %xmm3
	movq	%xmm3, %rax
	movq	%rax, %xmm0
	call	sqrt@PLT
	movapd	%xmm0, %xmm1
	movsd	-16(%rbp), %xmm0
	subsd	%xmm1, %xmm0
.L5:
	movq	%xmm0, %rax
	movq	%rax, %xmm0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	tim, .-tim
	.section	.rodata
.LC1:
	.string	"%d%d%d"
.LC5:
	.string	"%.4lf\n"
.LC6:
	.string	"%d%d"
	.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
	subq	$48, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	jmp	.L7
.L22:
	movl	$240, %edx
	movl	$0, %esi
	leaq	hi(%rip), %rax
	movq	%rax, %rdi
	call	memset@PLT
	jmp	.L8
.L12:
	leaq	-32(%rbp), %rcx
	leaq	-36(%rbp), %rdx
	leaq	-40(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-40(%rbp), %eax
	addl	$30, %eax
	movl	%eax, -40(%rbp)
	movl	-36(%rbp), %eax
	addl	$30, %eax
	movl	%eax, -36(%rbp)
	movl	-40(%rbp), %eax
	movl	%eax, -28(%rbp)
	jmp	.L9
.L11:
	movl	-28(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	hi(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-32(%rbp), %eax
	cmpl	%eax, %edx
	jge	.L10
	movl	-32(%rbp), %eax
	movl	-28(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	hi(%rip), %rdx
	movl	%eax, (%rcx,%rdx)
.L10:
	addl	$1, -28(%rbp)
.L9:
	movl	-36(%rbp), %eax
	cmpl	%eax, -28(%rbp)
	jl	.L11
.L8:
	movl	-44(%rbp), %eax
	leal	-1(%rax), %edx
	movl	%edx, -44(%rbp)
	testl	%eax, %eax
	jg	.L12
	movsd	.LC0(%rip), %xmm0
	movsd	%xmm0, -24(%rbp)
	movl	r(%rip), %edx
	movl	$30, %eax
	subl	%edx, %eax
	movl	%eax, -28(%rbp)
	jmp	.L13
.L20:
	movl	-28(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	hi(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-28(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	tim
	movq	%xmm0, %rax
	movq	%rax, -16(%rbp)
	movsd	-16(%rbp), %xmm0
	movq	.LC2(%rip), %xmm1
	andpd	%xmm0, %xmm1
	movsd	.LC3(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jb	.L26
	pxor	%xmm0, %xmm0
	movsd	%xmm0, -24(%rbp)
	jmp	.L16
.L26:
	movsd	-24(%rbp), %xmm0
	subsd	-16(%rbp), %xmm0
	comisd	.LC3(%rip), %xmm0
	ja	.L17
	movsd	-24(%rbp), %xmm0
	comisd	-16(%rbp), %xmm0
	jb	.L18
.L17:
	movsd	-16(%rbp), %xmm0
	movsd	%xmm0, -24(%rbp)
.L18:
	addl	$1, -28(%rbp)
.L13:
	movl	r(%rip), %eax
	addl	$29, %eax
	cmpl	%eax, -28(%rbp)
	jle	.L20
.L16:
	movq	-24(%rbp), %rax
	movq	%rax, %xmm0
	leaq	.LC5(%rip), %rax
	movq	%rax, %rdi
	movl	$1, %eax
	call	printf@PLT
.L7:
	leaq	-44(%rbp), %rax
	movq	%rax, %rdx
	leaq	r(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC6(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	testl	%eax, %eax
	je	.L21
	movl	r(%rip), %eax
	testl	%eax, %eax
	jne	.L22
.L21:
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L24
	call	__stack_chk_fail@PLT
.L24:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC0:
	.long	0
	.long	1085276160
	.align 16
.LC2:
	.long	-1
	.long	2147483647
	.long	0
	.long	0
	.align 8
.LC3:
	.long	-1698910392
	.long	1048238066
	.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	tim
	.type	tim, @function
tim:
.LFB35:
	.cfi_startproc
	endbr64
	leal	-29(%rdi), %eax
	subl	$30, %edi
	movsd	.LC0(%rip), %xmm0
	cmovs	%eax, %edi
	movl	r(%rip), %eax
	cmpl	%edi, %eax
	jl	.L12
	movl	%eax, %edx
	negl	%edx
	cmpl	%edi, %edx
	jle	.L16
.L12:
	ret
	.p2align 4,,10
	.p2align 3
.L16:
	imull	%edi, %edi
	pxor	%xmm2, %xmm2
	pxor	%xmm0, %xmm0
	addl	%eax, %esi
	imull	%eax, %eax
	pxor	%xmm1, %xmm1
	cvtsi2sdl	%esi, %xmm1
	subl	%edi, %eax
	cvtsi2sdl	%eax, %xmm2
	ucomisd	%xmm2, %xmm0
	ja	.L10
	sqrtsd	%xmm2, %xmm2
	subsd	%xmm2, %xmm1
	movapd	%xmm1, %xmm0
	ret
.L10:
	subq	$24, %rsp
	.cfi_def_cfa_offset 32
	movapd	%xmm2, %xmm0
	movsd	%xmm1, 8(%rsp)
	call	sqrt@PLT
	movsd	8(%rsp), %xmm1
	addq	$24, %rsp
	.cfi_def_cfa_offset 8
	subsd	%xmm0, %xmm1
	movapd	%xmm1, %xmm0
	ret
	.cfi_endproc
.LFE35:
	.size	tim, .-tim
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC2:
	.string	"%d%d%d"
.LC5:
	.string	"%.4lf\n"
.LC6:
	.string	"%d%d"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB36:
	.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	$72, %rsp
	.cfi_def_cfa_offset 128
	movq	%fs:40, %rax
	movq	%rax, 56(%rsp)
	xorl	%eax, %eax
	leaq	40(%rsp), %rax
	movq	%rax, 8(%rsp)
	.p2align 4,,10
	.p2align 3
.L18:
	movq	8(%rsp), %rdx
	xorl	%eax, %eax
	leaq	r(%rip), %rsi
	leaq	.LC6(%rip), %rdi
	call	__isoc99_scanf@PLT
	testl	%eax, %eax
	je	.L35
	movl	r(%rip), %r12d
	testl	%r12d, %r12d
	je	.L35
	leaq	hi(%rip), %rbx
	xorl	%eax, %eax
	movl	$30, %ecx
	movq	%rbx, %rdi
	rep stosq
	movl	40(%rsp), %eax
	leal	-1(%rax), %edx
	movl	%edx, 40(%rsp)
	testl	%eax, %eax
	jle	.L19
	leaq	52(%rsp), %r14
	leaq	48(%rsp), %r13
	leaq	44(%rsp), %r12
	leaq	.LC2(%rip), %rbp
	leaq	4(%rbx), %r15
	.p2align 4,,10
	.p2align 3
.L21:
	movq	%r14, %rcx
	movq	%r12, %rsi
	movq	%r13, %rdx
	movq	%rbp, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	44(%rsp), %esi
	movl	48(%rsp), %ecx
	leal	30(%rsi), %eax
	movl	%eax, 44(%rsp)
	leal	30(%rcx), %eax
	movl	%eax, 48(%rsp)
	cmpl	%ecx, %esi
	jge	.L25
	subl	$1, %ecx
	movslq	%esi, %rdi
	movl	52(%rsp), %edx
	subl	%esi, %ecx
	leaq	(%rbx,%rdi,4), %rax
	addq	%rdi, %rcx
	leaq	(%r15,%rcx,4), %rcx
	.p2align 4,,10
	.p2align 3
.L24:
	cmpl	%edx, 120(%rax)
	jge	.L23
	movl	%edx, 120(%rax)
.L23:
	addq	$4, %rax
	cmpq	%rcx, %rax
	jne	.L24
.L25:
	movl	40(%rsp), %eax
	leal	-1(%rax), %edx
	movl	%edx, 40(%rsp)
	testl	%eax, %eax
	jg	.L21
	movl	r(%rip), %r12d
.L19:
	movl	$30, %eax
	leal	29(%r12), %r13d
	subl	%r12d, %eax
	cmpl	%r13d, %eax
	jg	.L38
	cltq
	movl	%r12d, %r14d
	movsd	.LC4(%rip), %xmm3
	pxor	%xmm4, %xmm4
	imull	%r12d, %r14d
	leaq	(%rbx,%rax,4), %rbp
	movq	.LC0(%rip), %rax
	movl	%r12d, %ebx
	negl	%ebx
	movq	%rax, %xmm2
	movl	%ebx, %r15d
	jmp	.L34
	.p2align 4,,10
	.p2align 3
.L55:
	movapd	%xmm1, %xmm0
	leal	1(%rbx), %eax
	addl	$31, %ebx
	addq	$4, %rbp
	cmpnlesd	%xmm2, %xmm0
	andpd	%xmm0, %xmm2
	andnpd	%xmm1, %xmm0
	orpd	%xmm0, %xmm2
	cmpl	%ebx, %r13d
	jl	.L26
.L43:
	movl	%eax, %ebx
.L34:
	cmpl	$-2147483648, %ebx
	movl	%ebx, %eax
	movl	0(%rbp), %edx
	sbbl	$-1, %eax
	cmpl	%r12d, %eax
	jg	.L39
	movq	.LC0(%rip), %rdi
	movq	%rdi, %xmm1
	cmpl	%r15d, %eax
	jl	.L28
	imull	%eax, %eax
	pxor	%xmm1, %xmm1
	pxor	%xmm0, %xmm0
	addl	%r12d, %edx
	cvtsi2sdl	%edx, %xmm1
	movl	%r14d, %edx
	subl	%eax, %edx
	cvtsi2sdl	%edx, %xmm0
	ucomisd	%xmm0, %xmm4
	ja	.L52
	sqrtsd	%xmm0, %xmm0
.L31:
	subsd	%xmm0, %xmm1
	movapd	%xmm1, %xmm0
	andpd	.LC3(%rip), %xmm0
	comisd	%xmm0, %xmm3
	jnb	.L54
.L28:
	movapd	%xmm2, %xmm0
	subsd	%xmm1, %xmm0
	comisd	%xmm3, %xmm0
	jbe	.L55
	leal	1(%rbx), %eax
	addl	$31, %ebx
	movapd	%xmm1, %xmm2
	addq	$4, %rbp
	cmpl	%ebx, %r13d
	jge	.L43
.L26:
	movapd	%xmm2, %xmm0
	movl	$1, %edi
	movl	$1, %eax
	leaq	.LC5(%rip), %rsi
	call	__printf_chk@PLT
	jmp	.L18
	.p2align 4,,10
	.p2align 3
.L39:
	movq	.LC0(%rip), %rax
	movq	%rax, %xmm1
	jmp	.L28
.L54:
	movapd	%xmm4, %xmm2
	jmp	.L26
.L35:
	movq	56(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L56
	addq	$72, %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
.L38:
	.cfi_restore_state
	movsd	.LC0(%rip), %xmm2
	jmp	.L26
.L56:
	call	__stack_chk_fail@PLT
.L52:
	movsd	%xmm1, 24(%rsp)
	movsd	%xmm2, 16(%rsp)
	call	sqrt@PLT
	movq	.LC4(%rip), %rax
	movsd	24(%rsp), %xmm1
	pxor	%xmm4, %xmm4
	movsd	16(%rsp), %xmm2
	movq	%rax, %xmm3
	jmp	.L31
	.cfi_endproc
.LFE36:
	.size	main, .-main
	.globl	r
	.bss
	.align 4
	.type	r, @object
	.size	r, 4
r:
	.zero	4
	.globl	hi
	.align 32
	.type	hi, @object
	.size	hi, 240
hi:
	.zero	240
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC0:
	.long	0
	.long	1085276160
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC3:
	.long	-1
	.long	2147483647
	.long	0
	.long	0
	.section	.rodata.cst8
	.align 8
.LC4:
	.long	-1698910392
	.long	1048238066
	.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	tim
	.type	tim, @function
tim:
.LFB35:
	.cfi_startproc
	endbr64
	leal	-29(%rdi), %eax
	subl	$30, %edi
	movsd	.LC0(%rip), %xmm0
	cmovs	%eax, %edi
	movl	r(%rip), %eax
	cmpl	%edi, %eax
	jl	.L12
	movl	%eax, %edx
	negl	%edx
	cmpl	%edi, %edx
	jle	.L16
.L12:
	ret
	.p2align 4,,10
	.p2align 3
.L16:
	imull	%edi, %edi
	pxor	%xmm2, %xmm2
	pxor	%xmm0, %xmm0
	addl	%eax, %esi
	imull	%eax, %eax
	pxor	%xmm1, %xmm1
	cvtsi2sdl	%esi, %xmm1
	subl	%edi, %eax
	cvtsi2sdl	%eax, %xmm2
	ucomisd	%xmm2, %xmm0
	ja	.L10
	sqrtsd	%xmm2, %xmm2
	subsd	%xmm2, %xmm1
	movapd	%xmm1, %xmm0
	ret
.L10:
	subq	$24, %rsp
	.cfi_def_cfa_offset 32
	movapd	%xmm2, %xmm0
	movsd	%xmm1, 8(%rsp)
	call	sqrt@PLT
	movsd	8(%rsp), %xmm1
	addq	$24, %rsp
	.cfi_def_cfa_offset 8
	subsd	%xmm0, %xmm1
	movapd	%xmm1, %xmm0
	ret
	.cfi_endproc
.LFE35:
	.size	tim, .-tim
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC2:
	.string	"%d%d%d"
.LC5:
	.string	"%.4lf\n"
.LC6:
	.string	"%d%d"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB36:
	.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	$72, %rsp
	.cfi_def_cfa_offset 128
	movq	%fs:40, %rax
	movq	%rax, 56(%rsp)
	xorl	%eax, %eax
	leaq	40(%rsp), %rax
	movq	%rax, 8(%rsp)
	.p2align 4,,10
	.p2align 3
.L18:
	movq	8(%rsp), %rdx
	xorl	%eax, %eax
	leaq	r(%rip), %rsi
	leaq	.LC6(%rip), %rdi
	call	__isoc99_scanf@PLT
	testl	%eax, %eax
	je	.L35
	movl	r(%rip), %r12d
	testl	%r12d, %r12d
	je	.L35
	leaq	hi(%rip), %rbx
	xorl	%eax, %eax
	movl	$30, %ecx
	movq	%rbx, %rdi
	rep stosq
	movl	40(%rsp), %eax
	leal	-1(%rax), %edx
	movl	%edx, 40(%rsp)
	testl	%eax, %eax
	jle	.L19
	leaq	52(%rsp), %r14
	leaq	48(%rsp), %r13
	leaq	44(%rsp), %r12
	leaq	.LC2(%rip), %rbp
	leaq	4(%rbx), %r15
	.p2align 4,,10
	.p2align 3
.L21:
	movq	%r14, %rcx
	movq	%r12, %rsi
	movq	%r13, %rdx
	movq	%rbp, %rdi
	xorl	%eax, %eax
	call	__isoc99_scanf@PLT
	movl	44(%rsp), %esi
	movl	48(%rsp), %ecx
	leal	30(%rsi), %eax
	movl	%eax, 44(%rsp)
	leal	30(%rcx), %eax
	movl	%eax, 48(%rsp)
	cmpl	%ecx, %esi
	jge	.L25
	subl	$1, %ecx
	movslq	%esi, %rdi
	movl	52(%rsp), %edx
	subl	%esi, %ecx
	leaq	(%rbx,%rdi,4), %rax
	addq	%rdi, %rcx
	leaq	(%r15,%rcx,4), %rcx
	.p2align 4,,10
	.p2align 3
.L24:
	cmpl	%edx, 120(%rax)
	jge	.L23
	movl	%edx, 120(%rax)
.L23:
	addq	$4, %rax
	cmpq	%rcx, %rax
	jne	.L24
.L25:
	movl	40(%rsp), %eax
	leal	-1(%rax), %edx
	movl	%edx, 40(%rsp)
	testl	%eax, %eax
	jg	.L21
	movl	r(%rip), %r12d
.L19:
	movl	$30, %eax
	leal	29(%r12), %r13d
	subl	%r12d, %eax
	cmpl	%r13d, %eax
	jg	.L38
	cltq
	movl	%r12d, %r14d
	movsd	.LC4(%rip), %xmm3
	pxor	%xmm4, %xmm4
	imull	%r12d, %r14d
	leaq	(%rbx,%rax,4), %rbp
	movq	.LC0(%rip), %rax
	movl	%r12d, %ebx
	negl	%ebx
	movq	%rax, %xmm2
	movl	%ebx, %r15d
	jmp	.L34
	.p2align 4,,10
	.p2align 3
.L55:
	movapd	%xmm1, %xmm0
	leal	1(%rbx), %eax
	addl	$31, %ebx
	addq	$4, %rbp
	cmpnlesd	%xmm2, %xmm0
	andpd	%xmm0, %xmm2
	andnpd	%xmm1, %xmm0
	orpd	%xmm0, %xmm2
	cmpl	%ebx, %r13d
	jl	.L26
.L43:
	movl	%eax, %ebx
.L34:
	cmpl	$-2147483648, %ebx
	movl	%ebx, %eax
	movl	0(%rbp), %edx
	sbbl	$-1, %eax
	cmpl	%r12d, %eax
	jg	.L39
	movq	.LC0(%rip), %rdi
	movq	%rdi, %xmm1
	cmpl	%r15d, %eax
	jl	.L28
	imull	%eax, %eax
	pxor	%xmm1, %xmm1
	pxor	%xmm0, %xmm0
	addl	%r12d, %edx
	cvtsi2sdl	%edx, %xmm1
	movl	%r14d, %edx
	subl	%eax, %edx
	cvtsi2sdl	%edx, %xmm0
	ucomisd	%xmm0, %xmm4
	ja	.L52
	sqrtsd	%xmm0, %xmm0
.L31:
	subsd	%xmm0, %xmm1
	movapd	%xmm1, %xmm0
	andpd	.LC3(%rip), %xmm0
	comisd	%xmm0, %xmm3
	jnb	.L54
.L28:
	movapd	%xmm2, %xmm0
	subsd	%xmm1, %xmm0
	comisd	%xmm3, %xmm0
	jbe	.L55
	leal	1(%rbx), %eax
	addl	$31, %ebx
	movapd	%xmm1, %xmm2
	addq	$4, %rbp
	cmpl	%ebx, %r13d
	jge	.L43
.L26:
	movapd	%xmm2, %xmm0
	movl	$1, %edi
	movl	$1, %eax
	leaq	.LC5(%rip), %rsi
	call	__printf_chk@PLT
	jmp	.L18
	.p2align 4,,10
	.p2align 3
.L39:
	movq	.LC0(%rip), %rax
	movq	%rax, %xmm1
	jmp	.L28
.L54:
	movapd	%xmm4, %xmm2
	jmp	.L26
.L35:
	movq	56(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L56
	addq	$72, %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
.L38:
	.cfi_restore_state
	movsd	.LC0(%rip), %xmm2
	jmp	.L26
.L56:
	call	__stack_chk_fail@PLT
.L52:
	movsd	%xmm1, 24(%rsp)
	movsd	%xmm2, 16(%rsp)
	call	sqrt@PLT
	movq	.LC4(%rip), %rax
	movsd	24(%rsp), %xmm1
	pxor	%xmm4, %xmm4
	movsd	16(%rsp), %xmm2
	movq	%rax, %xmm3
	jmp	.L31
	.cfi_endproc
.LFE36:
	.size	main, .-main
	.globl	r
	.bss
	.align 4
	.type	r, @object
	.size	r, 4
r:
	.zero	4
	.globl	hi
	.align 32
	.type	hi, @object
	.size	hi, 240
hi:
	.zero	240
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC0:
	.long	0
	.long	1085276160
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC3:
	.long	-1
	.long	2147483647
	.long	0
	.long	0
	.section	.rodata.cst8
	.align 8
.LC4:
	.long	-1698910392
	.long	1048238066
	.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:

// Aizu 1194: Vampire
// 2017.9.14 bal4u@uu

#include <stdio.h>
#include <string.h>
#include <math.h>

#define EPS 1e-7
#define INF 4096
#define BASE 30
int hi[60];
int r;

double tim(int x, int h)
{
	x -= BASE; if (x < 0) x++;
	if (x > r || x < -r) return INF;  
	return h+r-sqrt((double)(r*r-x*x));
}

int main()
{
	int n, x, x1, x2, h;
	double min, t;

	while (scanf("%d%d", &r, &n) && r) {
		memset(hi, 0, sizeof(hi));
		while (n-- > 0) {
			scanf("%d%d%d", &x1, &x2, &h); x1 += BASE, x2 += BASE;
			for (x = x1; x < x2; x++) if (hi[x] < h) hi[x] = h;
		}
		min = INF;
		for (x = BASE-r; x < BASE+r; x++) {
			t = tim(x, hi[x]);
			if (fabs(t) <= EPS) { min = 0; break; }
			if (min-t > EPS || t <= min) min = t;
		}
		printf("%.4lf\n", min);
	}
	return 0;
}
2 3
-3 -1 3
0 1 3
2 3 3
2 2
-2 0 4
0 2 3
2 6
-3 3 1
-2 3 2
-1 3 3
0 3 4
1 3 5
2 3 6
2 6
-3 3 1
-3 2 2
-3 1 3
-3 0 4
-3 -1 5
-3 -2 6
0 0
 2 3
-3 -1 3
0 1 3
2 3 3
2 2
-2 0 4
0 2 5
2 6
-3 3 1
-2 3 2
-1 3 3
0 3 4
1 3 5
2 3 6
2 6
-3 3 1
-3 2 2
-3 1 3
-3 0 4
-3 -1 5
-3 -2 6
0 0
 2 3
-3 -1 3
0 1 3
2 3 3
2 2
-2 0 6
0 2 5
2 6
-3 3 1
-2 3 2
-1 3 4
0 3 4
1 3 5
2 3 8
2 6
-3 3 1
-3 2 2
-3 1 3
-3 0 4
-3 -1 5
-3 -2 6
0 0
 2 3
-2 -1 3
0 1 3
2 3 3
2 2
-2 0 4
-1 2 3
2 6
-1 3 1
-2 3 2
-1 3 3
0 6 4
1 3 5
2 3 3
2 6
-3 3 1
-3 2 2
-3 1 2
-3 0 4
-3 -1 5
-3 -2 6
0 0
 2 3
-4 -1 3
0 1 3
2 3 3
2 2
-2 0 4
0 2 3
2 6
-3 3 1
-2 3 2
-1 3 3
0 3 4
1 3 5
2 3 6
3 6
-3 3 1
-3 2 2
-3 1 3
0 0 4
-3 -1 5
-3 -2 6
0 0
 2 3
-4 -1 3
0 1 3
2 3 3
2 2
-2 0 4
0 2 3
1 6
-3 3 1
-2 3 2
-1 3 3
0 3 4
1 3 5
2 3 6
2 6
-3 3 1
-3 2 2
-3 1 3
0 0 4
-3 -1 5
-3 -2 6
0 0
 2 3
-3 -1 3
0 1 3
2 3 3
2 2
-2 0 6
0 2 5
1 6
-3 3 1
-2 3 2
-1 3 4
0 3 4
1 3 5
2 1 8
2 6
-3 3 1
0 3 2
-3 1 3
-3 0 4
-3 -1 5
-3 -2 6
0 0
 2 3
-4 -1 3
0 1 3
2 3 3
2 2
-2 0 4
0 2 3
1 6
-3 3 1
-2 3 2
-1 3 3
0 3 4
1 3 5
2 3 6
2 6
-3 3 1
-3 2 4
-3 1 3
0 0 4
-3 -1 5
-3 -2 6
0 0
 2 3
-4 -1 3
0 1 3
2 3 3
2 2
-2 0 4
0 2 3
1 6
-3 3 1
-2 3 2
-1 3 3
0 3 4
1 3 5
2 3 6
2 6
-3 3 1
-3 0 4
-3 1 3
0 0 4
-3 -1 5
-3 -2 6
0 0
 2 3
-4 -1 3
0 1 3
2 3 3
2 2
-2 0 4
0 2 2
1 6
-3 3 1
-2 3 2
-1 3 3
0 3 4
1 3 5
2 3 6
2 6
-3 3 1
-3 0 4
-3 1 3
0 0 4
-3 -1 5
-3 -2 6
0 0

0.0000
3.0000
2.2679
2.2679
 0.0000
4.0000
2.2679
2.2679
 0.0000
5.0000
2.2679
2.2679
 0.0000
3.0000
2.2679
2.0000
 0.0000
3.0000
2.2679
1.7639
 0.0000
3.0000
3.0000
2.2679
 0.0000
5.0000
4.0000
2.2679
 0.0000
3.0000
3.0000
4.0000
 0.0000
3.0000
3.0000
1.2679
 0.0000
2.0000
3.0000
1.2679

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

```c
// Aizu 1194: Vampire
// 2017.9.14 bal4u@uu

#include <stdio.h>
#include <string.h>
#include <math.h>

#define EPS 1e-7
#define INF 4096
#define BASE 30
int hi[60];
int r;

double tim(int x, int h)
{
	x -= BASE; if (x < 0) x++;
	if (x > r || x < -r) return INF;  
	return h+r-sqrt((double)(r*r-x*x));
}

int main()
{
	int n, x, x1, x2, h;
	double min, t;

	while (scanf("%d%d", &r, &n) && r) {
		memset(hi, 0, sizeof(hi));
		while (n-- > 0) {
			scanf("%d%d%d", &x1, &x2, &h); x1 += BASE, x2 += BASE;
			for (x = x1; x < x2; x++) if (hi[x] < h) hi[x] = h;
		}
		min = INF;
		for (x = BASE-r; x < BASE+r; x++) {
			t = tim(x, hi[x]);
			if (fabs(t) <= EPS) { min = 0; break; }
			if (min-t > EPS || t <= min) min = t;
		}
		printf("%.4lf\n", min);
	}
	return 0;
}```

Unoptimized Assembly Code:

```assembly
	.file	"temp.c"
	.text
	.globl	hi
	.bss
	.align 32
	.type	hi, @object
	.size	hi, 240
hi:
	.zero	240
	.globl	r
	.align 4
	.type	r, @object
	.size	r, 4
r:
	.zero	4
	.text
	.globl	tim
	.type	tim, @function
tim:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	subl	$30, -4(%rbp)
	cmpl	$0, -4(%rbp)
	jns	.L2
	addl	$1, -4(%rbp)
.L2:
	movl	r(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jg	.L3
	movl	r(%rip), %eax
	negl	%eax
	cmpl	%eax, -4(%rbp)
	jge	.L4
.L3:
	movsd	.LC0(%rip), %xmm0
	jmp	.L5
.L4:
	movl	r(%rip), %edx
	movl	-8(%rbp), %eax
	addl	%edx, %eax
	pxor	%xmm2, %xmm2
	cvtsi2sdl	%eax, %xmm2
	movsd	%xmm2, -16(%rbp)
	movl	r(%rip), %edx
	movl	r(%rip), %eax
	imull	%eax, %edx
	movl	-4(%rbp), %eax
	imull	%eax, %eax
	subl	%eax, %edx
	pxor	%xmm3, %xmm3
	cvtsi2sdl	%edx, %xmm3
	movq	%xmm3, %rax
	movq	%rax, %xmm0
	call	sqrt@PLT
	movapd	%xmm0, %xmm1
	movsd	-16(%rbp), %xmm0
	subsd	%xmm1, %xmm0
.L5:
	movq	%xmm0, %rax
	movq	%rax, %xmm0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	tim, .-tim
	.section	.rodata
.LC1:
	.string	"%d%d%d"
.LC5:
	.string	"%.4lf\n"
.LC6:
	.string	"%d%d"
	.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
	subq	$48, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	jmp	.L7
.L22:
	movl	$240, %edx
	movl	$0, %esi
	leaq	hi(%rip), %rax
	movq	%rax, %rdi
	call	memset@PLT
	jmp	.L8
.L12:
	leaq	-32(%rbp), %rcx
	leaq	-36(%rbp), %rdx
	leaq	-40(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-40(%rbp), %eax
	addl	$30, %eax
	movl	%eax, -40(%rbp)
	movl	-36(%rbp), %eax
	addl	$30, %eax
	movl	%eax, -36(%rbp)
	movl	-40(%rbp), %eax
	movl	%eax, -28(%rbp)
	jmp	.L9
.L11:
	movl	-28(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	hi(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-32(%rbp), %eax
	cmpl	%eax, %edx
	jge	.L10
	movl	-32(%rbp), %eax
	movl	-28(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	hi(%rip), %rdx
	movl	%eax, (%rcx,%rdx)
.L10:
	addl	$1, -28(%rbp)
.L9:
	movl	-36(%rbp), %eax
	cmpl	%eax, -28(%rbp)
	jl	.L11
.L8:
	movl	-44(%rbp), %eax
	leal	-1(%rax), %edx
	movl	%edx, -44(%rbp)
	testl	%eax, %eax
	jg	.L12
	movsd	.LC0(%rip), %xmm0
	movsd	%xmm0, -24(%rbp)
	movl	r(%rip), %edx
	movl	$30, %eax
	subl	%edx, %eax
	movl	%eax, -28(%rbp)
	jmp	.L13
.L20:
	movl	-28(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	hi(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-28(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	tim
	movq	%xmm0, %rax
	movq	%rax, -16(%rbp)
	movsd	-16(%rbp), %xmm0
	movq	.LC2(%rip), %xmm1
	andpd	%xmm0, %xmm1
	movsd	.LC3(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jb	.L26
	pxor	%xmm0, %xmm0
	movsd	%xmm0, -24(%rbp)
	jmp	.L16
.L26:
	movsd	-24(%rbp), %xmm0
	subsd	-16(%rbp), %xmm0
	comisd	.LC3(%rip), %xmm0
	ja	.L17
	movsd	-24(%rbp), %xmm0
	comisd	-16(%rbp), %xmm0
	jb	.L18
.L17:
	movsd	-16(%rbp), %xmm0
	movsd	%xmm0, -24(%rbp)
.L18:
	addl	$1, -28(%rbp)
.L13:
	movl	r(%rip), %eax
	addl	$29, %eax
	cmpl	%eax, -28(%rbp)
	jle	.L20
.L16:
	movq	-24(%rbp), %rax
	movq	%rax, %xmm0
	leaq	.LC5(%rip), %rax
	movq	%rax, %rdi
	movl	$1, %eax
	call	printf@PLT
.L7:
	leaq	-44(%rbp), %rax
	movq	%rax, %rdx
	leaq	r(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC6(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	testl	%eax, %eax
	je	.L21
	movl	r(%rip), %eax
	testl	%eax, %eax
	jne	.L22
.L21:
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L24
	call	__stack_chk_fail@PLT
.L24:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC0:
	.long	0
	.long	1085276160
	.align 16
.LC2:
	.long	-1
	.long	2147483647
	.long	0
	.long	0
	.align 8
.LC3:
	.long	-1698910392
	.long	1048238066
	.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	hi
	.bss
	.align 32
	.type	hi, @object
	.size	hi, 240
hi:
	.zero	240
	.globl	r
	.align 4
	.type	r, @object
	.size	r, 4
r:
	.zero	4
	.text
	.globl	tim
	.type	tim, @function
tim:
.LFB0:
	.cfi_startproc
	endbr64
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$16, %rsp
	movl	%edi, -4(%rbp)
	movl	%esi, -8(%rbp)
	subl	$30, -4(%rbp)
	cmpl	$0, -4(%rbp)
	jns	.L2
	addl	$1, -4(%rbp)
.L2:
	movl	r(%rip), %eax
	cmpl	%eax, -4(%rbp)
	jg	.L3
	movl	r(%rip), %eax
	negl	%eax
	cmpl	%eax, -4(%rbp)
	jge	.L4
.L3:
	movsd	.LC0(%rip), %xmm0
	jmp	.L5
.L4:
	movl	r(%rip), %edx
	movl	-8(%rbp), %eax
	addl	%edx, %eax
	pxor	%xmm2, %xmm2
	cvtsi2sdl	%eax, %xmm2
	movsd	%xmm2, -16(%rbp)
	movl	r(%rip), %edx
	movl	r(%rip), %eax
	imull	%eax, %edx
	movl	-4(%rbp), %eax
	imull	%eax, %eax
	subl	%eax, %edx
	pxor	%xmm3, %xmm3
	cvtsi2sdl	%edx, %xmm3
	movq	%xmm3, %rax
	movq	%rax, %xmm0
	call	sqrt@PLT
	movapd	%xmm0, %xmm1
	movsd	-16(%rbp), %xmm0
	subsd	%xmm1, %xmm0
.L5:
	movq	%xmm0, %rax
	movq	%rax, %xmm0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	tim, .-tim
	.section	.rodata
.LC1:
	.string	"%d%d%d"
.LC5:
	.string	"%.4lf\n"
.LC6:
	.string	"%d%d"
	.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
	subq	$48, %rsp
	movq	%fs:40, %rax
	movq	%rax, -8(%rbp)
	xorl	%eax, %eax
	jmp	.L7
.L22:
	movl	$240, %edx
	movl	$0, %esi
	leaq	hi(%rip), %rax
	movq	%rax, %rdi
	call	memset@PLT
	jmp	.L8
.L12:
	leaq	-32(%rbp), %rcx
	leaq	-36(%rbp), %rdx
	leaq	-40(%rbp), %rax
	movq	%rax, %rsi
	leaq	.LC1(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	movl	-40(%rbp), %eax
	addl	$30, %eax
	movl	%eax, -40(%rbp)
	movl	-36(%rbp), %eax
	addl	$30, %eax
	movl	%eax, -36(%rbp)
	movl	-40(%rbp), %eax
	movl	%eax, -28(%rbp)
	jmp	.L9
.L11:
	movl	-28(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	hi(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-32(%rbp), %eax
	cmpl	%eax, %edx
	jge	.L10
	movl	-32(%rbp), %eax
	movl	-28(%rbp), %edx
	movslq	%edx, %rdx
	leaq	0(,%rdx,4), %rcx
	leaq	hi(%rip), %rdx
	movl	%eax, (%rcx,%rdx)
.L10:
	addl	$1, -28(%rbp)
.L9:
	movl	-36(%rbp), %eax
	cmpl	%eax, -28(%rbp)
	jl	.L11
.L8:
	movl	-44(%rbp), %eax
	leal	-1(%rax), %edx
	movl	%edx, -44(%rbp)
	testl	%eax, %eax
	jg	.L12
	movsd	.LC0(%rip), %xmm0
	movsd	%xmm0, -24(%rbp)
	movl	r(%rip), %edx
	movl	$30, %eax
	subl	%edx, %eax
	movl	%eax, -28(%rbp)
	jmp	.L13
.L20:
	movl	-28(%rbp), %eax
	cltq
	leaq	0(,%rax,4), %rdx
	leaq	hi(%rip), %rax
	movl	(%rdx,%rax), %edx
	movl	-28(%rbp), %eax
	movl	%edx, %esi
	movl	%eax, %edi
	call	tim
	movq	%xmm0, %rax
	movq	%rax, -16(%rbp)
	movsd	-16(%rbp), %xmm0
	movq	.LC2(%rip), %xmm1
	andpd	%xmm0, %xmm1
	movsd	.LC3(%rip), %xmm0
	comisd	%xmm1, %xmm0
	jb	.L26
	pxor	%xmm0, %xmm0
	movsd	%xmm0, -24(%rbp)
	jmp	.L16
.L26:
	movsd	-24(%rbp), %xmm0
	subsd	-16(%rbp), %xmm0
	comisd	.LC3(%rip), %xmm0
	ja	.L17
	movsd	-24(%rbp), %xmm0
	comisd	-16(%rbp), %xmm0
	jb	.L18
.L17:
	movsd	-16(%rbp), %xmm0
	movsd	%xmm0, -24(%rbp)
.L18:
	addl	$1, -28(%rbp)
.L13:
	movl	r(%rip), %eax
	addl	$29, %eax
	cmpl	%eax, -28(%rbp)
	jle	.L20
.L16:
	movq	-24(%rbp), %rax
	movq	%rax, %xmm0
	leaq	.LC5(%rip), %rax
	movq	%rax, %rdi
	movl	$1, %eax
	call	printf@PLT
.L7:
	leaq	-44(%rbp), %rax
	movq	%rax, %rdx
	leaq	r(%rip), %rax
	movq	%rax, %rsi
	leaq	.LC6(%rip), %rax
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf@PLT
	testl	%eax, %eax
	je	.L21
	movl	r(%rip), %eax
	testl	%eax, %eax
	jne	.L22
.L21:
	movl	$0, %eax
	movq	-8(%rbp), %rdx
	subq	%fs:40, %rdx
	je	.L24
	call	__stack_chk_fail@PLT
.L24:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC0:
	.long	0
	.long	1085276160
	.align 16
.LC2:
	.long	-1
	.long	2147483647
	.long	0
	.long	0
	.align 8
.LC3:
	.long	-1698910392
	.long	1048238066
	.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:
