user: Converte this assembly snippet into its equivalent C code:

```asm
<case30>:
  endbr64
  sub    $0x18,%rsp
  mov    D55(%rip),%rax
  xor    %edi,%edi
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0x1,%edi
  cvtsi2sd %rax,%xmm0
  addsd  D467(%rip),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  movsd  0x8(%rsp),%xmm2
  mov    $0x2,%edi
  cvtsi2sd %rax,%xmm0
  mov    D55(%rip),%rax
  addsd  %xmm0,%xmm2
  movq   %rax,%xmm0
  movsd  %xmm2,0x8(%rsp)
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0x3,%edi
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  movsd  0x8(%rsp),%xmm4
  mov    $0x4,%edi
  cvtsi2sd %rax,%xmm0
  mov    D55(%rip),%rax
  addsd  %xmm0,%xmm4
  movq   %rax,%xmm0
  movsd  %xmm4,0x8(%rsp)
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0x5,%edi
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  movsd  0x8(%rsp),%xmm6
  mov    $0x6,%edi
  cvtsi2sd %rax,%xmm0
  mov    D55(%rip),%rax
  addsd  %xmm0,%xmm6
  movq   %rax,%xmm0
  movsd  %xmm6,0x8(%rsp)
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0x7,%edi
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  movsd  0x8(%rsp),%xmm1
  mov    $0x8,%edi
  cvtsi2sd %rax,%xmm0
  mov    D55(%rip),%rax
  addsd  %xmm0,%xmm1
  movq   %rax,%xmm0
  movsd  %xmm1,0x8(%rsp)
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0x9,%edi
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  movsd  0x8(%rsp),%xmm5
  mov    $0xa,%edi
  cvtsi2sd %rax,%xmm0
  mov    D55(%rip),%rax
  addsd  %xmm0,%xmm5
  movq   %rax,%xmm0
  movsd  %xmm5,0x8(%rsp)
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0xb,%edi
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  movsd  0x8(%rsp),%xmm3
  mov    $0xc,%edi
  cvtsi2sd %rax,%xmm0
  mov    D55(%rip),%rax
  addsd  %xmm0,%xmm3
  movq   %rax,%xmm0
  movsd  %xmm3,0x8(%rsp)
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0xd,%edi
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  movsd  0x8(%rsp),%xmm2
  mov    $0xe,%edi
  cvtsi2sd %rax,%xmm0
  mov    D55(%rip),%rax
  addsd  %xmm0,%xmm2
  movq   %rax,%xmm0
  movsd  %xmm2,0x8(%rsp)
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0xf,%edi
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  movsd  0x8(%rsp),%xmm6
  mov    $0x10,%edi
  cvtsi2sd %rax,%xmm0
  mov    D55(%rip),%rax
  addsd  %xmm0,%xmm6
  movq   %rax,%xmm0
  movsd  %xmm6,0x8(%rsp)
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0x11,%edi
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  movsd  0x8(%rsp),%xmm1
  mov    $0x12,%edi
  cvtsi2sd %rax,%xmm0
  mov    D55(%rip),%rax
  addsd  %xmm0,%xmm1
  movq   %rax,%xmm0
  movsd  %xmm1,0x8(%rsp)
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0x13,%edi
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  movsd  0x8(%rsp),%xmm5
  mov    $0x14,%edi
  cvtsi2sd %rax,%xmm0
  mov    D55(%rip),%rax
  addsd  %xmm0,%xmm5
  movq   %rax,%xmm0
  movsd  %xmm5,0x8(%rsp)
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0x15,%edi
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  movsd  0x8(%rsp),%xmm3
  mov    $0x16,%edi
  cvtsi2sd %rax,%xmm0
  mov    D55(%rip),%rax
  addsd  %xmm0,%xmm3
  movq   %rax,%xmm0
  movsd  %xmm3,0x8(%rsp)
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0x17,%edi
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  movsd  0x8(%rsp),%xmm2
  mov    $0x18,%edi
  cvtsi2sd %rax,%xmm0
  mov    D55(%rip),%rax
  addsd  %xmm0,%xmm2
  movq   %rax,%xmm0
  movsd  %xmm2,0x8(%rsp)
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0x19,%edi
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  movsd  0x8(%rsp),%xmm7
  mov    $0x1a,%edi
  cvtsi2sd %rax,%xmm0
  mov    D55(%rip),%rax
  addsd  %xmm0,%xmm7
  movq   %rax,%xmm0
  movsd  %xmm7,0x8(%rsp)
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0x1b,%edi
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  movsd  0x8(%rsp),%xmm1
  mov    $0x1c,%edi
  cvtsi2sd %rax,%xmm0
  mov    D55(%rip),%rax
  addsd  %xmm0,%xmm1
  movq   %rax,%xmm0
  movsd  %xmm1,0x8(%rsp)
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  mov    $0x1d,%edi
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  mov    D55(%rip),%rax
  movsd  %xmm0,0x8(%rsp)
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vsume@plt>
  mov    %rax,%rdi
  mov    D172(%rip),%rax
  movq   %rax,%xmm0
  call   <vcons@plt>
  mov    %eax,%edi
  call   <vnorm@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  add    $0x18,%rsp
  ret
```

tool_calls: name: unpack_data
arguments: tag: D55
type_infered: f64
name: unpack_data
arguments: tag: D172
type_infered: f64
name: unpack_data
arguments: tag: D467
type_infered: f64

tool: D55: 1

tool: D172: 2

tool: D467: 0

assistant: ```c
double case30() {
  double acc = 0.0;
  acc += vnorm(vcons((long)vsume(vcons(0, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(1, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(2, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(3, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(4, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(5, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(6, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(7, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(8, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(9, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(10, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(11, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(12, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(13, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(14, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(15, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(16, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(17, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(18, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(19, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(20, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(21, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(22, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(23, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(24, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(25, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(26, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(27, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(28, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(29, 1.0)), 2.0));
  return (acc);
}
```