user: 提供的汇编代码用C语言表示会是什么样子:

```asm
<s_cvt_tran_mat2pmat>:
  endbr64
  push   %r15
  neg    %edx
  push   %r14
  and    $0x3,%edx
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x60,%rsp
  cmp    %esi,%edx
  cmovg  %esi,%edx
  mov    %edi,-0x14(%rsp)
  mov    0x98(%rsp),%r14
  mov    %r9d,0x44(%rsp)
  sub    %edx,%esi
  mov    %esi,0x40(%rsp)
  test   %edx,%edx
  jle    L116
  test   %edi,%edi
  jle    L173
  mov    %r9d,%r10d
  movslq %edi,%rdi
  lea    (%r9,%r9,1),%r9d
  mov    $0x2,%ecx
  xor    %eax,%eax
L113:
  movss  (%r8,%rax,4),%xmm0
  mov    %rax,%rsi
  shl    $0x4,%rsi
  movss  %xmm0,(%r14,%rsi,1)
  cmp    $0x1,%edx
  je     L128
  lea    (%r10,%rax,1),%esi
  movslq %esi,%rsi
  movss  (%r8,%rsi,4),%xmm0
  lea    -0x1(%rcx),%esi
  movss  %xmm0,(%r14,%rsi,4)
  cmp    $0x3,%edx
  jne    L128
  lea    (%r9,%rax,1),%esi
  movslq %esi,%rsi
  movss  (%r8,%rsi,4),%xmm0
  mov    %ecx,%esi
  movss  %xmm0,(%r14,%rsi,4)
L128:
  add    $0x1,%rax
  add    $0x4,%ecx
  cmp    %rdi,%rax
  jne    L113
L173:
  mov    0x44(%rsp),%eax
  imul   %edx,%eax
  cltq
  lea    (%r8,%rax,4),%r8
  mov    0xa0(%rsp),%eax
  lea    -0x4(%rdx,%rax,4),%eax
  cltq
  lea    (%r14,%rax,4),%r14
L116:
  mov    0x40(%rsp),%eax
  sub    $0x3,%eax
  mov    %eax,0x4(%rsp)
  test   %eax,%eax
  jle    L7
  mov    -0x14(%rsp),%edx
  movl   $0x0,-0x28(%rsp)
  xor    %r12d,%r12d
  movl   $0x0,-0x18(%rsp)
  mov    %r12d,%r15d
  mov    %r14,%r12
  lea    -0x3(%rdx),%eax
  mov    %eax,(%rsp)
  mov    0x44(%rsp),%eax
  lea    0x0(,%rax,4),%ebx
  mov    %eax,-0x24(%rsp)
  mov    %ebx,0x8(%rsp)
  mov    0xa0(%rsp),%ebx
  shl    $0x2,%ebx
  mov    %ebx,0xc(%rsp)
  lea    (%rax,%rax,1),%ebx
  mov    %ebx,-0x20(%rsp)
  add    %eax,%ebx
  lea    -0x4(%rdx),%eax
  mov    %eax,0x1c(%rsp)
  shr    $0x2,%eax
  lea    0x1(%rax),%edx
  mov    %ebx,-0x1c(%rsp)
  shl    $0x4,%rax
  mov    %rdx,%rbx
  lea    0x0(,%rdx,4),%rsi
  mov    %edx,0x28(%rsp)
  shl    $0x4,%rdx
  mov    %rdx,0x10(%rsp)
  mov    %ebx,%edx
  mov    %ebx,%edi
  shr    $0x2,%edx
  and    $0xfffffffc,%edi
  mov    %rax,0x48(%rsp)
  lea    0x0(,%rbx,4),%eax
  sub    $0x1,%edx
  mov    %eax,0x18(%rsp)
  lea    0x40(%r14),%rax
  add    $0x1,%rdx
  mov    %rsi,-0x30(%rsp)
  shl    $0x6,%rdx
  mov    %edi,0x2c(%rsp)
  mov    %rdx,0x20(%rsp)
  lea    0x0(,%rdi,4),%edx
  movslq %edx,%rdx
  mov    %rax,0x50(%rsp)
  mov    %rdx,0x38(%rsp)
  mov    %edi,%edx
  shl    $0x4,%edx
  movslq %edx,%rdx
  mov    %rdx,0x30(%rsp)
  nopw   0x0(%rax,%rax,1)
L10:
  mov    (%rsp),%eax
  test   %eax,%eax
  jle    L19
  mov    -0x30(%rsp),%r10
  movslq -0x24(%rsp),%r13
  movslq %r15d,%rbp
  movslq -0x28(%rsp),%rbx
  mov    0x10(%rsp),%rdx
  lea    (%r12,%rbp,4),%rax
  lea    0x0(%r13,%r10,1),%r9
  lea    (%r8,%r13,4),%rcx
  movslq -0x20(%rsp),%r14
  add    %rbp,%rdx
  mov    %rbx,-0x10(%rsp)
  lea    (%r8,%rbx,4),%rsi
  lea    (%r8,%r9,4),%r9
  movslq -0x1c(%rsp),%rbx
  lea    (%r12,%rdx,4),%r11
  cmp    %r9,%rax
  lea    (%r8,%r14,4),%rdx
  mov    %rbx,-0x8(%rsp)
  lea    (%r8,%rbx,4),%rdi
  setae  %bl
  cmp    %r11,%rcx
  setae  %r9b
  or     %r9d,%ebx
  mov    -0x10(%rsp),%r9
  add    %r10,%r9
  lea    (%r8,%r9,4),%r9
  cmp    %r9,%rax
  setae  %r10b
  cmp    %r11,%rsi
  setae  %r9b
  or     %r10d,%r9d
  and    %ebx,%r9d
  cmpl   $0xb,0x1c(%rsp)
  seta   %r10b
  and    %r10d,%r9d
  mov    -0x30(%rsp),%r10
  add    %r14,%r10
  lea    (%r8,%r10,4),%r10
  cmp    %r10,%rax
  setae  %r10b
  cmp    %r11,%rdx
  setae  %bl
  or     %ebx,%r10d
  test   %r10b,%r9b
  je     L139
  mov    -0x8(%rsp),%rbx
  add    -0x30(%rsp),%rbx
  lea    (%r8,%rbx,4),%r9
  cmp    %r9,%rax
  setae  %r9b
  cmp    %r11,%rdi
  setae  %r10b
  or     %r9b,%r10b
  je     L139
  mov    0x20(%rsp),%r10
  xor    %r9d,%r9d
  nopl   0x0(%rax,%rax,1)
L306:
  movups (%rsi,%r9,1),%xmm4
  movups (%rcx,%r9,1),%xmm3
  add    $0x100,%rax
  movups 0x10(%rsi,%r9,1),%xmm6
  movups 0x20(%rsi,%r9,1),%xmm1
  movaps %xmm4,%xmm9
  movaps %xmm3,%xmm13
  movups 0x10(%rdx,%r9,1),%xmm7
  movups 0x30(%rdx,%r9,1),%xmm12
  shufps $0x88,%xmm6,%xmm9
  shufps $0xdd,%xmm6,%xmm4
  movaps %xmm1,%xmm2
  movups 0x30(%rsi,%r9,1),%xmm6
  movaps %xmm4,%xmm8
  movaps %xmm9,%xmm0
  shufps $0x88,%xmm6,%xmm2
  shufps $0xdd,%xmm6,%xmm1
  shufps $0xdd,%xmm1,%xmm4
  movups 0x10(%rcx,%r9,1),%xmm6
  shufps $0x88,%xmm1,%xmm8
  movups 0x20(%rcx,%r9,1),%xmm1
  shufps $0xdd,%xmm2,%xmm9
  shufps $0x88,%xmm2,%xmm0
  shufps $0x88,%xmm6,%xmm13
  shufps $0xdd,%xmm6,%xmm3
  movups 0x30(%rcx,%r9,1),%xmm6
  movaps %xmm3,%xmm5
  movaps %xmm1,%xmm2
  movaps %xmm4,-0x78(%rsp)
  shufps $0x88,%xmm6,%xmm2
  shufps $0xdd,%xmm6,%xmm1
  movaps %xmm13,%xmm6
  shufps $0xdd,%xmm1,%xmm3
  shufps $0xdd,%xmm2,%xmm13
  shufps $0x88,%xmm2,%xmm6
  movups (%rdx,%r9,1),%xmm2
  shufps $0x88,%xmm1,%xmm5
  movups 0x20(%rdx,%r9,1),%xmm1
  movaps %xmm2,%xmm11
  shufps $0xdd,%xmm7,%xmm2
  shufps $0x88,%xmm7,%xmm11
  movaps %xmm1,%xmm7
  movaps %xmm11,%xmm15
  shufps $0xdd,%xmm12,%xmm1
  shufps $0x88,%xmm12,%xmm7
  shufps $0xdd,%xmm7,%xmm11
  shufps $0x88,%xmm7,%xmm15
  movaps %xmm2,%xmm7
  shufps $0xdd,%xmm1,%xmm2
  movaps %xmm2,-0x68(%rsp)
  movups (%rdi,%r9,1),%xmm2
  shufps $0x88,%xmm1,%xmm7
  movups 0x10(%rdi,%r9,1),%xmm12
  movups 0x20(%rdi,%r9,1),%xmm1
  movaps %xmm7,%xmm4
  movaps %xmm2,%xmm7
  shufps $0x88,%xmm12,%xmm7
  shufps $0xdd,%xmm12,%xmm2
  movaps %xmm7,%xmm10
  movups 0x30(%rdi,%r9,1),%xmm12
  movaps %xmm1,%xmm7
  movaps %xmm10,%xmm14
  add    $0x40,%r9
  shufps $0x88,%xmm12,%xmm7
  shufps $0xdd,%xmm7,%xmm10
  shufps $0x88,%xmm7,%xmm14
  movaps %xmm2,%xmm7
  shufps $0xdd,%xmm12,%xmm1
  shufps $0xdd,%xmm1,%xmm2
  shufps $0x88,%xmm1,%xmm7
  movaps %xmm0,%xmm1
  unpcklps %xmm9,%xmm1
  unpckhps %xmm9,%xmm0
  movaps %xmm15,%xmm9
  unpcklps %xmm11,%xmm9
  unpckhps %xmm11,%xmm15
  movaps %xmm14,%xmm11
  unpcklps %xmm10,%xmm11
  unpckhps %xmm10,%xmm14
  movaps %xmm6,%xmm12
  movaps -0x78(%rsp),%xmm10
  unpcklps %xmm13,%xmm12
  unpckhps %xmm13,%xmm6
  movaps %xmm8,%xmm13
  movaps %xmm11,-0x58(%rsp)
  unpcklps %xmm10,%xmm13
  unpckhps %xmm10,%xmm8
  movaps %xmm5,%xmm10
  unpcklps %xmm3,%xmm10
  unpckhps %xmm3,%xmm5
  movaps -0x68(%rsp),%xmm3
  movaps %xmm4,%xmm11
  unpcklps %xmm3,%xmm11
  unpckhps %xmm3,%xmm4
  movaps %xmm7,%xmm3
  unpcklps %xmm2,%xmm3
  unpckhps %xmm2,%xmm7
  movaps %xmm0,%xmm2
  movaps %xmm3,-0x78(%rsp)
  unpcklps %xmm8,%xmm2
  unpckhps %xmm8,%xmm0
  movaps %xmm1,%xmm3
  movaps %xmm6,%xmm8
  unpcklps %xmm13,%xmm3
  unpckhps %xmm13,%xmm1
  unpcklps %xmm5,%xmm8
  movaps %xmm12,%xmm13
  unpckhps %xmm5,%xmm6
  movaps -0x58(%rsp),%xmm5
  unpcklps %xmm10,%xmm13
  unpckhps %xmm10,%xmm12
  movaps %xmm8,-0x68(%rsp)
  movaps %xmm9,%xmm10
  movaps %xmm15,%xmm8
  unpckhps %xmm4,%xmm15
  unpcklps %xmm11,%xmm10
  movaps %xmm6,-0x48(%rsp)
  unpckhps %xmm11,%xmm9
  movaps %xmm15,%xmm11
  movaps -0x78(%rsp),%xmm15
  movaps %xmm5,%xmm6
  unpcklps %xmm4,%xmm8
  movaps %xmm14,%xmm4
  unpckhps %xmm7,%xmm14
  unpcklps %xmm15,%xmm6
  unpckhps %xmm15,%xmm5
  unpcklps %xmm7,%xmm4
  movaps %xmm14,%xmm15
  movaps %xmm3,%xmm7
  movaps %xmm0,%xmm14
  unpcklps %xmm10,%xmm7
  unpckhps %xmm10,%xmm3
  unpcklps %xmm11,%xmm14
  unpckhps %xmm11,%xmm0
  movaps %xmm1,%xmm10
  movaps %xmm12,%xmm11
  unpcklps %xmm9,%xmm10
  unpckhps %xmm9,%xmm1
  unpcklps %xmm5,%xmm11
  unpckhps %xmm5,%xmm12
  movaps %xmm2,%xmm9
  movaps -0x68(%rsp),%xmm5
  unpckhps %xmm8,%xmm2
  unpcklps %xmm8,%xmm9
  movaps %xmm14,%xmm8
  movaps %xmm13,%xmm14
  unpcklps %xmm6,%xmm14
  unpckhps %xmm6,%xmm13
  movaps %xmm12,%xmm6
  movaps %xmm5,%xmm12
  unpckhps %xmm4,%xmm5
  movaps %xmm13,-0x78(%rsp)
  movaps %xmm11,%xmm13
  unpcklps %xmm4,%xmm12
  movaps -0x48(%rsp),%xmm4
  movaps %xmm4,%xmm11
  unpckhps %xmm15,%xmm4
  unpcklps %xmm15,%xmm11
  movaps %xmm7,%xmm15
  unpcklps %xmm14,%xmm15
  movups %xmm15,-0x100(%rax)
  movaps %xmm7,%xmm15
  movaps -0x78(%rsp),%xmm7
  unpckhps %xmm14,%xmm15
  movaps %xmm3,%xmm14
  unpcklps %xmm7,%xmm14
  unpckhps %xmm7,%xmm3
  movups %xmm15,-0xf0(%rax)
  movups %xmm14,-0xe0(%rax)
  movups %xmm3,-0xd0(%rax)
  movaps %xmm10,%xmm3
  unpckhps %xmm13,%xmm10
  unpcklps %xmm13,%xmm3
  movups %xmm10,-0xb0(%rax)
  movups %xmm3,-0xc0(%rax)
  movaps %xmm1,%xmm3
  unpckhps %xmm6,%xmm1
  movups %xmm1,-0x90(%rax)
  movaps %xmm9,%xmm1
  unpcklps %xmm6,%xmm3
  unpckhps %xmm12,%xmm9
  unpcklps %xmm12,%xmm1
  movups %xmm3,-0xa0(%rax)
  movups %xmm1,-0x80(%rax)
  movaps %xmm2,%xmm1
  unpckhps %xmm5,%xmm2
  unpcklps %xmm5,%xmm1
  movups %xmm9,-0x70(%rax)
  movups %xmm1,-0x60(%rax)
  movaps %xmm8,%xmm1
  unpckhps %xmm11,%xmm8
  unpcklps %xmm11,%xmm1
  movups %xmm2,-0x50(%rax)
  movups %xmm1,-0x40(%rax)
  movaps %xmm0,%xmm1
  unpckhps %xmm4,%xmm0
  unpcklps %xmm4,%xmm1
  movups %xmm8,-0x30(%rax)
  movups %xmm1,-0x20(%rax)
  movups %xmm0,-0x10(%rax)
  cmp    %r10,%r9
  jne    L306
  mov    0x2c(%rsp),%ebx
  cmp    %ebx,0x28(%rsp)
  je     L80
  mov    0x38(%rsp),%rbx
  mov    -0x10(%rsp),%rax
  mov    -0x8(%rsp),%rdx
  mov    (%rsp),%r10d
  add    %rbx,%rax
  add    %rbx,%r13
  add    %rbx,%r14
  mov    %rbx,%r9
  lea    (%r8,%rax,4),%rdi
  mov    0x30(%rsp),%rax
  add    %rbx,%rdx
  lea    (%r8,%r13,4),%rsi
  lea    (%r8,%r14,4),%rcx
  lea    (%r8,%rdx,4),%rdx
  add    %rbp,%rax
  lea    (%r12,%rax,4),%rax
  nopl   0x0(%rax)
L207:
  movss  (%rdi),%xmm0
  add    $0x4,%r9
  add    $0x10,%rdi
  add    $0x40,%rax
  add    $0x10,%rsi
  add    $0x10,%rcx
  add    $0x10,%rdx
  movss  %xmm0,-0x40(%rax)
  movss  -0x10(%rsi),%xmm0
  movss  %xmm0,-0x3c(%rax)
  movss  -0x10(%rcx),%xmm0
  movss  %xmm0,-0x38(%rax)
  movss  -0x10(%rdx),%xmm0
  movss  %xmm0,-0x34(%rax)
  movss  -0xc(%rdi),%xmm0
  movss  %xmm0,-0x30(%rax)
  movss  -0xc(%rsi),%xmm0
  movss  %xmm0,-0x2c(%rax)
  movss  -0xc(%rcx),%xmm0
  movss  %xmm0,-0x28(%rax)
  movss  -0xc(%rdx),%xmm0
  movss  %xmm0,-0x24(%rax)
  movss  -0x8(%rdi),%xmm0
  movss  %xmm0,-0x20(%rax)
  movss  -0x8(%rsi),%xmm0
  movss  %xmm0,-0x1c(%rax)
  movss  -0x8(%rcx),%xmm0
  movss  %xmm0,-0x18(%rax)
  movss  -0x8(%rdx),%xmm0
  movss  %xmm0,-0x14(%rax)
  movss  -0x4(%rdi),%xmm0
  movss  %xmm0,-0x10(%rax)
  movss  -0x4(%rsi),%xmm0
  movss  %xmm0,-0xc(%rax)
  movss  -0x4(%rcx),%xmm0
  movss  %xmm0,-0x8(%rax)
  movss  -0x4(%rdx),%xmm0
  movss  %xmm0,-0x4(%rax)
  cmp    %r9d,%r10d
  jg     L207
L80:
  mov    0x18(%rsp),%eax
L293:
  mov    -0x14(%rsp),%ebx
  cmp    %eax,%ebx
  jle    L109
  sub    %eax,%ebx
  movslq %eax,%rbp
  movslq %r15d,%rcx
  movslq -0x28(%rsp),%rdi
  mov    %ebx,%r10d
  lea    (%rcx,%rbp,4),%rdx
  lea    (%r10,%rbp,1),%rsi
  lea    (%r12,%rdx,4),%rdx
  add    %rbp,%rdi
  lea    (%rcx,%rsi,4),%rcx
  movslq -0x20(%rsp),%rsi
  lea    (%r8,%rdi,4),%r14
  lea    (%r12,%rcx,4),%r11
  movslq -0x24(%rsp),%rcx
  add    %rbp,%rsi
  lea    (%r8,%rsi,4),%r9
  add    %rbp,%rcx
  mov    %r9,-0x78(%rsp)
  movslq -0x1c(%rsp),%r9
  lea    (%r8,%rcx,4),%r13
  add    %r10,%rcx
  lea    (%r8,%rcx,4),%rcx
  add    %rbp,%r9
  cmp    %rcx,%rdx
  lea    (%r8,%r9,4),%rbp
  mov    %rbp,-0x68(%rsp)
  setae  %bpl
  cmp    %r11,%r13
  setae  %cl
  add    %r10,%rdi
  or     %ecx,%ebp
  lea    (%r8,%rdi,4),%rcx
  cmp    %rcx,%rdx
  setae  %cl
  cmp    %r11,%r14
  setae  %dil
  or     %edi,%ecx
  lea    -0x1(%rbx),%edi
  and    %ebp,%ecx
  cmp    $0x2,%edi
  mov    -0x78(%rsp),%rbp
  seta   %dil
  add    %r10,%rsi
  lea    (%r8,%rsi,4),%rsi
  and    %edi,%ecx
  cmp    %rsi,%rdx
  setae  %sil
  cmp    %r11,%rbp
  setae  %dil
  or     %edi,%esi
  test   %sil,%cl
  je     L270
  add    %r10,%r9
  mov    -0x68(%rsp),%rdi
  lea    (%r8,%r9,4),%rcx
  cmp    %rcx,%rdx
  setae  %cl
  cmp    %r11,%rdi
  setae  %sil
  or     %cl,%sil
  je     L270
  movups (%r14),%xmm0
  movups 0x0(%rbp),%xmm3
  movups 0x0(%r13),%xmm1
  movups (%rdi),%xmm4
  movaps %xmm0,%xmm2
  unpckhps %xmm3,%xmm0
  unpcklps %xmm3,%xmm2
  movaps %xmm1,%xmm3
  unpckhps %xmm4,%xmm1
  unpcklps %xmm4,%xmm3
  movaps %xmm2,%xmm4
  unpckhps %xmm3,%xmm2
  unpcklps %xmm3,%xmm4
  movups %xmm2,0x10(%rdx)
  movaps %xmm0,%xmm2
  unpckhps %xmm1,%xmm0
  unpcklps %xmm1,%xmm2
  movups %xmm4,(%rdx)
  movups %xmm2,0x20(%rdx)
  movups %xmm0,0x30(%rdx)
  mov    %ebx,%edx
  and    $0xfffffffc,%edx
  add    %edx,%eax
  cmp    %ebx,%edx
  je     L109
  mov    -0x28(%rsp),%edi
  lea    0x0(,%rax,4),%edx
  mov    -0x24(%rsp),%r11d
  mov    -0x20(%rsp),%r14d
  mov    -0x1c(%rsp),%r10d
  lea    (%rdi,%rax,1),%ecx
  mov    -0x14(%rsp),%ebx
  movslq %ecx,%rcx
  movss  (%r8,%rcx,4),%xmm0
  lea    (%r15,%rdx,1),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  lea    (%r11,%rax,1),%ecx
  movslq %ecx,%rcx
  movss  (%r8,%rcx,4),%xmm0
  lea    0x1(%rdx,%r15,1),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  lea    (%r14,%rax,1),%ecx
  movslq %ecx,%rcx
  movss  (%r8,%rcx,4),%xmm0
  lea    0x2(%rdx,%r15,1),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  lea    (%r10,%rax,1),%ecx
  movslq %ecx,%rcx
  movss  (%r8,%rcx,4),%xmm0
  lea    0x3(%rdx,%r15,1),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  lea    0x1(%rax),%ecx
  cmp    %ecx,%ebx
  jle    L109
  lea    (%rdi,%rcx,1),%esi
  add    $0x2,%eax
  movslq %esi,%rsi
  movss  (%r8,%rsi,4),%xmm0
  lea    0x4(%rdx,%r15,1),%esi
  movslq %esi,%rsi
  movss  %xmm0,(%r12,%rsi,4)
  lea    (%r11,%rcx,1),%esi
  movslq %esi,%rsi
  movss  (%r8,%rsi,4),%xmm0
  lea    0x5(%rdx,%r15,1),%esi
  movslq %esi,%rsi
  movss  %xmm0,(%r12,%rsi,4)
  lea    (%r14,%rcx,1),%esi
  add    %r10d,%ecx
  movslq %esi,%rsi
  movslq %ecx,%rcx
  movss  (%r8,%rsi,4),%xmm0
  lea    0x6(%rdx,%r15,1),%esi
  movslq %esi,%rsi
  movss  %xmm0,(%r12,%rsi,4)
  movss  (%r8,%rcx,4),%xmm0
  lea    0x7(%rdx,%r15,1),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  cmp    %eax,%ebx
  jle    L109
  lea    (%rdi,%rax,1),%ecx
  movslq %ecx,%rcx
  movss  (%r8,%rcx,4),%xmm0
  lea    0x8(%rdx,%r15,1),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  lea    (%r11,%rax,1),%ecx
  movslq %ecx,%rcx
  movss  (%r8,%rcx,4),%xmm0
  lea    0x9(%rdx,%r15,1),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  lea    (%r14,%rax,1),%ecx
  add    %r10d,%eax
  movslq %ecx,%rcx
  cltq
  movss  (%r8,%rcx,4),%xmm0
  lea    0xa(%rdx,%r15,1),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  movss  (%r8,%rax,4),%xmm0
  lea    0xb(%rdx,%r15,1),%eax
  cltq
  movss  %xmm0,(%r12,%rax,4)
L109:
  mov    0x8(%rsp),%eax
  addl   $0x4,-0x18(%rsp)
  add    %eax,-0x28(%rsp)
  mov    -0x18(%rsp),%ebx
  add    %eax,-0x24(%rsp)
  add    0xc(%rsp),%r15d
  add    %eax,-0x20(%rsp)
  add    %eax,-0x1c(%rsp)
  cmp    0x4(%rsp),%ebx
  jl     L10
  mov    0x40(%rsp),%eax
  mov    %r12,%r14
  sub    $0x4,%eax
  shr    $0x2,%eax
  lea    0x4(,%rax,4),%eax
L44:
  mov    0x40(%rsp),%ebx
  cmp    %eax,%ebx
  jle    L277
  mov    %ebx,%r9d
  movslq -0x14(%rsp),%rbx
  sub    %eax,%r9d
  test   %ebx,%ebx
  jle    L277
  mov    0xa0(%rsp),%edx
  mov    0x44(%rsp),%r15d
  lea    0x3(%rax),%edi
  lea    0x1(%rax),%r10d
  lea    0x2(%rax),%ebp
  imul   %eax,%edx
  imul   %r15d,%edi
  imul   %r15d,%r10d
  movslq %edx,%rcx
  imul   %r15d,%ebp
  add    $0x3,%edx
  lea    (%r14,%rcx,4),%rsi
  mov    %r15d,%ecx
  imul   %eax,%ecx
  xor    %eax,%eax
  movslq %ecx,%rcx
  lea    (%r8,%rcx,4),%r11
  nopl   (%rax)
L328:
  movss  (%r11,%rax,4),%xmm0
  movss  %xmm0,(%rsi)
  cmp    $0x1,%r9d
  je     L118
  lea    (%r10,%rax,1),%ecx
  movslq %ecx,%rcx
  movss  (%r8,%rcx,4),%xmm0
  lea    -0x2(%rdx),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r14,%rcx,4)
  cmp    $0x2,%r9d
  je     L118
  lea    0x0(%rbp,%rax,1),%ecx
  movslq %ecx,%rcx
  movss  (%r8,%rcx,4),%xmm0
  lea    -0x1(%rdx),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r14,%rcx,4)
  cmp    $0x3,%r9d
  jle    L118
  movslq %edi,%rcx
  movss  (%r8,%rcx,4),%xmm0
  movslq %edx,%rcx
  movss  %xmm0,(%r14,%rcx,4)
L118:
  add    $0x1,%rax
  add    $0x10,%rsi
  add    $0x1,%edi
  add    $0x4,%edx
  cmp    %rax,%rbx
  jne    L328
L277:
  add    $0x60,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopw   0x0(%rax,%rax,1)
L139:
  mov    0x48(%rsp),%rbx
  lea    0x0(%rbp,%rbx,1),%r9
  mov    0x50(%rsp),%rbx
  lea    (%rbx,%r9,4),%r9
  nopl   0x0(%rax,%rax,1)
L259:
  movss  (%rsi),%xmm0
  add    $0x40,%rax
  add    $0x10,%rsi
  add    $0x10,%rcx
  add    $0x10,%rdx
  add    $0x10,%rdi
  movss  %xmm0,-0x40(%rax)
  movss  -0x10(%rcx),%xmm0
  movss  %xmm0,-0x3c(%rax)
  movss  -0x10(%rdx),%xmm0
  movss  %xmm0,-0x38(%rax)
  movss  -0x10(%rdi),%xmm0
  movss  %xmm0,-0x34(%rax)
  movss  -0xc(%rsi),%xmm0
  movss  %xmm0,-0x30(%rax)
  movss  -0xc(%rcx),%xmm0
  movss  %xmm0,-0x2c(%rax)
  movss  -0xc(%rdx),%xmm0
  movss  %xmm0,-0x28(%rax)
  movss  -0xc(%rdi),%xmm0
  movss  %xmm0,-0x24(%rax)
  movss  -0x8(%rsi),%xmm0
  movss  %xmm0,-0x20(%rax)
  movss  -0x8(%rcx),%xmm0
  movss  %xmm0,-0x1c(%rax)
  movss  -0x8(%rdx),%xmm0
  movss  %xmm0,-0x18(%rax)
  movss  -0x8(%rdi),%xmm0
  movss  %xmm0,-0x14(%rax)
  movss  -0x4(%rsi),%xmm0
  movss  %xmm0,-0x10(%rax)
  movss  -0x4(%rcx),%xmm0
  movss  %xmm0,-0xc(%rax)
  movss  -0x4(%rdx),%xmm0
  movss  %xmm0,-0x8(%rax)
  movss  -0x4(%rdi),%xmm0
  movss  %xmm0,-0x4(%rax)
  cmp    %rax,%r9
  jne    L259
  jmp    L80
  nopl   0x0(%rax)
L270:
  lea    0x0(,%rax,4),%edx
  movss  (%r14),%xmm0
  mov    -0x78(%rsp),%rbx
  lea    (%rdx,%r15,1),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  lea    0x1(%rdx,%r15,1),%ecx
  movss  0x0(%r13),%xmm0
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  lea    0x2(%rdx,%r15,1),%ecx
  movss  (%rbx),%xmm0
  mov    -0x68(%rsp),%rbx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  lea    0x3(%rdx,%r15,1),%ecx
  movss  (%rbx),%xmm0
  mov    -0x14(%rsp),%ebx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  lea    0x1(%rax),%ecx
  cmp    %ebx,%ecx
  jge    L109
  mov    -0x28(%rsp),%edi
  mov    -0x24(%rsp),%r11d
  mov    -0x20(%rsp),%r14d
  mov    -0x1c(%rsp),%r10d
  lea    (%rcx,%rdi,1),%esi
  movslq %esi,%rsi
  movss  (%r8,%rsi,4),%xmm0
  lea    0x4(%rdx,%r15,1),%esi
  movslq %esi,%rsi
  movss  %xmm0,(%r12,%rsi,4)
  lea    (%rcx,%r11,1),%esi
  movslq %esi,%rsi
  movss  (%r8,%rsi,4),%xmm0
  lea    0x5(%rdx,%r15,1),%esi
  movslq %esi,%rsi
  movss  %xmm0,(%r12,%rsi,4)
  lea    (%rcx,%r14,1),%esi
  add    %r10d,%ecx
  movslq %esi,%rsi
  movslq %ecx,%rcx
  movss  (%r8,%rsi,4),%xmm0
  lea    0x6(%rdx,%r15,1),%esi
  movslq %esi,%rsi
  movss  %xmm0,(%r12,%rsi,4)
  movss  (%r8,%rcx,4),%xmm0
  lea    0x7(%rdx,%r15,1),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  lea    0x2(%rax),%ecx
  cmp    %ebx,%ecx
  jge    L109
  lea    (%rcx,%rdi,1),%esi
  add    $0x3,%eax
  movslq %esi,%rsi
  movss  (%r8,%rsi,4),%xmm0
  lea    0x8(%rdx,%r15,1),%esi
  movslq %esi,%rsi
  movss  %xmm0,(%r12,%rsi,4)
  lea    (%rcx,%r11,1),%esi
  movslq %esi,%rsi
  movss  (%r8,%rsi,4),%xmm0
  lea    0x9(%rdx,%r15,1),%esi
  movslq %esi,%rsi
  movss  %xmm0,(%r12,%rsi,4)
  lea    (%rcx,%r14,1),%esi
  add    %r10d,%ecx
  movslq %esi,%rsi
  movslq %ecx,%rcx
  movss  (%r8,%rsi,4),%xmm0
  lea    0xa(%rdx,%r15,1),%esi
  movslq %esi,%rsi
  movss  %xmm0,(%r12,%rsi,4)
  movss  (%r8,%rcx,4),%xmm0
  lea    0xb(%rdx,%r15,1),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  cmp    %ebx,%eax
  jge    L109
  lea    (%rdi,%rax,1),%ecx
  movslq %ecx,%rcx
  movss  (%r8,%rcx,4),%xmm0
  lea    0xc(%rdx,%r15,1),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  lea    (%r11,%rax,1),%ecx
  movslq %ecx,%rcx
  movss  (%r8,%rcx,4),%xmm0
  lea    0xd(%rdx,%r15,1),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  lea    (%r14,%rax,1),%ecx
  add    %r10d,%eax
  movslq %ecx,%rcx
  cltq
  movss  (%r8,%rcx,4),%xmm0
  lea    0xe(%rdx,%r15,1),%ecx
  movslq %ecx,%rcx
  movss  %xmm0,(%r12,%rcx,4)
  movss  (%r8,%rax,4),%xmm0
  lea    0xf(%rdx,%r15,1),%eax
  cltq
  movss  %xmm0,(%r12,%rax,4)
  jmp    L109
  nopl   0x0(%rax)
L19:
  xor    %eax,%eax
  jmp    L293
L7:
  xor    %eax,%eax
  jmp    L44
```

assistant: ```c
void s_cvt_tran_mat2pmat(int row, int col, int offset, int bs_dummy, float *A, int lda, float *pA, int sda) {
  const int bs = 4;
  int i, ii, j, row0, row1, row2;
  row0 = (bs - offset % bs) % bs;
  if (row0 > col)
    row0 = col;
  row1 = col - row0;
  ii = 0;
  if (row0 > 0) {
    for (j = 0; j < row; j++) {
      for (i = 0; i < row0; i++) {
        pA[i + j * bs + ii * sda] = A[j + (i + ii) * lda];
      }
    }
    A += row0 * lda;
    pA += row0 + bs * (sda - 1);
  }
  ii = 0;
  for (; ii < row1 - 3; ii += bs) {
    j = 0;
    for (; j < row - 3; j += 4) {
      pA[0 + (j + 0) * bs + ii * sda] = A[j + 0 + (ii + 0) * lda];
      pA[1 + (j + 0) * bs + ii * sda] = A[j + 0 + (ii + 1) * lda];
      pA[2 + (j + 0) * bs + ii * sda] = A[j + 0 + (ii + 2) * lda];
      pA[3 + (j + 0) * bs + ii * sda] = A[j + 0 + (ii + 3) * lda];
      pA[0 + (j + 1) * bs + ii * sda] = A[j + 1 + (ii + 0) * lda];
      pA[1 + (j + 1) * bs + ii * sda] = A[j + 1 + (ii + 1) * lda];
      pA[2 + (j + 1) * bs + ii * sda] = A[j + 1 + (ii + 2) * lda];
      pA[3 + (j + 1) * bs + ii * sda] = A[j + 1 + (ii + 3) * lda];
      pA[0 + (j + 2) * bs + ii * sda] = A[j + 2 + (ii + 0) * lda];
      pA[1 + (j + 2) * bs + ii * sda] = A[j + 2 + (ii + 1) * lda];
      pA[2 + (j + 2) * bs + ii * sda] = A[j + 2 + (ii + 2) * lda];
      pA[3 + (j + 2) * bs + ii * sda] = A[j + 2 + (ii + 3) * lda];
      pA[0 + (j + 3) * bs + ii * sda] = A[j + 3 + (ii + 0) * lda];
      pA[1 + (j + 3) * bs + ii * sda] = A[j + 3 + (ii + 1) * lda];
      pA[2 + (j + 3) * bs + ii * sda] = A[j + 3 + (ii + 2) * lda];
      pA[3 + (j + 3) * bs + ii * sda] = A[j + 3 + (ii + 3) * lda];
    }
    for (; j < row; j++) {
      pA[0 + (j + 0) * bs + ii * sda] = A[j + 0 + (ii + 0) * lda];
      pA[1 + (j + 0) * bs + ii * sda] = A[j + 0 + (ii + 1) * lda];
      pA[2 + (j + 0) * bs + ii * sda] = A[j + 0 + (ii + 2) * lda];
      pA[3 + (j + 0) * bs + ii * sda] = A[j + 0 + (ii + 3) * lda];
    }
  }
  if (ii < row1) {
    row2 = row1 - ii;
    if (bs < row2)
      row2 = bs;
    for (j = 0; j < row; j++) {
      for (i = 0; i < row2; i++) {
        pA[i + j * bs + ii * sda] = A[j + (i + ii) * lda];
      }
    }
  }
}
```