user: 这段汇编代码用C语言表示是什么样的?

```asm
<mat4_scale>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %rdi,-0x8(%rbp)
  mov    %rsi,-0x10(%rbp)
  movss  %xmm0,-0x14(%rbp)
  mov    -0x10(%rbp),%rax
  movss  (%rax),%xmm0
  mulss  -0x14(%rbp),%xmm0
  mov    -0x8(%rbp),%rax
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x4,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0x4,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x8,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0x8,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0xc,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0xc,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x10,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0x10,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x14,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0x14,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x18,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0x18,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x1c,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0x1c,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x20,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0x20,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x24,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0x24,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x28,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0x28,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x2c,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0x2c,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x30,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0x30,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x34,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0x34,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x38,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0x38,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  add    $0x3c,%rax
  movss  (%rax),%xmm0
  mov    -0x8(%rbp),%rax
  add    $0x3c,%rax
  mulss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  pop    %rbp
  ret
```

assistant: ```c
float *mat4_scale(float *result, float *m, float scalar) {
  result[0] = m[0] * scalar;
  result[1] = m[1] * scalar;
  result[2] = m[2] * scalar;
  result[3] = m[3] * scalar;
  result[4] = m[4] * scalar;
  result[5] = m[5] * scalar;
  result[6] = m[6] * scalar;
  result[7] = m[7] * scalar;
  result[8] = m[8] * scalar;
  result[9] = m[9] * scalar;
  result[10] = m[10] * scalar;
  result[11] = m[11] * scalar;
  result[12] = m[12] * scalar;
  result[13] = m[13] * scalar;
  result[14] = m[14] * scalar;
  result[15] = m[15] * scalar;
  return result;
}
```