	.file	"122451.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
	.align 8
.LC0:
	.string	"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
	.align 8
.LC1:
	.string	"Choose please what you want to do (press q to exit):"
.LC2:
	.string	"Variants :"
	.align 8
.LC3:
	.string	"1. Convert from char to integer."
.LC4:
	.string	"2. Shellsorting."
.LC5:
	.string	"3. Reverse string."
.LC6:
	.string	"4. Expand string."
.LC7:
	.string	"5. Convert digit to string."
	.align 8
.LC8:
	.string	"Input please chars to convert to integer:"
.LC9:
	.string	"Getted digit from char = %d;\n"
.LC10:
	.string	"After sorting array seems so:"
.LC11:
	.string	"%d,"
.LC12:
	.string	"Enter please line to reverse:"
	.align 8
.LC13:
	.string	"After reverse string seens so:\n%s\n"
.LC14:
	.string	"Enter please string:"
	.align 8
.LC15:
	.string	"After expand line seems so:%s\n"
	.align 8
.LC16:
	.string	"Input please digit which you want to convert to string:"
	.align 8
.LC19:
	.string	"Wrong input, try again ( digin must be < 4294967295 and > -4294967295 ) ;"
.LC20:
	.string	"Getted converted = %20.20G;\n"
	.align 8
.LC21:
	.string	"And now input please wide of field:"
.LC22:
	.string	"Getted string is:\n%s;\n"
.LC23:
	.string	"Wrong input, try again."
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 896
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -880[rbp], 0
	mov	DWORD PTR -876[rbp], 0
	mov	DWORD PTR -884[rbp], 0
	mov	WORD PTR -886[rbp], 0
	mov	BYTE PTR -887[rbp], 0
	mov	BYTE PTR -888[rbp], 0
	lea	rdi, .LC0[rip]
	call	puts@PLT
	lea	rdi, .LC1[rip]
	call	puts@PLT
	lea	rdi, .LC2[rip]
	call	puts@PLT
	lea	rdi, .LC3[rip]
	call	puts@PLT
	lea	rdi, .LC4[rip]
	call	puts@PLT
	lea	rdi, .LC5[rip]
	call	puts@PLT
	lea	rdi, .LC6[rip]
	call	puts@PLT
	lea	rdi, .LC7[rip]
	call	puts@PLT
	mov	BYTE PTR -888[rbp], 0
	jmp	.L2
.L18:
	lea	rax, -432[rbp]
	mov	rdi, rax
	call	getline_my
	movzx	eax, BYTE PTR -432[rbp]
	mov	BYTE PTR -887[rbp], al
	movsx	eax, BYTE PTR -887[rbp]
	cmp	eax, 53
	jg	.L3
	cmp	eax, 49
	jl	.L4
	sub	eax, 49
	cmp	eax, 4
	ja	.L4
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L6[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L6[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L6:
	.long	.L10-.L6
	.long	.L9-.L6
	.long	.L8-.L6
	.long	.L7-.L6
	.long	.L5-.L6
	.text
.L3:
	cmp	eax, 113
	je	.L11
	jmp	.L4
.L10:
	lea	rax, -432[rbp]
	mov	esi, 100
	mov	rdi, rax
	call	clean_text
	lea	rdi, .LC8[rip]
	call	puts@PLT
	lea	rax, -432[rbp]
	mov	rdi, rax
	call	getline_my
	lea	rax, -432[rbp]
	mov	rdi, rax
	call	atoi_2
	cvttsd2si	eax, xmm0
	mov	DWORD PTR -880[rbp], eax
	mov	eax, DWORD PTR -880[rbp]
	mov	esi, eax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	mov	BYTE PTR -888[rbp], 1
	jmp	.L2
.L9:
	lea	rdx, -432[rbp]
	lea	rax, -864[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	getarray_sort
	mov	DWORD PTR -876[rbp], eax
	mov	edx, DWORD PTR -876[rbp]
	lea	rax, -864[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	shellsort
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -884[rbp], 0
	jmp	.L12
.L13:
	mov	eax, DWORD PTR -884[rbp]
	cdqe
	mov	eax, DWORD PTR -864[rbp+rax*4]
	mov	esi, eax
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -884[rbp], 1
.L12:
	mov	eax, DWORD PTR -884[rbp]
	cmp	eax, DWORD PTR -876[rbp]
	jl	.L13
	mov	edi, 10
	call	putchar@PLT
	mov	BYTE PTR -888[rbp], 1
	jmp	.L2
.L8:
	lea	rdi, .LC12[rip]
	call	puts@PLT
	lea	rax, -432[rbp]
	mov	esi, 100
	mov	rdi, rax
	call	clean_text
	lea	rax, -432[rbp]
	mov	rdi, rax
	call	getline_my
	lea	rax, -432[rbp]
	mov	rdi, rax
	call	reverse_string
	lea	rax, -432[rbp]
	mov	rsi, rax
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	mov	BYTE PTR -888[rbp], 1
	jmp	.L2
.L7:
	lea	rdi, .LC14[rip]
	call	puts@PLT
	lea	rax, -464[rbp]
	mov	esi, 30
	mov	rdi, rax
	call	clean_text
	lea	rax, -320[rbp]
	mov	esi, 300
	mov	rdi, rax
	call	clean_text
	lea	rax, -464[rbp]
	mov	rdi, rax
	call	getline_my
	lea	rdx, -320[rbp]
	lea	rax, -464[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	expand_my
	lea	rax, -320[rbp]
	mov	rsi, rax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	mov	BYTE PTR -888[rbp], 1
	jmp	.L2
.L5:
	lea	rdi, .LC16[rip]
	call	puts@PLT
	lea	rax, -432[rbp]
	mov	rdi, rax
	call	getline_my
	lea	rax, -432[rbp]
	mov	rdi, rax
	call	atoi_2
	movq	rax, xmm0
	mov	QWORD PTR -872[rbp], rax
	movsd	xmm0, QWORD PTR -872[rbp]
	comisd	xmm0, QWORD PTR .LC17[rip]
	ja	.L14
	movsd	xmm0, QWORD PTR .LC18[rip]
	comisd	xmm0, QWORD PTR -872[rbp]
	jbe	.L20
.L14:
	lea	rdi, .LC19[rip]
	call	puts@PLT
	jmp	.L17
.L20:
	mov	rax, QWORD PTR -872[rbp]
	movq	xmm0, rax
	lea	rdi, .LC20[rip]
	mov	eax, 1
	call	printf@PLT
	lea	rdi, .LC21[rip]
	call	puts@PLT
	lea	rax, -464[rbp]
	mov	esi, 30
	mov	rdi, rax
	call	clean_text
	lea	rax, -464[rbp]
	mov	rdi, rax
	call	getline_my
	lea	rax, -464[rbp]
	mov	rdi, rax
	call	atoi_2
	cvttsd2si	eax, xmm0
	mov	WORD PTR -886[rbp], ax
	lea	rax, -320[rbp]
	mov	esi, 300
	mov	rdi, rax
	call	clean_text
	movsx	ecx, WORD PTR -886[rbp]
	lea	rdx, -320[rbp]
	mov	rax, QWORD PTR -872[rbp]
	mov	esi, ecx
	mov	rdi, rdx
	movq	xmm0, rax
	call	itoa_dw
	lea	rax, -320[rbp]
	mov	rsi, rax
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
.L17:
	mov	BYTE PTR -888[rbp], 1
	jmp	.L2
.L11:
	mov	BYTE PTR -888[rbp], 1
	jmp	.L2
.L4:
	lea	rdi, .LC23[rip]
	call	puts@PLT
	nop
.L2:
	cmp	BYTE PTR -888[rbp], 0
	je	.L18
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L19
	call	__stack_chk_fail@PLT
.L19:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.globl	getline_my
	.type	getline_my, @function
getline_my:
.LFB1:
	.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	DWORD PTR -8[rbp], 0
	mov	DWORD PTR -4[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L22
.L24:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -4[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -8[rbp], 1
.L22:
	call	getchar@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	je	.L25
	cmp	DWORD PTR -4[rbp], 10
	jne	.L24
.L25:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	getline_my, .-getline_my
	.globl	clean_text
	.type	clean_text, @function
clean_text:
.LFB2:
	.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 -4[rbp], 0
	mov	WORD PTR -2[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	WORD PTR -2[rbp], ax
	mov	WORD PTR -4[rbp], 0
	jmp	.L27
.L28:
	movsx	rdx, WORD PTR -4[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	movzx	eax, WORD PTR -4[rbp]
	add	eax, 1
	mov	WORD PTR -4[rbp], ax
.L27:
	movzx	eax, WORD PTR -4[rbp]
	cmp	ax, WORD PTR -28[rbp]
	jl	.L28
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	clean_text, .-clean_text
	.globl	clean_array
	.type	clean_array, @function
clean_array:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	WORD PTR -4[rbp], 0
	mov	WORD PTR -2[rbp], 0
	mov	WORD PTR -2[rbp], 8
	mov	WORD PTR -4[rbp], 0
	jmp	.L30
.L31:
	movsx	rax, WORD PTR -4[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 0
	movzx	eax, WORD PTR -4[rbp]
	add	eax, 1
	mov	WORD PTR -4[rbp], ax
.L30:
	movzx	eax, WORD PTR -4[rbp]
	cmp	ax, WORD PTR -2[rbp]
	jl	.L31
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	clean_array, .-clean_array
	.globl	atoi_2
	.type	atoi_2, @function
atoi_2:
.LFB4:
	.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	DWORD PTR -16[rbp], 0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -16[rbp], 0
	jmp	.L33
.L34:
	add	DWORD PTR -16[rbp], 1
.L33:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L34
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L35
	mov	eax, -1
	jmp	.L36
.L35:
	mov	eax, 1
.L36:
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L37
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L38
.L37:
	add	DWORD PTR -16[rbp], 1
.L38:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	jmp	.L39
.L40:
	movsd	xmm1, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR .LC25[rip]
	mulsd	xmm1, xmm0
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 48
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	addsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	add	DWORD PTR -16[rbp], 1
.L39:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -16[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L40
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -12[rbp]
	mulsd	xmm0, QWORD PTR -8[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	atoi_2, .-atoi_2
	.section	.rodata
.LC26:
	.string	"gap = %d; \n"
.LC27:
	.string	"    i = %d;\n"
	.align 8
.LC28:
	.string	"-----------------------------------------------------------"
	.align 8
.LC29:
	.string	"        before j = ( i - gap ) = %d; v [ j = %d ] = %d; v [ ( j + gap ) = %d ] = %d;\n"
	.align 8
.LC30:
	.string	"         after j = ( j - gap ) = %d; v [ j = %d ] = %d; v [ ( j + gap ) = %d ] = %d;\n"
.LC31:
	.string	"         Now array seems so:"
	.text
	.globl	shellsort
	.type	shellsort, @function
shellsort:
.LFB5:
	.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	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -16[rbp], eax
	jmp	.L43
.L51:
	mov	eax, DWORD PTR -16[rbp]
	mov	esi, eax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -12[rbp], eax
	jmp	.L44
.L50:
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, eax
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -8[rbp], eax
	jmp	.L45
.L49:
	lea	rdi, .LC28[rip]
	call	puts@PLT
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	esi, DWORD PTR [rax]
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -16[rbp]
	lea	edi, [rdx+rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	r9d, esi
	mov	r8d, edi
	mov	esi, eax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR [rdx], eax
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	esi, DWORD PTR [rax]
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -16[rbp]
	lea	edi, [rdx+rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	r9d, esi
	mov	r8d, edi
	mov	esi, eax
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L46
.L47:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -4[rbp], 1
.L46:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L47
	mov	edi, 10
	call	putchar@PLT
	mov	eax, DWORD PTR -16[rbp]
	sub	DWORD PTR -8[rbp], eax
.L45:
	cmp	DWORD PTR -8[rbp], 0
	js	.L48
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	ecx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, ecx
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jg	.L49
.L48:
	add	DWORD PTR -12[rbp], 1
.L44:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L50
	mov	eax, DWORD PTR -16[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -16[rbp], eax
.L43:
	cmp	DWORD PTR -16[rbp], 0
	jg	.L51
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	shellsort, .-shellsort
	.section	.rodata
.LC32:
	.string	"Input please lenght of array:"
	.align 8
.LC33:
	.string	"And now please input elements of array split them by \"Enter\". Size of array = %d;\n"
	.align 8
.LC34:
	.string	"Input please %d-th element of array:"
.LC35:
	.string	"sort [ %d ] = %d;\n"
	.text
	.globl	getarray_sort
	.type	getarray_sort, @function
getarray_sort:
.LFB6:
	.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	QWORD PTR -32[rbp], rsi
	mov	WORD PTR -2[rbp], 0
	mov	WORD PTR -4[rbp], 0
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 100
	mov	rdi, rax
	call	clean_text
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	getline_my
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	atoi_2
	cvttsd2si	eax, xmm0
	mov	WORD PTR -2[rbp], ax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	clean_array
	movsx	eax, WORD PTR -2[rbp]
	mov	esi, eax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	printf@PLT
	mov	WORD PTR -4[rbp], 0
	jmp	.L53
.L54:
	movsx	eax, WORD PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 100
	mov	rdi, rax
	call	clean_text
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	getline_my
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	atoi_2
	movsx	rax, WORD PTR -4[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	cvttsd2si	eax, xmm0
	mov	DWORD PTR [rdx], eax
	movzx	eax, WORD PTR -4[rbp]
	add	eax, 1
	mov	WORD PTR -4[rbp], ax
.L53:
	movzx	eax, WORD PTR -4[rbp]
	cmp	ax, WORD PTR -2[rbp]
	jl	.L54
	mov	WORD PTR -4[rbp], 0
	jmp	.L55
.L56:
	movsx	rax, WORD PTR -4[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	movsx	eax, WORD PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
	movzx	eax, WORD PTR -4[rbp]
	add	eax, 1
	mov	WORD PTR -4[rbp], ax
.L55:
	movzx	eax, WORD PTR -4[rbp]
	cmp	ax, WORD PTR -2[rbp]
	jl	.L56
	movsx	eax, WORD PTR -2[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	getarray_sort, .-getarray_sort
	.globl	reverse_string
	.type	reverse_string, @function
reverse_string:
.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	WORD PTR -2[rbp], 0
	mov	WORD PTR -6[rbp], 0
	mov	WORD PTR -4[rbp], 0
	mov	WORD PTR -6[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	sub	eax, 1
	mov	WORD PTR -4[rbp], ax
	jmp	.L59
.L60:
	movsx	rdx, WORD PTR -6[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cbw
	mov	WORD PTR -2[rbp], ax
	movsx	rdx, WORD PTR -4[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movsx	rcx, WORD PTR -6[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	movsx	rdx, WORD PTR -4[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	edx, WORD PTR -2[rbp]
	mov	BYTE PTR [rax], dl
	movzx	eax, WORD PTR -6[rbp]
	add	eax, 1
	mov	WORD PTR -6[rbp], ax
	movzx	eax, WORD PTR -4[rbp]
	sub	eax, 1
	mov	WORD PTR -4[rbp], ax
.L59:
	movzx	eax, WORD PTR -6[rbp]
	cmp	ax, WORD PTR -4[rbp]
	jl	.L60
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	reverse_string, .-reverse_string
	.globl	expand_my
	.type	expand_my, @function
expand_my:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	WORD PTR -10[rbp], 0
	mov	WORD PTR -8[rbp], 0
	mov	WORD PTR -6[rbp], 0
	mov	WORD PTR -4[rbp], 0
	mov	WORD PTR -2[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	WORD PTR -2[rbp], ax
	mov	WORD PTR -10[rbp], 1
	mov	WORD PTR -8[rbp], 1
	jmp	.L62
.L68:
	movsx	rdx, WORD PTR -10[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L63
	movsx	rax, WORD PTR -10[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	movsx	rax, WORD PTR -10[rbp]
	lea	rcx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, edx
	mov	edi, eax
	call	check_compat
	test	al, al
	je	.L64
	movzx	eax, WORD PTR -8[rbp]
	sub	eax, 1
	mov	WORD PTR -8[rbp], ax
	movsx	rax, WORD PTR -10[rbp]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cbw
	mov	WORD PTR -6[rbp], ax
	jmp	.L65
.L66:
	movsx	rdx, WORD PTR -8[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	edx, WORD PTR -6[rbp]
	mov	BYTE PTR [rax], dl
	movzx	eax, WORD PTR -6[rbp]
	add	eax, 1
	mov	WORD PTR -6[rbp], ax
	movzx	eax, WORD PTR -8[rbp]
	add	eax, 1
	mov	WORD PTR -8[rbp], ax
.L65:
	movsx	rax, WORD PTR -10[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cbw
	cmp	WORD PTR -6[rbp], ax
	jl	.L66
	jmp	.L67
.L64:
	movsx	rdx, WORD PTR -10[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movsx	rcx, WORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	movzx	eax, WORD PTR -8[rbp]
	add	eax, 1
	mov	WORD PTR -8[rbp], ax
	jmp	.L67
.L63:
	movsx	rdx, WORD PTR -10[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movsx	rcx, WORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	movzx	eax, WORD PTR -8[rbp]
	add	eax, 1
	mov	WORD PTR -8[rbp], ax
.L67:
	movzx	eax, WORD PTR -10[rbp]
	add	eax, 1
	mov	WORD PTR -10[rbp], ax
.L62:
	movzx	eax, WORD PTR -10[rbp]
	cmp	ax, WORD PTR -2[rbp]
	jle	.L68
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	expand_my, .-expand_my
	.globl	check_compat
	.type	check_compat, @function
check_compat:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edx, edi
	mov	eax, esi
	mov	BYTE PTR -20[rbp], dl
	mov	BYTE PTR -24[rbp], al
	mov	BYTE PTR -1[rbp], 0
	cmp	BYTE PTR -20[rbp], 96
	jle	.L70
	cmp	BYTE PTR -20[rbp], 122
	jg	.L70
	cmp	BYTE PTR -24[rbp], 96
	jle	.L70
	cmp	BYTE PTR -24[rbp], 122
	jle	.L71
.L70:
	cmp	BYTE PTR -20[rbp], 64
	jle	.L72
	cmp	BYTE PTR -20[rbp], 90
	jg	.L72
	cmp	BYTE PTR -24[rbp], 64
	jle	.L72
	cmp	BYTE PTR -24[rbp], 90
	jle	.L71
.L72:
	cmp	BYTE PTR -20[rbp], 47
	jle	.L73
	cmp	BYTE PTR -20[rbp], 57
	jg	.L73
	cmp	BYTE PTR -24[rbp], 47
	jle	.L73
	cmp	BYTE PTR -24[rbp], 57
	jg	.L73
.L71:
	movzx	eax, BYTE PTR -20[rbp]
	cmp	al, BYTE PTR -24[rbp]
	jge	.L73
	mov	BYTE PTR -1[rbp], 1
	jmp	.L74
.L73:
	mov	BYTE PTR -1[rbp], 0
.L74:
	movzx	eax, BYTE PTR -1[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	check_compat, .-check_compat
	.section	.rodata
	.align 8
.LC39:
	.string	"n < 0 and digit = %lu; n = %G\n"
	.align 8
.LC40:
	.string	"n > 0 and digit = %lu; n = %f;\n"
	.text
	.globl	itoa_dw
	.type	itoa_dw, @function
itoa_dw:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	movsd	QWORD PTR -40[rbp], xmm0
	mov	QWORD PTR -48[rbp], rdi
	mov	eax, esi
	mov	WORD PTR -52[rbp], ax
	mov	DWORD PTR -32[rbp], 0
	pxor	xmm0, xmm0
	movss	DWORD PTR -28[rbp], xmm0
	mov	QWORD PTR -24[rbp], 0
	mov	QWORD PTR -16[rbp], 0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	pxor	xmm0, xmm0
	cvtsd2ss	xmm0, QWORD PTR -40[rbp]
	movss	DWORD PTR -28[rbp], xmm0
	pxor	xmm0, xmm0
	comiss	xmm0, DWORD PTR -28[rbp]
	jbe	.L91
	movsd	xmm0, QWORD PTR -40[rbp]
	movq	xmm1, QWORD PTR .LC37[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	comisd	xmm0, QWORD PTR .LC38[rip]
	jnb	.L79
	movsd	xmm0, QWORD PTR -40[rbp]
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	jmp	.L80
.L79:
	movsd	xmm0, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR .LC38[rip]
	subsd	xmm0, xmm1
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movabs	rax, -9223372036854775808
	xor	QWORD PTR -24[rbp], rax
.L80:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movq	xmm0, rdx
	mov	rsi, rax
	lea	rdi, .LC39[rip]
	mov	eax, 1
	call	printf@PLT
	jmp	.L81
.L91:
	movsd	xmm0, QWORD PTR -40[rbp]
	comisd	xmm0, QWORD PTR .LC38[rip]
	jnb	.L82
	movsd	xmm0, QWORD PTR -40[rbp]
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	jmp	.L83
.L82:
	movsd	xmm0, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR .LC38[rip]
	subsd	xmm0, xmm1
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movabs	rax, -9223372036854775808
	xor	QWORD PTR -24[rbp], rax
.L83:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movq	xmm0, rdx
	mov	rsi, rax
	lea	rdi, .LC40[rip]
	mov	eax, 1
	call	printf@PLT
.L81:
	mov	DWORD PTR -32[rbp], 0
.L84:
	mov	rcx, QWORD PTR -24[rbp]
	movabs	rdx, -3689348814741910323
	mov	rax, rcx
	mul	rdx
	shr	rdx, 3
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	sub	rcx, rax
	mov	rdx, rcx
	mov	eax, edx
	lea	ecx, 48[rax]
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -32[rbp], edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -24[rbp]
	movabs	rdx, -3689348814741910323
	mul	rdx
	mov	rax, rdx
	shr	rax, 3
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L84
	movsx	eax, WORD PTR -52[rbp]
	cmp	DWORD PTR -32[rbp], eax
	jge	.L85
.L86:
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -32[rbp], edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 32
	movsx	eax, WORD PTR -52[rbp]
	cmp	DWORD PTR -32[rbp], eax
	jl	.L86
.L85:
	pxor	xmm0, xmm0
	comiss	xmm0, DWORD PTR -28[rbp]
	jbe	.L87
	mov	eax, DWORD PTR -32[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -32[rbp], edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 45
.L87:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	reverse_string
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	itoa_dw, .-itoa_dw
	.section	.rodata
	.align 8
.LC17:
	.long	-2097152
	.long	1106247679
	.align 8
.LC18:
	.long	-2097152
	.long	-1041235969
	.align 8
.LC25:
	.long	0
	.long	1076101120
	.align 16
.LC37:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.align 8
.LC38:
	.long	0
	.long	1138753536
	.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	"122451.c"
	.text
	.section	.rodata
	.align	2
.LC0:
	.ascii	"\012\012\012\012\012\012\012\012\012\012\012\012\012"
	.ascii	"\012\012\012\012\012\012\012\012\012\012\012\012\012"
	.ascii	"\012\012\012\012\012\012\012\012\012\012\012\012\012"
	.ascii	"\012\012\012\012\012\012\012\012\012\012\012\000"
	.align	2
.LC1:
	.ascii	"Choose please what you want to do (press q to exit)"
	.ascii	":\000"
	.align	2
.LC2:
	.ascii	"Variants :\000"
	.align	2
.LC3:
	.ascii	"1. Convert from char to integer.\000"
	.align	2
.LC4:
	.ascii	"2. Shellsorting.\000"
	.align	2
.LC5:
	.ascii	"3. Reverse string.\000"
	.align	2
.LC6:
	.ascii	"4. Expand string.\000"
	.align	2
.LC7:
	.ascii	"5. Convert digit to string.\000"
	.align	2
.LC8:
	.ascii	"Input please chars to convert to integer:\000"
	.global	__aeabi_d2iz
	.align	2
.LC9:
	.ascii	"Getted digit from char = %d;\012\000"
	.align	2
.LC10:
	.ascii	"After sorting array seems so:\000"
	.align	2
.LC11:
	.ascii	"%d,\000"
	.align	2
.LC12:
	.ascii	"Enter please line to reverse:\000"
	.align	2
.LC13:
	.ascii	"After reverse string seens so:\012%s\012\000"
	.align	2
.LC14:
	.ascii	"Enter please string:\000"
	.align	2
.LC15:
	.ascii	"After expand line seems so:%s\012\000"
	.align	2
.LC16:
	.ascii	"Input please digit which you want to convert to str"
	.ascii	"ing:\000"
	.global	__aeabi_dcmpgt
	.global	__aeabi_dcmplt
	.align	2
.LC17:
	.ascii	"Wrong input, try again ( digin must be < 4294967295"
	.ascii	" and > -4294967295 ) ;\000"
	.align	2
.LC18:
	.ascii	"Getted converted = %20.20G;\012\000"
	.align	2
.LC19:
	.ascii	"And now input please wide of field:\000"
	.align	2
.LC20:
	.ascii	"Getted string is:\012%s;\012\000"
	.align	2
.LC21:
	.ascii	"Wrong input, try again.\000"
	.align	2
.LC22:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 864
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #868
	ldr	r3, .L21
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-868]
	mov	r3, #0
	str	r3, [fp, #-864]
	mov	r3, #0
	str	r3, [fp, #-872]
	sub	r3, fp, #12
	sub	r3, r3, #860
	sub	r3, r3, #2
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	mov	r3, #0
	strb	r3, [fp, #-875]
	mov	r3, #0
	strb	r3, [fp, #-876]
	ldr	r0, .L21+4
	bl	puts
	ldr	r0, .L21+8
	bl	puts
	ldr	r0, .L21+12
	bl	puts
	ldr	r0, .L21+16
	bl	puts
	ldr	r0, .L21+20
	bl	puts
	ldr	r0, .L21+24
	bl	puts
	ldr	r0, .L21+28
	bl	puts
	ldr	r0, .L21+32
	bl	puts
	mov	r3, #0
	strb	r3, [fp, #-876]
	b	.L2
.L18:
	sub	r3, fp, #416
	mov	r0, r3
	bl	getline_my
	ldrb	r3, [fp, #-416]
	strb	r3, [fp, #-875]
	ldrb	r3, [fp, #-875]	@ zero_extendqisi2
	cmp	r3, #53
	bgt	.L3
	cmp	r3, #49
	blt	.L4
	sub	r3, r3, #49
	cmp	r3, #4
	ldrls	pc, [pc, r3, asl #2]
	b	.L4
.L6:
	.word	.L10
	.word	.L9
	.word	.L8
	.word	.L7
	.word	.L5
.L3:
	cmp	r3, #113
	beq	.L11
	b	.L4
.L10:
	sub	r3, fp, #416
	mov	r1, #100
	mov	r0, r3
	bl	clean_text
	ldr	r0, .L21+36
	bl	puts
	sub	r3, fp, #416
	mov	r0, r3
	bl	getline_my
	sub	r3, fp, #416
	mov	r0, r3
	bl	atoi_2
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [fp, #-868]
	ldr	r1, [fp, #-868]
	ldr	r0, .L21+40
	bl	printf
	mov	r3, #1
	strb	r3, [fp, #-876]
	b	.L2
.L9:
	sub	r2, fp, #416
	sub	r3, fp, #848
	mov	r1, r2
	mov	r0, r3
	bl	getarray_sort
	str	r0, [fp, #-864]
	sub	r3, fp, #848
	ldr	r1, [fp, #-864]
	mov	r0, r3
	bl	shellsort
	ldr	r0, .L21+44
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-872]
	b	.L12
.L13:
	ldr	r3, [fp, #-872]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-836]
	mov	r1, r3
	ldr	r0, .L21+48
	bl	printf
	ldr	r3, [fp, #-872]
	add	r3, r3, #1
	str	r3, [fp, #-872]
.L12:
	ldr	r2, [fp, #-872]
	ldr	r3, [fp, #-864]
	cmp	r2, r3
	blt	.L13
	mov	r0, #10
	bl	putchar
	mov	r3, #1
	strb	r3, [fp, #-876]
	b	.L2
.L8:
	ldr	r0, .L21+52
	bl	puts
	sub	r3, fp, #416
	mov	r1, #100
	mov	r0, r3
	bl	clean_text
	sub	r3, fp, #416
	mov	r0, r3
	bl	getline_my
	sub	r3, fp, #416
	mov	r0, r3
	bl	reverse_string
	sub	r3, fp, #416
	mov	r1, r3
	ldr	r0, .L21+56
	bl	printf
	mov	r3, #1
	strb	r3, [fp, #-876]
	b	.L2
.L7:
	ldr	r0, .L21+60
	bl	puts
	sub	r3, fp, #448
	mov	r1, #30
	mov	r0, r3
	bl	clean_text
	sub	r3, fp, #316
	mov	r1, #300
	mov	r0, r3
	bl	clean_text
	sub	r3, fp, #448
	mov	r0, r3
	bl	getline_my
	sub	r2, fp, #316
	sub	r3, fp, #448
	mov	r1, r2
	mov	r0, r3
	bl	expand_my
	sub	r3, fp, #316
	mov	r1, r3
	ldr	r0, .L21+64
	bl	printf
	mov	r3, #1
	strb	r3, [fp, #-876]
	b	.L2
.L5:
	ldr	r0, .L21+68
	bl	puts
	sub	r3, fp, #416
	mov	r0, r3
	bl	getline_my
	sub	r3, fp, #416
	mov	r0, r3
	bl	atoi_2
	str	r0, [fp, #-860]
	str	r1, [fp, #-856]
	ldr	r2, .L21+72
	ldr	r3, .L21+76
	sub	r1, fp, #860
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L14
	ldr	r2, .L21+72
	ldr	r3, .L21+80
	sub	r1, fp, #860
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L20
.L14:
	ldr	r0, .L21+84
	bl	puts
	b	.L17
.L20:
	sub	r3, fp, #860
	ldmia	r3, {r2-r3}
	ldr	r0, .L21+88
	bl	printf
	ldr	r0, .L21+92
	bl	puts
	sub	r3, fp, #448
	mov	r1, #30
	mov	r0, r3
	bl	clean_text
	sub	r3, fp, #448
	mov	r0, r3
	bl	getline_my
	sub	r3, fp, #448
	mov	r0, r3
	bl	atoi_2
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #12
	sub	r4, r1, #860
	sub	r4, r4, #2
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	strh	r3, [r4]	@ movhi
	sub	r3, fp, #316
	mov	r1, #300
	mov	r0, r3
	bl	clean_text
	sub	r3, fp, #12
	sub	r3, r3, #860
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	sub	r2, fp, #316
	sub	r1, fp, #860
	ldmia	r1, {r0-r1}
	bl	itoa_dw
	sub	r3, fp, #316
	mov	r1, r3
	ldr	r0, .L21+96
	bl	printf
.L17:
	mov	r3, #1
	strb	r3, [fp, #-876]
	b	.L2
.L11:
	mov	r3, #1
	strb	r3, [fp, #-876]
	b	.L2
.L4:
	ldr	r0, .L21+100
	bl	puts
	nop
.L2:
	ldrb	r3, [fp, #-876]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L18
	nop
	ldr	r3, .L21
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L19
	bl	__stack_chk_fail
.L19:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L22:
	.align	2
.L21:
	.word	.LC22
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	-2097152
	.word	1106247679
	.word	-1041235969
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.size	main, .-main
	.align	2
	.global	getline_my
	.syntax unified
	.arm
	.fpu softvfp
	.type	getline_my, %function
getline_my:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L24
.L26:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L24:
	bl	getchar
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	beq	.L27
	ldr	r3, [fp, #-8]
	cmp	r3, #10
	bne	.L26
.L27:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	getline_my, .-getline_my
	.align	2
	.global	clean_text
	.syntax unified
	.arm
	.fpu softvfp
	.type	clean_text, %function
clean_text:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, r1
	strh	r3, [fp, #-18]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-8]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-6]	@ movhi
	ldr	r0, [fp, #-16]
	bl	strlen
	mov	r3, r0
	strh	r3, [fp, #-6]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-8]	@ movhi
	b	.L29
.L30:
	ldrsh	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldrh	r3, [fp, #-8]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-8]	@ movhi
.L29:
	ldrsh	r2, [fp, #-8]
	ldrsh	r3, [fp, #-18]
	cmp	r2, r3
	blt	.L30
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	clean_text, .-clean_text
	.align	2
	.global	clean_array
	.syntax unified
	.arm
	.fpu softvfp
	.type	clean_array, %function
clean_array:
	@ 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
	str	r0, [fp, #-16]
	mov	r3, #0
	strh	r3, [fp, #-8]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-6]	@ movhi
	mov	r3, #4
	strh	r3, [fp, #-6]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-8]	@ movhi
	b	.L32
.L33:
	ldrsh	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldrh	r3, [fp, #-8]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-8]	@ movhi
.L32:
	ldrsh	r2, [fp, #-8]
	ldrsh	r3, [fp, #-6]
	cmp	r2, r3
	blt	.L33
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	clean_array, .-clean_array
	.global	__aeabi_dmul
	.global	__aeabi_i2d
	.global	__aeabi_dadd
	.align	2
	.global	atoi_2
	.syntax unified
	.arm
	.fpu softvfp
	.type	atoi_2, %function
atoi_2:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #24
	str	r0, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L35
.L36:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L35:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r1, [fp, #-32]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L36
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L37
	mvn	r3, #0
	b	.L38
.L37:
	mov	r3, #1
.L38:
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L39
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L40
.L39:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L40:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	b	.L41
.L42:
	mov	r2, #0
	ldr	r3, .L44
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #48
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L41:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r1, [fp, #-32]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L42
	ldr	r0, [fp, #-24]
	bl	__aeabi_i2d
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L45:
	.align	2
.L44:
	.word	1076101120
	.size	atoi_2, .-atoi_2
	.section	.rodata
	.align	2
.LC23:
	.ascii	"gap = %d; \012\000"
	.align	2
.LC24:
	.ascii	"    i = %d;\012\000"
	.align	2
.LC25:
	.ascii	"---------------------------------------------------"
	.ascii	"--------\000"
	.align	2
.LC26:
	.ascii	"        before j = ( i - gap ) = %d; v [ j = %d ] ="
	.ascii	" %d; v [ ( j + gap ) = %d ] = %d;\012\000"
	.align	2
.LC27:
	.ascii	"         after j = ( j - gap ) = %d; v [ j = %d ] ="
	.ascii	" %d; v [ ( j + gap ) = %d ] = %d;\012\000"
	.align	2
.LC28:
	.ascii	"         Now array seems so:\000"
	.text
	.align	2
	.global	shellsort
	.syntax unified
	.arm
	.fpu softvfp
	.type	shellsort, %function
shellsort:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L47
.L55:
	ldr	r1, [fp, #-20]
	ldr	r0, .L56
	bl	printf
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	b	.L48
.L54:
	ldr	r1, [fp, #-16]
	ldr	r0, .L56+4
	bl	printf
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	b	.L49
.L53:
	ldr	r0, .L56+8
	bl	puts
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r2, r1, r2
	lsl	r2, r2, #2
	ldr	r1, [fp, #-24]
	add	r2, r1, r2
	ldr	r2, [r2]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r0
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, .L56+12
	bl	printf
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r2, r1, r2
	lsl	r2, r2, #2
	ldr	r1, [fp, #-24]
	add	r2, r1, r2
	ldr	r2, [r2]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r0
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, .L56+16
	bl	printf
	ldr	r0, .L56+20
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L50
.L51:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L56+24
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L50:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L51
	mov	r0, #10
	bl	putchar
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
.L49:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L52
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r1, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r1, r3
	lsl	r3, r3, #2
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L53
.L52:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L48:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L54
	ldr	r3, [fp, #-20]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-20]
.L47:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bgt	.L55
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L57:
	.align	2
.L56:
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC11
	.size	shellsort, .-shellsort
	.section	.rodata
	.align	2
.LC29:
	.ascii	"Input please lenght of array:\000"
	.align	2
.LC30:
	.ascii	"And now please input elements of array split them b"
	.ascii	"y \"Enter\". Size of array = %d;\012\000"
	.align	2
.LC31:
	.ascii	"Input please %d-th element of array:\000"
	.align	2
.LC32:
	.ascii	"sort [ %d ] = %d;\012\000"
	.text
	.align	2
	.global	getarray_sort
	.syntax unified
	.arm
	.fpu softvfp
	.type	getarray_sort, %function
getarray_sort:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	mov	r3, #0
	strh	r3, [fp, #-14]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-16]	@ movhi
	ldr	r0, .L64
	bl	printf
	mov	r1, #100
	ldr	r0, [fp, #-28]
	bl	clean_text
	ldr	r0, [fp, #-28]
	bl	getline_my
	ldr	r0, [fp, #-28]
	bl	atoi_2
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	strh	r3, [fp, #-14]	@ movhi
	ldr	r0, [fp, #-24]
	bl	clean_array
	ldrsh	r3, [fp, #-14]
	mov	r1, r3
	ldr	r0, .L64+4
	bl	printf
	mov	r3, #0
	strh	r3, [fp, #-16]	@ movhi
	b	.L59
.L60:
	ldrsh	r3, [fp, #-16]
	mov	r1, r3
	ldr	r0, .L64+8
	bl	printf
	mov	r1, #100
	ldr	r0, [fp, #-28]
	bl	clean_text
	ldr	r0, [fp, #-28]
	bl	getline_my
	ldr	r0, [fp, #-28]
	bl	atoi_2
	mov	r2, r0
	mov	r3, r1
	ldrsh	r1, [fp, #-16]
	lsl	r1, r1, #2
	ldr	r0, [fp, #-24]
	add	r4, r0, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [r4]
	ldrh	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-16]	@ movhi
.L59:
	ldrsh	r2, [fp, #-16]
	ldrsh	r3, [fp, #-14]
	cmp	r2, r3
	blt	.L60
	mov	r3, #0
	strh	r3, [fp, #-16]	@ movhi
	b	.L61
.L62:
	ldrsh	r1, [fp, #-16]
	ldrsh	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, .L64+12
	bl	printf
	ldrh	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-16]	@ movhi
.L61:
	ldrsh	r2, [fp, #-16]
	ldrsh	r3, [fp, #-14]
	cmp	r2, r3
	blt	.L62
	ldrsh	r3, [fp, #-14]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L65:
	.align	2
.L64:
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.size	getarray_sort, .-getarray_sort
	.align	2
	.global	reverse_string
	.syntax unified
	.arm
	.fpu softvfp
	.type	reverse_string, %function
reverse_string:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	strh	r3, [fp, #-6]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-10]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-8]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-10]	@ movhi
	ldr	r0, [fp, #-16]
	bl	strlen
	mov	r3, r0
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-8]	@ movhi
	b	.L67
.L68:
	ldrsh	r3, [fp, #-10]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	strh	r3, [fp, #-6]	@ movhi
	ldrsh	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r2, r2, r3
	ldrsh	r3, [fp, #-10]
	ldr	r1, [fp, #-16]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldrsh	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrh	r2, [fp, #-6]	@ movhi
	and	r2, r2, #255
	strb	r2, [r3]
	ldrh	r3, [fp, #-10]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-10]	@ movhi
	ldrh	r3, [fp, #-8]
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-8]	@ movhi
.L67:
	ldrsh	r2, [fp, #-10]
	ldrsh	r3, [fp, #-8]
	cmp	r2, r3
	blt	.L68
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	reverse_string, .-reverse_string
	.align	2
	.global	expand_my
	.syntax unified
	.arm
	.fpu softvfp
	.type	expand_my, %function
expand_my:
	@ 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]
	str	r1, [fp, #-28]
	mov	r3, #0
	strh	r3, [fp, #-14]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-12]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-10]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-8]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-6]	@ movhi
	ldr	r3, [fp, #-24]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-28]
	strb	r2, [r3]
	ldr	r0, [fp, #-24]
	bl	strlen
	mov	r3, r0
	strh	r3, [fp, #-6]	@ movhi
	mov	r3, #1
	strh	r3, [fp, #-14]	@ movhi
	mov	r3, #1
	strh	r3, [fp, #-12]	@ movhi
	b	.L70
.L76:
	ldrsh	r3, [fp, #-14]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L71
	ldrsh	r3, [fp, #-14]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldrsh	r3, [fp, #-14]
	add	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	bl	check_compat
	mov	r3, r0
	cmp	r3, #0
	beq	.L72
	ldrh	r3, [fp, #-12]
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-12]	@ movhi
	ldrsh	r3, [fp, #-14]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	strh	r3, [fp, #-10]	@ movhi
	b	.L73
.L74:
	ldrsh	r3, [fp, #-12]
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldrh	r2, [fp, #-10]	@ movhi
	and	r2, r2, #255
	strb	r2, [r3]
	ldrh	r3, [fp, #-10]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-10]	@ movhi
	ldrh	r3, [fp, #-12]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-12]	@ movhi
.L73:
	ldrsh	r3, [fp, #-10]
	ldrsh	r2, [fp, #-14]
	add	r2, r2, #1
	ldr	r1, [fp, #-24]
	add	r2, r1, r2
	ldrb	r2, [r2]	@ zero_extendqisi2
	cmp	r3, r2
	blt	.L74
	b	.L75
.L72:
	ldrsh	r3, [fp, #-14]
	ldr	r2, [fp, #-24]
	add	r2, r2, r3
	ldrsh	r3, [fp, #-12]
	ldr	r1, [fp, #-28]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldrh	r3, [fp, #-12]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-12]	@ movhi
	b	.L75
.L71:
	ldrsh	r3, [fp, #-14]
	ldr	r2, [fp, #-24]
	add	r2, r2, r3
	ldrsh	r3, [fp, #-12]
	ldr	r1, [fp, #-28]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldrh	r3, [fp, #-12]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-12]	@ movhi
.L75:
	ldrh	r3, [fp, #-14]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-14]	@ movhi
.L70:
	ldrsh	r2, [fp, #-14]
	ldrsh	r3, [fp, #-6]
	cmp	r2, r3
	ble	.L76
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	expand_my, .-expand_my
	.align	2
	.global	check_compat
	.syntax unified
	.arm
	.fpu softvfp
	.type	check_compat, %function
check_compat:
	@ 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
	mov	r2, r1
	strb	r3, [fp, #-13]
	mov	r3, r2
	strb	r3, [fp, #-14]
	mov	r3, #0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #96
	bls	.L78
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #122
	bhi	.L78
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	cmp	r3, #96
	bls	.L78
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	cmp	r3, #122
	bls	.L79
.L78:
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L80
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L80
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L80
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	cmp	r3, #90
	bls	.L79
.L80:
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L81
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L81
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L81
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L81
.L79:
	ldrb	r2, [fp, #-13]	@ zero_extendqisi2
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	cmp	r2, r3
	bcs	.L81
	mov	r3, #1
	strb	r3, [fp, #-5]
	b	.L82
.L81:
	mov	r3, #0
	strb	r3, [fp, #-5]
.L82:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	check_compat, .-check_compat
	.global	__aeabi_d2f
	.global	__aeabi_fcmplt
	.global	__aeabi_d2uiz
	.section	.rodata
	.align	2
.LC33:
	.ascii	"n < 0 and digit = %lu; n = %G\012\000"
	.align	2
.LC34:
	.ascii	"n > 0 and digit = %lu; n = %f;\012\000"
	.text
	.align	2
	.global	itoa_dw
	.syntax unified
	.arm
	.fpu softvfp
	.type	itoa_dw, %function
itoa_dw:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #40
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	str	r2, [fp, #-48]
	strh	r3, [fp, #-50]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-28]	@ float
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	mov	r1, #0
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L95
	ldr	r4, [fp, #-44]
	ldr	r3, [fp, #-40]
	eor	r5, r3, #-2147483648
	str	r4, [fp, #-44]
	str	r5, [fp, #-40]
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2uiz
	mov	r3, r0
	str	r3, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-32]
	ldr	r0, .L96
	bl	printf
	b	.L87
.L95:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2uiz
	mov	r3, r0
	str	r3, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-32]
	ldr	r0, .L96+4
	bl	printf
.L87:
	mov	r3, #0
	str	r3, [fp, #-36]
.L88:
	ldr	r1, [fp, #-32]
	ldr	r3, .L96+8
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	and	r2, r2, #255
	ldr	r3, [fp, #-36]
	add	r1, r3, #1
	str	r1, [fp, #-36]
	mov	r1, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, r1
	add	r2, r2, #48
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r2, .L96+8
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L88
	ldrsh	r3, [fp, #-50]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	bge	.L89
.L90:
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	str	r2, [fp, #-36]
	mov	r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, r2
	mov	r2, #32
	strb	r2, [r3]
	ldrsh	r3, [fp, #-50]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	blt	.L90
.L89:
	mov	r1, #0
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L91
	ldr	r3, [fp, #-36]
	add	r2, r3, #1
	str	r2, [fp, #-36]
	mov	r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, r2
	mov	r2, #45
	strb	r2, [r3]
.L91:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r0, [fp, #-48]
	bl	reverse_string
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L97:
	.align	2
.L96:
	.word	.LC33
	.word	.LC34
	.word	-858993459
	.size	itoa_dw, .-itoa_dw
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
