	.file	"575431.c"
	.intel_syntax noprefix
	.text
	.globl	recent
	.bss
	.align 8
	.type	recent, @object
	.size	recent, 8
recent:
	.zero	8
	.globl	m1
	.align 8
	.type	m1, @object
	.size	m1, 8
m1:
	.zero	8
	.globl	m2
	.align 8
	.type	m2, @object
	.size	m2, 8
m2:
	.zero	8
	.globl	polynom
	.data
	.align 2
	.type	polynom, @object
	.size	polynom, 2
polynom:
	.value	-32763
	.globl	crcxor
	.bss
	.align 2
	.type	crcxor, @object
	.size	crcxor, 2
crcxor:
	.zero	2
	.globl	crcmask
	.data
	.align 2
	.type	crcmask, @object
	.size	crcmask, 2
crcmask:
	.value	-1
	.globl	crchighbit
	.align 2
	.type	crchighbit, @object
	.size	crchighbit, 2
crchighbit:
	.value	-32768
	.text
	.globl	reflect
	.type	reflect, @function
reflect:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	DWORD PTR -24[rbp], esi
	mov	WORD PTR -20[rbp], ax
	mov	WORD PTR -4[rbp], 1
	mov	WORD PTR -2[rbp], 0
	cmp	DWORD PTR -24[rbp], 16
	jne	.L2
	mov	WORD PTR -8[rbp], -32768
	jmp	.L3
.L2:
	mov	WORD PTR -8[rbp], 128
.L3:
	movzx	eax, WORD PTR -8[rbp]
	mov	WORD PTR -6[rbp], ax
	jmp	.L4
.L6:
	movzx	eax, WORD PTR -20[rbp]
	and	ax, WORD PTR -6[rbp]
	test	ax, ax
	je	.L5
	movzx	eax, WORD PTR -4[rbp]
	or	WORD PTR -2[rbp], ax
.L5:
	sal	WORD PTR -4[rbp]
	shr	WORD PTR -6[rbp]
.L4:
	cmp	WORD PTR -6[rbp], 0
	jne	.L6
	movzx	eax, WORD PTR -2[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	reflect, .-reflect
	.globl	crc32
	.type	crc32, @function
crc32:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, esi
	mov	WORD PTR -28[rbp], ax
	mov	WORD PTR -8[rbp], 0
	mov	WORD PTR -12[rbp], 0
	jmp	.L9
.L14:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	WORD PTR -6[rbp], ax
	movzx	eax, WORD PTR -6[rbp]
	mov	esi, 8
	mov	edi, eax
	call	reflect
	mov	WORD PTR -6[rbp], ax
	mov	DWORD PTR -4[rbp], 128
	jmp	.L10
.L13:
	movzx	eax, WORD PTR crchighbit[rip]
	and	ax, WORD PTR -8[rbp]
	mov	WORD PTR -10[rbp], ax
	sal	WORD PTR -8[rbp]
	movzx	eax, WORD PTR -6[rbp]
	and	eax, DWORD PTR -4[rbp]
	test	eax, eax
	je	.L11
	movzx	eax, WORD PTR crchighbit[rip]
	xor	WORD PTR -10[rbp], ax
.L11:
	cmp	WORD PTR -10[rbp], 0
	je	.L12
	movzx	eax, WORD PTR polynom[rip]
	xor	WORD PTR -8[rbp], ax
.L12:
	sar	DWORD PTR -4[rbp]
.L10:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L13
	movzx	eax, WORD PTR -12[rbp]
	add	eax, 1
	mov	WORD PTR -12[rbp], ax
.L9:
	movzx	eax, WORD PTR -12[rbp]
	cmp	ax, WORD PTR -28[rbp]
	jb	.L14
	movzx	eax, WORD PTR -8[rbp]
	mov	esi, 16
	mov	edi, eax
	call	reflect
	mov	WORD PTR -8[rbp], ax
	movzx	eax, WORD PTR crcxor[rip]
	xor	WORD PTR -8[rbp], ax
	movzx	eax, WORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	crc32, .-crc32
	.section	.rodata
.LC0:
	.string	"ACK"
.LC1:
	.string	"socket() failed"
.LC2:
	.string	"bind() failed"
.LC3:
	.string	"The message cannot be sent"
	.align 8
.LC4:
	.string	"The ack message cannot be sent!!"
.LC6:
	.string	"Data is Correct"
.LC7:
	.string	"The operation is %s\n"
.LC8:
	.string	"add"
.LC9:
	.string	"sub"
.LC10:
	.string	"mul"
.LC11:
	.string	"div"
.LC12:
	.string	"and"
.LC13:
	.string	"or"
.LC14:
	.string	"not"
.LC15:
	.string	"xor"
.LC16:
	.string	"sin"
.LC20:
	.string	"cos"
.LC21:
	.string	"tan"
.LC22:
	.string	"xtoy"
.LC23:
	.string	"stm1"
.LC24:
	.string	"stm2"
.LC25:
	.string	"clrm"
.LC26:
	.string	"The recent value %f \n"
.LC27:
	.string	"The ack message has not come!"
.LC28:
	.string	"The reply is : %sED\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -32[rbp]
	mov	QWORD PTR -136[rbp], rax
	lea	rax, -64[rbp]
	mov	QWORD PTR -128[rbp], rax
	lea	rax, .LC0[rip]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -176[rbp], eax
	mov	edx, 17
	mov	esi, 2
	mov	edi, 2
	call	socket@PLT
	mov	DWORD PTR -172[rbp], eax
	cmp	DWORD PTR -172[rbp], 0
	jns	.L17
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
.L17:
	lea	rax, -112[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	WORD PTR -112[rbp], 2
	mov	edi, 0
	call	htonl@PLT
	mov	DWORD PTR -108[rbp], eax
	mov	edi, 1337
	call	htons@PLT
	mov	WORD PTR -110[rbp], ax
	lea	rcx, -112[rbp]
	mov	eax, DWORD PTR -172[rbp]
	mov	edx, 16
	mov	rsi, rcx
	mov	edi, eax
	call	bind@PLT
	test	eax, eax
	jns	.L52
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
.L52:
	mov	DWORD PTR -188[rbp], 16
	lea	rcx, -188[rbp]
	lea	rdx, -96[rbp]
	lea	rsi, -32[rbp]
	mov	eax, DWORD PTR -172[rbp]
	mov	r9, rcx
	mov	r8, rdx
	mov	ecx, 0
	mov	edx, 20
	mov	edi, eax
	call	recvfrom@PLT
	mov	DWORD PTR -168[rbp], eax
	cmp	DWORD PTR -168[rbp], 0
	jns	.L19
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
.L19:
	mov	eax, DWORD PTR -176[rbp]
	movsx	rdx, eax
	lea	rcx, -96[rbp]
	mov	rsi, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR -172[rbp]
	mov	r9d, 16
	mov	r8, rcx
	mov	ecx, 0
	mov	edi, eax
	call	sendto@PLT
	test	rax, rax
	jns	.L20
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
.L20:
	lea	rax, -32[rbp]
	mov	esi, 18
	mov	rdi, rax
	call	crc32
	mov	WORD PTR -192[rbp], ax
	pxor	xmm0, xmm0
	movsd	QWORD PTR -144[rbp], xmm0
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, WORD PTR 18[rax]
	movzx	eax, ax
	mov	edi, eax
	call	htons@PLT
	cmp	WORD PTR -192[rbp], ax
	jne	.L21
	lea	rdi, .LC6[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 16[rax]
	cmp	al, 1
	jne	.L22
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edi, eax
	call	htonl@PLT
	mov	eax, eax
	mov	QWORD PTR -160[rbp], rax
	jmp	.L23
.L22:
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 16[rax]
	cmp	al, 2
	jne	.L24
	movsd	xmm0, QWORD PTR recent[rip]
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -160[rbp], rax
	jmp	.L23
.L24:
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 16[rax]
	cmp	al, 16
	jne	.L25
	movsd	xmm0, QWORD PTR m1[rip]
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -160[rbp], rax
	jmp	.L23
.L25:
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 16[rax]
	cmp	al, 32
	jne	.L23
	movsd	xmm0, QWORD PTR m2[rip]
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -160[rbp], rax
.L23:
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 17[rax]
	cmp	al, 1
	jne	.L26
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	edi, eax
	call	htonl@PLT
	mov	eax, eax
	mov	QWORD PTR -152[rbp], rax
	jmp	.L27
.L26:
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 17[rax]
	cmp	al, 2
	jne	.L28
	movsd	xmm0, QWORD PTR recent[rip]
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -152[rbp], rax
	jmp	.L27
.L28:
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 17[rax]
	cmp	al, 16
	jne	.L29
	movsd	xmm0, QWORD PTR m1[rip]
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -152[rbp], rax
	jmp	.L27
.L29:
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR 17[rax]
	cmp	al, 32
	jne	.L27
	movsd	xmm0, QWORD PTR m2[rip]
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -152[rbp], rax
.L27:
	mov	DWORD PTR -184[rbp], 0
	jmp	.L30
.L31:
	mov	rdx, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	movzx	edx, BYTE PTR [rdx+rax]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	mov	BYTE PTR -72[rbp+rax], dl
	add	DWORD PTR -184[rbp], 1
.L30:
	cmp	DWORD PTR -184[rbp], 7
	jle	.L31
	lea	rax, -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -72[rbp]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L32
	mov	rdx, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	QWORD PTR -144[rbp], xmm0
	jmp	.L21
.L32:
	lea	rax, -72[rbp]
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L33
	mov	rax, QWORD PTR -160[rbp]
	sub	rax, QWORD PTR -152[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	QWORD PTR -144[rbp], xmm0
	jmp	.L21
.L33:
	lea	rax, -72[rbp]
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L34
	mov	rax, QWORD PTR -160[rbp]
	imul	rax, QWORD PTR -152[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	QWORD PTR -144[rbp], xmm0
	jmp	.L21
.L34:
	lea	rax, -72[rbp]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L35
	mov	rax, QWORD PTR -160[rbp]
	cqo
	idiv	QWORD PTR -152[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	QWORD PTR -144[rbp], xmm0
	jmp	.L21
.L35:
	lea	rax, -72[rbp]
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L36
	mov	rax, QWORD PTR -160[rbp]
	and	rax, QWORD PTR -152[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	QWORD PTR -144[rbp], xmm0
	jmp	.L21
.L36:
	lea	rax, -72[rbp]
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L37
	mov	rax, QWORD PTR -160[rbp]
	or	rax, QWORD PTR -152[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	QWORD PTR -144[rbp], xmm0
	jmp	.L21
.L37:
	lea	rax, -72[rbp]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L38
	mov	QWORD PTR -152[rbp], 1
	mov	rax, QWORD PTR -160[rbp]
	not	rax
	and	rax, QWORD PTR -152[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	QWORD PTR -144[rbp], xmm0
	jmp	.L21
.L38:
	lea	rax, -72[rbp]
	lea	rsi, .LC15[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L39
	mov	rax, QWORD PTR -160[rbp]
	xor	rax, QWORD PTR -152[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	QWORD PTR -144[rbp], xmm0
	jmp	.L21
.L39:
	lea	rax, -72[rbp]
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L40
	mov	QWORD PTR -152[rbp], 1
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR .LC17[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC18[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	sin@PLT
	movsd	xmm1, QWORD PTR .LC19[rip]
	mulsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, QWORD PTR -152[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -144[rbp], xmm0
	jmp	.L21
.L40:
	lea	rax, -72[rbp]
	lea	rsi, .LC20[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L41
	mov	QWORD PTR -152[rbp], 1
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR .LC17[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC18[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	cos@PLT
	movsd	xmm1, QWORD PTR .LC19[rip]
	mulsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, QWORD PTR -152[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -144[rbp], xmm0
	jmp	.L21
.L41:
	lea	rax, -72[rbp]
	lea	rsi, .LC21[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L42
	mov	QWORD PTR -152[rbp], 1
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR .LC17[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC18[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	tan@PLT
	movsd	xmm1, QWORD PTR .LC19[rip]
	mulsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, QWORD PTR -152[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -144[rbp], xmm0
	jmp	.L21
.L42:
	lea	rax, -72[rbp]
	lea	rsi, .LC22[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L43
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, QWORD PTR -152[rbp]
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, QWORD PTR -160[rbp]
	movq	rax, xmm2
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movq	rax, xmm0
	mov	QWORD PTR -144[rbp], rax
	jmp	.L21
.L43:
	lea	rax, -72[rbp]
	lea	rsi, .LC23[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L44
	movsd	xmm0, QWORD PTR recent[rip]
	movsd	QWORD PTR m1[rip], xmm0
	jmp	.L21
.L44:
	lea	rax, -72[rbp]
	lea	rsi, .LC24[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L45
	movsd	xmm0, QWORD PTR recent[rip]
	movsd	QWORD PTR m2[rip], xmm0
	jmp	.L21
.L45:
	lea	rax, -72[rbp]
	lea	rsi, .LC25[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L21
	pxor	xmm0, xmm0
	movsd	QWORD PTR recent[rip], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR m1[rip], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR m2[rip], xmm0
.L21:
	movsd	xmm0, QWORD PTR -144[rbp]
	movsd	QWORD PTR recent[rip], xmm0
	mov	rax, QWORD PTR recent[rip]
	movq	xmm0, rax
	lea	rdi, .LC26[rip]
	mov	eax, 1
	call	printf@PLT
	mov	DWORD PTR -180[rbp], 0
	jmp	.L46
.L47:
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	movzx	ecx, BYTE PTR -72[rbp+rax]
	mov	rdx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	mov	BYTE PTR [rdx+rax], cl
	add	DWORD PTR -180[rbp], 1
.L46:
	cmp	DWORD PTR -180[rbp], 7
	jle	.L47
	movsd	xmm0, QWORD PTR -144[rbp]
	cvttsd2si	rax, xmm0
	mov	edi, eax
	call	htonl@PLT
	mov	eax, eax
	test	rax, rax
	js	.L48
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L49
.L48:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L49:
	mov	rax, QWORD PTR -128[rbp]
	movsd	QWORD PTR 8[rax], xmm0
	lea	rax, -64[rbp]
	mov	esi, 16
	mov	rdi, rax
	call	crc32
	mov	WORD PTR -190[rbp], ax
	movzx	eax, WORD PTR -190[rbp]
	mov	edi, eax
	call	htons@PLT
	mov	rdx, QWORD PTR -128[rbp]
	mov	WORD PTR 16[rdx], ax
	lea	rdx, -96[rbp]
	lea	rsi, -64[rbp]
	mov	eax, DWORD PTR -172[rbp]
	mov	r9d, 16
	mov	r8, rdx
	mov	ecx, 0
	mov	edx, 18
	mov	edi, eax
	call	sendto@PLT
	test	rax, rax
	jns	.L50
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
.L50:
	mov	eax, DWORD PTR -176[rbp]
	movsx	rdx, eax
	lea	rdi, -188[rbp]
	lea	rcx, -96[rbp]
	lea	rsi, -75[rbp]
	mov	eax, DWORD PTR -172[rbp]
	mov	r9, rdi
	mov	r8, rcx
	mov	ecx, 0
	mov	edi, eax
	call	recvfrom@PLT
	mov	DWORD PTR -164[rbp], eax
	cmp	DWORD PTR -164[rbp], 0
	jns	.L51
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	printf@PLT
.L51:
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	mov	BYTE PTR -75[rbp+rax], 0
	lea	rax, -75[rbp]
	mov	rsi, rax
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L52
	.cfi_endproc
.LFE8:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC17:
	.long	1405670641
	.long	1074340347
	.align 8
.LC18:
	.long	0
	.long	1080459264
	.align 8
.LC19:
	.long	0
	.long	1083129856
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.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:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"575431.c"
	.text
	.global	recent
	.bss
	.align	3
	.type	recent, %object
	.size	recent, 8
recent:
	.space	8
	.global	m1
	.align	3
	.type	m1, %object
	.size	m1, 8
m1:
	.space	8
	.global	m2
	.align	3
	.type	m2, %object
	.size	m2, 8
m2:
	.space	8
	.global	polynom
	.data
	.align	1
	.type	polynom, %object
	.size	polynom, 2
polynom:
	.short	-32763
	.global	crcxor
	.bss
	.align	1
	.type	crcxor, %object
	.size	crcxor, 2
crcxor:
	.space	2
	.global	crcmask
	.data
	.align	1
	.type	crcmask, %object
	.size	crcmask, 2
crcmask:
	.short	-1
	.global	crchighbit
	.align	1
	.type	crchighbit, %object
	.size	crchighbit, 2
crchighbit:
	.short	-32768
	.text
	.align	2
	.global	reflect
	.syntax unified
	.arm
	.fpu softvfp
	.type	reflect, %function
reflect:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	mov	r3, r0
	str	r1, [fp, #-20]
	strh	r3, [fp, #-14]	@ movhi
	mov	r3, #1
	strh	r3, [fp, #-8]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-6]	@ movhi
	ldr	r3, [fp, #-20]
	cmp	r3, #16
	bne	.L2
	mov	r3, #32768
	strh	r3, [fp, #-12]	@ movhi
	b	.L3
.L2:
	mov	r3, #128
	strh	r3, [fp, #-12]	@ movhi
.L3:
	ldrh	r3, [fp, #-12]	@ movhi
	strh	r3, [fp, #-10]	@ movhi
	b	.L4
.L6:
	ldrh	r2, [fp, #-14]	@ movhi
	ldrh	r3, [fp, #-10]	@ movhi
	and	r3, r3, r2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	cmp	r3, #0
	beq	.L5
	ldrh	r2, [fp, #-6]	@ movhi
	ldrh	r3, [fp, #-8]	@ movhi
	orr	r3, r2, r3
	strh	r3, [fp, #-6]	@ movhi
.L5:
	ldrh	r3, [fp, #-8]	@ movhi
	lsl	r3, r3, #1
	strh	r3, [fp, #-8]	@ movhi
	ldrh	r3, [fp, #-10]
	lsr	r3, r3, #1
	strh	r3, [fp, #-10]	@ movhi
.L4:
	ldrh	r3, [fp, #-10]
	cmp	r3, #0
	bne	.L6
	ldrh	r3, [fp, #-6]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	reflect, .-reflect
	.align	2
	.global	crc32
	.syntax unified
	.arm
	.fpu softvfp
	.type	crc32, %function
crc32:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	mov	r3, r1
	strh	r3, [fp, #-26]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-12]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-16]	@ movhi
	b	.L9
.L14:
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	strh	r3, [fp, #-10]	@ movhi
	ldrh	r3, [fp, #-10]
	mov	r1, #8
	mov	r0, r3
	bl	reflect
	mov	r3, r0
	strh	r3, [fp, #-10]	@ movhi
	mov	r3, #128
	str	r3, [fp, #-8]
	b	.L10
.L13:
	ldr	r3, .L16
	ldrh	r2, [r3]
	ldrh	r3, [fp, #-12]	@ movhi
	and	r3, r3, r2
	strh	r3, [fp, #-14]	@ movhi
	ldrh	r3, [fp, #-12]	@ movhi
	lsl	r3, r3, #1
	strh	r3, [fp, #-12]	@ movhi
	ldrh	r2, [fp, #-10]
	ldr	r3, [fp, #-8]
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L11
	ldr	r3, .L16
	ldrh	r2, [r3]
	ldrh	r3, [fp, #-14]	@ movhi
	eor	r3, r3, r2
	strh	r3, [fp, #-14]	@ movhi
.L11:
	ldrh	r3, [fp, #-14]
	cmp	r3, #0
	beq	.L12
	ldr	r3, .L16+4
	ldrh	r2, [r3]
	ldrh	r3, [fp, #-12]	@ movhi
	eor	r3, r3, r2
	strh	r3, [fp, #-12]	@ movhi
.L12:
	ldr	r3, [fp, #-8]
	asr	r3, r3, #1
	str	r3, [fp, #-8]
.L10:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L13
	ldrh	r3, [fp, #-16]
	add	r3, r3, #1
	strh	r3, [fp, #-16]	@ movhi
.L9:
	ldrh	r2, [fp, #-16]
	ldrh	r3, [fp, #-26]
	cmp	r2, r3
	bcc	.L14
	ldrh	r3, [fp, #-12]
	mov	r1, #16
	mov	r0, r3
	bl	reflect
	mov	r3, r0
	strh	r3, [fp, #-12]	@ movhi
	ldr	r3, .L16+8
	ldrh	r2, [r3]
	ldrh	r3, [fp, #-12]	@ movhi
	eor	r3, r3, r2
	strh	r3, [fp, #-12]	@ movhi
	ldrh	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L17:
	.align	2
.L16:
	.word	crchighbit
	.word	polynom
	.word	crcxor
	.size	crc32, .-crc32
	.section	.rodata
	.align	2
.LC0:
	.ascii	"ACK\000"
	.align	2
.LC1:
	.ascii	"socket() failed\000"
	.align	2
.LC2:
	.ascii	"bind() failed\000"
	.align	2
.LC3:
	.ascii	"The message cannot be sent\000"
	.align	2
.LC4:
	.ascii	"The ack message cannot be sent!!\000"
	.align	2
.LC5:
	.ascii	"Data is Correct\000"
	.global	__aeabi_d2lz
	.align	2
.LC6:
	.ascii	"The operation is %s\012\000"
	.align	2
.LC7:
	.ascii	"add\000"
	.global	__aeabi_l2d
	.align	2
.LC8:
	.ascii	"sub\000"
	.align	2
.LC9:
	.ascii	"mul\000"
	.align	2
.LC10:
	.ascii	"div\000"
	.global	__aeabi_ldivmod
	.align	2
.LC11:
	.ascii	"and\000"
	.align	2
.LC12:
	.ascii	"or\000"
	.align	2
.LC13:
	.ascii	"not\000"
	.align	2
.LC14:
	.ascii	"xor\000"
	.align	2
.LC15:
	.ascii	"sin\000"
	.global	__aeabi_dmul
	.global	__aeabi_ddiv
	.align	2
.LC16:
	.ascii	"cos\000"
	.align	2
.LC17:
	.ascii	"tan\000"
	.align	2
.LC18:
	.ascii	"xtoy\000"
	.align	2
.LC19:
	.ascii	"stm1\000"
	.align	2
.LC20:
	.ascii	"stm2\000"
	.align	2
.LC21:
	.ascii	"clrm\000"
	.align	2
.LC22:
	.ascii	"The recent value %f \012\000"
	.global	__aeabi_d2uiz
	.global	__aeabi_ui2d
	.align	2
.LC23:
	.ascii	"The ack message has not come!\000"
	.align	2
.LC24:
	.ascii	"The reply is : %sED\012\000"
	.align	2
.LC25:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 200
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #208
	ldr	r3, .L54
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	sub	r3, fp, #52
	str	r3, [fp, #-168]
	sub	r3, fp, #72
	str	r3, [fp, #-164]
	ldr	r3, .L54+4
	str	r3, [fp, #-160]
	ldr	r0, [fp, #-160]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-156]
	mov	r2, #17
	mov	r1, #2
	mov	r0, #2
	bl	socket
	str	r0, [fp, #-152]
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	bge	.L19
	ldr	r0, .L54+8
	bl	printf
.L19:
	sub	r3, fp, #116
	mov	r2, #16
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #2
	strh	r3, [fp, #-116]	@ movhi
	mov	r0, #0
	bl	htonl
	mov	r3, r0
	str	r3, [fp, #-112]
	ldr	r0, .L54+12
	bl	htons
	mov	r3, r0
	strh	r3, [fp, #-114]	@ movhi
	sub	r3, fp, #116
	mov	r2, #16
	mov	r1, r3
	ldr	r0, [fp, #-152]
	bl	bind
	mov	r3, r0
	cmp	r3, #0
	bge	.L52
	ldr	r0, .L54+16
	bl	printf
.L52:
	mov	r3, #16
	str	r3, [fp, #-180]
	sub	r1, fp, #52
	sub	r3, fp, #180
	str	r3, [sp, #4]
	sub	r3, fp, #100
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #20
	ldr	r0, [fp, #-152]
	bl	recvfrom
	str	r0, [fp, #-148]
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	bge	.L21
	ldr	r0, .L54+20
	bl	printf
.L21:
	ldr	r2, [fp, #-156]
	mov	r3, #16
	str	r3, [sp, #4]
	sub	r3, fp, #100
	str	r3, [sp]
	mov	r3, #0
	ldr	r1, [fp, #-160]
	ldr	r0, [fp, #-152]
	bl	sendto
	mov	r3, r0
	cmp	r3, #0
	bge	.L22
	ldr	r0, .L54+24
	bl	printf
.L22:
	sub	r3, fp, #52
	mov	r1, #18
	mov	r0, r3
	bl	crc32
	mov	r3, r0
	strh	r3, [fp, #-184]	@ movhi
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-168]
	ldrh	r3, [r3, #18]
	mov	r0, r3
	bl	htons
	mov	r3, r0
	mov	r2, r3
	ldrh	r3, [fp, #-184]
	cmp	r3, r2
	bne	.L23
	ldr	r0, .L54+28
	bl	puts
	ldr	r3, [fp, #-168]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L24
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	htonl
	mov	r3, r0
	mov	r2, r3
	mov	r3, #0
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	b	.L25
.L24:
	ldr	r3, [fp, #-168]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L26
	ldr	r3, .L54+32
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2lz
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	b	.L25
.L26:
	ldr	r3, [fp, #-168]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #16
	bne	.L27
	ldr	r3, .L54+36
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2lz
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	b	.L25
.L27:
	ldr	r3, [fp, #-168]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #32
	bne	.L25
	ldr	r3, .L54+40
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2lz
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
.L25:
	ldr	r3, [fp, #-168]
	ldrb	r3, [r3, #17]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L28
	ldr	r3, [fp, #-168]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	htonl
	mov	r3, r0
	mov	r2, r3
	mov	r3, #0
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	b	.L29
.L28:
	ldr	r3, [fp, #-168]
	ldrb	r3, [r3, #17]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L30
	ldr	r3, .L54+32
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2lz
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	b	.L29
.L30:
	ldr	r3, [fp, #-168]
	ldrb	r3, [r3, #17]	@ zero_extendqisi2
	cmp	r3, #16
	bne	.L31
	ldr	r3, .L54+36
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2lz
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	b	.L29
.L31:
	ldr	r3, [fp, #-168]
	ldrb	r3, [r3, #17]	@ zero_extendqisi2
	cmp	r3, #32
	bne	.L29
	ldr	r3, .L54+40
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2lz
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
.L29:
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L32
.L33:
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-176]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	sub	r2, fp, #80
	ldr	r3, [fp, #-176]
	add	r2, r2, r3
	mov	r3, r1
	strb	r3, [r2]
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L32:
	ldr	r3, [fp, #-176]
	cmp	r3, #7
	ble	.L33
	sub	r3, fp, #80
	mov	r1, r3
	ldr	r0, .L54+44
	bl	printf
	sub	r3, fp, #80
	ldr	r1, .L54+48
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L34
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	adds	r8, r0, r2
	adc	r9, r1, r3
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_l2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	b	.L23
.L34:
	sub	r3, fp, #80
	ldr	r1, .L54+52
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L35
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	subs	ip, r0, r2
	str	ip, [fp, #-196]
	sbc	r3, r1, r3
	str	r3, [fp, #-192]
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_l2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	b	.L23
.L35:
	sub	r3, fp, #80
	ldr	r1, .L54+56
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L36
	ldr	r2, [fp, #-136]
	ldr	r3, [fp, #-132]
	mul	r1, r3, r2
	ldr	r2, [fp, #-128]
	ldr	r3, [fp, #-140]
	mul	r3, r2, r3
	add	ip, r1, r3
	ldr	r2, [fp, #-140]
	ldr	r3, [fp, #-132]
	umull	r0, r1, r2, r3
	add	r3, ip, r1
	mov	r1, r3
	bl	__aeabi_l2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	b	.L23
.L36:
	sub	r3, fp, #80
	ldr	r1, .L54+60
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L37
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_ldivmod
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_l2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	b	.L23
.L37:
	sub	r3, fp, #80
	ldr	r1, .L54+64
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L38
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	and	ip, r0, r2
	str	ip, [fp, #-204]
	and	r3, r1, r3
	str	r3, [fp, #-200]
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_l2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	b	.L23
.L38:
	sub	r3, fp, #80
	ldr	r1, .L54+68
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L39
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	orr	ip, r0, r2
	str	ip, [fp, #-212]
	orr	r3, r1, r3
	str	r3, [fp, #-208]
	sub	r1, fp, #212
	ldmia	r1, {r0-r1}
	bl	__aeabi_l2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	b	.L23
.L39:
	sub	r3, fp, #80
	ldr	r1, .L54+72
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L40
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	mvn	r6, r2
	mvn	r7, r3
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	and	r1, r6, r2
	str	r1, [fp, #-220]
	and	r3, r7, r3
	str	r3, [fp, #-216]
	sub	r1, fp, #220
	ldmia	r1, {r0-r1}
	bl	__aeabi_l2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	b	.L23
.L40:
	sub	r3, fp, #80
	ldr	r1, .L54+76
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L41
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-228]
	eor	r3, r1, r3
	str	r3, [fp, #-224]
	sub	r1, fp, #228
	ldmia	r1, {r0-r1}
	bl	__aeabi_l2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	b	.L23
.L41:
	sub	r3, fp, #80
	ldr	r1, .L54+80
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L42
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_l2d
	ldr	r2, .L54+84
	ldr	r3, .L54+88
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L54+92
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sin
	mov	r2, #0
	ldr	r3, .L54+96
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_l2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	b	.L23
.L42:
	sub	r3, fp, #80
	ldr	r1, .L54+100
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L43
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_l2d
	ldr	r2, .L54+84
	ldr	r3, .L54+88
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L54+92
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	cos
	mov	r2, #0
	ldr	r3, .L54+96
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_l2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	b	.L23
.L43:
	sub	r3, fp, #80
	ldr	r1, .L54+104
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L44
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_l2d
	ldr	r2, .L54+84
	ldr	r3, .L54+88
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L54+92
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	tan
	mov	r2, #0
	ldr	r3, .L54+96
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_l2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	b	.L23
.L44:
	sub	r3, fp, #80
	ldr	r1, .L54+108
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L45
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_l2d
	mov	r4, r0
	mov	r5, r1
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_l2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	pow
	str	r0, [fp, #-124]
	str	r1, [fp, #-120]
	b	.L23
.L45:
	sub	r3, fp, #80
	ldr	r1, .L54+112
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L46
	ldr	r3, .L54+32
	ldmia	r3, {r2-r3}
	ldr	r1, .L54+36
	stm	r1, {r2-r3}
	b	.L23
.L46:
	sub	r3, fp, #80
	ldr	r1, .L54+116
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L47
	ldr	r3, .L54+32
	ldmia	r3, {r2-r3}
	ldr	r1, .L54+40
	stm	r1, {r2-r3}
	b	.L23
.L47:
	sub	r3, fp, #80
	ldr	r1, .L54+120
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L23
	ldr	r1, .L54+32
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	ldr	r1, .L54+36
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	ldr	r1, .L54+40
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
.L23:
	ldr	r1, .L54+32
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, .L54+32
	ldmia	r3, {r2-r3}
	ldr	r0, .L54+124
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-172]
	b	.L48
.L49:
	sub	r2, fp, #80
	ldr	r3, [fp, #-172]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-164]
	ldr	r3, [fp, #-172]
	add	r2, r2, r3
	mov	r3, r1
	strb	r3, [r2]
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
.L48:
	ldr	r3, [fp, #-172]
	cmp	r3, #7
	ble	.L49
	sub	r1, fp, #124
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2uiz
	mov	r3, r0
	mov	r0, r3
	bl	htonl
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_ui2d
	ldr	r3, [fp, #-164]
	str	r0, [r3, #8]
	str	r1, [r3, #12]
	sub	r3, fp, #72
	mov	r1, #16
	mov	r0, r3
	bl	crc32
	mov	r3, r0
	strh	r3, [fp, #-182]	@ movhi
	ldrh	r3, [fp, #-182]
	mov	r0, r3
	bl	htons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-164]
	strh	r2, [r3, #16]	@ movhi
	sub	r1, fp, #72
	mov	r3, #16
	str	r3, [sp, #4]
	sub	r3, fp, #100
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #18
	ldr	r0, [fp, #-152]
	bl	sendto
	mov	r3, r0
	cmp	r3, #0
	bge	.L50
	ldr	r0, .L54+20
	bl	printf
.L50:
	ldr	r2, [fp, #-156]
	sub	r1, fp, #84
	sub	r3, fp, #180
	str	r3, [sp, #4]
	sub	r3, fp, #100
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, [fp, #-152]
	bl	recvfrom
	str	r0, [fp, #-144]
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bge	.L51
	ldr	r0, .L54+128
	bl	printf
.L51:
	sub	r2, fp, #84
	ldr	r3, [fp, #-156]
	add	r2, r2, r3
	mov	r3, #0
	strb	r3, [r2]
	sub	r3, fp, #84
	mov	r1, r3
	ldr	r0, .L54+132
	bl	printf
	b	.L52
.L55:
	.align	2
.L54:
	.word	.LC25
	.word	.LC0
	.word	.LC1
	.word	1337
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	recent
	.word	m1
	.word	m2
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	1405670641
	.word	1074340347
	.word	1080459264
	.word	1083129856
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
