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.

7089 lines
144 KiB

.data
.globl SHIFT_TABLE
.p2align 2
SHIFT_TABLE:
.word 1
.word 2
.word 4
.word 8
.word 16
.word 32
.word 64
.word 128
.word 256
.word 512
.word 1024
.word 2048
.word 4096
.word 8192
.word 16384
.word 32768
.text
.globl long_func
.p2align 2
long_func:
.L.long_func.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
sub sp, sp, #384
mov w9, #0
stur w9, [x29, #-4]
stur w9, [x29, #-8]
stur w9, [x29, #-12]
stur w9, [x29, #-16]
stur w9, [x29, #-20]
mov w8, #2
stur w8, [x29, #-24]
stur w9, [x29, #-28]
mov w8, #1
stur w8, [x29, #-32]
b .L.long_func.1
.L.long_func.1:
ldur w9, [x29, #-28]
mov w8, #0
cmp w9, w8
b.gt .L.long_func.2
b .L.long_func.3
.L.long_func.2:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-28]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
b .L.long_func.4
.L.long_func.3:
ldur w8, [x29, #-32]
stur w8, [x29, #-4]
mov w0, w8
bl putint
mov w8, #10
mov w0, w8
bl putch
mov w8, #2
stur w8, [x29, #-108]
mov w8, #1
stur w8, [x29, #-112]
stur w8, [x29, #-116]
b .L.long_func.178
.L.long_func.4:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.5
b .L.long_func.6
.L.long_func.5:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.9
b .L.long_func.8
.L.long_func.6:
ldur w9, [x29, #-4]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.10
b .L.long_func.11
.L.long_func.7:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.8
.L.long_func.8:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.4
.L.long_func.9:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.7
b .L.long_func.8
.L.long_func.10:
ldur w8, [x29, #-32]
stur w8, [x29, #-36]
ldur w8, [x29, #-24]
stur w8, [x29, #-40]
mov w8, #0
stur w8, [x29, #-44]
b .L.long_func.12
.L.long_func.11:
ldur w8, [x29, #-24]
stur w8, [x29, #-72]
ldur w8, [x29, #-24]
stur w8, [x29, #-76]
mov w8, #0
stur w8, [x29, #-80]
b .L.long_func.89
.L.long_func.12:
ldur w9, [x29, #-40]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.13
b .L.long_func.14
.L.long_func.13:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-40]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
b .L.long_func.15
.L.long_func.14:
ldur w8, [x29, #-44]
stur w8, [x29, #-4]
stur w8, [x29, #-32]
b .L.long_func.11
.L.long_func.15:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.16
b .L.long_func.17
.L.long_func.16:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.20
b .L.long_func.19
.L.long_func.17:
ldur w9, [x29, #-4]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.21
b .L.long_func.22
.L.long_func.18:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.19
.L.long_func.19:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.15
.L.long_func.20:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.18
b .L.long_func.19
.L.long_func.21:
ldur w8, [x29, #-44]
stur w8, [x29, #-48]
ldur w8, [x29, #-36]
stur w8, [x29, #-52]
mov w8, #0
stur w8, [x29, #-56]
b .L.long_func.23
.L.long_func.22:
ldur w8, [x29, #-36]
stur w8, [x29, #-60]
ldur w8, [x29, #-36]
stur w8, [x29, #-64]
mov w8, #0
stur w8, [x29, #-68]
b .L.long_func.50
.L.long_func.23:
ldur w9, [x29, #-52]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.24
b .L.long_func.25
.L.long_func.24:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-48]
stur w8, [x29, #-12]
ldur w8, [x29, #-52]
stur w8, [x29, #-16]
b .L.long_func.26
.L.long_func.25:
ldur w8, [x29, #-48]
stur w8, [x29, #-4]
stur w8, [x29, #-44]
b .L.long_func.22
.L.long_func.26:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.27
b .L.long_func.28
.L.long_func.27:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.29
b .L.long_func.30
.L.long_func.28:
ldur w8, [x29, #-4]
stur w8, [x29, #-56]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-48]
stur w8, [x29, #-12]
ldur w8, [x29, #-52]
stur w8, [x29, #-16]
b .L.long_func.36
.L.long_func.29:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.eq .L.long_func.32
b .L.long_func.33
.L.long_func.30:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.34
b .L.long_func.35
.L.long_func.31:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.26
.L.long_func.32:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.33
.L.long_func.33:
b .L.long_func.31
.L.long_func.34:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.35
.L.long_func.35:
b .L.long_func.31
.L.long_func.36:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.37
b .L.long_func.38
.L.long_func.37:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.41
b .L.long_func.40
.L.long_func.38:
ldur w8, [x29, #-4]
stur w8, [x29, #-52]
b .L.long_func.42
.L.long_func.39:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.40
.L.long_func.40:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.36
.L.long_func.41:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.39
b .L.long_func.40
.L.long_func.42:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-52]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x10, #4
add x9, x9, x10
ldr w9, [x9]
mul w8, w8, w9
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.44
.L.long_func.43:
ldur w8, [x29, #-4]
stur w8, [x29, #-52]
ldur w8, [x29, #-56]
stur w8, [x29, #-48]
b .L.long_func.23
.L.long_func.44:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.45
b .L.long_func.46
.L.long_func.45:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.49
b .L.long_func.48
.L.long_func.46:
b .L.long_func.43
.L.long_func.47:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.48
.L.long_func.48:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.44
.L.long_func.49:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.47
b .L.long_func.48
.L.long_func.50:
ldur w8, [x29, #-64]
mov w9, #0
cmp w8, w9
b.ne .L.long_func.51
b .L.long_func.52
.L.long_func.51:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-60]
stur w8, [x29, #-12]
ldur w8, [x29, #-64]
stur w8, [x29, #-16]
b .L.long_func.53
.L.long_func.52:
ldur w8, [x29, #-60]
stur w8, [x29, #-4]
stur w8, [x29, #-36]
ldur w8, [x29, #-40]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
mov w9, #15
cmp w8, w9
b.ge .L.long_func.77
b .L.long_func.78
.L.long_func.53:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.54
b .L.long_func.55
.L.long_func.54:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.56
b .L.long_func.57
.L.long_func.55:
ldur w8, [x29, #-4]
stur w8, [x29, #-68]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-60]
stur w8, [x29, #-12]
ldur w8, [x29, #-64]
stur w8, [x29, #-16]
b .L.long_func.63
.L.long_func.56:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.eq .L.long_func.59
b .L.long_func.60
.L.long_func.57:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.61
b .L.long_func.62
.L.long_func.58:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.53
.L.long_func.59:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.60
.L.long_func.60:
b .L.long_func.58
.L.long_func.61:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.62
.L.long_func.62:
b .L.long_func.58
.L.long_func.63:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.64
b .L.long_func.65
.L.long_func.64:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.68
b .L.long_func.67
.L.long_func.65:
ldur w8, [x29, #-4]
stur w8, [x29, #-64]
b .L.long_func.69
.L.long_func.66:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.67
.L.long_func.67:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.63
.L.long_func.68:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.66
b .L.long_func.67
.L.long_func.69:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-64]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x10, #4
add x9, x9, x10
ldr w9, [x9]
mul w8, w8, w9
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.71
.L.long_func.70:
ldur w8, [x29, #-4]
stur w8, [x29, #-64]
ldur w8, [x29, #-68]
stur w8, [x29, #-60]
b .L.long_func.50
.L.long_func.71:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.72
b .L.long_func.73
.L.long_func.72:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.76
b .L.long_func.75
.L.long_func.73:
b .L.long_func.70
.L.long_func.74:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.75
.L.long_func.75:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.71
.L.long_func.76:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.74
b .L.long_func.75
.L.long_func.77:
ldur w8, [x29, #-12]
mov w9, #0
cmp w8, w9
b.lt .L.long_func.80
b .L.long_func.81
.L.long_func.78:
ldur w8, [x29, #-16]
mov w9, #0
cmp w8, w9
b.gt .L.long_func.83
b .L.long_func.84
.L.long_func.79:
ldur w8, [x29, #-4]
stur w8, [x29, #-40]
b .L.long_func.12
.L.long_func.80:
mov w8, #65535
stur w8, [x29, #-4]
b .L.long_func.82
.L.long_func.81:
mov w8, #0
stur w8, [x29, #-4]
b .L.long_func.82
.L.long_func.82:
b .L.long_func.79
.L.long_func.83:
ldur w8, [x29, #-12]
mov w9, #32767
cmp w8, w9
b.gt .L.long_func.86
b .L.long_func.87
.L.long_func.84:
ldur w8, [x29, #-12]
stur w8, [x29, #-4]
b .L.long_func.85
.L.long_func.85:
b .L.long_func.79
.L.long_func.86:
ldur w8, [x29, #-12]
ldur w9, [x29, #-16]
adrp x11, SHIFT_TABLE
add x11, x11, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x11, x9
ldr w9, [x9]
sdiv w8, w8, w9
stur w8, [x29, #-12]
movz w9, #0
movk w9, #1, lsl #16
add w8, w8, w9
ldur w9, [x29, #-16]
mov w10, #15
sub w9, w10, w9
mov w10, #1
add w9, w9, w10
sxtw x9, w9
lsl x9, x9, #2
add x9, x11, x9
ldr w9, [x9]
sub w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.88
.L.long_func.87:
ldur w8, [x29, #-12]
ldur w9, [x29, #-16]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
sdiv w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.88
.L.long_func.88:
b .L.long_func.85
.L.long_func.89:
ldur w8, [x29, #-76]
mov w9, #0
cmp w8, w9
b.ne .L.long_func.90
b .L.long_func.91
.L.long_func.90:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-76]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
b .L.long_func.92
.L.long_func.91:
ldur w8, [x29, #-80]
stur w8, [x29, #-4]
stur w8, [x29, #-24]
ldur w8, [x29, #-28]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
mov w9, #15
cmp w8, w9
b.ge .L.long_func.166
b .L.long_func.167
.L.long_func.92:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.93
b .L.long_func.94
.L.long_func.93:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.97
b .L.long_func.96
.L.long_func.94:
ldur w8, [x29, #-4]
mov w9, #0
cmp w8, w9
b.ne .L.long_func.98
b .L.long_func.99
.L.long_func.95:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.96
.L.long_func.96:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.92
.L.long_func.97:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.95
b .L.long_func.96
.L.long_func.98:
ldur w8, [x29, #-80]
stur w8, [x29, #-84]
ldur w8, [x29, #-72]
stur w8, [x29, #-88]
mov w8, #0
stur w8, [x29, #-92]
b .L.long_func.100
.L.long_func.99:
ldur w8, [x29, #-72]
stur w8, [x29, #-96]
ldur w8, [x29, #-72]
stur w8, [x29, #-100]
mov w8, #0
stur w8, [x29, #-104]
b .L.long_func.127
.L.long_func.100:
ldur w8, [x29, #-88]
mov w9, #0
cmp w8, w9
b.ne .L.long_func.101
b .L.long_func.102
.L.long_func.101:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-84]
stur w8, [x29, #-12]
ldur w8, [x29, #-88]
stur w8, [x29, #-16]
b .L.long_func.103
.L.long_func.102:
ldur w8, [x29, #-84]
stur w8, [x29, #-4]
stur w8, [x29, #-80]
b .L.long_func.99
.L.long_func.103:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.104
b .L.long_func.105
.L.long_func.104:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.106
b .L.long_func.107
.L.long_func.105:
ldur w8, [x29, #-4]
stur w8, [x29, #-92]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-84]
stur w8, [x29, #-12]
ldur w8, [x29, #-88]
stur w8, [x29, #-16]
b .L.long_func.113
.L.long_func.106:
ldur w9, [x29, #-16]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
mov w10, #2
msub w8, w8, w10, w9
mov w9, #0
cmp w8, w9
b.eq .L.long_func.109
b .L.long_func.110
.L.long_func.107:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.111
b .L.long_func.112
.L.long_func.108:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.103
.L.long_func.109:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.110
.L.long_func.110:
b .L.long_func.108
.L.long_func.111:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.112
.L.long_func.112:
b .L.long_func.108
.L.long_func.113:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.114
b .L.long_func.115
.L.long_func.114:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.118
b .L.long_func.117
.L.long_func.115:
ldur w8, [x29, #-4]
stur w8, [x29, #-88]
b .L.long_func.119
.L.long_func.116:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.117
.L.long_func.117:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.113
.L.long_func.118:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.116
b .L.long_func.117
.L.long_func.119:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-88]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x10, #4
add x9, x9, x10
ldr w9, [x9]
mul w8, w8, w9
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.121
.L.long_func.120:
ldur w8, [x29, #-4]
stur w8, [x29, #-88]
ldur w8, [x29, #-92]
stur w8, [x29, #-84]
b .L.long_func.100
.L.long_func.121:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.122
b .L.long_func.123
.L.long_func.122:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.126
b .L.long_func.125
.L.long_func.123:
b .L.long_func.120
.L.long_func.124:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.125
.L.long_func.125:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.121
.L.long_func.126:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.124
b .L.long_func.125
.L.long_func.127:
ldur w8, [x29, #-100]
mov w9, #0
cmp w8, w9
b.ne .L.long_func.128
b .L.long_func.129
.L.long_func.128:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-96]
stur w8, [x29, #-12]
ldur w8, [x29, #-100]
stur w8, [x29, #-16]
b .L.long_func.130
.L.long_func.129:
ldur w8, [x29, #-96]
stur w8, [x29, #-4]
stur w8, [x29, #-72]
ldur w8, [x29, #-76]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
mov w9, #15
cmp w8, w9
b.ge .L.long_func.154
b .L.long_func.155
.L.long_func.130:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.131
b .L.long_func.132
.L.long_func.131:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.133
b .L.long_func.134
.L.long_func.132:
ldur w8, [x29, #-4]
stur w8, [x29, #-104]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-96]
stur w8, [x29, #-12]
ldur w8, [x29, #-100]
stur w8, [x29, #-16]
b .L.long_func.140
.L.long_func.133:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.eq .L.long_func.136
b .L.long_func.137
.L.long_func.134:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.138
b .L.long_func.139
.L.long_func.135:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.130
.L.long_func.136:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.137
.L.long_func.137:
b .L.long_func.135
.L.long_func.138:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.139
.L.long_func.139:
b .L.long_func.135
.L.long_func.140:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.141
b .L.long_func.142
.L.long_func.141:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.145
b .L.long_func.144
.L.long_func.142:
ldur w8, [x29, #-4]
stur w8, [x29, #-100]
b .L.long_func.146
.L.long_func.143:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.144
.L.long_func.144:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.140
.L.long_func.145:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.143
b .L.long_func.144
.L.long_func.146:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w10, [x29, #-100]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x8, #4
add x8, x9, x8
ldr w8, [x8]
mul w8, w10, w8
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.148
.L.long_func.147:
ldur w8, [x29, #-4]
stur w8, [x29, #-100]
ldur w8, [x29, #-104]
stur w8, [x29, #-96]
b .L.long_func.127
.L.long_func.148:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.149
b .L.long_func.150
.L.long_func.149:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.153
b .L.long_func.152
.L.long_func.150:
b .L.long_func.147
.L.long_func.151:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.152
.L.long_func.152:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.148
.L.long_func.153:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.151
b .L.long_func.152
.L.long_func.154:
ldur w9, [x29, #-12]
mov w8, #0
cmp w9, w8
b.lt .L.long_func.157
b .L.long_func.158
.L.long_func.155:
ldur w9, [x29, #-16]
mov w8, #0
cmp w9, w8
b.gt .L.long_func.160
b .L.long_func.161
.L.long_func.156:
ldur w8, [x29, #-4]
stur w8, [x29, #-76]
b .L.long_func.89
.L.long_func.157:
mov w8, #65535
stur w8, [x29, #-4]
b .L.long_func.159
.L.long_func.158:
mov w8, #0
stur w8, [x29, #-4]
b .L.long_func.159
.L.long_func.159:
b .L.long_func.156
.L.long_func.160:
ldur w9, [x29, #-12]
mov w8, #32767
cmp w9, w8
b.gt .L.long_func.163
b .L.long_func.164
.L.long_func.161:
ldur w8, [x29, #-12]
stur w8, [x29, #-4]
b .L.long_func.162
.L.long_func.162:
b .L.long_func.156
.L.long_func.163:
ldur w9, [x29, #-12]
ldur w8, [x29, #-16]
adrp x11, SHIFT_TABLE
add x11, x11, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sdiv w8, w9, w8
stur w8, [x29, #-12]
ldur w9, [x29, #-12]
movz w8, #0
movk w8, #1, lsl #16
add w10, w9, w8
ldur w9, [x29, #-16]
mov w8, #15
sub w9, w8, w9
mov w8, #1
add w8, w9, w8
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sub w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.165
.L.long_func.164:
ldur w10, [x29, #-12]
ldur w8, [x29, #-16]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
sdiv w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.165
.L.long_func.165:
b .L.long_func.162
.L.long_func.166:
ldur w9, [x29, #-12]
mov w8, #0
cmp w9, w8
b.lt .L.long_func.169
b .L.long_func.170
.L.long_func.167:
ldur w9, [x29, #-16]
mov w8, #0
cmp w9, w8
b.gt .L.long_func.172
b .L.long_func.173
.L.long_func.168:
ldur w8, [x29, #-4]
stur w8, [x29, #-28]
b .L.long_func.1
.L.long_func.169:
mov w8, #65535
stur w8, [x29, #-4]
b .L.long_func.171
.L.long_func.170:
mov w8, #0
stur w8, [x29, #-4]
b .L.long_func.171
.L.long_func.171:
b .L.long_func.168
.L.long_func.172:
ldur w9, [x29, #-12]
mov w8, #32767
cmp w9, w8
b.gt .L.long_func.175
b .L.long_func.176
.L.long_func.173:
ldur w8, [x29, #-12]
stur w8, [x29, #-4]
b .L.long_func.174
.L.long_func.174:
b .L.long_func.168
.L.long_func.175:
ldur w9, [x29, #-12]
ldur w8, [x29, #-16]
adrp x11, SHIFT_TABLE
add x11, x11, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sdiv w8, w9, w8
stur w8, [x29, #-12]
ldur w9, [x29, #-12]
movz w8, #0
movk w8, #1, lsl #16
add w10, w9, w8
ldur w9, [x29, #-16]
mov w8, #15
sub w9, w8, w9
mov w8, #1
add w8, w9, w8
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sub w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.177
.L.long_func.176:
ldur w10, [x29, #-12]
ldur w8, [x29, #-16]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
sdiv w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.177
.L.long_func.177:
b .L.long_func.174
.L.long_func.178:
ldur w9, [x29, #-112]
mov w8, #0
cmp w9, w8
b.gt .L.long_func.179
b .L.long_func.180
.L.long_func.179:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-112]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
b .L.long_func.181
.L.long_func.180:
ldur w8, [x29, #-116]
stur w8, [x29, #-4]
mov w0, w8
bl putint
mov w8, #10
mov w0, w8
bl putch
mov w8, #2
stur w8, [x29, #-20]
b .L.long_func.355
.L.long_func.181:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.182
b .L.long_func.183
.L.long_func.182:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.186
b .L.long_func.185
.L.long_func.183:
ldur w9, [x29, #-4]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.187
b .L.long_func.188
.L.long_func.184:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.185
.L.long_func.185:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.181
.L.long_func.186:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.184
b .L.long_func.185
.L.long_func.187:
ldur w8, [x29, #-116]
stur w8, [x29, #-120]
ldur w8, [x29, #-108]
stur w8, [x29, #-124]
mov w8, #0
stur w8, [x29, #-128]
b .L.long_func.189
.L.long_func.188:
ldur w8, [x29, #-108]
stur w8, [x29, #-156]
ldur w8, [x29, #-108]
stur w8, [x29, #-160]
mov w8, #0
stur w8, [x29, #-164]
b .L.long_func.266
.L.long_func.189:
ldur w9, [x29, #-124]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.190
b .L.long_func.191
.L.long_func.190:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-124]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
b .L.long_func.192
.L.long_func.191:
ldur w8, [x29, #-128]
stur w8, [x29, #-4]
stur w8, [x29, #-116]
b .L.long_func.188
.L.long_func.192:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.193
b .L.long_func.194
.L.long_func.193:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.197
b .L.long_func.196
.L.long_func.194:
ldur w9, [x29, #-4]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.198
b .L.long_func.199
.L.long_func.195:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.196
.L.long_func.196:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.192
.L.long_func.197:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.195
b .L.long_func.196
.L.long_func.198:
ldur w8, [x29, #-128]
stur w8, [x29, #-132]
ldur w8, [x29, #-120]
stur w8, [x29, #-136]
mov w8, #0
stur w8, [x29, #-140]
b .L.long_func.200
.L.long_func.199:
ldur w8, [x29, #-120]
stur w8, [x29, #-144]
ldur w8, [x29, #-120]
stur w8, [x29, #-148]
mov w8, #0
stur w8, [x29, #-152]
b .L.long_func.227
.L.long_func.200:
ldur w8, [x29, #-136]
mov w9, #0
cmp w8, w9
b.ne .L.long_func.201
b .L.long_func.202
.L.long_func.201:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-132]
stur w8, [x29, #-12]
ldur w8, [x29, #-136]
stur w8, [x29, #-16]
b .L.long_func.203
.L.long_func.202:
ldur w8, [x29, #-132]
stur w8, [x29, #-4]
stur w8, [x29, #-128]
b .L.long_func.199
.L.long_func.203:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.204
b .L.long_func.205
.L.long_func.204:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.206
b .L.long_func.207
.L.long_func.205:
ldur w8, [x29, #-4]
stur w8, [x29, #-140]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-132]
stur w8, [x29, #-12]
ldur w8, [x29, #-136]
stur w8, [x29, #-16]
b .L.long_func.213
.L.long_func.206:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.eq .L.long_func.209
b .L.long_func.210
.L.long_func.207:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.211
b .L.long_func.212
.L.long_func.208:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.203
.L.long_func.209:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.210
.L.long_func.210:
b .L.long_func.208
.L.long_func.211:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.212
.L.long_func.212:
b .L.long_func.208
.L.long_func.213:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.214
b .L.long_func.215
.L.long_func.214:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.218
b .L.long_func.217
.L.long_func.215:
ldur w8, [x29, #-4]
stur w8, [x29, #-136]
b .L.long_func.219
.L.long_func.216:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.217
.L.long_func.217:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.213
.L.long_func.218:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.216
b .L.long_func.217
.L.long_func.219:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w10, [x29, #-136]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x8, #4
add x8, x9, x8
ldr w8, [x8]
mul w8, w10, w8
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.221
.L.long_func.220:
ldur w8, [x29, #-4]
stur w8, [x29, #-136]
ldur w8, [x29, #-140]
stur w8, [x29, #-132]
b .L.long_func.200
.L.long_func.221:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.222
b .L.long_func.223
.L.long_func.222:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.226
b .L.long_func.225
.L.long_func.223:
b .L.long_func.220
.L.long_func.224:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.225
.L.long_func.225:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.221
.L.long_func.226:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.224
b .L.long_func.225
.L.long_func.227:
ldur w9, [x29, #-148]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.228
b .L.long_func.229
.L.long_func.228:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-144]
stur w8, [x29, #-12]
ldur w8, [x29, #-148]
stur w8, [x29, #-16]
b .L.long_func.230
.L.long_func.229:
ldur w8, [x29, #-144]
stur w8, [x29, #-4]
stur w8, [x29, #-120]
ldur w8, [x29, #-124]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-16]
mov w8, #15
cmp w9, w8
b.ge .L.long_func.254
b .L.long_func.255
.L.long_func.230:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.231
b .L.long_func.232
.L.long_func.231:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.233
b .L.long_func.234
.L.long_func.232:
ldur w8, [x29, #-4]
stur w8, [x29, #-152]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-144]
stur w8, [x29, #-12]
ldur w8, [x29, #-148]
stur w8, [x29, #-16]
b .L.long_func.240
.L.long_func.233:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.eq .L.long_func.236
b .L.long_func.237
.L.long_func.234:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.238
b .L.long_func.239
.L.long_func.235:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.230
.L.long_func.236:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.237
.L.long_func.237:
b .L.long_func.235
.L.long_func.238:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.239
.L.long_func.239:
b .L.long_func.235
.L.long_func.240:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.241
b .L.long_func.242
.L.long_func.241:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.245
b .L.long_func.244
.L.long_func.242:
ldur w8, [x29, #-4]
stur w8, [x29, #-148]
b .L.long_func.246
.L.long_func.243:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.244
.L.long_func.244:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.240
.L.long_func.245:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.243
b .L.long_func.244
.L.long_func.246:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w10, [x29, #-148]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x8, #4
add x8, x9, x8
ldr w8, [x8]
mul w8, w10, w8
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.248
.L.long_func.247:
ldur w8, [x29, #-4]
stur w8, [x29, #-148]
ldur w8, [x29, #-152]
stur w8, [x29, #-144]
b .L.long_func.227
.L.long_func.248:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.249
b .L.long_func.250
.L.long_func.249:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.253
b .L.long_func.252
.L.long_func.250:
b .L.long_func.247
.L.long_func.251:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.252
.L.long_func.252:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.248
.L.long_func.253:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.251
b .L.long_func.252
.L.long_func.254:
ldur w9, [x29, #-12]
mov w8, #0
cmp w9, w8
b.lt .L.long_func.257
b .L.long_func.258
.L.long_func.255:
ldur w9, [x29, #-16]
mov w8, #0
cmp w9, w8
b.gt .L.long_func.260
b .L.long_func.261
.L.long_func.256:
ldur w8, [x29, #-4]
stur w8, [x29, #-124]
b .L.long_func.189
.L.long_func.257:
mov w8, #65535
stur w8, [x29, #-4]
b .L.long_func.259
.L.long_func.258:
mov w8, #0
stur w8, [x29, #-4]
b .L.long_func.259
.L.long_func.259:
b .L.long_func.256
.L.long_func.260:
ldur w9, [x29, #-12]
mov w8, #32767
cmp w9, w8
b.gt .L.long_func.263
b .L.long_func.264
.L.long_func.261:
ldur w8, [x29, #-12]
stur w8, [x29, #-4]
b .L.long_func.262
.L.long_func.262:
b .L.long_func.256
.L.long_func.263:
ldur w9, [x29, #-12]
ldur w8, [x29, #-16]
adrp x11, SHIFT_TABLE
add x11, x11, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sdiv w8, w9, w8
stur w8, [x29, #-12]
ldur w9, [x29, #-12]
movz w8, #0
movk w8, #1, lsl #16
add w10, w9, w8
ldur w9, [x29, #-16]
mov w8, #15
sub w9, w8, w9
mov w8, #1
add w8, w9, w8
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sub w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.265
.L.long_func.264:
ldur w10, [x29, #-12]
ldur w8, [x29, #-16]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
sdiv w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.265
.L.long_func.265:
b .L.long_func.262
.L.long_func.266:
ldur w9, [x29, #-160]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.267
b .L.long_func.268
.L.long_func.267:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-160]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
b .L.long_func.269
.L.long_func.268:
ldur w8, [x29, #-164]
stur w8, [x29, #-4]
stur w8, [x29, #-108]
ldur w8, [x29, #-112]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-16]
mov w8, #15
cmp w9, w8
b.ge .L.long_func.343
b .L.long_func.344
.L.long_func.269:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.270
b .L.long_func.271
.L.long_func.270:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.274
b .L.long_func.273
.L.long_func.271:
ldur w9, [x29, #-4]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.275
b .L.long_func.276
.L.long_func.272:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.273
.L.long_func.273:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.269
.L.long_func.274:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.272
b .L.long_func.273
.L.long_func.275:
ldur w8, [x29, #-164]
stur w8, [x29, #-168]
ldur w8, [x29, #-156]
stur w8, [x29, #-172]
mov w8, #0
stur w8, [x29, #-176]
b .L.long_func.277
.L.long_func.276:
ldur w8, [x29, #-156]
stur w8, [x29, #-180]
ldur w8, [x29, #-156]
stur w8, [x29, #-184]
mov w8, #0
stur w8, [x29, #-188]
b .L.long_func.304
.L.long_func.277:
ldur w9, [x29, #-172]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.278
b .L.long_func.279
.L.long_func.278:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-168]
stur w8, [x29, #-12]
ldur w8, [x29, #-172]
stur w8, [x29, #-16]
b .L.long_func.280
.L.long_func.279:
ldur w8, [x29, #-168]
stur w8, [x29, #-4]
stur w8, [x29, #-164]
b .L.long_func.276
.L.long_func.280:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.281
b .L.long_func.282
.L.long_func.281:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.283
b .L.long_func.284
.L.long_func.282:
ldur w8, [x29, #-4]
stur w8, [x29, #-176]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-168]
stur w8, [x29, #-12]
ldur w8, [x29, #-172]
stur w8, [x29, #-16]
b .L.long_func.290
.L.long_func.283:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.eq .L.long_func.286
b .L.long_func.287
.L.long_func.284:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.288
b .L.long_func.289
.L.long_func.285:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.280
.L.long_func.286:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.287
.L.long_func.287:
b .L.long_func.285
.L.long_func.288:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.289
.L.long_func.289:
b .L.long_func.285
.L.long_func.290:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.291
b .L.long_func.292
.L.long_func.291:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.295
b .L.long_func.294
.L.long_func.292:
ldur w8, [x29, #-4]
stur w8, [x29, #-172]
b .L.long_func.296
.L.long_func.293:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.294
.L.long_func.294:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.290
.L.long_func.295:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.293
b .L.long_func.294
.L.long_func.296:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w10, [x29, #-172]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x8, #4
add x8, x9, x8
ldr w8, [x8]
mul w8, w10, w8
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.298
.L.long_func.297:
ldur w8, [x29, #-4]
stur w8, [x29, #-172]
ldur w8, [x29, #-176]
stur w8, [x29, #-168]
b .L.long_func.277
.L.long_func.298:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.299
b .L.long_func.300
.L.long_func.299:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.303
b .L.long_func.302
.L.long_func.300:
b .L.long_func.297
.L.long_func.301:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.302
.L.long_func.302:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.298
.L.long_func.303:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.301
b .L.long_func.302
.L.long_func.304:
ldur w9, [x29, #-184]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.305
b .L.long_func.306
.L.long_func.305:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-180]
stur w8, [x29, #-12]
ldur w8, [x29, #-184]
stur w8, [x29, #-16]
b .L.long_func.307
.L.long_func.306:
ldur w8, [x29, #-180]
stur w8, [x29, #-4]
stur w8, [x29, #-156]
ldur w8, [x29, #-160]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-16]
mov w8, #15
cmp w9, w8
b.ge .L.long_func.331
b .L.long_func.332
.L.long_func.307:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.308
b .L.long_func.309
.L.long_func.308:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.310
b .L.long_func.311
.L.long_func.309:
ldur w8, [x29, #-4]
stur w8, [x29, #-188]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-180]
stur w8, [x29, #-12]
ldur w8, [x29, #-184]
stur w8, [x29, #-16]
b .L.long_func.317
.L.long_func.310:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.eq .L.long_func.313
b .L.long_func.314
.L.long_func.311:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.315
b .L.long_func.316
.L.long_func.312:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.307
.L.long_func.313:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.314
.L.long_func.314:
b .L.long_func.312
.L.long_func.315:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.316
.L.long_func.316:
b .L.long_func.312
.L.long_func.317:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.318
b .L.long_func.319
.L.long_func.318:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.322
b .L.long_func.321
.L.long_func.319:
ldur w8, [x29, #-4]
stur w8, [x29, #-184]
b .L.long_func.323
.L.long_func.320:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.321
.L.long_func.321:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.317
.L.long_func.322:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.320
b .L.long_func.321
.L.long_func.323:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w10, [x29, #-184]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x8, #4
add x8, x9, x8
ldr w8, [x8]
mul w8, w10, w8
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.325
.L.long_func.324:
ldur w8, [x29, #-4]
stur w8, [x29, #-184]
ldur w8, [x29, #-188]
stur w8, [x29, #-180]
b .L.long_func.304
.L.long_func.325:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.326
b .L.long_func.327
.L.long_func.326:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.330
b .L.long_func.329
.L.long_func.327:
b .L.long_func.324
.L.long_func.328:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.329
.L.long_func.329:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.325
.L.long_func.330:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.328
b .L.long_func.329
.L.long_func.331:
ldur w9, [x29, #-12]
mov w8, #0
cmp w9, w8
b.lt .L.long_func.334
b .L.long_func.335
.L.long_func.332:
ldur w9, [x29, #-16]
mov w8, #0
cmp w9, w8
b.gt .L.long_func.337
b .L.long_func.338
.L.long_func.333:
ldur w8, [x29, #-4]
stur w8, [x29, #-160]
b .L.long_func.266
.L.long_func.334:
mov w8, #65535
stur w8, [x29, #-4]
b .L.long_func.336
.L.long_func.335:
mov w8, #0
stur w8, [x29, #-4]
b .L.long_func.336
.L.long_func.336:
b .L.long_func.333
.L.long_func.337:
ldur w9, [x29, #-12]
mov w8, #32767
cmp w9, w8
b.gt .L.long_func.340
b .L.long_func.341
.L.long_func.338:
ldur w8, [x29, #-12]
stur w8, [x29, #-4]
b .L.long_func.339
.L.long_func.339:
b .L.long_func.333
.L.long_func.340:
ldur w9, [x29, #-12]
ldur w8, [x29, #-16]
adrp x11, SHIFT_TABLE
add x11, x11, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sdiv w8, w9, w8
stur w8, [x29, #-12]
ldur w9, [x29, #-12]
movz w8, #0
movk w8, #1, lsl #16
add w10, w9, w8
ldur w9, [x29, #-16]
mov w8, #15
sub w9, w8, w9
mov w8, #1
add w8, w9, w8
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sub w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.342
.L.long_func.341:
ldur w10, [x29, #-12]
ldur w8, [x29, #-16]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
sdiv w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.342
.L.long_func.342:
b .L.long_func.339
.L.long_func.343:
ldur w9, [x29, #-12]
mov w8, #0
cmp w9, w8
b.lt .L.long_func.346
b .L.long_func.347
.L.long_func.344:
ldur w9, [x29, #-16]
mov w8, #0
cmp w9, w8
b.gt .L.long_func.349
b .L.long_func.350
.L.long_func.345:
ldur w8, [x29, #-4]
stur w8, [x29, #-112]
b .L.long_func.178
.L.long_func.346:
mov w8, #65535
stur w8, [x29, #-4]
b .L.long_func.348
.L.long_func.347:
mov w8, #0
stur w8, [x29, #-4]
b .L.long_func.348
.L.long_func.348:
b .L.long_func.345
.L.long_func.349:
ldur w9, [x29, #-12]
mov w8, #32767
cmp w9, w8
b.gt .L.long_func.352
b .L.long_func.353
.L.long_func.350:
ldur w8, [x29, #-12]
stur w8, [x29, #-4]
b .L.long_func.351
.L.long_func.351:
b .L.long_func.345
.L.long_func.352:
ldur w9, [x29, #-12]
ldur w8, [x29, #-16]
adrp x11, SHIFT_TABLE
add x11, x11, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sdiv w8, w9, w8
stur w8, [x29, #-12]
ldur w9, [x29, #-12]
movz w8, #0
movk w8, #1, lsl #16
add w10, w9, w8
ldur w9, [x29, #-16]
mov w8, #15
sub w9, w8, w9
mov w8, #1
add w8, w9, w8
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sub w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.354
.L.long_func.353:
ldur w10, [x29, #-12]
ldur w8, [x29, #-16]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
sdiv w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.354
.L.long_func.354:
b .L.long_func.351
.L.long_func.355:
ldur w9, [x29, #-20]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.356
b .L.long_func.357
.L.long_func.356:
mov w8, #2
stur w8, [x29, #-192]
ldur w8, [x29, #-20]
stur w8, [x29, #-196]
mov w8, #1
stur w8, [x29, #-200]
b .L.long_func.358
.L.long_func.357:
mov w8, #0
stur w8, [x29, #-20]
b .L.long_func.535
.L.long_func.358:
ldur w9, [x29, #-196]
mov w8, #0
cmp w9, w8
b.gt .L.long_func.359
b .L.long_func.360
.L.long_func.359:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-196]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
b .L.long_func.361
.L.long_func.360:
ldur w8, [x29, #-200]
stur w8, [x29, #-4]
mov w0, w8
bl putint
mov w8, #10
mov w0, w8
bl putch
ldur w9, [x29, #-20]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-20]
b .L.long_func.355
.L.long_func.361:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.362
b .L.long_func.363
.L.long_func.362:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.366
b .L.long_func.365
.L.long_func.363:
ldur w9, [x29, #-4]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.367
b .L.long_func.368
.L.long_func.364:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.365
.L.long_func.365:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.361
.L.long_func.366:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.364
b .L.long_func.365
.L.long_func.367:
ldur w8, [x29, #-200]
stur w8, [x29, #-204]
ldur w8, [x29, #-192]
stur w8, [x29, #-208]
mov w8, #0
stur w8, [x29, #-212]
b .L.long_func.369
.L.long_func.368:
ldur w8, [x29, #-192]
stur w8, [x29, #-240]
ldur w8, [x29, #-192]
stur w8, [x29, #-244]
mov w8, #0
stur w8, [x29, #-248]
b .L.long_func.446
.L.long_func.369:
ldur w9, [x29, #-208]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.370
b .L.long_func.371
.L.long_func.370:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-208]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
b .L.long_func.372
.L.long_func.371:
ldur w8, [x29, #-212]
stur w8, [x29, #-4]
stur w8, [x29, #-200]
b .L.long_func.368
.L.long_func.372:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.373
b .L.long_func.374
.L.long_func.373:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.377
b .L.long_func.376
.L.long_func.374:
ldur w9, [x29, #-4]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.378
b .L.long_func.379
.L.long_func.375:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.376
.L.long_func.376:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.372
.L.long_func.377:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.375
b .L.long_func.376
.L.long_func.378:
ldur w8, [x29, #-212]
stur w8, [x29, #-216]
ldur w8, [x29, #-204]
stur w8, [x29, #-220]
mov w8, #0
stur w8, [x29, #-224]
b .L.long_func.380
.L.long_func.379:
ldur w8, [x29, #-204]
stur w8, [x29, #-228]
ldur w8, [x29, #-204]
stur w8, [x29, #-232]
mov w8, #0
stur w8, [x29, #-236]
b .L.long_func.407
.L.long_func.380:
ldur w9, [x29, #-220]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.381
b .L.long_func.382
.L.long_func.381:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-216]
stur w8, [x29, #-12]
ldur w8, [x29, #-220]
stur w8, [x29, #-16]
b .L.long_func.383
.L.long_func.382:
ldur w8, [x29, #-216]
stur w8, [x29, #-4]
stur w8, [x29, #-212]
b .L.long_func.379
.L.long_func.383:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.384
b .L.long_func.385
.L.long_func.384:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.386
b .L.long_func.387
.L.long_func.385:
ldur w8, [x29, #-4]
stur w8, [x29, #-224]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-216]
stur w8, [x29, #-12]
ldur w8, [x29, #-220]
stur w8, [x29, #-16]
b .L.long_func.393
.L.long_func.386:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.eq .L.long_func.389
b .L.long_func.390
.L.long_func.387:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.391
b .L.long_func.392
.L.long_func.388:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.383
.L.long_func.389:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.390
.L.long_func.390:
b .L.long_func.388
.L.long_func.391:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.392
.L.long_func.392:
b .L.long_func.388
.L.long_func.393:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.394
b .L.long_func.395
.L.long_func.394:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.398
b .L.long_func.397
.L.long_func.395:
ldur w8, [x29, #-4]
stur w8, [x29, #-220]
b .L.long_func.399
.L.long_func.396:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.397
.L.long_func.397:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.393
.L.long_func.398:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.396
b .L.long_func.397
.L.long_func.399:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w10, [x29, #-220]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x8, #4
add x8, x9, x8
ldr w8, [x8]
mul w8, w10, w8
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.401
.L.long_func.400:
ldur w8, [x29, #-4]
stur w8, [x29, #-220]
ldur w8, [x29, #-224]
stur w8, [x29, #-216]
b .L.long_func.380
.L.long_func.401:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.402
b .L.long_func.403
.L.long_func.402:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.406
b .L.long_func.405
.L.long_func.403:
b .L.long_func.400
.L.long_func.404:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.405
.L.long_func.405:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.401
.L.long_func.406:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.404
b .L.long_func.405
.L.long_func.407:
ldur w9, [x29, #-232]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.408
b .L.long_func.409
.L.long_func.408:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-228]
stur w8, [x29, #-12]
ldur w8, [x29, #-232]
stur w8, [x29, #-16]
b .L.long_func.410
.L.long_func.409:
ldur w8, [x29, #-228]
stur w8, [x29, #-4]
stur w8, [x29, #-204]
ldur w8, [x29, #-208]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-16]
mov w8, #15
cmp w9, w8
b.ge .L.long_func.434
b .L.long_func.435
.L.long_func.410:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.411
b .L.long_func.412
.L.long_func.411:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.413
b .L.long_func.414
.L.long_func.412:
ldur w8, [x29, #-4]
stur w8, [x29, #-236]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-228]
stur w8, [x29, #-12]
ldur w8, [x29, #-232]
stur w8, [x29, #-16]
b .L.long_func.420
.L.long_func.413:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.eq .L.long_func.416
b .L.long_func.417
.L.long_func.414:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.418
b .L.long_func.419
.L.long_func.415:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.410
.L.long_func.416:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.417
.L.long_func.417:
b .L.long_func.415
.L.long_func.418:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.419
.L.long_func.419:
b .L.long_func.415
.L.long_func.420:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.421
b .L.long_func.422
.L.long_func.421:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.425
b .L.long_func.424
.L.long_func.422:
ldur w8, [x29, #-4]
stur w8, [x29, #-232]
b .L.long_func.426
.L.long_func.423:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.424
.L.long_func.424:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.420
.L.long_func.425:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.423
b .L.long_func.424
.L.long_func.426:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w10, [x29, #-232]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x8, #4
add x8, x9, x8
ldr w8, [x8]
mul w8, w10, w8
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.428
.L.long_func.427:
ldur w8, [x29, #-4]
stur w8, [x29, #-232]
ldur w8, [x29, #-236]
stur w8, [x29, #-228]
b .L.long_func.407
.L.long_func.428:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.429
b .L.long_func.430
.L.long_func.429:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.433
b .L.long_func.432
.L.long_func.430:
b .L.long_func.427
.L.long_func.431:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.432
.L.long_func.432:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.428
.L.long_func.433:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.431
b .L.long_func.432
.L.long_func.434:
ldur w9, [x29, #-12]
mov w8, #0
cmp w9, w8
b.lt .L.long_func.437
b .L.long_func.438
.L.long_func.435:
ldur w9, [x29, #-16]
mov w8, #0
cmp w9, w8
b.gt .L.long_func.440
b .L.long_func.441
.L.long_func.436:
ldur w8, [x29, #-4]
stur w8, [x29, #-208]
b .L.long_func.369
.L.long_func.437:
mov w8, #65535
stur w8, [x29, #-4]
b .L.long_func.439
.L.long_func.438:
mov w8, #0
stur w8, [x29, #-4]
b .L.long_func.439
.L.long_func.439:
b .L.long_func.436
.L.long_func.440:
ldur w9, [x29, #-12]
mov w8, #32767
cmp w9, w8
b.gt .L.long_func.443
b .L.long_func.444
.L.long_func.441:
ldur w8, [x29, #-12]
stur w8, [x29, #-4]
b .L.long_func.442
.L.long_func.442:
b .L.long_func.436
.L.long_func.443:
ldur w9, [x29, #-12]
ldur w8, [x29, #-16]
adrp x11, SHIFT_TABLE
add x11, x11, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sdiv w8, w9, w8
stur w8, [x29, #-12]
ldur w9, [x29, #-12]
movz w8, #0
movk w8, #1, lsl #16
add w10, w9, w8
ldur w9, [x29, #-16]
mov w8, #15
sub w9, w8, w9
mov w8, #1
add w8, w9, w8
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sub w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.445
.L.long_func.444:
ldur w10, [x29, #-12]
ldur w8, [x29, #-16]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
sdiv w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.445
.L.long_func.445:
b .L.long_func.442
.L.long_func.446:
ldur w9, [x29, #-244]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.447
b .L.long_func.448
.L.long_func.447:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-244]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
b .L.long_func.449
.L.long_func.448:
ldur w8, [x29, #-248]
stur w8, [x29, #-4]
stur w8, [x29, #-192]
ldur w8, [x29, #-196]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-16]
mov w8, #15
cmp w9, w8
b.ge .L.long_func.523
b .L.long_func.524
.L.long_func.449:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.450
b .L.long_func.451
.L.long_func.450:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.454
b .L.long_func.453
.L.long_func.451:
ldur w9, [x29, #-4]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.455
b .L.long_func.456
.L.long_func.452:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.453
.L.long_func.453:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.449
.L.long_func.454:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.452
b .L.long_func.453
.L.long_func.455:
ldur w8, [x29, #-248]
stur w8, [x29, #-252]
ldur w8, [x29, #-240]
stur w8, [x29, #-256]
mov w8, #0
mov x13, x29
sub x13, x13, #260
str w8, [x13]
b .L.long_func.457
.L.long_func.456:
ldur w8, [x29, #-240]
mov x13, x29
sub x13, x13, #264
str w8, [x13]
ldur w8, [x29, #-240]
mov x13, x29
sub x13, x13, #268
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #272
str w8, [x13]
b .L.long_func.484
.L.long_func.457:
ldur w9, [x29, #-256]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.458
b .L.long_func.459
.L.long_func.458:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-252]
stur w8, [x29, #-12]
ldur w8, [x29, #-256]
stur w8, [x29, #-16]
b .L.long_func.460
.L.long_func.459:
ldur w8, [x29, #-252]
stur w8, [x29, #-4]
stur w8, [x29, #-248]
b .L.long_func.456
.L.long_func.460:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.461
b .L.long_func.462
.L.long_func.461:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.463
b .L.long_func.464
.L.long_func.462:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #260
str w8, [x13]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w8, [x29, #-252]
stur w8, [x29, #-12]
ldur w8, [x29, #-256]
stur w8, [x29, #-16]
b .L.long_func.470
.L.long_func.463:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.eq .L.long_func.466
b .L.long_func.467
.L.long_func.464:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.468
b .L.long_func.469
.L.long_func.465:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.460
.L.long_func.466:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.467
.L.long_func.467:
b .L.long_func.465
.L.long_func.468:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.469
.L.long_func.469:
b .L.long_func.465
.L.long_func.470:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.471
b .L.long_func.472
.L.long_func.471:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.475
b .L.long_func.474
.L.long_func.472:
ldur w8, [x29, #-4]
stur w8, [x29, #-256]
b .L.long_func.476
.L.long_func.473:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.474
.L.long_func.474:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.470
.L.long_func.475:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.473
b .L.long_func.474
.L.long_func.476:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
ldur w10, [x29, #-256]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x8, #4
add x8, x9, x8
ldr w8, [x8]
mul w8, w10, w8
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.478
.L.long_func.477:
ldur w8, [x29, #-4]
stur w8, [x29, #-256]
mov x13, x29
sub x13, x13, #260
ldr w8, [x13]
stur w8, [x29, #-252]
b .L.long_func.457
.L.long_func.478:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.479
b .L.long_func.480
.L.long_func.479:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.483
b .L.long_func.482
.L.long_func.480:
b .L.long_func.477
.L.long_func.481:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.482
.L.long_func.482:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.478
.L.long_func.483:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.481
b .L.long_func.482
.L.long_func.484:
mov x13, x29
sub x13, x13, #268
ldr w9, [x13]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.485
b .L.long_func.486
.L.long_func.485:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
stur w8, [x29, #-12]
mov x13, x29
sub x13, x13, #268
ldr w8, [x13]
stur w8, [x29, #-16]
b .L.long_func.487
.L.long_func.486:
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
stur w8, [x29, #-4]
stur w8, [x29, #-240]
ldur w8, [x29, #-244]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-16]
mov w8, #15
cmp w9, w8
b.ge .L.long_func.511
b .L.long_func.512
.L.long_func.487:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.488
b .L.long_func.489
.L.long_func.488:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.490
b .L.long_func.491
.L.long_func.489:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #272
str w8, [x13]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #264
ldr w8, [x13]
stur w8, [x29, #-12]
mov x13, x29
sub x13, x13, #268
ldr w8, [x13]
stur w8, [x29, #-16]
b .L.long_func.497
.L.long_func.490:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.eq .L.long_func.493
b .L.long_func.494
.L.long_func.491:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w8, w8, #1
mov w9, #2
msub w9, w8, w9, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.495
b .L.long_func.496
.L.long_func.492:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.487
.L.long_func.493:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.494
.L.long_func.494:
b .L.long_func.492
.L.long_func.495:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.496
.L.long_func.496:
b .L.long_func.492
.L.long_func.497:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.498
b .L.long_func.499
.L.long_func.498:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.502
b .L.long_func.501
.L.long_func.499:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #268
str w8, [x13]
b .L.long_func.503
.L.long_func.500:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.501
.L.long_func.501:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.497
.L.long_func.502:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.500
b .L.long_func.501
.L.long_func.503:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #268
ldr w8, [x13]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x10, #4
add x9, x9, x10
ldr w9, [x9]
mul w8, w8, w9
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.505
.L.long_func.504:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #268
str w8, [x13]
mov x13, x29
sub x13, x13, #272
ldr w8, [x13]
mov x13, x29
sub x13, x13, #264
str w8, [x13]
b .L.long_func.484
.L.long_func.505:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.506
b .L.long_func.507
.L.long_func.506:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.510
b .L.long_func.509
.L.long_func.507:
b .L.long_func.504
.L.long_func.508:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.509
.L.long_func.509:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.505
.L.long_func.510:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.508
b .L.long_func.509
.L.long_func.511:
ldur w8, [x29, #-12]
mov w9, #0
cmp w8, w9
b.lt .L.long_func.514
b .L.long_func.515
.L.long_func.512:
ldur w8, [x29, #-16]
mov w9, #0
cmp w8, w9
b.gt .L.long_func.517
b .L.long_func.518
.L.long_func.513:
ldur w8, [x29, #-4]
stur w8, [x29, #-244]
b .L.long_func.446
.L.long_func.514:
mov w8, #65535
stur w8, [x29, #-4]
b .L.long_func.516
.L.long_func.515:
mov w8, #0
stur w8, [x29, #-4]
b .L.long_func.516
.L.long_func.516:
b .L.long_func.513
.L.long_func.517:
ldur w8, [x29, #-12]
mov w9, #32767
cmp w8, w9
b.gt .L.long_func.520
b .L.long_func.521
.L.long_func.518:
ldur w8, [x29, #-12]
stur w8, [x29, #-4]
b .L.long_func.519
.L.long_func.519:
b .L.long_func.513
.L.long_func.520:
ldur w8, [x29, #-12]
ldur w9, [x29, #-16]
adrp x11, SHIFT_TABLE
add x11, x11, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x11, x9
ldr w9, [x9]
sdiv w8, w8, w9
stur w8, [x29, #-12]
movz w9, #0
movk w9, #1, lsl #16
add w8, w8, w9
ldur w9, [x29, #-16]
mov w10, #15
sub w9, w10, w9
mov w10, #1
add w9, w9, w10
sxtw x9, w9
lsl x9, x9, #2
add x9, x11, x9
ldr w9, [x9]
sub w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.522
.L.long_func.521:
ldur w8, [x29, #-12]
ldur w9, [x29, #-16]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
sdiv w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.522
.L.long_func.522:
b .L.long_func.519
.L.long_func.523:
ldur w8, [x29, #-12]
mov w9, #0
cmp w8, w9
b.lt .L.long_func.526
b .L.long_func.527
.L.long_func.524:
ldur w8, [x29, #-16]
mov w9, #0
cmp w8, w9
b.gt .L.long_func.529
b .L.long_func.530
.L.long_func.525:
ldur w8, [x29, #-4]
stur w8, [x29, #-196]
b .L.long_func.358
.L.long_func.526:
mov w8, #65535
stur w8, [x29, #-4]
b .L.long_func.528
.L.long_func.527:
mov w8, #0
stur w8, [x29, #-4]
b .L.long_func.528
.L.long_func.528:
b .L.long_func.525
.L.long_func.529:
ldur w8, [x29, #-12]
mov w9, #32767
cmp w8, w9
b.gt .L.long_func.532
b .L.long_func.533
.L.long_func.530:
ldur w8, [x29, #-12]
stur w8, [x29, #-4]
b .L.long_func.531
.L.long_func.531:
b .L.long_func.525
.L.long_func.532:
ldur w8, [x29, #-12]
ldur w9, [x29, #-16]
adrp x11, SHIFT_TABLE
add x11, x11, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x11, x9
ldr w9, [x9]
sdiv w8, w8, w9
stur w8, [x29, #-12]
movz w9, #0
movk w9, #1, lsl #16
add w8, w8, w9
ldur w9, [x29, #-16]
mov w10, #15
sub w9, w10, w9
mov w10, #1
add w9, w9, w10
sxtw x9, w9
lsl x9, x9, #2
add x9, x11, x9
ldr w9, [x9]
sub w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.534
.L.long_func.533:
ldur w8, [x29, #-12]
ldur w9, [x29, #-16]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
sdiv w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.534
.L.long_func.534:
b .L.long_func.531
.L.long_func.535:
ldur w8, [x29, #-20]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.536
b .L.long_func.537
.L.long_func.536:
mov w8, #2
mov x13, x29
sub x13, x13, #276
str w8, [x13]
ldur w8, [x29, #-20]
mov x13, x29
sub x13, x13, #280
str w8, [x13]
mov w8, #1
mov x13, x29
sub x13, x13, #284
str w8, [x13]
b .L.long_func.538
.L.long_func.537:
mov w8, #0
mov w0, w8
add sp, sp, #384
ldp x29, x30, [sp], #16
ret
.L.long_func.538:
mov x13, x29
sub x13, x13, #280
ldr w8, [x13]
mov w9, #0
cmp w8, w9
b.gt .L.long_func.539
b .L.long_func.540
.L.long_func.539:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #280
ldr w8, [x13]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
b .L.long_func.541
.L.long_func.540:
mov x13, x29
sub x13, x13, #284
ldr w8, [x13]
stur w8, [x29, #-4]
ldur w8, [x29, #-20]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
ldur w9, [x29, #-4]
cmp w8, w9
b.ne .L.long_func.715
b .L.long_func.716
.L.long_func.541:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.542
b .L.long_func.543
.L.long_func.542:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.546
b .L.long_func.545
.L.long_func.543:
ldur w8, [x29, #-4]
mov w9, #0
cmp w8, w9
b.ne .L.long_func.547
b .L.long_func.548
.L.long_func.544:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.545
.L.long_func.545:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.541
.L.long_func.546:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.544
b .L.long_func.545
.L.long_func.547:
mov x13, x29
sub x13, x13, #284
ldr w8, [x13]
mov x13, x29
sub x13, x13, #288
str w8, [x13]
mov x13, x29
sub x13, x13, #276
ldr w8, [x13]
mov x13, x29
sub x13, x13, #292
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #296
str w8, [x13]
b .L.long_func.549
.L.long_func.548:
mov x13, x29
sub x13, x13, #276
ldr w8, [x13]
mov x13, x29
sub x13, x13, #324
str w8, [x13]
mov x13, x29
sub x13, x13, #276
ldr w8, [x13]
mov x13, x29
sub x13, x13, #328
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #332
str w8, [x13]
b .L.long_func.626
.L.long_func.549:
mov x13, x29
sub x13, x13, #292
ldr w8, [x13]
mov w9, #0
cmp w8, w9
b.ne .L.long_func.550
b .L.long_func.551
.L.long_func.550:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #292
ldr w8, [x13]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
b .L.long_func.552
.L.long_func.551:
mov x13, x29
sub x13, x13, #296
ldr w8, [x13]
stur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #284
str w8, [x13]
b .L.long_func.548
.L.long_func.552:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.553
b .L.long_func.554
.L.long_func.553:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.557
b .L.long_func.556
.L.long_func.554:
ldur w8, [x29, #-4]
mov w9, #0
cmp w8, w9
b.ne .L.long_func.558
b .L.long_func.559
.L.long_func.555:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.556
.L.long_func.556:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.552
.L.long_func.557:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.555
b .L.long_func.556
.L.long_func.558:
mov x13, x29
sub x13, x13, #296
ldr w8, [x13]
mov x13, x29
sub x13, x13, #300
str w8, [x13]
mov x13, x29
sub x13, x13, #288
ldr w8, [x13]
mov x13, x29
sub x13, x13, #304
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #308
str w8, [x13]
b .L.long_func.560
.L.long_func.559:
mov x13, x29
sub x13, x13, #288
ldr w8, [x13]
mov x13, x29
sub x13, x13, #312
str w8, [x13]
mov x13, x29
sub x13, x13, #288
ldr w8, [x13]
mov x13, x29
sub x13, x13, #316
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #320
str w8, [x13]
b .L.long_func.587
.L.long_func.560:
mov x13, x29
sub x13, x13, #304
ldr w8, [x13]
mov w9, #0
cmp w8, w9
b.ne .L.long_func.561
b .L.long_func.562
.L.long_func.561:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #300
ldr w8, [x13]
stur w8, [x29, #-12]
mov x13, x29
sub x13, x13, #304
ldr w8, [x13]
stur w8, [x29, #-16]
b .L.long_func.563
.L.long_func.562:
mov x13, x29
sub x13, x13, #300
ldr w8, [x13]
stur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #296
str w8, [x13]
b .L.long_func.559
.L.long_func.563:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.564
b .L.long_func.565
.L.long_func.564:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.566
b .L.long_func.567
.L.long_func.565:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #308
str w8, [x13]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #300
ldr w8, [x13]
stur w8, [x29, #-12]
mov x13, x29
sub x13, x13, #304
ldr w8, [x13]
stur w8, [x29, #-16]
b .L.long_func.573
.L.long_func.566:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.eq .L.long_func.569
b .L.long_func.570
.L.long_func.567:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.571
b .L.long_func.572
.L.long_func.568:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.563
.L.long_func.569:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.570
.L.long_func.570:
b .L.long_func.568
.L.long_func.571:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.572
.L.long_func.572:
b .L.long_func.568
.L.long_func.573:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.574
b .L.long_func.575
.L.long_func.574:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.578
b .L.long_func.577
.L.long_func.575:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #304
str w8, [x13]
b .L.long_func.579
.L.long_func.576:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.577
.L.long_func.577:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.573
.L.long_func.578:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.576
b .L.long_func.577
.L.long_func.579:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #304
ldr w8, [x13]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x10, #4
add x9, x9, x10
ldr w9, [x9]
mul w8, w8, w9
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.581
.L.long_func.580:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #304
str w8, [x13]
mov x13, x29
sub x13, x13, #308
ldr w8, [x13]
mov x13, x29
sub x13, x13, #300
str w8, [x13]
b .L.long_func.560
.L.long_func.581:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.582
b .L.long_func.583
.L.long_func.582:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.586
b .L.long_func.585
.L.long_func.583:
b .L.long_func.580
.L.long_func.584:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.585
.L.long_func.585:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.581
.L.long_func.586:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.584
b .L.long_func.585
.L.long_func.587:
mov x13, x29
sub x13, x13, #316
ldr w8, [x13]
mov w9, #0
cmp w8, w9
b.ne .L.long_func.588
b .L.long_func.589
.L.long_func.588:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #312
ldr w8, [x13]
stur w8, [x29, #-12]
mov x13, x29
sub x13, x13, #316
ldr w8, [x13]
stur w8, [x29, #-16]
b .L.long_func.590
.L.long_func.589:
mov x13, x29
sub x13, x13, #312
ldr w8, [x13]
stur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #288
str w8, [x13]
mov x13, x29
sub x13, x13, #292
ldr w8, [x13]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
mov w9, #15
cmp w8, w9
b.ge .L.long_func.614
b .L.long_func.615
.L.long_func.590:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.591
b .L.long_func.592
.L.long_func.591:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.593
b .L.long_func.594
.L.long_func.592:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #320
str w8, [x13]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #312
ldr w8, [x13]
stur w8, [x29, #-12]
mov x13, x29
sub x13, x13, #316
ldr w8, [x13]
stur w8, [x29, #-16]
b .L.long_func.600
.L.long_func.593:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.eq .L.long_func.596
b .L.long_func.597
.L.long_func.594:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.598
b .L.long_func.599
.L.long_func.595:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.590
.L.long_func.596:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.597
.L.long_func.597:
b .L.long_func.595
.L.long_func.598:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.599
.L.long_func.599:
b .L.long_func.595
.L.long_func.600:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.601
b .L.long_func.602
.L.long_func.601:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.605
b .L.long_func.604
.L.long_func.602:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #316
str w8, [x13]
b .L.long_func.606
.L.long_func.603:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.604
.L.long_func.604:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.600
.L.long_func.605:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w10, w9, #1
mov w9, #2
msub w9, w10, w9, w8
mov w8, #0
cmp w9, w8
b.ne .L.long_func.603
b .L.long_func.604
.L.long_func.606:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #316
ldr w10, [x13]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x8, #4
add x8, x9, x8
ldr w8, [x8]
mul w8, w10, w8
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.608
.L.long_func.607:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #316
str w8, [x13]
mov x13, x29
sub x13, x13, #320
ldr w8, [x13]
mov x13, x29
sub x13, x13, #312
str w8, [x13]
b .L.long_func.587
.L.long_func.608:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.609
b .L.long_func.610
.L.long_func.609:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.613
b .L.long_func.612
.L.long_func.610:
b .L.long_func.607
.L.long_func.611:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.612
.L.long_func.612:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.608
.L.long_func.613:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.611
b .L.long_func.612
.L.long_func.614:
ldur w9, [x29, #-12]
mov w8, #0
cmp w9, w8
b.lt .L.long_func.617
b .L.long_func.618
.L.long_func.615:
ldur w9, [x29, #-16]
mov w8, #0
cmp w9, w8
b.gt .L.long_func.620
b .L.long_func.621
.L.long_func.616:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #292
str w8, [x13]
b .L.long_func.549
.L.long_func.617:
mov w8, #65535
stur w8, [x29, #-4]
b .L.long_func.619
.L.long_func.618:
mov w8, #0
stur w8, [x29, #-4]
b .L.long_func.619
.L.long_func.619:
b .L.long_func.616
.L.long_func.620:
ldur w9, [x29, #-12]
mov w8, #32767
cmp w9, w8
b.gt .L.long_func.623
b .L.long_func.624
.L.long_func.621:
ldur w8, [x29, #-12]
stur w8, [x29, #-4]
b .L.long_func.622
.L.long_func.622:
b .L.long_func.616
.L.long_func.623:
ldur w9, [x29, #-12]
ldur w8, [x29, #-16]
adrp x11, SHIFT_TABLE
add x11, x11, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sdiv w8, w9, w8
stur w8, [x29, #-12]
ldur w9, [x29, #-12]
movz w8, #0
movk w8, #1, lsl #16
add w10, w9, w8
ldur w9, [x29, #-16]
mov w8, #15
sub w9, w8, w9
mov w8, #1
add w8, w9, w8
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sub w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.625
.L.long_func.624:
ldur w10, [x29, #-12]
ldur w8, [x29, #-16]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
sdiv w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.625
.L.long_func.625:
b .L.long_func.622
.L.long_func.626:
mov x13, x29
sub x13, x13, #328
ldr w9, [x13]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.627
b .L.long_func.628
.L.long_func.627:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #328
ldr w8, [x13]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
b .L.long_func.629
.L.long_func.628:
mov x13, x29
sub x13, x13, #332
ldr w8, [x13]
stur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #276
str w8, [x13]
mov x13, x29
sub x13, x13, #280
ldr w8, [x13]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-16]
mov w8, #15
cmp w9, w8
b.ge .L.long_func.703
b .L.long_func.704
.L.long_func.629:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.630
b .L.long_func.631
.L.long_func.630:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.634
b .L.long_func.633
.L.long_func.631:
ldur w9, [x29, #-4]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.635
b .L.long_func.636
.L.long_func.632:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.633
.L.long_func.633:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.629
.L.long_func.634:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.632
b .L.long_func.633
.L.long_func.635:
mov x13, x29
sub x13, x13, #332
ldr w8, [x13]
mov x13, x29
sub x13, x13, #336
str w8, [x13]
mov x13, x29
sub x13, x13, #324
ldr w8, [x13]
mov x13, x29
sub x13, x13, #340
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #344
str w8, [x13]
b .L.long_func.637
.L.long_func.636:
mov x13, x29
sub x13, x13, #324
ldr w8, [x13]
mov x13, x29
sub x13, x13, #348
str w8, [x13]
mov x13, x29
sub x13, x13, #324
ldr w8, [x13]
mov x13, x29
sub x13, x13, #352
str w8, [x13]
mov w8, #0
mov x13, x29
sub x13, x13, #356
str w8, [x13]
b .L.long_func.664
.L.long_func.637:
mov x13, x29
sub x13, x13, #340
ldr w9, [x13]
mov w8, #0
cmp w9, w8
b.ne .L.long_func.638
b .L.long_func.639
.L.long_func.638:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #336
ldr w8, [x13]
stur w8, [x29, #-12]
mov x13, x29
sub x13, x13, #340
ldr w8, [x13]
stur w8, [x29, #-16]
b .L.long_func.640
.L.long_func.639:
mov x13, x29
sub x13, x13, #336
ldr w8, [x13]
stur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #332
str w8, [x13]
b .L.long_func.636
.L.long_func.640:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.641
b .L.long_func.642
.L.long_func.641:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.643
b .L.long_func.644
.L.long_func.642:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #344
str w8, [x13]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #336
ldr w8, [x13]
stur w8, [x29, #-12]
mov x13, x29
sub x13, x13, #340
ldr w8, [x13]
stur w8, [x29, #-16]
b .L.long_func.650
.L.long_func.643:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.eq .L.long_func.646
b .L.long_func.647
.L.long_func.644:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.648
b .L.long_func.649
.L.long_func.645:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.640
.L.long_func.646:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.647
.L.long_func.647:
b .L.long_func.645
.L.long_func.648:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.649
.L.long_func.649:
b .L.long_func.645
.L.long_func.650:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.651
b .L.long_func.652
.L.long_func.651:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.655
b .L.long_func.654
.L.long_func.652:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #340
str w8, [x13]
b .L.long_func.656
.L.long_func.653:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.654
.L.long_func.654:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.650
.L.long_func.655:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.653
b .L.long_func.654
.L.long_func.656:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #340
ldr w10, [x13]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x8, #4
add x8, x9, x8
ldr w8, [x8]
mul w8, w10, w8
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.658
.L.long_func.657:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #340
str w8, [x13]
mov x13, x29
sub x13, x13, #344
ldr w8, [x13]
mov x13, x29
sub x13, x13, #336
str w8, [x13]
b .L.long_func.637
.L.long_func.658:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.659
b .L.long_func.660
.L.long_func.659:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.663
b .L.long_func.662
.L.long_func.660:
b .L.long_func.657
.L.long_func.661:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.662
.L.long_func.662:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.658
.L.long_func.663:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.661
b .L.long_func.662
.L.long_func.664:
mov x13, x29
sub x13, x13, #352
ldr w8, [x13]
mov w9, #0
cmp w8, w9
b.ne .L.long_func.665
b .L.long_func.666
.L.long_func.665:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #348
ldr w8, [x13]
stur w8, [x29, #-12]
mov x13, x29
sub x13, x13, #352
ldr w8, [x13]
stur w8, [x29, #-16]
b .L.long_func.667
.L.long_func.666:
mov x13, x29
sub x13, x13, #348
ldr w8, [x13]
stur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #324
str w8, [x13]
mov x13, x29
sub x13, x13, #328
ldr w8, [x13]
stur w8, [x29, #-12]
mov w8, #1
stur w8, [x29, #-16]
mov w9, #15
cmp w8, w9
b.ge .L.long_func.691
b .L.long_func.692
.L.long_func.667:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.668
b .L.long_func.669
.L.long_func.668:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.670
b .L.long_func.671
.L.long_func.669:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #356
str w8, [x13]
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #348
ldr w8, [x13]
stur w8, [x29, #-12]
mov x13, x29
sub x13, x13, #352
ldr w8, [x13]
stur w8, [x29, #-16]
b .L.long_func.677
.L.long_func.670:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.eq .L.long_func.673
b .L.long_func.674
.L.long_func.671:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.675
b .L.long_func.676
.L.long_func.672:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.667
.L.long_func.673:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.674
.L.long_func.674:
b .L.long_func.672
.L.long_func.675:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.676
.L.long_func.676:
b .L.long_func.672
.L.long_func.677:
ldur w8, [x29, #-8]
mov w9, #16
cmp w8, w9
b.lt .L.long_func.678
b .L.long_func.679
.L.long_func.678:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.682
b .L.long_func.681
.L.long_func.679:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #352
str w8, [x13]
b .L.long_func.683
.L.long_func.680:
ldur w8, [x29, #-4]
ldur w9, [x29, #-8]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
add w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.681
.L.long_func.681:
ldur w8, [x29, #-12]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w8, [x29, #-16]
add w9, w8, #1
cmp w8, #0
csel w8, w9, w8, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w8, [x29, #-8]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-8]
b .L.long_func.677
.L.long_func.682:
ldur w8, [x29, #-16]
mov w9, #2
add w9, w8, #1
cmp w8, #0
csel w9, w9, w8, lt
asr w9, w9, #1
mov w10, #2
msub w8, w9, w10, w8
mov w9, #0
cmp w8, w9
b.ne .L.long_func.680
b .L.long_func.681
.L.long_func.683:
mov w8, #0
stur w8, [x29, #-4]
stur w8, [x29, #-8]
mov x13, x29
sub x13, x13, #352
ldr w8, [x13]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
mov x10, #4
add x9, x9, x10
ldr w9, [x9]
mul w8, w8, w9
stur w8, [x29, #-12]
mov w8, #65535
stur w8, [x29, #-16]
b .L.long_func.685
.L.long_func.684:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #352
str w8, [x13]
mov x13, x29
sub x13, x13, #356
ldr w8, [x13]
mov x13, x29
sub x13, x13, #348
str w8, [x13]
b .L.long_func.664
.L.long_func.685:
ldur w9, [x29, #-8]
mov w8, #16
cmp w9, w8
b.lt .L.long_func.686
b .L.long_func.687
.L.long_func.686:
ldur w10, [x29, #-12]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.690
b .L.long_func.689
.L.long_func.687:
b .L.long_func.684
.L.long_func.688:
ldur w10, [x29, #-4]
ldur w8, [x29, #-8]
adrp x9, SHIFT_TABLE
add x9, x9, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x9, x8
ldr w8, [x8]
add w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.689
.L.long_func.689:
ldur w9, [x29, #-12]
mov w8, #2
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-12]
ldur w9, [x29, #-16]
add w8, w9, #1
cmp w9, #0
csel w8, w8, w9, lt
asr w8, w8, #1
stur w8, [x29, #-16]
ldur w9, [x29, #-8]
mov w8, #1
add w8, w9, w8
stur w8, [x29, #-8]
b .L.long_func.685
.L.long_func.690:
ldur w10, [x29, #-16]
mov w8, #2
add w8, w10, #1
cmp w10, #0
csel w8, w8, w10, lt
asr w9, w8, #1
mov w8, #2
msub w9, w9, w8, w10
mov w8, #0
cmp w9, w8
b.ne .L.long_func.688
b .L.long_func.689
.L.long_func.691:
ldur w9, [x29, #-12]
mov w8, #0
cmp w9, w8
b.lt .L.long_func.694
b .L.long_func.695
.L.long_func.692:
ldur w9, [x29, #-16]
mov w8, #0
cmp w9, w8
b.gt .L.long_func.697
b .L.long_func.698
.L.long_func.693:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #328
str w8, [x13]
b .L.long_func.626
.L.long_func.694:
mov w8, #65535
stur w8, [x29, #-4]
b .L.long_func.696
.L.long_func.695:
mov w8, #0
stur w8, [x29, #-4]
b .L.long_func.696
.L.long_func.696:
b .L.long_func.693
.L.long_func.697:
ldur w9, [x29, #-12]
mov w8, #32767
cmp w9, w8
b.gt .L.long_func.700
b .L.long_func.701
.L.long_func.698:
ldur w8, [x29, #-12]
stur w8, [x29, #-4]
b .L.long_func.699
.L.long_func.699:
b .L.long_func.693
.L.long_func.700:
ldur w9, [x29, #-12]
ldur w8, [x29, #-16]
adrp x11, SHIFT_TABLE
add x11, x11, :lo12:SHIFT_TABLE
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sdiv w8, w9, w8
stur w8, [x29, #-12]
ldur w9, [x29, #-12]
movz w8, #0
movk w8, #1, lsl #16
add w10, w9, w8
ldur w9, [x29, #-16]
mov w8, #15
sub w8, w8, w9
mov w9, #1
add w8, w8, w9
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sub w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.702
.L.long_func.701:
ldur w8, [x29, #-12]
ldur w9, [x29, #-16]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
sdiv w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.702
.L.long_func.702:
b .L.long_func.699
.L.long_func.703:
ldur w8, [x29, #-12]
mov w9, #0
cmp w8, w9
b.lt .L.long_func.706
b .L.long_func.707
.L.long_func.704:
ldur w8, [x29, #-16]
mov w9, #0
cmp w8, w9
b.gt .L.long_func.709
b .L.long_func.710
.L.long_func.705:
ldur w8, [x29, #-4]
mov x13, x29
sub x13, x13, #280
str w8, [x13]
b .L.long_func.538
.L.long_func.706:
mov w8, #65535
stur w8, [x29, #-4]
b .L.long_func.708
.L.long_func.707:
mov w8, #0
stur w8, [x29, #-4]
b .L.long_func.708
.L.long_func.708:
b .L.long_func.705
.L.long_func.709:
ldur w8, [x29, #-12]
mov w9, #32767
cmp w8, w9
b.gt .L.long_func.712
b .L.long_func.713
.L.long_func.710:
ldur w8, [x29, #-12]
stur w8, [x29, #-4]
b .L.long_func.711
.L.long_func.711:
b .L.long_func.705
.L.long_func.712:
ldur w8, [x29, #-12]
ldur w9, [x29, #-16]
adrp x11, SHIFT_TABLE
add x11, x11, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x11, x9
ldr w9, [x9]
sdiv w8, w8, w9
stur w8, [x29, #-12]
ldur w9, [x29, #-12]
movz w8, #0
movk w8, #1, lsl #16
add w10, w9, w8
ldur w9, [x29, #-16]
mov w8, #15
sub w9, w8, w9
mov w8, #1
add w8, w9, w8
sxtw x8, w8
lsl x8, x8, #2
add x8, x11, x8
ldr w8, [x8]
sub w8, w10, w8
stur w8, [x29, #-4]
b .L.long_func.714
.L.long_func.713:
ldur w8, [x29, #-12]
ldur w9, [x29, #-16]
adrp x10, SHIFT_TABLE
add x10, x10, :lo12:SHIFT_TABLE
sxtw x9, w9
lsl x9, x9, #2
add x9, x10, x9
ldr w9, [x9]
sdiv w8, w8, w9
stur w8, [x29, #-4]
b .L.long_func.714
.L.long_func.714:
b .L.long_func.711
.L.long_func.715:
mov w8, #1
mov w0, w8
add sp, sp, #384
ldp x29, x30, [sp], #16
ret
.L.long_func.716:
ldur w8, [x29, #-20]
mov w9, #1
add w8, w8, w9
stur w8, [x29, #-20]
b .L.long_func.535
.text
.globl main
.p2align 2
main:
.L.main.0:
stp x29, x30, [sp, #-16]!
mov x29, sp
bl long_func
mov w8, w0
mov w0, w8
ldp x29, x30, [sp], #16
ret