user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<main>:
  endbr64
  push   %rbx
  sub    $0x10,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x8(%rsp)
  xor    %eax,%eax
  lea    D192(%rip),%rdi
  call   <printf@plt>
  mov    %rsp,%rsi
  lea    D14(%rip),%rbx
  mov    %rbx,%rdi
  call   <scanf@plt>
  lea    D191(%rip),%rdi
  call   <printf@plt>
  lea    0x4(%rsp),%rsi
  mov    %rbx,%rdi
  call   <scanf@plt>
  movss  (%rsp),%xmm0
  movaps %xmm0,%xmm1
  mulss  %xmm0,%xmm1
  movss  0x4(%rsp),%xmm0
  divss  %xmm1,%xmm0
  movss  D45(%rip),%xmm1
  comiss %xmm0,%xmm1
  ja     L44
  comiss D45(%rip),%xmm0
  jb     L81
  movss  D133(%rip),%xmm1
  comiss %xmm0,%xmm1
  ja     L165
L81:
  comiss D133(%rip),%xmm0
  jb     L132
  movss  D35(%rip),%xmm1
  comiss %xmm0,%xmm1
  ja     L19
L132:
  comiss D35(%rip),%xmm0
  jb     L86
  movss  D124(%rip),%xmm1
  comiss %xmm0,%xmm1
  ja     L87
L86:
  comiss D124(%rip),%xmm0
  jb     L136
  movss  D132(%rip),%xmm1
  comiss %xmm0,%xmm1
  ja     L60
L136:
  comiss D132(%rip),%xmm0
  jb     L0
  movss  D144(%rip),%xmm1
  comiss %xmm0,%xmm1
  ja     L163
L0:
  comiss D144(%rip),%xmm0
  jbe    L63
  lea    D97(%rip),%rdi
  call   <printf@plt>
  jmp    L95
L44:
  lea    D22(%rip),%rdi
  call   <printf@plt>
L95:
  mov    0x8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L78
  mov    $0x0,%eax
  add    $0x10,%rsp
  pop    %rbx
  ret
L165:
  lea    D147(%rip),%rdi
  call   <printf@plt>
  jmp    L95
L19:
  lea    D77(%rip),%rdi
  call   <printf@plt>
  jmp    L95
L87:
  lea    D28(%rip),%rdi
  call   <printf@plt>
  jmp    L95
L60:
  lea    D121(%rip),%rdi
  call   <printf@plt>
  jmp    L95
L163:
  lea    D210(%rip),%rdi
  call   <printf@plt>
  jmp    L95
L63:
  lea    D190(%rip),%rdi
  call   <printf@plt>
  jmp    L95
L78:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: parse_data
arguments: label: D192
type_infered: string
name: parse_data
arguments: label: D14
type_infered: string
name: parse_data
arguments: label: D191
type_infered: string
name: parse_data
arguments: label: D45
type_infered: f32
name: parse_data
arguments: label: D133
type_infered: f32
name: parse_data
arguments: label: D35
type_infered: byte[4]
name: parse_data
arguments: label: D124
type_infered: byte[4]
name: parse_data
arguments: label: D132
type_infered: byte[4]
name: parse_data
arguments: label: D144
type_infered: byte[4]
name: parse_data
arguments: label: D97
type_infered: string
name: parse_data
arguments: label: D22
type_infered: string
name: parse_data
arguments: label: D147
type_infered: string
name: parse_data
arguments: label: D77
type_infered: string
name: parse_data
arguments: label: D28
type_infered: string
name: parse_data
arguments: label: D121
type_infered: string
name: parse_data
arguments: label: D210
type_infered: string
name: parse_data
arguments: label: D190
type_infered: string

tool: D192: please enter your height according to meter : 

tool: D14: %f

tool: D191: Please enter your weight according to kilogram : 

tool: D45: 16.5

tool: D133: 18.5

tool: {"D35": [0x00,0x00,0xc8,0x41]}

tool: {"D124": [0x00,0x00,0xf0,0x41]}

tool: {"D132": [0x00,0x00,0x0c,0x42]}

tool: {"D144": [0x00,0x00,0x20,0x42]}

tool: D97: Obese class3

tool: D22: Very severely underweight

tool: D147: Underweight

tool: D77: Normal

tool: D28: Overweight

tool: D121: Obese class1

tool: D210: Obese class2

tool: D190: Error

assistant: ```c
int main() {
  float height;
  float weight;
  float BMI;
  printf("please enter your height according to meter : ");
  scanf("%f", &height);
  printf("Please enter your weight according to kilogram : ");
  scanf("%f", &weight);
  BMI = ((weight) / (height * height));
  if (BMI < 16.5)
    printf("Very severely underweight");
  else if (16.5 <= BMI && BMI < 18.5)
    printf("Underweight");
  else if (18.5 <= BMI && BMI < 25)
    printf("Normal");
  else if (25 <= BMI && BMI < 30)
    printf("Overweight");
  else if (30 <= BMI && BMI < 35)
    printf("Obese class1");
  else if (35 <= BMI && BMI < 40)
    printf("Obese class2");
  else if (BMI > 40)
    printf("Obese class3");
  else
    printf("Error");
  return 0;
}
```