user: Translate the below assembly code into C programming language:

```asm
<pattern_whiteSquares>:
  endbr64
  movss  D21(%rip),%xmm0
  movss  %xmm0,(%rdi)
  movss  D23(%rip),%xmm2
  movss  %xmm2,0x4(%rdi)
  movss  %xmm0,0x8(%rdi)
  movss  D45(%rip),%xmm3
  movss  %xmm3,0xc(%rdi)
  movss  %xmm0,0x10(%rdi)
  movss  D32(%rip),%xmm4
  movss  %xmm4,0x14(%rdi)
  movss  %xmm2,0x18(%rdi)
  movss  D14(%rip),%xmm1
  movss  %xmm1,0x1c(%rdi)
  movss  %xmm3,0x20(%rdi)
  movss  %xmm1,0x24(%rdi)
  movss  %xmm4,0x28(%rdi)
  movss  %xmm1,0x2c(%rdi)
  movss  %xmm1,0x30(%rdi)
  movss  %xmm4,0x34(%rdi)
  movss  %xmm1,0x38(%rdi)
  movss  %xmm3,0x3c(%rdi)
  movss  %xmm1,0x40(%rdi)
  movss  %xmm2,0x44(%rdi)
  movss  %xmm4,0x48(%rdi)
  movss  %xmm0,0x4c(%rdi)
  movss  %xmm3,0x50(%rdi)
  movss  %xmm0,0x54(%rdi)
  movss  %xmm2,0x58(%rdi)
  movss  %xmm0,0x5c(%rdi)
  ret
```

tool_calls: name: retrieve_data
arguments: data_tag: D21
datatype: byte[4]
name: retrieve_data
arguments: data_tag: D23
datatype: byte[4]
name: retrieve_data
arguments: data_tag: D45
datatype: byte[4]
name: retrieve_data
arguments: data_tag: D32
datatype: byte[4]
name: retrieve_data
arguments: data_tag: D14
datatype: byte[4]

tool: {"D21": [0x00,0xf8,0x17,0x45]}

tool: {"D23": [0x00,0xf0,0xef,0x44]}

tool: {"D45": [0x00,0xf0,0x8f,0x44]}

tool: {"D32": [0x00,0xc0,0xbf,0x43]}

tool: {"D14": [0x00,0x00,0xff,0x42]}

assistant: ```c
void pattern_whiteSquares(float *p) {
  float up_res = 8.0;
  int up_res_pattern_block_size = up_res * 32.0;
  int up_res_pattern_block_size_2 = up_res_pattern_block_size / 2;
  p[0] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 9;
  p[1] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 7;
  p[2] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 9;
  p[3] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 4;
  p[4] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 9;
  p[5] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 1;
  p[6] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 7;
  p[7] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 0;
  p[8] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 4;
  p[9] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 0;
  p[10] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 1;
  p[11] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 0;
  p[12] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 0;
  p[13] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 1;
  p[14] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 0;
  p[15] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 4;
  p[16] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 0;
  p[17] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 7;
  p[18] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 1;
  p[19] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 9;
  p[20] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 4;
  p[21] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 9;
  p[22] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 7;
  p[23] = up_res_pattern_block_size_2 - 0.5 + up_res_pattern_block_size * 9;
  return;
}
```