user: 请将以下的汇编代码转换成C语言代码：

```asm
<right_multiply44f44f>:
  endbr64
  movss  (%rdi),%xmm0
  movss  0x4(%rdi),%xmm4
  movss  0x8(%rdi),%xmm3
  movss  0xc(%rdi),%xmm2
  movaps %xmm0,%xmm1
  mulss  (%rsi),%xmm1
  movaps %xmm4,%xmm5
  mulss  0x10(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm3,%xmm5
  mulss  0x20(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm2,%xmm5
  mulss  0x30(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movss  %xmm1,(%rdi)
  movaps %xmm0,%xmm1
  mulss  0x4(%rsi),%xmm1
  movaps %xmm4,%xmm5
  mulss  0x14(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm3,%xmm5
  mulss  0x24(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm2,%xmm5
  mulss  0x34(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movss  %xmm1,0x4(%rdi)
  movaps %xmm0,%xmm1
  mulss  0x8(%rsi),%xmm1
  movaps %xmm4,%xmm5
  mulss  0x18(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm3,%xmm5
  mulss  0x28(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm2,%xmm5
  mulss  0x38(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movss  %xmm1,0x8(%rdi)
  mulss  0xc(%rsi),%xmm0
  mulss  0x1c(%rsi),%xmm4
  addss  %xmm4,%xmm0
  mulss  0x2c(%rsi),%xmm3
  addss  %xmm3,%xmm0
  mulss  0x3c(%rsi),%xmm2
  addss  %xmm2,%xmm0
  movss  %xmm0,0xc(%rdi)
  movss  0x10(%rdi),%xmm0
  movss  0x14(%rdi),%xmm4
  movss  0x18(%rdi),%xmm3
  movss  0x1c(%rdi),%xmm2
  movaps %xmm0,%xmm1
  mulss  (%rsi),%xmm1
  movaps %xmm4,%xmm5
  mulss  0x10(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm3,%xmm5
  mulss  0x20(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm2,%xmm5
  mulss  0x30(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movss  %xmm1,0x10(%rdi)
  movaps %xmm0,%xmm1
  mulss  0x4(%rsi),%xmm1
  movaps %xmm4,%xmm5
  mulss  0x14(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm3,%xmm5
  mulss  0x24(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm2,%xmm5
  mulss  0x34(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movss  %xmm1,0x14(%rdi)
  movaps %xmm0,%xmm1
  mulss  0x8(%rsi),%xmm1
  movaps %xmm4,%xmm5
  mulss  0x18(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm3,%xmm5
  mulss  0x28(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm2,%xmm5
  mulss  0x38(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movss  %xmm1,0x18(%rdi)
  mulss  0xc(%rsi),%xmm0
  mulss  0x1c(%rsi),%xmm4
  addss  %xmm4,%xmm0
  mulss  0x2c(%rsi),%xmm3
  addss  %xmm3,%xmm0
  mulss  0x3c(%rsi),%xmm2
  addss  %xmm2,%xmm0
  movss  %xmm0,0x1c(%rdi)
  movss  0x20(%rdi),%xmm0
  movss  0x24(%rdi),%xmm4
  movss  0x28(%rdi),%xmm3
  movss  0x2c(%rdi),%xmm2
  movaps %xmm0,%xmm1
  mulss  (%rsi),%xmm1
  movaps %xmm4,%xmm5
  mulss  0x10(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm3,%xmm5
  mulss  0x20(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm2,%xmm5
  mulss  0x30(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movss  %xmm1,0x20(%rdi)
  movaps %xmm0,%xmm1
  mulss  0x4(%rsi),%xmm1
  movaps %xmm4,%xmm5
  mulss  0x14(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm3,%xmm5
  mulss  0x24(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm2,%xmm5
  mulss  0x34(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movss  %xmm1,0x24(%rdi)
  movaps %xmm0,%xmm1
  mulss  0x8(%rsi),%xmm1
  movaps %xmm4,%xmm5
  mulss  0x18(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm3,%xmm5
  mulss  0x28(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm2,%xmm5
  mulss  0x38(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movss  %xmm1,0x28(%rdi)
  mulss  0xc(%rsi),%xmm0
  mulss  0x1c(%rsi),%xmm4
  addss  %xmm4,%xmm0
  mulss  0x2c(%rsi),%xmm3
  addss  %xmm3,%xmm0
  mulss  0x3c(%rsi),%xmm2
  addss  %xmm2,%xmm0
  movss  %xmm0,0x2c(%rdi)
  movss  0x30(%rdi),%xmm0
  movss  0x34(%rdi),%xmm4
  movss  0x38(%rdi),%xmm3
  movss  0x3c(%rdi),%xmm2
  movaps %xmm0,%xmm1
  mulss  (%rsi),%xmm1
  movaps %xmm4,%xmm5
  mulss  0x10(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm3,%xmm5
  mulss  0x20(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm2,%xmm5
  mulss  0x30(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movss  %xmm1,0x30(%rdi)
  movaps %xmm0,%xmm1
  mulss  0x4(%rsi),%xmm1
  movaps %xmm4,%xmm5
  mulss  0x14(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm3,%xmm5
  mulss  0x24(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm2,%xmm5
  mulss  0x34(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movss  %xmm1,0x34(%rdi)
  movaps %xmm0,%xmm1
  mulss  0x8(%rsi),%xmm1
  movaps %xmm4,%xmm5
  mulss  0x18(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm3,%xmm5
  mulss  0x28(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movaps %xmm2,%xmm5
  mulss  0x38(%rsi),%xmm5
  addss  %xmm5,%xmm1
  movss  %xmm1,0x38(%rdi)
  mulss  0xc(%rsi),%xmm0
  mulss  0x1c(%rsi),%xmm4
  addss  %xmm4,%xmm0
  mulss  0x2c(%rsi),%xmm3
  addss  %xmm3,%xmm0
  mulss  0x3c(%rsi),%xmm2
  addss  %xmm2,%xmm0
  movss  %xmm0,0x3c(%rdi)
  ret
```

assistant: ```c
void right_multiply44f44f(float *left, float *right) {
  register float cA = left[0];
  register float cB = left[1];
  register float cC = left[2];
  register float cD = left[3];
  left[0] = cA * right[0] + cB * right[4] + cC * right[8] + cD * right[12];
  left[1] = cA * right[1] + cB * right[5] + cC * right[9] + cD * right[13];
  left[2] = cA * right[2] + cB * right[6] + cC * right[10] + cD * right[14];
  left[3] = cA * right[3] + cB * right[7] + cC * right[11] + cD * right[15];
  cA = left[4];
  cB = left[5];
  cC = left[6];
  cD = left[7];
  left[4] = cA * right[0] + cB * right[4] + cC * right[8] + cD * right[12];
  left[5] = cA * right[1] + cB * right[5] + cC * right[9] + cD * right[13];
  left[6] = cA * right[2] + cB * right[6] + cC * right[10] + cD * right[14];
  left[7] = cA * right[3] + cB * right[7] + cC * right[11] + cD * right[15];
  cA = left[8];
  cB = left[9];
  cC = left[10];
  cD = left[11];
  left[8] = cA * right[0] + cB * right[4] + cC * right[8] + cD * right[12];
  left[9] = cA * right[1] + cB * right[5] + cC * right[9] + cD * right[13];
  left[10] = cA * right[2] + cB * right[6] + cC * right[10] + cD * right[14];
  left[11] = cA * right[3] + cB * right[7] + cC * right[11] + cD * right[15];
  cA = left[12];
  cB = left[13];
  cC = left[14];
  cD = left[15];
  left[12] = cA * right[0] + cB * right[4] + cC * right[8] + cD * right[12];
  left[13] = cA * right[1] + cB * right[5] + cC * right[9] + cD * right[13];
  left[14] = cA * right[2] + cB * right[6] + cC * right[10] + cD * right[14];
  left[15] = cA * right[3] + cB * right[7] + cC * right[11] + cD * right[15];
}
```