You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2304 lines
45 KiB

.data
.globl n
.p2align 2
n:
.word 0
.text
.globl bubblesort
.p2align 2
bubblesort:
.L.bubblesort.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #96
stur x0, [x29, #-8]
mov w8, #0
stur w8, [x29, #-12]
mov w8, #0
stur w8, [x29, #-16]
mov w8, #0
stur w8, [x29, #-12]
b .L.bubblesort.1
.L.bubblesort.1:
ldur w8, [x29, #-12]
stur w8, [x29, #-24]
adrp x13, n
ldr w8, [x13, #:lo12:n]
stur w8, [x29, #-28]
ldur w8, [x29, #-24]
ldur w9, [x29, #-28]
mov w10, #1
sub w9, w9, w10
cmp w8, w9
b.lt .L.bubblesort.2
b .L.bubblesort.3
.L.bubblesort.2:
mov w8, #0
stur w8, [x29, #-16]
b .L.bubblesort.4
.L.bubblesort.3:
mov w0, #0
add sp, sp, #96
ldp x29, x30, [sp], #16
ret
.L.bubblesort.4:
ldur w8, [x29, #-16]
stur w8, [x29, #-32]
adrp x13, n
ldr w8, [x13, #:lo12:n]
stur w8, [x29, #-36]
ldur w8, [x29, #-12]
stur w8, [x29, #-40]
ldur w8, [x29, #-32]
ldur w9, [x29, #-36]
ldur w11, [x29, #-40]
sub w9, w9, w11
mov w10, #1
sub w9, w9, w10
cmp w8, w9
b.lt .L.bubblesort.5
b .L.bubblesort.6
.L.bubblesort.5:
ldur w8, [x29, #-16]
stur w8, [x29, #-44]
ldur x15, [x29, #-8]
ldur w14, [x29, #-44]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-48]
ldur w8, [x29, #-16]
stur w8, [x29, #-52]
ldur x15, [x29, #-8]
ldur w14, [x29, #-52]
mov w8, #1
add w14, w14, w8
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-56]
ldur w8, [x29, #-48]
ldur w9, [x29, #-56]
cmp w8, w9
b.gt .L.bubblesort.7
b .L.bubblesort.8
.L.bubblesort.6:
ldur w8, [x29, #-12]
stur w8, [x29, #-60]
ldur w8, [x29, #-60]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-12]
b .L.bubblesort.1
.L.bubblesort.7:
mov w8, #0
stur w8, [x29, #-20]
ldur w8, [x29, #-16]
stur w8, [x29, #-64]
ldur x15, [x29, #-8]
ldur w14, [x29, #-64]
mov w8, #1
add w14, w14, w8
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-68]
ldur w8, [x29, #-68]
stur w8, [x29, #-20]
ldur w8, [x29, #-16]
stur w8, [x29, #-72]
ldur w8, [x29, #-16]
stur w8, [x29, #-76]
ldur x15, [x29, #-8]
ldur w14, [x29, #-76]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-80]
ldur x15, [x29, #-8]
ldur w14, [x29, #-72]
mov w8, #1
add w14, w14, w8
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldur w8, [x29, #-80]
str w8, [x15]
ldur w8, [x29, #-16]
stur w8, [x29, #-84]
ldur w8, [x29, #-20]
stur w8, [x29, #-88]
ldur x15, [x29, #-8]
ldur w14, [x29, #-84]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldur w8, [x29, #-88]
str w8, [x15]
b .L.bubblesort.8
.L.bubblesort.8:
ldur w8, [x29, #-16]
stur w8, [x29, #-92]
ldur w8, [x29, #-92]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-16]
b .L.bubblesort.4
.text
.globl insertsort
.p2align 2
insertsort:
.L.insertsort.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #96
stur x0, [x29, #-8]
mov w8, #0
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-12]
b .L.insertsort.1
.L.insertsort.1:
ldur w8, [x29, #-12]
stur w8, [x29, #-24]
adrp x13, n
ldr w8, [x13, #:lo12:n]
stur w8, [x29, #-28]
ldur w8, [x29, #-24]
ldur w9, [x29, #-28]
cmp w8, w9
b.lt .L.insertsort.2
b .L.insertsort.3
.L.insertsort.2:
mov w8, #0
stur w8, [x29, #-16]
ldur w8, [x29, #-12]
stur w8, [x29, #-32]
ldur x15, [x29, #-8]
ldur w14, [x29, #-32]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-36]
ldur w8, [x29, #-36]
stur w8, [x29, #-16]
mov w8, #0
stur w8, [x29, #-20]
ldur w8, [x29, #-12]
stur w8, [x29, #-40]
ldur w8, [x29, #-40]
mov w9, #1
sub w8, w8, w9
stur w8, [x29, #-20]
b .L.insertsort.4
.L.insertsort.3:
mov w0, #0
add sp, sp, #96
ldp x29, x30, [sp], #16
ret
.L.insertsort.4:
ldur w8, [x29, #-20]
stur w8, [x29, #-44]
ldur w8, [x29, #-44]
mov w9, #-1
cmp w8, w9
b.gt .L.insertsort.7
b .L.insertsort.6
.L.insertsort.5:
ldur w8, [x29, #-20]
stur w8, [x29, #-48]
ldur w8, [x29, #-20]
stur w8, [x29, #-52]
ldur x15, [x29, #-8]
ldur w14, [x29, #-52]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-56]
ldur x15, [x29, #-8]
ldur w14, [x29, #-48]
mov w8, #1
add w14, w14, w8
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldur w8, [x29, #-56]
str w8, [x15]
ldur w8, [x29, #-20]
stur w8, [x29, #-60]
ldur w8, [x29, #-60]
mov w9, #1
sub w8, w8, w9
stur w8, [x29, #-20]
b .L.insertsort.4
.L.insertsort.6:
ldur w8, [x29, #-20]
stur w8, [x29, #-64]
ldur w8, [x29, #-16]
stur w8, [x29, #-68]
ldur x15, [x29, #-8]
ldur w14, [x29, #-64]
mov w8, #1
add w14, w14, w8
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldur w8, [x29, #-68]
str w8, [x15]
ldur w8, [x29, #-12]
stur w8, [x29, #-72]
ldur w8, [x29, #-72]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-12]
b .L.insertsort.1
.L.insertsort.7:
ldur w8, [x29, #-16]
stur w8, [x29, #-76]
ldur w8, [x29, #-20]
stur w8, [x29, #-80]
ldur x15, [x29, #-8]
ldur w14, [x29, #-80]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-84]
ldur w8, [x29, #-76]
ldur w9, [x29, #-84]
cmp w8, w9
b.lt .L.insertsort.5
b .L.insertsort.6
.text
.globl QuickSort
.p2align 2
QuickSort:
.L.QuickSort.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #208
stur x0, [x29, #-8]
stur w1, [x29, #-12]
stur w2, [x29, #-16]
ldur w8, [x29, #-12]
stur w8, [x29, #-36]
ldur w8, [x29, #-16]
stur w8, [x29, #-40]
ldur w8, [x29, #-36]
stur w8, [x29, #-44]
ldur w8, [x29, #-40]
stur w8, [x29, #-48]
ldur w8, [x29, #-44]
ldur w9, [x29, #-48]
cmp w8, w9
b.lt .L.QuickSort.1
b .L.QuickSort.2
.L.QuickSort.1:
mov w8, #0
stur w8, [x29, #-20]
ldur w8, [x29, #-36]
stur w8, [x29, #-52]
ldur w8, [x29, #-52]
stur w8, [x29, #-20]
mov w8, #0
stur w8, [x29, #-24]
ldur w8, [x29, #-40]
stur w8, [x29, #-56]
ldur w8, [x29, #-56]
stur w8, [x29, #-24]
mov w8, #0
stur w8, [x29, #-28]
ldur w8, [x29, #-36]
stur w8, [x29, #-60]
ldur x15, [x29, #-8]
ldur w14, [x29, #-60]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-64]
ldur w8, [x29, #-64]
stur w8, [x29, #-28]
b .L.QuickSort.3
.L.QuickSort.2:
mov w0, #0
add sp, sp, #208
ldp x29, x30, [sp], #16
ret
.L.QuickSort.3:
ldur w8, [x29, #-20]
stur w8, [x29, #-68]
ldur w8, [x29, #-24]
stur w8, [x29, #-72]
ldur w8, [x29, #-68]
ldur w9, [x29, #-72]
cmp w8, w9
b.lt .L.QuickSort.4
b .L.QuickSort.5
.L.QuickSort.4:
b .L.QuickSort.6
.L.QuickSort.5:
ldur w8, [x29, #-20]
stur w8, [x29, #-76]
ldur w8, [x29, #-28]
stur w8, [x29, #-80]
ldur x15, [x29, #-8]
ldur w14, [x29, #-76]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldur w8, [x29, #-80]
str w8, [x15]
mov w8, #0
stur w8, [x29, #-32]
ldur w8, [x29, #-20]
stur w8, [x29, #-84]
ldur w8, [x29, #-84]
mov w9, #1
sub w8, w8, w9
stur w8, [x29, #-32]
ldur w8, [x29, #-36]
stur w8, [x29, #-88]
ldur w8, [x29, #-32]
stur w8, [x29, #-92]
ldur x0, [x29, #-8]
ldur w1, [x29, #-88]
ldur w2, [x29, #-92]
bl QuickSort
stur w0, [x29, #-96]
ldur w8, [x29, #-96]
stur w8, [x29, #-32]
ldur w8, [x29, #-20]
stur w8, [x29, #-100]
ldur w8, [x29, #-100]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-32]
ldur w8, [x29, #-32]
stur w8, [x29, #-104]
ldur w8, [x29, #-40]
stur w8, [x29, #-108]
ldur x0, [x29, #-8]
ldur w1, [x29, #-104]
ldur w2, [x29, #-108]
bl QuickSort
stur w0, [x29, #-112]
ldur w8, [x29, #-112]
stur w8, [x29, #-32]
b .L.QuickSort.2
.L.QuickSort.6:
ldur w8, [x29, #-20]
stur w8, [x29, #-116]
ldur w8, [x29, #-24]
stur w8, [x29, #-120]
ldur w8, [x29, #-116]
ldur w9, [x29, #-120]
cmp w8, w9
b.lt .L.QuickSort.9
b .L.QuickSort.8
.L.QuickSort.7:
ldur w8, [x29, #-24]
stur w8, [x29, #-124]
ldur w8, [x29, #-124]
mov w9, #1
sub w8, w8, w9
stur w8, [x29, #-24]
b .L.QuickSort.6
.L.QuickSort.8:
ldur w8, [x29, #-20]
stur w8, [x29, #-128]
ldur w8, [x29, #-24]
stur w8, [x29, #-132]
ldur w8, [x29, #-128]
ldur w9, [x29, #-132]
cmp w8, w9
b.lt .L.QuickSort.10
b .L.QuickSort.11
.L.QuickSort.9:
ldur w8, [x29, #-24]
stur w8, [x29, #-136]
ldur x15, [x29, #-8]
ldur w14, [x29, #-136]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-140]
ldur w8, [x29, #-28]
stur w8, [x29, #-144]
ldur w8, [x29, #-140]
ldur w9, [x29, #-144]
mov w10, #1
sub w9, w9, w10
cmp w8, w9
b.gt .L.QuickSort.7
b .L.QuickSort.8
.L.QuickSort.10:
ldur w8, [x29, #-20]
stur w8, [x29, #-148]
ldur w8, [x29, #-24]
stur w8, [x29, #-152]
ldur x15, [x29, #-8]
ldur w14, [x29, #-152]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-156]
ldur x15, [x29, #-8]
ldur w14, [x29, #-148]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldur w8, [x29, #-156]
str w8, [x15]
ldur w8, [x29, #-20]
stur w8, [x29, #-160]
ldur w8, [x29, #-160]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-20]
b .L.QuickSort.11
.L.QuickSort.11:
b .L.QuickSort.12
.L.QuickSort.12:
ldur w8, [x29, #-20]
stur w8, [x29, #-164]
ldur w8, [x29, #-24]
stur w8, [x29, #-168]
ldur w8, [x29, #-164]
ldur w9, [x29, #-168]
cmp w8, w9
b.lt .L.QuickSort.15
b .L.QuickSort.14
.L.QuickSort.13:
ldur w8, [x29, #-20]
stur w8, [x29, #-172]
ldur w8, [x29, #-172]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-20]
b .L.QuickSort.12
.L.QuickSort.14:
ldur w8, [x29, #-20]
stur w8, [x29, #-176]
ldur w8, [x29, #-24]
stur w8, [x29, #-180]
ldur w8, [x29, #-176]
ldur w9, [x29, #-180]
cmp w8, w9
b.lt .L.QuickSort.16
b .L.QuickSort.17
.L.QuickSort.15:
ldur w8, [x29, #-20]
stur w8, [x29, #-184]
ldur x15, [x29, #-8]
ldur w14, [x29, #-184]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-188]
ldur w8, [x29, #-28]
stur w8, [x29, #-192]
ldur w8, [x29, #-188]
ldur w9, [x29, #-192]
cmp w8, w9
b.lt .L.QuickSort.13
b .L.QuickSort.14
.L.QuickSort.16:
ldur w8, [x29, #-24]
stur w8, [x29, #-196]
ldur w8, [x29, #-20]
stur w8, [x29, #-200]
ldur x15, [x29, #-8]
ldur w14, [x29, #-200]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-204]
ldur x15, [x29, #-8]
ldur w14, [x29, #-196]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldur w8, [x29, #-204]
str w8, [x15]
ldur w8, [x29, #-24]
stur w8, [x29, #-208]
ldur w8, [x29, #-208]
mov w9, #1
sub w8, w8, w9
stur w8, [x29, #-24]
b .L.QuickSort.17
.L.QuickSort.17:
b .L.QuickSort.3
.text
.globl getMid
.p2align 2
getMid:
.L.getMid.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #48
stur x0, [x29, #-8]
mov w8, #0
stur w8, [x29, #-12]
adrp x13, n
ldr w8, [x13, #:lo12:n]
stur w8, [x29, #-16]
ldur w8, [x29, #-16]
mov w9, #2
sdiv w12, w8, w9
msub w8, w12, w9, w8
mov w9, #0
cmp w8, w9
b.eq .L.getMid.1
b .L.getMid.2
.L.getMid.1:
adrp x13, n
ldr w8, [x13, #:lo12:n]
stur w8, [x29, #-20]
ldur w8, [x29, #-20]
mov w9, #2
sdiv w8, w8, w9
stur w8, [x29, #-12]
ldur w8, [x29, #-12]
stur w8, [x29, #-24]
ldur x15, [x29, #-8]
ldur w14, [x29, #-24]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-28]
ldur w8, [x29, #-12]
stur w8, [x29, #-32]
ldur x15, [x29, #-8]
ldur w14, [x29, #-32]
mov w8, #1
sub w14, w14, w8
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-36]
ldur w0, [x29, #-28]
ldur w9, [x29, #-36]
add w0, w0, w9
mov w8, #2
sdiv w0, w0, w8
add sp, sp, #48
ldp x29, x30, [sp], #16
ret
.L.getMid.2:
adrp x13, n
ldr w8, [x13, #:lo12:n]
stur w8, [x29, #-40]
ldur w8, [x29, #-40]
mov w9, #2
sdiv w8, w8, w9
stur w8, [x29, #-12]
ldur w8, [x29, #-12]
stur w8, [x29, #-44]
ldur x15, [x29, #-8]
ldur w14, [x29, #-44]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-48]
ldur w0, [x29, #-48]
add sp, sp, #48
ldp x29, x30, [sp], #16
ret
.L.getMid.3:
mov w0, #0
add sp, sp, #48
ldp x29, x30, [sp], #16
ret
.text
.globl getMost
.p2align 2
getMost:
.L.getMost.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #4095
sub sp, sp, #1
stur x0, [x29, #-8]
mov w8, #0
mov x13, x29
sub x13, x13, #4012
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #4012
str w8, [x13]
b .L.getMost.1
.L.getMost.1:
mov x13, x29
sub x13, x13, #4012
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4028
str w8, [x13]
mov x13, x29
sub x13, x13, #4028
ldr w8, [x13]
mov w9, #1000
cmp w8, w9
b.lt .L.getMost.2
b .L.getMost.3
.L.getMost.2:
mov x13, x29
sub x13, x13, #4012
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4032
str w8, [x13]
mov x15, x29
sub x15, x15, #4008
mov x13, x29
sub x13, x13, #4032
ldr w14, [x13]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
mov w8, #0
str w8, [x15]
mov x13, x29
sub x13, x13, #4012
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4036
str w8, [x13]
mov x13, x29
sub x13, x13, #4036
ldr w8, [x13]
mov w9, #1
add w8, w8, w9
mov x13, x29
sub x13, x13, #4012
str w8, [x13]
b .L.getMost.1
.L.getMost.3:
mov w8, #0
mov x13, x29
sub x13, x13, #4012
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #4016
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #4020
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #4016
str w8, [x13]
b .L.getMost.4
.L.getMost.4:
mov x13, x29
sub x13, x13, #4012
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4040
str w8, [x13]
adrp x13, n
ldr w8, [x13, #:lo12:n]
mov x13, x29
sub x13, x13, #4044
str w8, [x13]
mov x13, x29
sub x13, x13, #4040
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4044
ldr w9, [x13]
cmp w8, w9
b.lt .L.getMost.5
b .L.getMost.6
.L.getMost.5:
mov w8, #0
mov x13, x29
sub x13, x13, #4024
str w8, [x13]
mov x13, x29
sub x13, x13, #4012
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4048
str w8, [x13]
ldur x15, [x29, #-8]
mov x13, x29
sub x13, x13, #4048
ldr w14, [x13]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
mov x13, x29
sub x13, x13, #4052
str w8, [x13]
mov x13, x29
sub x13, x13, #4052
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4024
str w8, [x13]
mov x13, x29
sub x13, x13, #4024
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4056
str w8, [x13]
mov x13, x29
sub x13, x13, #4024
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4060
str w8, [x13]
mov x15, x29
sub x15, x15, #4008
mov x13, x29
sub x13, x13, #4060
ldr w14, [x13]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
mov x13, x29
sub x13, x13, #4064
str w8, [x13]
mov x15, x29
sub x15, x15, #4008
mov x13, x29
sub x13, x13, #4056
ldr w14, [x13]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
mov x13, x29
sub x13, x13, #4064
ldr w8, [x13]
mov w9, #1
add w8, w8, w9
str w8, [x15]
mov x13, x29
sub x13, x13, #4024
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4068
str w8, [x13]
mov x15, x29
sub x15, x15, #4008
mov x13, x29
sub x13, x13, #4068
ldr w14, [x13]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
mov x13, x29
sub x13, x13, #4072
str w8, [x13]
mov x13, x29
sub x13, x13, #4016
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4076
str w8, [x13]
mov x13, x29
sub x13, x13, #4072
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4076
ldr w9, [x13]
cmp w8, w9
b.gt .L.getMost.7
b .L.getMost.8
.L.getMost.6:
mov x13, x29
sub x13, x13, #4020
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4080
str w8, [x13]
mov x13, x29
sub x13, x13, #4080
ldr w0, [x13]
add sp, sp, #4095
add sp, sp, #1
ldp x29, x30, [sp], #16
ret
.L.getMost.7:
mov x13, x29
sub x13, x13, #4024
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4084
str w8, [x13]
mov x15, x29
sub x15, x15, #4008
mov x13, x29
sub x13, x13, #4084
ldr w14, [x13]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
mov x13, x29
sub x13, x13, #4088
str w8, [x13]
mov x13, x29
sub x13, x13, #4088
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4016
str w8, [x13]
mov x13, x29
sub x13, x13, #4024
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4092
str w8, [x13]
mov x13, x29
sub x13, x13, #4092
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4020
str w8, [x13]
b .L.getMost.8
.L.getMost.8:
mov x13, x29
sub x13, x13, #4012
ldr w8, [x13]
mov x13, x29
sub x13, x13, #4095
sub x13, x13, #1
str w8, [x13]
mov x13, x29
sub x13, x13, #4095
sub x13, x13, #1
ldr w8, [x13]
mov w9, #1
add w8, w8, w9
mov x13, x29
sub x13, x13, #4012
str w8, [x13]
b .L.getMost.4
.text
.globl revert
.p2align 2
revert:
.L.revert.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #64
stur x0, [x29, #-8]
mov w8, #0
stur w8, [x29, #-12]
mov w8, #0
stur w8, [x29, #-16]
mov w8, #0
stur w8, [x29, #-20]
mov w8, #0
stur w8, [x29, #-16]
mov w8, #0
stur w8, [x29, #-20]
b .L.revert.1
.L.revert.1:
ldur w8, [x29, #-16]
stur w8, [x29, #-24]
ldur w8, [x29, #-20]
stur w8, [x29, #-28]
ldur w8, [x29, #-24]
ldur w9, [x29, #-28]
cmp w8, w9
b.lt .L.revert.2
b .L.revert.3
.L.revert.2:
ldur w8, [x29, #-16]
stur w8, [x29, #-32]
ldur x15, [x29, #-8]
ldur w14, [x29, #-32]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-36]
ldur w8, [x29, #-36]
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
stur w8, [x29, #-40]
ldur w8, [x29, #-20]
stur w8, [x29, #-44]
ldur x15, [x29, #-8]
ldur w14, [x29, #-44]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-48]
ldur x15, [x29, #-8]
ldur w14, [x29, #-40]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldur w8, [x29, #-48]
str w8, [x15]
ldur w8, [x29, #-20]
stur w8, [x29, #-52]
ldur w8, [x29, #-12]
stur w8, [x29, #-56]
ldur x15, [x29, #-8]
ldur w14, [x29, #-52]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldur w8, [x29, #-56]
str w8, [x15]
ldur w8, [x29, #-16]
stur w8, [x29, #-60]
ldur w8, [x29, #-60]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-16]
ldur w8, [x29, #-20]
stur w8, [x29, #-64]
ldur w8, [x29, #-64]
mov w9, #1
sub w8, w8, w9
stur w8, [x29, #-20]
b .L.revert.1
.L.revert.3:
mov w0, #0
add sp, sp, #64
ldp x29, x30, [sp], #16
ret
.text
.globl arrCopy
.p2align 2
arrCopy:
.L.arrCopy.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #48
stur x0, [x29, #-8]
stur x1, [x29, #-16]
mov w8, #0
stur w8, [x29, #-20]
mov w8, #0
stur w8, [x29, #-20]
b .L.arrCopy.1
.L.arrCopy.1:
ldur w8, [x29, #-20]
stur w8, [x29, #-24]
adrp x13, n
ldr w8, [x13, #:lo12:n]
stur w8, [x29, #-28]
ldur w8, [x29, #-24]
ldur w9, [x29, #-28]
cmp w8, w9
b.lt .L.arrCopy.2
b .L.arrCopy.3
.L.arrCopy.2:
ldur w8, [x29, #-20]
stur w8, [x29, #-32]
ldur w8, [x29, #-20]
stur w8, [x29, #-36]
ldur x15, [x29, #-8]
ldur w14, [x29, #-36]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-40]
ldur x15, [x29, #-16]
ldur w14, [x29, #-32]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldur w8, [x29, #-40]
str w8, [x15]
ldur w8, [x29, #-20]
stur w8, [x29, #-44]
ldur w8, [x29, #-44]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-20]
b .L.arrCopy.1
.L.arrCopy.3:
mov w0, #0
add sp, sp, #48
ldp x29, x30, [sp], #16
ret
.text
.globl calSum
.p2align 2
calSum:
.L.calSum.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #80
stur x0, [x29, #-8]
stur w1, [x29, #-12]
ldur w8, [x29, #-12]
stur w8, [x29, #-24]
mov w8, #0
stur w8, [x29, #-16]
mov w8, #0
stur w8, [x29, #-16]
mov w8, #0
stur w8, [x29, #-20]
mov w8, #0
stur w8, [x29, #-20]
b .L.calSum.1
.L.calSum.1:
ldur w8, [x29, #-20]
stur w8, [x29, #-28]
adrp x13, n
ldr w8, [x13, #:lo12:n]
stur w8, [x29, #-32]
ldur w8, [x29, #-28]
ldur w9, [x29, #-32]
cmp w8, w9
b.lt .L.calSum.2
b .L.calSum.3
.L.calSum.2:
ldur w8, [x29, #-16]
stur w8, [x29, #-36]
ldur w8, [x29, #-20]
stur w8, [x29, #-40]
ldur x15, [x29, #-8]
ldur w14, [x29, #-40]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-44]
ldur w8, [x29, #-36]
ldur w9, [x29, #-44]
add w8, w8, w9
stur w8, [x29, #-16]
ldur w8, [x29, #-20]
stur w8, [x29, #-48]
ldur w8, [x29, #-24]
stur w8, [x29, #-52]
ldur w8, [x29, #-24]
stur w8, [x29, #-56]
ldur w8, [x29, #-48]
ldur w10, [x29, #-52]
sdiv w12, w8, w10
msub w8, w12, w10, w8
ldur w9, [x29, #-56]
mov w10, #1
sub w9, w9, w10
cmp w8, w9
b.ne .L.calSum.4
b .L.calSum.5
.L.calSum.3:
mov w0, #0
add sp, sp, #80
ldp x29, x30, [sp], #16
ret
.L.calSum.4:
ldur w8, [x29, #-20]
stur w8, [x29, #-60]
ldur x15, [x29, #-8]
ldur w14, [x29, #-60]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
mov w8, #0
str w8, [x15]
b .L.calSum.6
.L.calSum.5:
ldur w8, [x29, #-20]
stur w8, [x29, #-64]
ldur w8, [x29, #-16]
stur w8, [x29, #-68]
ldur x15, [x29, #-8]
ldur w14, [x29, #-64]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldur w8, [x29, #-68]
str w8, [x15]
mov w8, #0
stur w8, [x29, #-16]
b .L.calSum.6
.L.calSum.6:
ldur w8, [x29, #-20]
stur w8, [x29, #-72]
ldur w8, [x29, #-72]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-20]
b .L.calSum.1
.text
.globl avgPooling
.p2align 2
avgPooling:
.L.avgPooling.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #160
stur x0, [x29, #-8]
stur w1, [x29, #-12]
ldur w8, [x29, #-12]
stur w8, [x29, #-28]
mov w8, #0
stur w8, [x29, #-16]
mov w8, #0
stur w8, [x29, #-20]
mov w8, #0
stur w8, [x29, #-20]
mov w8, #0
stur w8, [x29, #-16]
mov w8, #0
stur w8, [x29, #-24]
b .L.avgPooling.1
.L.avgPooling.1:
ldur w8, [x29, #-20]
stur w8, [x29, #-32]
adrp x13, n
ldr w8, [x13, #:lo12:n]
stur w8, [x29, #-36]
ldur w8, [x29, #-32]
ldur w9, [x29, #-36]
cmp w8, w9
b.lt .L.avgPooling.2
b .L.avgPooling.3
.L.avgPooling.2:
ldur w8, [x29, #-20]
stur w8, [x29, #-40]
ldur w8, [x29, #-28]
stur w8, [x29, #-44]
ldur w8, [x29, #-40]
ldur w9, [x29, #-44]
mov w10, #1
sub w9, w9, w10
cmp w8, w9
b.lt .L.avgPooling.4
b .L.avgPooling.5
.L.avgPooling.3:
adrp x13, n
ldr w8, [x13, #:lo12:n]
stur w8, [x29, #-48]
ldur w8, [x29, #-28]
stur w8, [x29, #-52]
ldur w8, [x29, #-48]
ldur w10, [x29, #-52]
sub w8, w8, w10
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-20]
b .L.avgPooling.10
.L.avgPooling.4:
ldur w8, [x29, #-16]
stur w8, [x29, #-56]
ldur w8, [x29, #-20]
stur w8, [x29, #-60]
ldur x15, [x29, #-8]
ldur w14, [x29, #-60]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-64]
ldur w8, [x29, #-56]
ldur w9, [x29, #-64]
add w8, w8, w9
stur w8, [x29, #-16]
b .L.avgPooling.6
.L.avgPooling.5:
ldur w8, [x29, #-20]
stur w8, [x29, #-68]
ldur w8, [x29, #-28]
stur w8, [x29, #-72]
ldur w8, [x29, #-68]
ldur w9, [x29, #-72]
mov w10, #1
sub w9, w9, w10
cmp w8, w9
b.eq .L.avgPooling.7
b .L.avgPooling.8
.L.avgPooling.6:
ldur w8, [x29, #-20]
stur w8, [x29, #-76]
ldur w8, [x29, #-76]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-20]
b .L.avgPooling.1
.L.avgPooling.7:
ldur x15, [x29, #-8]
ldr w8, [x15]
stur w8, [x29, #-80]
ldur w8, [x29, #-80]
stur w8, [x29, #-24]
ldur w8, [x29, #-16]
stur w8, [x29, #-84]
ldur w8, [x29, #-28]
stur w8, [x29, #-88]
ldur x15, [x29, #-8]
ldur w8, [x29, #-84]
ldur w9, [x29, #-88]
sdiv w8, w8, w9
str w8, [x15]
b .L.avgPooling.9
.L.avgPooling.8:
ldur w8, [x29, #-16]
stur w8, [x29, #-92]
ldur w8, [x29, #-20]
stur w8, [x29, #-96]
ldur x15, [x29, #-8]
ldur w14, [x29, #-96]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-100]
ldur w8, [x29, #-24]
stur w8, [x29, #-104]
ldur w8, [x29, #-92]
ldur w10, [x29, #-100]
add w8, w8, w10
ldur w9, [x29, #-104]
sub w8, w8, w9
stur w8, [x29, #-16]
ldur w8, [x29, #-20]
stur w8, [x29, #-108]
ldur w8, [x29, #-28]
stur w8, [x29, #-112]
ldur x15, [x29, #-8]
ldur w14, [x29, #-108]
ldur w9, [x29, #-112]
sub w14, w14, w9
mov w8, #1
add w14, w14, w8
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
stur w8, [x29, #-116]
ldur w8, [x29, #-116]
stur w8, [x29, #-24]
ldur w8, [x29, #-20]
stur w8, [x29, #-120]
ldur w8, [x29, #-28]
stur w8, [x29, #-124]
ldur w8, [x29, #-16]
stur w8, [x29, #-128]
ldur w8, [x29, #-28]
stur w8, [x29, #-132]
ldur x15, [x29, #-8]
ldur w14, [x29, #-120]
ldur w9, [x29, #-124]
sub w14, w14, w9
mov w8, #1
add w14, w14, w8
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldur w8, [x29, #-128]
ldur w9, [x29, #-132]
sdiv w8, w8, w9
str w8, [x15]
b .L.avgPooling.9
.L.avgPooling.9:
b .L.avgPooling.6
.L.avgPooling.10:
ldur w8, [x29, #-20]
stur w8, [x29, #-136]
adrp x13, n
ldr w8, [x13, #:lo12:n]
stur w8, [x29, #-140]
ldur w8, [x29, #-136]
ldur w9, [x29, #-140]
cmp w8, w9
b.lt .L.avgPooling.11
b .L.avgPooling.12
.L.avgPooling.11:
ldur w8, [x29, #-20]
stur w8, [x29, #-144]
ldur x15, [x29, #-8]
ldur w14, [x29, #-144]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
mov w8, #0
str w8, [x15]
ldur w8, [x29, #-20]
stur w8, [x29, #-148]
ldur w8, [x29, #-148]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-20]
b .L.avgPooling.10
.L.avgPooling.12:
mov w0, #0
add sp, sp, #160
ldp x29, x30, [sp], #16
ret
.text
.globl main
.p2align 2
main:
.L.main.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #480
mov w8, #32
adrp x13, n
str w8, [x13, #:lo12:n]
mov x15, x29
sub x15, x15, #128
mov w8, #7
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #4
add x15, x15, x14
mov w8, #23
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #8
add x15, x15, x14
mov w8, #89
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #12
add x15, x15, x14
mov w8, #26
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #16
add x15, x15, x14
mov w8, #282
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #20
add x15, x15, x14
mov w8, #254
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #24
add x15, x15, x14
mov w8, #27
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #28
add x15, x15, x14
mov w8, #5
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #32
add x15, x15, x14
mov w8, #83
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #36
add x15, x15, x14
mov w8, #273
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #40
add x15, x15, x14
mov w8, #574
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #44
add x15, x15, x14
mov w8, #905
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #48
add x15, x15, x14
mov w8, #354
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #52
add x15, x15, x14
mov w8, #657
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #56
add x15, x15, x14
mov w8, #935
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #60
add x15, x15, x14
mov w8, #264
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #64
add x15, x15, x14
mov w8, #639
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #68
add x15, x15, x14
mov w8, #459
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #72
add x15, x15, x14
mov w8, #29
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #76
add x15, x15, x14
mov w8, #68
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #80
add x15, x15, x14
mov w8, #929
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #84
add x15, x15, x14
mov w8, #756
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #88
add x15, x15, x14
mov w8, #452
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #92
add x15, x15, x14
mov w8, #279
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #96
add x15, x15, x14
mov w8, #58
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #100
add x15, x15, x14
mov w8, #87
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #104
add x15, x15, x14
mov w8, #96
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #108
add x15, x15, x14
mov w8, #36
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #112
add x15, x15, x14
mov w8, #39
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #116
add x15, x15, x14
mov w8, #28
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #120
add x15, x15, x14
mov w8, #1
str w8, [x15]
mov x15, x29
sub x15, x15, #128
mov x14, #124
add x15, x15, x14
mov w8, #290
str w8, [x15]
mov w8, #0
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x0, x29
sub x0, x0, #128
mov x1, x29
sub x1, x1, #256
bl arrCopy
mov x13, x29
sub x13, x13, #268
str w0, [x13]
mov x13, x29
sub x13, x13, #268
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x0, x29
sub x0, x0, #256
bl revert
mov x13, x29
sub x13, x13, #272
str w0, [x13]
mov x13, x29
sub x13, x13, #272
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #264
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #264
str w8, [x13]
b .L.main.1
.L.main.1:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #276
str w8, [x13]
mov x13, x29
sub x13, x13, #276
ldr w8, [x13]
mov w9, #32
cmp w8, w9
b.lt .L.main.2
b .L.main.3
.L.main.2:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #280
str w8, [x13]
mov x15, x29
sub x15, x15, #256
mov x13, x29
sub x13, x13, #280
ldr w14, [x13]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
mov x13, x29
sub x13, x13, #284
str w8, [x13]
mov x13, x29
sub x13, x13, #284
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x13, x29
sub x13, x13, #260
ldr w8, [x13]
mov x13, x29
sub x13, x13, #288
str w8, [x13]
mov x13, x29
sub x13, x13, #288
ldr w0, [x13]
bl putint
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #292
str w8, [x13]
mov x13, x29
sub x13, x13, #292
ldr w8, [x13]
mov w9, #1
add w8, w8, w9
mov x13, x29
sub x13, x13, #264
str w8, [x13]
b .L.main.1
.L.main.3:
mov x0, x29
sub x0, x0, #256
bl bubblesort
mov x13, x29
sub x13, x13, #296
str w0, [x13]
mov x13, x29
sub x13, x13, #296
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #264
str w8, [x13]
b .L.main.4
.L.main.4:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #300
str w8, [x13]
mov x13, x29
sub x13, x13, #300
ldr w8, [x13]
mov w9, #32
cmp w8, w9
b.lt .L.main.5
b .L.main.6
.L.main.5:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #304
str w8, [x13]
mov x15, x29
sub x15, x15, #256
mov x13, x29
sub x13, x13, #304
ldr w14, [x13]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
mov x13, x29
sub x13, x13, #308
str w8, [x13]
mov x13, x29
sub x13, x13, #308
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x13, x29
sub x13, x13, #260
ldr w8, [x13]
mov x13, x29
sub x13, x13, #312
str w8, [x13]
mov x13, x29
sub x13, x13, #312
ldr w0, [x13]
bl putint
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #316
str w8, [x13]
mov x13, x29
sub x13, x13, #316
ldr w8, [x13]
mov w9, #1
add w8, w8, w9
mov x13, x29
sub x13, x13, #264
str w8, [x13]
b .L.main.4
.L.main.6:
mov x0, x29
sub x0, x0, #256
bl getMid
mov x13, x29
sub x13, x13, #320
str w0, [x13]
mov x13, x29
sub x13, x13, #320
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x13, x29
sub x13, x13, #260
ldr w8, [x13]
mov x13, x29
sub x13, x13, #324
str w8, [x13]
mov x13, x29
sub x13, x13, #324
ldr w0, [x13]
bl putint
mov x0, x29
sub x0, x0, #256
bl getMost
mov x13, x29
sub x13, x13, #328
str w0, [x13]
mov x13, x29
sub x13, x13, #328
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x13, x29
sub x13, x13, #260
ldr w8, [x13]
mov x13, x29
sub x13, x13, #332
str w8, [x13]
mov x13, x29
sub x13, x13, #332
ldr w0, [x13]
bl putint
mov x0, x29
sub x0, x0, #128
mov x1, x29
sub x1, x1, #256
bl arrCopy
mov x13, x29
sub x13, x13, #336
str w0, [x13]
mov x13, x29
sub x13, x13, #336
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x0, x29
sub x0, x0, #256
bl bubblesort
mov x13, x29
sub x13, x13, #340
str w0, [x13]
mov x13, x29
sub x13, x13, #340
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #264
str w8, [x13]
b .L.main.7
.L.main.7:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #344
str w8, [x13]
mov x13, x29
sub x13, x13, #344
ldr w8, [x13]
mov w9, #32
cmp w8, w9
b.lt .L.main.8
b .L.main.9
.L.main.8:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #348
str w8, [x13]
mov x15, x29
sub x15, x15, #256
mov x13, x29
sub x13, x13, #348
ldr w14, [x13]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
mov x13, x29
sub x13, x13, #352
str w8, [x13]
mov x13, x29
sub x13, x13, #352
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x13, x29
sub x13, x13, #260
ldr w8, [x13]
mov x13, x29
sub x13, x13, #356
str w8, [x13]
mov x13, x29
sub x13, x13, #356
ldr w0, [x13]
bl putint
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #360
str w8, [x13]
mov x13, x29
sub x13, x13, #360
ldr w8, [x13]
mov w9, #1
add w8, w8, w9
mov x13, x29
sub x13, x13, #264
str w8, [x13]
b .L.main.7
.L.main.9:
mov x0, x29
sub x0, x0, #128
mov x1, x29
sub x1, x1, #256
bl arrCopy
mov x13, x29
sub x13, x13, #364
str w0, [x13]
mov x13, x29
sub x13, x13, #364
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x0, x29
sub x0, x0, #256
bl insertsort
mov x13, x29
sub x13, x13, #368
str w0, [x13]
mov x13, x29
sub x13, x13, #368
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #264
str w8, [x13]
b .L.main.10
.L.main.10:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #372
str w8, [x13]
mov x13, x29
sub x13, x13, #372
ldr w8, [x13]
mov w9, #32
cmp w8, w9
b.lt .L.main.11
b .L.main.12
.L.main.11:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #376
str w8, [x13]
mov x15, x29
sub x15, x15, #256
mov x13, x29
sub x13, x13, #376
ldr w14, [x13]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
mov x13, x29
sub x13, x13, #380
str w8, [x13]
mov x13, x29
sub x13, x13, #380
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x13, x29
sub x13, x13, #260
ldr w8, [x13]
mov x13, x29
sub x13, x13, #384
str w8, [x13]
mov x13, x29
sub x13, x13, #384
ldr w0, [x13]
bl putint
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #388
str w8, [x13]
mov x13, x29
sub x13, x13, #388
ldr w8, [x13]
mov w9, #1
add w8, w8, w9
mov x13, x29
sub x13, x13, #264
str w8, [x13]
b .L.main.10
.L.main.12:
mov x0, x29
sub x0, x0, #128
mov x1, x29
sub x1, x1, #256
bl arrCopy
mov x13, x29
sub x13, x13, #392
str w0, [x13]
mov x13, x29
sub x13, x13, #392
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #264
str w8, [x13]
mov w8, #31
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #396
str w8, [x13]
mov x13, x29
sub x13, x13, #260
ldr w8, [x13]
mov x13, x29
sub x13, x13, #400
str w8, [x13]
mov x0, x29
sub x0, x0, #256
mov x13, x29
sub x13, x13, #396
ldr w1, [x13]
mov x13, x29
sub x13, x13, #400
ldr w2, [x13]
bl QuickSort
mov x13, x29
sub x13, x13, #404
str w0, [x13]
mov x13, x29
sub x13, x13, #404
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
b .L.main.13
.L.main.13:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #408
str w8, [x13]
mov x13, x29
sub x13, x13, #408
ldr w8, [x13]
mov w9, #32
cmp w8, w9
b.lt .L.main.14
b .L.main.15
.L.main.14:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #412
str w8, [x13]
mov x15, x29
sub x15, x15, #256
mov x13, x29
sub x13, x13, #412
ldr w14, [x13]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
mov x13, x29
sub x13, x13, #416
str w8, [x13]
mov x13, x29
sub x13, x13, #416
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x13, x29
sub x13, x13, #260
ldr w8, [x13]
mov x13, x29
sub x13, x13, #420
str w8, [x13]
mov x13, x29
sub x13, x13, #420
ldr w0, [x13]
bl putint
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #424
str w8, [x13]
mov x13, x29
sub x13, x13, #424
ldr w8, [x13]
mov w9, #1
add w8, w8, w9
mov x13, x29
sub x13, x13, #264
str w8, [x13]
b .L.main.13
.L.main.15:
mov x0, x29
sub x0, x0, #128
mov x1, x29
sub x1, x1, #256
bl arrCopy
mov x13, x29
sub x13, x13, #428
str w0, [x13]
mov x13, x29
sub x13, x13, #428
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x0, x29
sub x0, x0, #256
mov w1, #4
bl calSum
mov x13, x29
sub x13, x13, #432
str w0, [x13]
mov x13, x29
sub x13, x13, #432
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #264
str w8, [x13]
b .L.main.16
.L.main.16:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #436
str w8, [x13]
mov x13, x29
sub x13, x13, #436
ldr w8, [x13]
mov w9, #32
cmp w8, w9
b.lt .L.main.17
b .L.main.18
.L.main.17:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #440
str w8, [x13]
mov x15, x29
sub x15, x15, #256
mov x13, x29
sub x13, x13, #440
ldr w14, [x13]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
mov x13, x29
sub x13, x13, #444
str w8, [x13]
mov x13, x29
sub x13, x13, #444
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x13, x29
sub x13, x13, #260
ldr w8, [x13]
mov x13, x29
sub x13, x13, #448
str w8, [x13]
mov x13, x29
sub x13, x13, #448
ldr w0, [x13]
bl putint
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #452
str w8, [x13]
mov x13, x29
sub x13, x13, #452
ldr w8, [x13]
mov w9, #1
add w8, w8, w9
mov x13, x29
sub x13, x13, #264
str w8, [x13]
b .L.main.16
.L.main.18:
mov x0, x29
sub x0, x0, #128
mov x1, x29
sub x1, x1, #256
bl arrCopy
mov x13, x29
sub x13, x13, #456
str w0, [x13]
mov x13, x29
sub x13, x13, #456
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x0, x29
sub x0, x0, #256
mov w1, #3
bl avgPooling
mov x13, x29
sub x13, x13, #460
str w0, [x13]
mov x13, x29
sub x13, x13, #460
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #264
str w8, [x13]
b .L.main.19
.L.main.19:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #464
str w8, [x13]
mov x13, x29
sub x13, x13, #464
ldr w8, [x13]
mov w9, #32
cmp w8, w9
b.lt .L.main.20
b .L.main.21
.L.main.20:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #468
str w8, [x13]
mov x15, x29
sub x15, x15, #256
mov x13, x29
sub x13, x13, #468
ldr w14, [x13]
sxtw x14, w14
lsl x14, x14, #2
add x15, x15, x14
ldr w8, [x15]
mov x13, x29
sub x13, x13, #472
str w8, [x13]
mov x13, x29
sub x13, x13, #472
ldr w8, [x13]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov x13, x29
sub x13, x13, #260
ldr w8, [x13]
mov x13, x29
sub x13, x13, #476
str w8, [x13]
mov x13, x29
sub x13, x13, #476
ldr w0, [x13]
bl putint
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
mov x13, x29
sub x13, x13, #480
str w8, [x13]
mov x13, x29
sub x13, x13, #480
ldr w8, [x13]
mov w9, #1
add w8, w8, w9
mov x13, x29
sub x13, x13, #264
str w8, [x13]
b .L.main.19
.L.main.21:
mov w0, #0
add sp, sp, #480
ldp x29, x30, [sp], #16
ret