user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<mult_mat_mat>:
  endbr64
  sub    $0x78,%rsp
  mov    %rdx,%rax
  movss  (%rsi),%xmm11
  movss  0x10(%rsi),%xmm4
  movss  (%rax),%xmm13
  movss  0x4(%rax),%xmm5
  movaps %xmm11,%xmm0
  movaps %xmm4,%xmm1
  movss  0x20(%rsi),%xmm2
  movss  0x8(%rax),%xmm3
  mulss  %xmm5,%xmm1
  movss  0x30(%rsi),%xmm10
  movss  0xc(%rax),%xmm12
  movaps %xmm5,%xmm6
  mulss  %xmm13,%xmm0
  movss  0x14(%rsi),%xmm9
  movss  0x24(%rsi),%xmm7
  mov    %fs:0x28,%rdx
  mov    %rdx,0x68(%rsp)
  xor    %edx,%edx
  movss  0x34(%rsi),%xmm8
  movss  0x18(%rsi),%xmm15
  mulss  %xmm9,%xmm6
  movss  0x28(%rsi),%xmm14
  movss  %xmm7,0x8(%rsp)
  movss  %xmm15,0x14(%rsp)
  mulss  %xmm5,%xmm15
  movss  %xmm8,0xc(%rsp)
  addss  %xmm1,%xmm0
  movaps %xmm2,%xmm1
  movss  %xmm14,0x18(%rsp)
  mulss  %xmm3,%xmm1
  addss  %xmm1,%xmm0
  movaps %xmm10,%xmm1
  mulss  %xmm12,%xmm1
  addss  %xmm1,%xmm0
  movss  0x4(%rsi),%xmm1
  movss  %xmm0,0x20(%rsp)
  movaps %xmm13,%xmm0
  mulss  %xmm1,%xmm0
  addss  %xmm6,%xmm0
  movaps %xmm7,%xmm6
  movaps %xmm14,%xmm7
  mulss  %xmm3,%xmm6
  movaps %xmm11,%xmm14
  mulss  %xmm3,%xmm7
  addss  %xmm6,%xmm0
  movaps %xmm8,%xmm6
  movss  0x38(%rsi),%xmm8
  mulss  %xmm12,%xmm6
  movss  %xmm8,0x1c(%rsp)
  addss  %xmm6,%xmm0
  movaps %xmm15,%xmm6
  movaps %xmm4,%xmm15
  movss  %xmm0,0x24(%rsp)
  movss  0x8(%rsi),%xmm0
  movss  %xmm0,0x10(%rsp)
  mulss  %xmm13,%xmm0
  addss  %xmm0,%xmm6
  movaps %xmm7,%xmm0
  movss  0x2c(%rsi),%xmm7
  mulss  %xmm7,%xmm3
  addss  %xmm6,%xmm0
  movaps %xmm8,%xmm6
  movss  0x1c(%rsi),%xmm8
  mulss  %xmm12,%xmm6
  mulss  %xmm8,%xmm5
  addss  %xmm6,%xmm0
  movss  0x3c(%rsi),%xmm6
  mulss  %xmm6,%xmm12
  movss  %xmm0,0x28(%rsp)
  movss  0xc(%rsi),%xmm0
  lea    0x20(%rsp),%rsi
  mulss  %xmm0,%xmm13
  addss  %xmm13,%xmm5
  addss  %xmm5,%xmm3
  addss  %xmm12,%xmm3
  movss  %xmm3,0x2c(%rsp)
  movss  0x14(%rax),%xmm5
  movss  0x10(%rax),%xmm13
  movss  0x18(%rax),%xmm3
  movss  0x1c(%rax),%xmm12
  mulss  %xmm13,%xmm14
  mulss  %xmm5,%xmm15
  addss  %xmm14,%xmm15
  movaps %xmm2,%xmm14
  mulss  %xmm3,%xmm14
  addss  %xmm15,%xmm14
  movaps %xmm10,%xmm15
  mulss  %xmm12,%xmm15
  addss  %xmm15,%xmm14
  movaps %xmm9,%xmm15
  mulss  %xmm5,%xmm15
  movss  %xmm14,0x30(%rsp)
  movaps %xmm1,%xmm14
  mulss  %xmm13,%xmm14
  addss  %xmm14,%xmm15
  movss  0x8(%rsp),%xmm14
  mulss  %xmm3,%xmm14
  addss  %xmm15,%xmm14
  movss  0xc(%rsp),%xmm15
  mulss  %xmm12,%xmm15
  addss  %xmm15,%xmm14
  movss  0x14(%rsp),%xmm15
  mulss  %xmm5,%xmm15
  movss  %xmm14,0x34(%rsp)
  movss  0x10(%rsp),%xmm14
  mulss  %xmm8,%xmm5
  mulss  %xmm13,%xmm14
  mulss  %xmm0,%xmm13
  addss  %xmm14,%xmm15
  movss  0x18(%rsp),%xmm14
  addss  %xmm13,%xmm5
  movss  0x20(%rax),%xmm13
  mulss  %xmm3,%xmm14
  mulss  %xmm7,%xmm3
  addss  %xmm15,%xmm14
  movss  0x1c(%rsp),%xmm15
  addss  %xmm5,%xmm3
  movss  0x24(%rax),%xmm5
  mulss  %xmm12,%xmm15
  mulss  %xmm6,%xmm12
  addss  %xmm15,%xmm14
  movaps %xmm4,%xmm15
  mulss  %xmm5,%xmm15
  addss  %xmm12,%xmm3
  movss  0x2c(%rax),%xmm12
  movss  %xmm14,0x38(%rsp)
  movaps %xmm11,%xmm14
  mulss  %xmm13,%xmm14
  movss  %xmm3,0x3c(%rsp)
  movss  0x28(%rax),%xmm3
  addss  %xmm14,%xmm15
  movaps %xmm2,%xmm14
  mulss  %xmm3,%xmm14
  addss  %xmm15,%xmm14
  movaps %xmm10,%xmm15
  mulss  %xmm12,%xmm15
  addss  %xmm15,%xmm14
  movaps %xmm9,%xmm15
  mulss  %xmm5,%xmm15
  movss  %xmm14,0x40(%rsp)
  movaps %xmm1,%xmm14
  mulss  %xmm13,%xmm14
  addss  %xmm14,%xmm15
  movss  0x8(%rsp),%xmm14
  mulss  %xmm3,%xmm14
  addss  %xmm15,%xmm14
  movss  0xc(%rsp),%xmm15
  mulss  %xmm12,%xmm15
  addss  %xmm15,%xmm14
  movss  0x14(%rsp),%xmm15
  mulss  %xmm5,%xmm15
  movss  %xmm14,0x44(%rsp)
  movss  0x10(%rsp),%xmm14
  mulss  %xmm8,%xmm5
  mulss  %xmm13,%xmm14
  mulss  %xmm0,%xmm13
  addss  %xmm14,%xmm15
  movss  0x18(%rsp),%xmm14
  addss  %xmm13,%xmm5
  movss  0x30(%rax),%xmm13
  mulss  %xmm3,%xmm14
  mulss  %xmm7,%xmm3
  mulss  %xmm13,%xmm11
  mulss  %xmm13,%xmm1
  mulss  %xmm13,%xmm0
  addss  %xmm15,%xmm14
  movss  0x1c(%rsp),%xmm15
  addss  %xmm5,%xmm3
  movss  0x38(%rax),%xmm5
  mulss  %xmm12,%xmm15
  mulss  %xmm6,%xmm12
  mulss  %xmm5,%xmm2
  mulss  %xmm5,%xmm7
  addss  %xmm15,%xmm14
  addss  %xmm12,%xmm3
  movss  0x34(%rax),%xmm12
  mulss  %xmm12,%xmm4
  movss  %xmm14,0x48(%rsp)
  movss  %xmm3,0x4c(%rsp)
  movss  0x3c(%rax),%xmm3
  mulss  %xmm12,%xmm9
  xor    %eax,%eax
  mulss  %xmm12,%xmm8
  mulss  %xmm3,%xmm10
  mulss  %xmm3,%xmm6
  addss  %xmm11,%xmm4
  addss  %xmm9,%xmm1
  addss  %xmm8,%xmm0
  addss  %xmm4,%xmm2
  addss  %xmm7,%xmm0
  addss  %xmm10,%xmm2
  addss  %xmm6,%xmm0
  movss  %xmm2,0x50(%rsp)
  movss  0x8(%rsp),%xmm2
  mulss  %xmm5,%xmm2
  movss  %xmm0,0x5c(%rsp)
  addss  %xmm2,%xmm1
  movss  0xc(%rsp),%xmm2
  mulss  %xmm3,%xmm2
  addss  %xmm2,%xmm1
  movss  0x14(%rsp),%xmm2
  mulss  %xmm12,%xmm2
  movss  %xmm1,0x54(%rsp)
  movss  0x10(%rsp),%xmm1
  mulss  %xmm13,%xmm1
  addss  %xmm2,%xmm1
  movss  0x18(%rsp),%xmm2
  mulss  %xmm5,%xmm2
  addss  %xmm2,%xmm1
  movss  0x1c(%rsp),%xmm2
  mulss  %xmm3,%xmm2
  addss  %xmm2,%xmm1
  movss  %xmm1,0x58(%rsp)
  call   <load_mat@plt>
  mov    0x68(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L9
  add    $0x78,%rsp
  ret
L9:
  call   <__stack_chk_fail@plt>
```

assistant: ```c
void mult_mat_mat(float M[16], const float N[16], const float O[16]) {
  float T[16];
  T[0] = N[0] * O[0] + N[4] * O[1] + N[8] * O[2] + N[12] * O[3];
  T[1] = N[1] * O[0] + N[5] * O[1] + N[9] * O[2] + N[13] * O[3];
  T[2] = N[2] * O[0] + N[6] * O[1] + N[10] * O[2] + N[14] * O[3];
  T[3] = N[3] * O[0] + N[7] * O[1] + N[11] * O[2] + N[15] * O[3];
  T[4] = N[0] * O[4] + N[4] * O[5] + N[8] * O[6] + N[12] * O[7];
  T[5] = N[1] * O[4] + N[5] * O[5] + N[9] * O[6] + N[13] * O[7];
  T[6] = N[2] * O[4] + N[6] * O[5] + N[10] * O[6] + N[14] * O[7];
  T[7] = N[3] * O[4] + N[7] * O[5] + N[11] * O[6] + N[15] * O[7];
  T[8] = N[0] * O[8] + N[4] * O[9] + N[8] * O[10] + N[12] * O[11];
  T[9] = N[1] * O[8] + N[5] * O[9] + N[9] * O[10] + N[13] * O[11];
  T[10] = N[2] * O[8] + N[6] * O[9] + N[10] * O[10] + N[14] * O[11];
  T[11] = N[3] * O[8] + N[7] * O[9] + N[11] * O[10] + N[15] * O[11];
  T[12] = N[0] * O[12] + N[4] * O[13] + N[8] * O[14] + N[12] * O[15];
  T[13] = N[1] * O[12] + N[5] * O[13] + N[9] * O[14] + N[13] * O[15];
  T[14] = N[2] * O[12] + N[6] * O[13] + N[10] * O[14] + N[14] * O[15];
  T[15] = N[3] * O[12] + N[7] * O[13] + N[11] * O[14] + N[15] * O[15];
  load_mat(M, T);
}
```