user: What is the c source code of the assembly code below?

```asm
<drawSnowMan>:
  endbr64
  sub    $0x8,%rsp
  movss  D141(%rip),%xmm2
  movaps %xmm2,%xmm1
  movaps %xmm2,%xmm0
  call   <glColor3f@plt>
  pxor   %xmm2,%xmm2
  movss  D151(%rip),%xmm1
  movaps %xmm2,%xmm0
  call   <glTranslatef@plt>
  mov    $0x14,%esi
  mov    $0x14,%edi
  movss  D151(%rip),%xmm0
  call   <glutSolidSphere@plt>
  movss  D141(%rip),%xmm4
  pxor   %xmm3,%xmm3
  movaps %xmm3,%xmm2
  movaps %xmm3,%xmm0
  movaps %xmm4,%xmm1
  call   <glTranslatef@plt>
  mov    $0x14,%esi
  mov    $0x14,%edi
  movss  D138(%rip),%xmm0
  call   <glutSolidSphere@plt>
  xor    %eax,%eax
  call   <glPushMatrix@plt>
  pxor   %xmm3,%xmm3
  movaps %xmm3,%xmm2
  movaps %xmm3,%xmm1
  movaps %xmm3,%xmm0
  call   <glColor3f@plt>
  movss  D67(%rip),%xmm5
  movss  D142(%rip),%xmm2
  movss  D111(%rip),%xmm1
  movaps %xmm5,%xmm0
  call   <glTranslatef@plt>
  mov    $0xa,%esi
  mov    $0xa,%edi
  movss  D67(%rip),%xmm5
  movaps %xmm5,%xmm0
  call   <glutSolidSphere@plt>
  pxor   %xmm3,%xmm3
  movss  D9(%rip),%xmm0
  movaps %xmm3,%xmm2
  movaps %xmm3,%xmm1
  call   <glTranslatef@plt>
  mov    $0xa,%esi
  mov    $0xa,%edi
  movss  D67(%rip),%xmm5
  movaps %xmm5,%xmm0
  call   <glutSolidSphere@plt>
  xor    %eax,%eax
  call   <glPopMatrix@plt>
  movss  D134(%rip),%xmm2
  movss  D141(%rip),%xmm4
  movaps %xmm2,%xmm1
  movaps %xmm4,%xmm0
  call   <glColor3f@plt>
  movss  D141(%rip),%xmm4
  pxor   %xmm3,%xmm3
  movaps %xmm3,%xmm2
  movaps %xmm3,%xmm0
  movaps %xmm4,%xmm1
  call   <glRotatef@plt>
  mov    $0x2,%esi
  mov    $0xa,%edi
  movss  D134(%rip),%xmm1
  movss  D25(%rip),%xmm0
  call   <glutSolidCone@plt>
  movss  D141(%rip),%xmm4
  add    $0x8,%rsp
  movaps %xmm4,%xmm2
  movaps %xmm4,%xmm1
  movaps %xmm4,%xmm0
  jmp    10b0 <glColor3f@plt>
```

tool_calls: name: parse_data
arguments: tag: D141
type_guessed: byte[4]
name: parse_data
arguments: tag: D151
type_guessed: byte[4]
name: parse_data
arguments: tag: D138
type_guessed: byte[4]
name: parse_data
arguments: tag: D67
type_guessed: byte[4]
name: parse_data
arguments: tag: D142
type_guessed: byte[4]
name: parse_data
arguments: tag: D111
type_guessed: byte[4]
name: parse_data
arguments: tag: D9
type_guessed: byte[4]
name: parse_data
arguments: tag: D134
type_guessed: byte[4]
name: parse_data
arguments: tag: D25
type_guessed: byte[4]

tool: {"D141": [0x00,0x00,0x80,0x3f]}

tool: {"D151": [0x00,0x00,0x40,0x3f]}

tool: {"D138": [0x00,0x00,0x80,0x3e]}

tool: {"D67": [0xcd,0xcc,0x4c,0x3d]}

tool: {"D142": [0xec,0x51,0x38,0x3e]}

tool: {"D111": [0xcd,0xcc,0xcc,0x3d]}

tool: {"D9": [0xcd,0xcc,0xcc,0xbd]}

tool: {"D134": [0x00,0x00,0x00,0x3f]}

tool: {"D25": [0x0a,0xd7,0xa3,0x3d]}

assistant: ```c
void drawSnowMan() {
  glColor3f(1.0f, 1.0f, 1.0f);
  glTranslatef(0.0f, 0.75f, 0.0f);
  glutSolidSphere(0.75f, 20, 20);
  glTranslatef(0.0f, 1.0f, 0.0f);
  glutSolidSphere(0.25f, 20, 20);
  glPushMatrix();
  glColor3f(0.0f, 0.0f, 0.0f);
  glTranslatef(0.05f, 0.10f, 0.18f);
  glutSolidSphere(0.05f, 10, 10);
  glTranslatef(-0.1f, 0.0f, 0.0f);
  glutSolidSphere(0.05f, 10, 10);
  glPopMatrix();
  glColor3f(1.0f, 0.5f, 0.5f);
  glRotatef(0.0f, 1.0f, 0.0f, 0.0f);
  glutSolidCone(0.08f, 0.5f, 10, 2);
  glColor3f(1.0f, 1.0f, 1.0f);
}
```