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

```asm
<main>:
  endbr64
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  lea    D100(%rip),%rbx
  sub    $0x38,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x28(%rsp)
  xor    %eax,%eax
  lea    0x20(%rsp),%r13
  lea    0x18(%rsp),%r12
  mov    D126(%rip),%rax
  movq   $0x0,0x8(%rsp)
  lea    0x10(%rsp),%rbp
  mov    %rax,(%rsp)
  jmp    L175
  nopl   (%rax)
L49:
  comisd D22(%rip),%xmm0
  jae    L197
  comisd D82(%rip),%xmm0
  jae    L179
  comisd D152(%rip),%xmm0
  jae    L189
  comisd D126(%rip),%xmm0
  jb     L158
  lea    D88(%rip),%rdi
  call   <printf@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  0x18(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm4
  nopw   0x0(%rax,%rax,1)
L158:
  addsd  %xmm3,%xmm1
  movsd  D126(%rip),%xmm5
  addsd  (%rsp),%xmm5
  addsd  %xmm4,%xmm1
  addsd  0x8(%rsp),%xmm1
  movsd  %xmm5,(%rsp)
  movsd  %xmm1,0x8(%rsp)
L175:
  mov    %r13,%rcx
  mov    %r12,%rdx
  mov    %rbp,%rsi
  mov    %rbx,%rdi
  call   <scanf@plt>
  test   %rax,%rax
  je     L66
  movsd  0x10(%rsp),%xmm1
  pxor   %xmm6,%xmm6
  movsd  0x18(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm4
  ucomisd %xmm6,%xmm1
  jp     L32
  jne    L32
  ucomisd %xmm6,%xmm3
  jp     L32
  jne    L32
  ucomisd %xmm6,%xmm4
  jp     L32
  je     L66
L32:
  movapd %xmm4,%xmm0
  movapd %xmm4,%xmm2
  divsd  D116(%rip),%xmm0
  divsd  D45(%rip),%xmm2
  addsd  D126(%rip),%xmm0
  addsd  D126(%rip),%xmm2
  mulsd  %xmm3,%xmm0
  mulsd  %xmm3,%xmm2
  addsd  %xmm2,%xmm0
  mulsd  D94(%rip),%xmm0
  comisd D45(%rip),%xmm0
  jbe    L49
  lea    D157(%rip),%rdi
  call   <printf@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  0x18(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm4
  jmp    L158
  nopw   0x0(%rax,%rax,1)
L197:
  lea    D26(%rip),%rdi
  call   <printf@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  0x18(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm4
  jmp    L158
  nopl   0x0(%rax,%rax,1)
L179:
  lea    D3(%rip),%rdi
  call   <printf@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  0x18(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm4
  jmp    L158
  nopl   0x0(%rax,%rax,1)
L189:
  lea    D141(%rip),%rdi
  call   <printf@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  0x18(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm4
  jmp    L158
  nopl   0x0(%rax,%rax,1)
L66:
  movsd  0x8(%rsp),%xmm0
  divsd  (%rsp),%xmm0
  comisd D22(%rip),%xmm0
  ja     L162
L106:
  mov    0x28(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L18
  add    $0x38,%rsp
  xor    %eax,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
L162:
  lea    D65(%rip),%rdi
  call   <printf@plt>
  jmp    L106
L18:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: label: D100
data_type: string
name: unpack_data
arguments: label: D126
data_type: f64[2]
name: unpack_data
arguments: label: D22
data_type: f32[4]
name: unpack_data
arguments: label: D82
data_type: f32[4]
name: unpack_data
arguments: label: D152
data_type: f32
name: unpack_data
arguments: label: D88
data_type: string
name: unpack_data
arguments: label: D116
data_type: f32[2]
name: unpack_data
arguments: label: D45
data_type: f32[4]
name: unpack_data
arguments: label: D94
data_type: f32[2]
name: unpack_data
arguments: label: D157
data_type: string
name: unpack_data
arguments: label: D26
data_type: string
name: unpack_data
arguments: label: D3
data_type: string
name: unpack_data
arguments: label: D141
data_type: string
name: unpack_data
arguments: label: D65
data_type: string

tool: D100: %lf%lf%lf

tool: {"D126": [1.0,30.0]}

tool: {"D22": [0.0,3.0625,0.0,2.6875]}

tool: {"D82": [0.0,2.6875,0.0,2.65625]}

tool: D152: 0

tool: D88: Nao vai da nao


tool: {"D116": [0.0,2.96875]}

tool: {"D45": [0.0,3.21875,0.0,1.75]}

tool: {"D94": [0.0,1.75]}

tool: D157: AQUI E BODYBUILDER!!


tool: D26: Ta saindo da jaula o monstro!


tool: D3: Bora, hora do show! BIIR!


tool: D141: E 13


tool: D65: 

Aqui nois constroi fibra rapaz! Nao e agua com musculo!


assistant: ```c
int main() {
  double w1, w2, r, d, e = 1, total = 0;
  while (scanf("%lf%lf%lf", &w1, &w2, &r)) {
    if (w1 == 0 && w2 == 0 && r == 0) {
      break;
    }
    d = (w2 * (1 + r / 30) + w2 * (1 + r / 60)) / 2;
    if (d > 60) {
      printf("AQUI E BODYBUILDER!!\n");
    } else if (d >= 40) {
      printf("Ta saindo da jaula o monstro!\n");
    } else if (d >= 14) {
      printf("Bora, hora do show! BIIR!\n");
    } else if (d >= 13) {
      printf("E 13\n");
    } else if (d >= 1) {
      printf("Nao vai da nao\n");
    }
    total += (w1 + w2 + r);
    e++;
  }
  if ((total / e) > 40) {
    printf("\n\nAqui nois constroi fibra rapaz! Nao e agua com musculo!\n");
  }
  return 0;
}
```