	.arch armv8-a
	.file	"sort.c"
	.text
.Ltext0:
	.cfi_sections	.debug_frame
	.align	2
	.p2align 3,,7
	.global	bubble_sort
	.type	bubble_sort, %function
bubble_sort:
.LFB40:
	.file 1 "sort.c"
	.loc 1 22 0
	.cfi_startproc
	sub	w5, w1, #2
	add	x5, x5, 1
	add	x5, x0, x5, lsl 2
	.p2align 2
.L2:
	.loc 1 26 0 discriminator 1
	cmp	w1, 1
	ble	.L1
	mov	x2, x0
	.loc 1 26 0 is_stmt 0
	mov	w6, 0
	.p2align 2
.L4:
	.loc 1 27 0 is_stmt 1
	ldp	w4, w3, [x2]
	cmp	w3, w4
	bge	.L3
	.loc 1 31 0
	mov	w6, 1
	.loc 1 29 0
	stp	w3, w4, [x2]
.L3:
	add	x2, x2, 4
	.loc 1 26 0 discriminator 2
	cmp	x2, x5
	bne	.L4
	.loc 1 24 0
	cbnz	w6, .L2
.L1:
	ret
	.cfi_endproc
.LFE40:
	.size	bubble_sort, .-bubble_sort
	.align	2
	.p2align 3,,7
	.global	sort_array
	.type	sort_array, %function
sort_array:
.LFB41:
	.loc 1 37 0
	.cfi_startproc
	sub	sp, sp, #8192
	.cfi_def_cfa_offset 8192
.LBB12:
.LBB13:
	.file 2 "/usr/include/aarch64-linux-gnu/bits/stdio2.h"
	.loc 2 104 0
	adrp	x1, .LC0
.LBE13:
.LBE12:
	.loc 1 37 0
	sub	sp, sp, #3824
	.cfi_def_cfa_offset 12016
	mov	x2, 12056
.LBB17:
.LBB14:
	.loc 2 104 0
	add	x1, x1, :lo12:.LC0
.LBE14:
.LBE17:
	.loc 1 37 0
	stp	x29, x30, [sp, -48]!
	.cfi_def_cfa_offset 12064
	.cfi_offset 29, -12064
	.cfi_offset 30, -12056
	add	x29, sp, 0
	.cfi_def_cfa_register 29
	str	x21, [sp, 32]
	.cfi_offset 21, -12032
	adrp	x21, __stack_chk_guard
	add	x3, x21, :lo12:__stack_chk_guard
	add	x0, x29, 56
	ldr	x4, [x3]
	str	x4, [x29, 12056]
	mov	x4,0
	stp	x19, x20, [sp, 16]
	.cfi_offset 19, -12048
	.cfi_offset 20, -12040
	add	x20, x29, x2
.LBB18:
.LBB15:
	.loc 2 104 0
	mov	x19, x0
	mov	w2, 3000
	mov	w0, 1
	bl	__printf_chk
	.p2align 2
.L10:
.LBE15:
.LBE18:
	.loc 1 41 0 discriminator 3
	bl	rand
	str	w0, [x19], 4
	.loc 1 40 0 discriminator 3
	cmp	x19, x20
	bne	.L10
	mov	x0, 12052
	add	x3, x29, x0
	.p2align 2
.L11:
.LBB19:
.LBB16:
	.loc 2 104 0
	add	x0, x29, 56
	mov	w4, 0
	.p2align 2
.L13:
.LBE16:
.LBE19:
.LBB20:
.LBB21:
	.loc 1 27 0
	ldp	w2, w1, [x0]
	cmp	w1, w2
	bge	.L12
	.loc 1 31 0
	mov	w4, 1
	.loc 1 29 0
	stp	w1, w2, [x0]
.L12:
	add	x0, x0, 4
	.loc 1 26 0
	cmp	x3, x0
	bne	.L13
	.loc 1 24 0
	cbnz	w4, .L11
.LBE21:
.LBE20:
	.loc 1 44 0
	add	x21, x21, :lo12:__stack_chk_guard
	ldr	x1, [x29, 12056]
	ldr	x0, [x21]
	eor	x0, x1, x0
	cbnz	x0, .L19
	ldp	x19, x20, [sp, 16]
	ldr	x21, [sp, 32]
	ldp	x29, x30, [sp], 48
	.cfi_remember_state
	.cfi_restore 30
	.cfi_restore 29
	.cfi_restore 21
	.cfi_restore 19
	.cfi_restore 20
	.cfi_def_cfa 31, 12016
	add	sp, sp, 8192
	.cfi_def_cfa_offset 3824
	add	sp, sp, 3824
	.cfi_def_cfa_offset 0
	ret
.L19:
	.cfi_restore_state
	bl	__stack_chk_fail
	.cfi_endproc
.LFE41:
	.size	sort_array, .-sort_array
	.section	.text.startup,"ax",@progbits
	.align	2
	.p2align 3,,7
	.global	main
	.type	main, %function
main:
.LFB42:
	.loc 1 46 0
	.cfi_startproc
	stp	x29, x30, [sp, -80]!
	.cfi_def_cfa_offset 80
	.cfi_offset 29, -80
	.cfi_offset 30, -72
.LBB28:
.LBB29:
	.loc 1 11 0
	mov	x1, 0
.LBE29:
.LBE28:
	.loc 1 46 0
	add	x29, sp, 0
	.cfi_def_cfa_register 29
	stp	x19, x20, [sp, 16]
	.cfi_offset 19, -64
	.cfi_offset 20, -56
.LBB33:
.LBB30:
	.loc 1 11 0
	adrp	x20, .LANCHOR0
.LBE30:
.LBE33:
	.loc 1 46 0
	adrp	x19, __stack_chk_guard
	str	x21, [sp, 32]
	.cfi_offset 21, -48
	.loc 1 46 0
	add	x19, x19, :lo12:__stack_chk_guard
.LBB34:
.LBB31:
	.loc 1 11 0
	add	x21, x20, :lo12:.LANCHOR0
.LBE31:
.LBE34:
	.loc 1 46 0
	ldr	x2, [x19]
	str	x2, [x29, 72]
	mov	x2,0
.LBB35:
.LBB32:
	.loc 1 11 0
	mov	x0, x21
	bl	gettimeofday
.LBE32:
.LBE35:
	.loc 1 48 0
	bl	sort_array
.LBB36:
.LBB37:
	.loc 1 16 0
	add	x0, x29, 56
	mov	x1, 0
	bl	gettimeofday
.LBB38:
.LBB39:
	.loc 2 104 0
	ldp	x2, x3, [x29, 56]
	mov	x4, 63439
	ldr	x0, [x21, 8]
	movk	x4, 0xe353, lsl 16
	ldr	x5, [x20, #:lo12:.LANCHOR0]
	movk	x4, 0x9ba5, lsl 32
	sub	x3, x3, x0
	movk	x4, 0x20c4, lsl 48
	sub	x5, x2, x5
	adrp	x1, .LC1
	add	x1, x1, :lo12:.LC1
	mov	w0, 1
	smulh	x4, x3, x4
	lsl	x2, x5, 5
	sub	x2, x2, x5
	asr	x4, x4, 7
	add	x2, x5, x2, lsl 2
	sub	x3, x4, x3, asr 63
	add	x2, x3, x2, lsl 3
	bl	__printf_chk
.LBE39:
.LBE38:
.LBE37:
.LBE36:
	.loc 1 51 0
	ldr	x0, [x29, 72]
	ldr	x1, [x19]
	eor	x1, x0, x1
	cbnz	x1, .L23
	ldp	x19, x20, [sp, 16]
	mov	w0, 0
	ldr	x21, [sp, 32]
	ldp	x29, x30, [sp], 80
	.cfi_remember_state
	.cfi_restore 30
	.cfi_restore 29
	.cfi_restore 21
	.cfi_restore 19
	.cfi_restore 20
	.cfi_def_cfa 31, 0
	ret
.L23:
	.cfi_restore_state
	bl	__stack_chk_fail
	.cfi_endproc
.LFE42:
	.size	main, .-main
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align	3
.LC0:
	.string	"Bubble sorting array of %d elements\n"
	.zero	3
.LC1:
	.string	"%llu ms\n"
	.bss
	.align	3
.LANCHOR0 = . + 0
	.type	tm1, %object
	.size	tm1, 16
tm1:
	.zero	16
	.text
.Letext0:
	.section	.debug_info,"",@progbits
.Ldebug_info0:
	.4byte	0x101
	.2byte	0x4
	.4byte	.Ldebug_abbrev0
	.byte	0x8
	.uleb128 0x1
	.4byte	.LASF2
	.byte	0xc
	.4byte	.LASF3
	.4byte	.LASF4
	.4byte	.Ldebug_ranges0+0xa0
	.8byte	0
	.4byte	.Ldebug_line0
	.uleb128 0x2
	.4byte	.LASF5
	.byte	0x2
	.byte	0x66
	.byte	0x3
	.uleb128 0x3
	.4byte	.LASF6
	.byte	0x1
	.byte	0x16
	.byte	0x1
	.uleb128 0x4
	.4byte	.LASF0
	.byte	0x1
	.byte	0xa
	.byte	0x3
	.uleb128 0x5
	.4byte	0x31
	.8byte	.LFB40
	.8byte	.LFE40-.LFB40
	.uleb128 0x1
	.byte	0x9c
	.uleb128 0x6
	.4byte	.LASF7
	.byte	0x1
	.byte	0x25
	.8byte	.LFB41
	.8byte	.LFE41-.LFB41
	.uleb128 0x1
	.byte	0x9c
	.4byte	0xa0
	.uleb128 0x7
	.4byte	0x29
	.8byte	.LBB12
	.4byte	.Ldebug_ranges0+0
	.byte	0x1
	.byte	0x26
	.uleb128 0x8
	.4byte	0x31
	.8byte	.LBB20
	.8byte	.LBE20-.LBB20
	.byte	0x1
	.byte	0x2b
	.byte	0
	.uleb128 0x4
	.4byte	.LASF1
	.byte	0x1
	.byte	0xe
	.byte	0x3
	.uleb128 0x9
	.4byte	.LASF8
	.byte	0x1
	.byte	0x2e
	.8byte	.LFB42
	.8byte	.LFE42-.LFB42
	.uleb128 0x1
	.byte	0x9c
	.uleb128 0x7
	.4byte	0x39
	.8byte	.LBB28
	.4byte	.Ldebug_ranges0+0x50
	.byte	0x1
	.byte	0x2f
	.uleb128 0xa
	.4byte	0xa0
	.8byte	.LBB36
	.8byte	.LBE36-.LBB36
	.byte	0x1
	.byte	0x31
	.uleb128 0x8
	.4byte	0x29
	.8byte	.LBB38
	.8byte	.LBE38-.LBB38
	.byte	0x1
	.byte	0x13
	.byte	0
	.byte	0
	.byte	0
	.section	.debug_abbrev,"",@progbits
.Ldebug_abbrev0:
	.uleb128 0x1
	.uleb128 0x11
	.byte	0x1
	.uleb128 0x25
	.uleb128 0xe
	.uleb128 0x13
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x1b
	.uleb128 0xe
	.uleb128 0x55
	.uleb128 0x17
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x10
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x2
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x20
	.uleb128 0xb
	.uleb128 0x34
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x3
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x20
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x4
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x20
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x5
	.uleb128 0x2e
	.byte	0
	.uleb128 0x31
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x2117
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x6
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x2116
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x7
	.uleb128 0x1d
	.byte	0
	.uleb128 0x31
	.uleb128 0x13
	.uleb128 0x52
	.uleb128 0x1
	.uleb128 0x55
	.uleb128 0x17
	.uleb128 0x58
	.uleb128 0xb
	.uleb128 0x59
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x8
	.uleb128 0x1d
	.byte	0
	.uleb128 0x31
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x58
	.uleb128 0xb
	.uleb128 0x59
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x9
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x2116
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0xa
	.uleb128 0x1d
	.byte	0x1
	.uleb128 0x31
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x58
	.uleb128 0xb
	.uleb128 0x59
	.uleb128 0xb
	.byte	0
	.byte	0
	.byte	0
	.section	.debug_aranges,"",@progbits
	.4byte	0x3c
	.2byte	0x2
	.4byte	.Ldebug_info0
	.byte	0x8
	.byte	0
	.2byte	0
	.2byte	0
	.8byte	.Ltext0
	.8byte	.Letext0-.Ltext0
	.8byte	.LFB42
	.8byte	.LFE42-.LFB42
	.8byte	0
	.8byte	0
	.section	.debug_ranges,"",@progbits
.Ldebug_ranges0:
	.8byte	.LBB12
	.8byte	.LBE12
	.8byte	.LBB17
	.8byte	.LBE17
	.8byte	.LBB18
	.8byte	.LBE18
	.8byte	.LBB19
	.8byte	.LBE19
	.8byte	0
	.8byte	0
	.8byte	.LBB28
	.8byte	.LBE28
	.8byte	.LBB33
	.8byte	.LBE33
	.8byte	.LBB34
	.8byte	.LBE34
	.8byte	.LBB35
	.8byte	.LBE35
	.8byte	0
	.8byte	0
	.8byte	.Ltext0
	.8byte	.Letext0
	.8byte	.LFB42
	.8byte	.LFE42
	.8byte	0
	.8byte	0
	.section	.debug_line,"",@progbits
.Ldebug_line0:
	.section	.debug_str,"MS",@progbits,1
.LASF1:
	.string	"stop"
.LASF0:
	.string	"start"
.LASF4:
	.string	"/root/kim"
.LASF7:
	.string	"sort_array"
.LASF8:
	.string	"main"
.LASF3:
	.string	"sort.c"
.LASF2:
	.string	"GNU C11 5.4.0 20160609 -mlittle-endian -mabi=lp64 -g1 -O3 -fstack-protector-strong"
.LASF6:
	.string	"bubble_sort"
.LASF5:
	.string	"printf"
	.ident	"GCC: (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609"
	.section	.note.GNU-stack,"",@progbits
