user: Please show me the C implementation that matches the assembly code listed below:

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

assistant: ```c
void mat4_multiplyScalarAndAdd(float *dst, float *b, float scale) {
  dst[0] = dst[0] + (b[0] * scale);
  dst[1] = dst[1] + (b[1] * scale);
  dst[2] = dst[2] + (b[2] * scale);
  dst[3] = dst[3] + (b[3] * scale);
  dst[4] = dst[4] + (b[4] * scale);
  dst[5] = dst[5] + (b[5] * scale);
  dst[6] = dst[6] + (b[6] * scale);
  dst[7] = dst[7] + (b[7] * scale);
  dst[8] = dst[8] + (b[8] * scale);
  dst[9] = dst[9] + (b[9] * scale);
  dst[10] = dst[10] + (b[10] * scale);
  dst[11] = dst[11] + (b[11] * scale);
  dst[12] = dst[12] + (b[12] * scale);
  dst[13] = dst[13] + (b[13] * scale);
  dst[14] = dst[14] + (b[14] * scale);
  dst[15] = dst[15] + (b[15] * scale);
}
```