user: 请将这段汇编代码片段转换成等效的C代码:

```asm
<main>:
  endbr64
  push   %r15
  lea    D5(%rip),%rdi
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x38,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x28(%rsp)
  xor    %eax,%eax
  call   <puts@plt>
  lea    0x1c(%rsp),%rsi
  lea    D47(%rip),%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  mov    0x1c(%rsp),%eax
  test   %eax,%eax
  js     L70
  pxor   %xmm5,%xmm5
  xor    %r15d,%r15d
  xor    %r14d,%r14d
  xor    %ebp,%ebp
  movl   $0x0,0xc(%rsp)
  lea    D60(%rip),%r13
  lea    0x20(%rsp),%r12
  movsd  %xmm5,(%rsp)
  lea    D17(%rip),%rbx
  jmp    L91
  nopl   0x0(%rax,%rax,1)
L57:
  add    $0x1,%ebp
L64:
  add    $0x1,%r15d
  cmp    %r15d,%eax
  jl     L71
L91:
  mov    %r13,%rdi
  call   <puts@plt>
  xor    %eax,%eax
  mov    %r12,%rsi
  mov    %rbx,%rdi
  call   <scanf@plt>
  mov    0x1c(%rsp),%eax
  pxor   %xmm2,%xmm2
  movsd  0x20(%rsp),%xmm0
  comisd D6(%rip),%xmm0
  cvtsi2sd %eax,%xmm2
  movapd %xmm0,%xmm1
  divsd  %xmm2,%xmm1
  addsd  (%rsp),%xmm1
  movsd  %xmm1,(%rsp)
  jae    L57
  movsd  D6(%rip),%xmm4
  mov    D19(%rip),%rdx
  comisd %xmm0,%xmm4
  movq   %rdx,%xmm1
  jbe    L88
  comisd %xmm1,%xmm0
  jb     L88
  add    $0x1,%r15d
  addl   $0x1,0xc(%rsp)
  cmp    %r15d,%eax
  jge    L91
  nopl   (%rax)
L71:
  mov    0xc(%rsp),%edx
  lea    D57(%rip),%rdi
  xor    %eax,%eax
  mov    %r14d,%ecx
  mov    %ebp,%esi
  call   <printf@plt>
  movsd  (%rsp),%xmm0
  mov    $0x1,%eax
  lea    D69(%rip),%rdi
  call   <printf@plt>
  mov    0x28(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L10
  add    $0x38,%rsp
  xor    %eax,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  xchg   %ax,%ax
L88:
  xor    %ecx,%ecx
  comisd %xmm0,%xmm1
  seta   %cl
  add    %ecx,%r14d
  jmp    L64
L70:
  pxor   %xmm6,%xmm6
  movl   $0x0,0xc(%rsp)
  xor    %r14d,%r14d
  xor    %ebp,%ebp
  movsd  %xmm6,(%rsp)
  jmp    L71
L10:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: read_data
arguments: label: D5
type_guessed: string
name: read_data
arguments: label: D47
type_guessed: string
name: read_data
arguments: label: D60
type_guessed: string
name: read_data
arguments: label: D17
type_guessed: string
name: read_data
arguments: label: D6
type_guessed: f32[4]
name: read_data
arguments: label: D19
type_guessed: f32[2]
name: read_data
arguments: label: D57
type_guessed: string
name: read_data
arguments: label: D69
type_guessed: string

tool: D5: Please enter the total numbers of days to observed

tool: D47: %d

tool: D60: Please enter the tempretures

tool: D17: %lf

tool: {"D6": [0.0,3.33203125,0.0,3.21875]}

tool: {"D19": [0.0,3.21875]}

tool: D57: no of hot days %d
no of avg temp days %d
no of cold days %d


tool: D69: The averege is %f


assistant: ```c
main() {
  int days, count1 = 0, count3 = 0, count2 = 0;
  double temp;
  int i = 0;
  double avg = 0.0;
  printf("Please enter the total numbers of days to observed\n");
  scanf("%d", &days);
  while (i <= days) {
    printf("Please enter the tempretures\n");
    scanf("%lf", &temp);
    avg = avg + (double)temp / days;
    if (temp >= 85)
      count1 += 1;
    else if (temp < 85 && temp >= 60)
      count2 += 1;
    else if (temp < 60)
      count3 += 1;
    i = i + 1;
  }
  printf("no of hot days %d\nno of avg temp days %d\nno of cold days %d\n", count1, count2, count3);
  printf("The averege is %f\n", avg);
}
```