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

```asm
<main>:
  endbr64
  push   %r13
  pxor   %xmm0,%xmm0
  push   %r12
  push   %rbp
  mov    $0x64,%ebp
  push   %rbx
  sub    $0x58,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x48(%rsp)
  xor    %eax,%eax
  movl   $0x0,0x40(%rsp)
  movq   $0x0,0x38(%rsp)
  movq   $0x0,0x8(%rsp)
  movq   $0x0,(%rsp)
  movups %xmm0,0x18(%rsp)
  movups %xmm0,0x28(%rsp)
  nopl   0x0(%rax,%rax,1)
L41:
  mov    $0x6,%edi
  call   <randRange@plt>
  mov    $0x6,%edi
  mov    %eax,%ebx
  call   <randRange@plt>
  pxor   %xmm1,%xmm1
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm1
  lea    (%rbx,%rax,1),%edx
  cvtsi2sd %ebx,%xmm0
  addsd  (%rsp),%xmm0
  movslq %edx,%rcx
  imul   %edx,%edx
  addl   $0x1,0x10(%rsp,%rcx,4)
  addsd  %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  cvtsi2sd %edx,%xmm0
  addsd  0x8(%rsp),%xmm0
  movsd  %xmm1,(%rsp)
  movsd  %xmm0,0x8(%rsp)
  sub    $0x1,%ebp
  jne    L41
  mov    $0x2,%ebx
  lea    0x10(%rsp),%r13
  lea    D20(%rip),%r12
  nopl   0x0(%rax)
L4:
  mov    0x0(%r13,%rbx,4),%ebp
  mov    %ebx,%esi
  mov    %r12,%rdi
  xor    %eax,%eax
  add    $0x1,%rbx
  mov    %ebp,%edx
  call   <printf@plt>
  mov    %ebp,%esi
  mov    $0x2a,%edi
  call   <printN@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  cmp    $0xd,%rbx
  jne    L4
  mov    $0xa,%edi
  call   <putchar@plt>
  movsd  (%rsp),%xmm1
  pxor   %xmm5,%xmm5
  movsd  D28(%rip),%xmm0
  movapd %xmm1,%xmm2
  mulsd  %xmm1,%xmm1
  divsd  %xmm0,%xmm2
  divsd  %xmm0,%xmm1
  movsd  0x8(%rsp),%xmm0
  subsd  %xmm1,%xmm0
  divsd  D49(%rip),%xmm0
  ucomisd %xmm0,%xmm5
  ja     L46
  movapd %xmm0,%xmm1
  sqrtsd %xmm1,%xmm1
L11:
  movapd %xmm2,%xmm0
  mov    $0x1,%eax
  movsd  %xmm1,(%rsp)
  lea    D25(%rip),%rdi
  call   <printf@plt>
  movsd  (%rsp),%xmm1
  mov    $0x1,%eax
  lea    D0(%rip),%rdi
  movapd %xmm1,%xmm0
  call   <printf@plt>
  mov    0x48(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L29
  add    $0x58,%rsp
  xor    %eax,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
L46:
  movsd  %xmm2,(%rsp)
  call   <sqrt@plt>
  movsd  (%rsp),%xmm2
  movapd %xmm0,%xmm1
  jmp    L11
L29:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: disassemble_data
arguments: data_label: D20
datatype: string
name: disassemble_data
arguments: data_label: D28
datatype: f32[2]
name: disassemble_data
arguments: data_label: D49
datatype: f32[2]
name: disassemble_data
arguments: data_label: D25
datatype: string
name: disassemble_data
arguments: data_label: D0
datatype: string

tool: D20: %d: %d	

tool: {"D28": [0.0,3.390625]}

tool: {"D49": [0.0,3.38671875]}

tool: D25: rata-rata: %f


tool: D0: std deviasi: %f


assistant: ```c
int main() {
  int i;
  int d1, d2;
  int a[13];
  double sum = 0;
  double sumsq = 0;
  int n = 0;
  double mean;
  double stdev;
  for (i = 2; i <= 12; i = i + 1)
    a[i] = 0;
  for (i = 0; i < 100; i = i + 1) {
    d1 = randRange(6);
    d2 = randRange(6);
    a[d1 + d2] = a[d1 + d2] + 1;
    sum = sum + d1 + d2;
    sumsq = sumsq + (d1 + d2) * (d1 + d2);
    n = n + 1;
  }
  for (i = 2; i <= 12; i = i + 1) {
    printf("%d: %d\t", i, a[i]);
    printN('*', a[i]);
    printf("\n");
  }
  printf("\n");
  mean = sum / n;
  stdev = sqrt((sumsq - sum * sum / n) / (n - 1));
  printf("rata-rata: %f\n", mean);
  printf("std deviasi: %f\n", stdev);
  return 0;
}
```