.text .attribute 4, 16 .attribute 5, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0" .file "18_prim.sy" .globl quick_read .p2align 1 .type quick_read,@function quick_read: addi sp, sp, -48 sd ra, 40(sp) sd s0, 32(sp) sd s1, 24(sp) sd s2, 16(sp) sd s3, 8(sp) call getch addiw a1, a0, -58 li a2, -11 bltu a2, a1, .LBB0_5 li a1, 0 li s2, 45 li s0, -10 j .LBB0_3 .LBB0_2: call getch addiw a2, a0, -58 mv a1, s3 bgeu a2, s0, .LBB0_6 .LBB0_3: sext.w a0, a0 li s3, 1 beq a0, s2, .LBB0_2 mv s3, a1 j .LBB0_2 .LBB0_5: li s3, 0 .LBB0_6: li s0, 0 li s1, 10 .LBB0_7: mulw a1, s0, s1 addw a0, a0, a1 addiw s0, a0, -48 call getch addiw a1, a0, -48 bltu a1, s1, .LBB0_7 beqz s3, .LBB0_10 negw s0, s0 .LBB0_10: mv a0, s0 ld ra, 40(sp) ld s0, 32(sp) ld s1, 24(sp) ld s2, 16(sp) ld s3, 8(sp) addi sp, sp, 48 ret .Lfunc_end0: .size quick_read, .Lfunc_end0-quick_read .globl find .p2align 1 .type find,@function find: addi sp, sp, -16 sd ra, 8(sp) sd s0, 0(sp) lui a1, %hi(fa) addi a1, a1, %lo(fa) slli a2, a0, 2 add s0, a2, a1 lw a1, 0(s0) beq a1, a0, .LBB1_2 mv a0, a1 call find sw a0, 0(s0) .LBB1_2: ld ra, 8(sp) ld s0, 0(sp) addi sp, sp, 16 ret .Lfunc_end1: .size find, .Lfunc_end1-find .globl same .p2align 1 .type same,@function same: addi sp, sp, -32 sd ra, 24(sp) sd s0, 16(sp) sd s1, 8(sp) mv s0, a1 call find mv s1, a0 mv a0, s0 call find xor a0, a0, s1 seqz a0, a0 ld ra, 24(sp) ld s0, 16(sp) ld s1, 8(sp) addi sp, sp, 32 ret .Lfunc_end2: .size same, .Lfunc_end2-same .globl prim .p2align 1 .type prim,@function prim: addi sp, sp, -112 sd ra, 104(sp) sd s0, 96(sp) sd s1, 88(sp) sd s2, 80(sp) sd s3, 72(sp) sd s4, 64(sp) sd s5, 56(sp) sd s6, 48(sp) sd s7, 40(sp) sd s8, 32(sp) sd s9, 24(sp) sd s10, 16(sp) sd s11, 8(sp) lui a0, %hi(m) lw a0, %lo(m)(a0) blez a0, .LBB3_8 li t2, 0 slli a0, a0, 32 srli t1, a0, 32 li t6, 1 lui a0, %hi(v) addi a6, a0, %lo(v) addi t3, a6, 4 lui a0, %hi(u) addi a7, a0, %lo(u) addi t4, a7, 4 lui a0, %hi(c) addi t0, a0, %lo(c) addi t5, t0, 4 j .LBB3_3 .LBB3_2: addi t6, t6, 1 addi t3, t3, 4 addi t4, t4, 4 addi t5, t5, 4 beq t2, t1, .LBB3_8 .LBB3_3: mv a0, t2 addi t2, t2, 1 bgeu t2, t1, .LBB3_2 slli a0, a0, 2 add s4, a0, t0 add s2, a0, a7 add s3, a0, a6 mv s1, t1 mv a2, t5 mv a5, t4 mv a3, t3 j .LBB3_6 .LBB3_5: addi a3, a3, 4 addi a5, a5, 4 addi s1, s1, -1 addi a2, a2, 4 beq t6, s1, .LBB3_2 .LBB3_6: lw a1, 0(s4) lw s0, 0(a2) bge s0, a1, .LBB3_5 lw s5, 0(a5) lw s6, 0(s2) lw a0, 0(a3) lw a4, 0(s3) sw s5, 0(s2) sw s6, 0(a5) sw a0, 0(s3) sw a4, 0(a3) sw s0, 0(s4) sw a1, 0(a2) j .LBB3_5 .LBB3_8: lui a0, %hi(n) lw a0, %lo(n)(a0) blez a0, .LBB3_11 addiw a0, a0, 1 slli a0, a0, 32 srli a0, a0, 32 li a1, 1 lui a2, %hi(fa+4) addi a2, a2, %lo(fa+4) .LBB3_10: sw a1, 0(a2) addi a1, a1, 1 addi a2, a2, 4 bne a0, a1, .LBB3_10 .LBB3_11: li s3, 0 li s2, 0 lui a0, %hi(u) addi s4, a0, %lo(u) lui a0, %hi(v) addi s5, a0, %lo(v) lui s6, %hi(m) lui a0, %hi(c) addi s7, a0, %lo(c) lui a0, %hi(fa) addi s8, a0, %lo(fa) .LBB3_12: slli s11, s3, 2 add s9, s11, s4 add s10, s11, s5 .LBB3_13: lw a0, %lo(m)(s6) bge s3, a0, .LBB3_16 lw a0, 0(s9) lw s1, 0(s10) call find mv s0, a0 mv a0, s1 call find beq s0, a0, .LBB3_13 add a0, s11, s7 lw a1, 0(a0) lw s0, 0(s10) lw a0, 0(s9) addw s2, a1, s2 call find slli a0, a0, 2 add a0, a0, s8 sw s0, 0(a0) addi s3, s3, 1 j .LBB3_12 .LBB3_16: mv a0, s2 ld ra, 104(sp) ld s0, 96(sp) ld s1, 88(sp) ld s2, 80(sp) ld s3, 72(sp) ld s4, 64(sp) ld s5, 56(sp) ld s6, 48(sp) ld s7, 40(sp) ld s8, 32(sp) ld s9, 24(sp) ld s10, 16(sp) ld s11, 8(sp) addi sp, sp, 112 ret .Lfunc_end3: .size prim, .Lfunc_end3-prim .globl main .p2align 1 .type main,@function main: addi sp, sp, -112 sd ra, 104(sp) sd s0, 96(sp) sd s1, 88(sp) sd s2, 80(sp) sd s3, 72(sp) sd s4, 64(sp) sd s5, 56(sp) sd s6, 48(sp) sd s7, 40(sp) sd s8, 32(sp) sd s9, 24(sp) sd s10, 16(sp) sd s11, 8(sp) call getch addiw a0, a0, -58 li a1, -11 bltu a1, a0, .LBB4_3 li s0, -10 .LBB4_2: call getch addiw a0, a0, -58 bltu a0, s0, .LBB4_2 .LBB4_3: li s0, 10 .LBB4_4: call getch addiw a0, a0, -48 bltu a0, s0, .LBB4_4 call getch addiw a1, a0, -58 li a2, -11 bltu a2, a1, .LBB4_10 li a1, 0 li s2, 45 li s1, -10 j .LBB4_8 .LBB4_7: call getch addiw a2, a0, -58 mv a1, s3 bgeu a2, s1, .LBB4_11 .LBB4_8: sext.w a0, a0 li s3, 1 beq a0, s2, .LBB4_7 mv s3, a1 j .LBB4_7 .LBB4_10: li s3, 0 .LBB4_11: li s1, 0 li s0, 10 .LBB4_12: mulw a1, s1, s0 addw a0, a0, a1 addiw s1, a0, -48 call getch addiw a1, a0, -48 bltu a1, s0, .LBB4_12 beqz s3, .LBB4_15 negw s1, s1 .LBB4_15: blez s1, .LBB4_48 li s4, 0 slli a0, s1, 32 srli s2, a0, 32 li s3, -11 li s5, 45 li s10, -10 li s11, 10 lui a0, %hi(u) addi s6, a0, %lo(u) lui a0, %hi(v) addi s7, a0, %lo(v) lui a0, %hi(c) addi s8, a0, %lo(c) j .LBB4_18 .LBB4_17: add a0, s9, s8 addi s4, s4, 1 sw s1, 0(a0) beq s4, s2, .LBB4_48 .LBB4_18: call getch addiw a1, a0, -58 bltu s3, a1, .LBB4_23 li a1, 0 j .LBB4_21 .LBB4_20: call getch addiw a2, a0, -58 mv a1, s0 bgeu a2, s10, .LBB4_24 .LBB4_21: sext.w a0, a0 li s0, 1 beq a0, s5, .LBB4_20 mv s0, a1 j .LBB4_20 .LBB4_23: li s0, 0 .LBB4_24: li s1, 0 .LBB4_25: mulw a1, s1, s11 addw a0, a0, a1 addiw s1, a0, -48 call getch addiw a1, a0, -48 bltu a1, s11, .LBB4_25 beqz s0, .LBB4_28 neg s1, s1 .LBB4_28: slli s9, s4, 2 add a0, s9, s6 sw s1, 0(a0) call getch addiw a1, a0, -58 bltu s3, a1, .LBB4_33 li a1, 0 j .LBB4_31 .LBB4_30: call getch addiw a2, a0, -58 mv a1, s0 bgeu a2, s10, .LBB4_34 .LBB4_31: sext.w a0, a0 li s0, 1 beq a0, s5, .LBB4_30 mv s0, a1 j .LBB4_30 .LBB4_33: li s0, 0 .LBB4_34: li s1, 0 .LBB4_35: mulw a1, s1, s11 addw a0, a0, a1 addiw s1, a0, -48 call getch addiw a1, a0, -48 bltu a1, s11, .LBB4_35 beqz s0, .LBB4_38 neg s1, s1 .LBB4_38: add a0, s9, s7 sw s1, 0(a0) call getch addiw a1, a0, -58 bltu s3, a1, .LBB4_43 li a1, 0 j .LBB4_41 .LBB4_40: call getch addiw a2, a0, -58 mv a1, s0 bgeu a2, s10, .LBB4_44 .LBB4_41: sext.w a0, a0 li s0, 1 beq a0, s5, .LBB4_40 mv s0, a1 j .LBB4_40 .LBB4_43: li s0, 0 .LBB4_44: li s1, 0 .LBB4_45: mulw a1, s1, s11 addw a0, a0, a1 addiw s1, a0, -48 call getch addiw a1, a0, -48 bltu a1, s11, .LBB4_45 beqz s0, .LBB4_17 neg s1, s1 j .LBB4_17 .LBB4_48: ld ra, 104(sp) ld s0, 96(sp) ld s1, 88(sp) ld s2, 80(sp) ld s3, 72(sp) ld s4, 64(sp) ld s5, 56(sp) ld s6, 48(sp) ld s7, 40(sp) ld s8, 32(sp) ld s9, 24(sp) ld s10, 16(sp) ld s11, 8(sp) addi sp, sp, 112 tail prim .Lfunc_end4: .size main, .Lfunc_end4-main .type fa,@object .bss .globl fa .p2align 2 fa: .zero 4020 .size fa, 4020 .type m,@object .section .sbss,"aw",@nobits .globl m .p2align 2 m: .word 0 .size m, 4 .type c,@object .bss .globl c .p2align 2 c: .zero 4020 .size c, 4020 .type u,@object .globl u .p2align 2 u: .zero 4020 .size u, 4020 .type v,@object .globl v .p2align 2 v: .zero 4020 .size v, 4020 .type n,@object .section .sbss,"aw",@nobits .globl n .p2align 2 n: .word 0 .size n, 4 .type _sysy_start,@object .bss .globl _sysy_start .p2align 3 _sysy_start: .zero 16 .size _sysy_start, 16 .type _sysy_end,@object .globl _sysy_end .p2align 3 _sysy_end: .zero 16 .size _sysy_end, 16 .type _sysy_l1,@object .globl _sysy_l1 .p2align 2 _sysy_l1: .zero 4096 .size _sysy_l1, 4096 .type _sysy_l2,@object .globl _sysy_l2 .p2align 2 _sysy_l2: .zero 4096 .size _sysy_l2, 4096 .type _sysy_h,@object .globl _sysy_h .p2align 2 _sysy_h: .zero 4096 .size _sysy_h, 4096 .type _sysy_m,@object .globl _sysy_m .p2align 2 _sysy_m: .zero 4096 .size _sysy_m, 4096 .type _sysy_s,@object .globl _sysy_s .p2align 2 _sysy_s: .zero 4096 .size _sysy_s, 4096 .type _sysy_us,@object .globl _sysy_us .p2align 2 _sysy_us: .zero 4096 .size _sysy_us, 4096 .type _sysy_idx,@object .section .sbss,"aw",@nobits .globl _sysy_idx .p2align 2 _sysy_idx: .word 0 .size _sysy_idx, 4 .ident "Debian clang version 14.0.6" .section ".note.GNU-stack","",@progbits .addrsig