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

```asm
<main>:
  endbr64
  push   %rbp
  xor    %edx,%edx
  xor    %ecx,%ecx
  lea    D6(%rip),%rbp
  lea    D38(%rip),%rdi
  sub    $0x20,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x18(%rsp)
  xor    %eax,%eax
  mov    %dx,0xc(%rsp)
  mov    %cx,0xe(%rsp)
  movl   $0x0,0x10(%rsp)
  movl   $0x0,0x14(%rsp)
  call   <printf@plt>
  lea    0x10(%rsp),%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  lea    D37(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    0x14(%rsp),%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  lea    D122(%rip),%rbp
  lea    D118(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    0xc(%rsp),%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  lea    D70(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  lea    0xe(%rsp),%rsi
  mov    %rbp,%rdi
  call   <scanf@plt>
  movzwl 0xc(%rsp),%eax
  pxor   %xmm1,%xmm1
  movss  0x14(%rsp),%xmm0
  movss  D57(%rip),%xmm3
  movss  D21(%rip),%xmm2
  cvtsi2ss %eax,%xmm1
  mulss  %xmm1,%xmm0
  comiss %xmm0,%xmm3
  movss  %xmm0,0x14(%rsp)
  ja     L39
  movss  D23(%rip),%xmm2
  comiss %xmm0,%xmm2
  jbe    L37
  movss  D124(%rip),%xmm2
L39:
  mulss  %xmm2,%xmm0
  movss  D39(%rip),%xmm2
  movzwl 0xe(%rsp),%eax
  lea    D116(%rip),%rdi
  mulss  0x10(%rsp),%xmm1
  addss  %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  cvtsi2ss %eax,%xmm0
  mov    $0x1,%eax
  mulss  %xmm1,%xmm2
  mulss  %xmm2,%xmm0
  addss  %xmm1,%xmm0
  cvtss2sd %xmm0,%xmm0
  call   <printf@plt>
  mov    0x18(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L49
  add    $0x20,%rsp
  xor    %eax,%eax
  pop    %rbp
  ret
L37:
  movss  D148(%rip),%xmm2
  comiss %xmm0,%xmm2
  jbe    L52
  movss  D119(%rip),%xmm2
  jmp    L39
L52:
  movss  D126(%rip),%xmm2
  jmp    L39
L49:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: read_data
arguments: data_label: D6
type: string
name: read_data
arguments: data_label: D38
type: string
name: read_data
arguments: data_label: D37
type: string
name: read_data
arguments: data_label: D122
type: string
name: read_data
arguments: data_label: D118
type: string
name: read_data
arguments: data_label: D70
type: string
name: read_data
arguments: data_label: D57
type: byte[4]
name: read_data
arguments: data_label: D21
type: byte[4]
name: read_data
arguments: data_label: D23
type: byte[4]
name: read_data
arguments: data_label: D124
type: f32
name: read_data
arguments: data_label: D39
type: f32
name: read_data
arguments: data_label: D116
type: string
name: read_data
arguments: data_label: D148
type: byte[4]
name: read_data
arguments: data_label: D119
type: f32
name: read_data
arguments: data_label: D126
type: f32

tool: D6: %f

tool: D38: Enter the price of the item (in dollars):
> 

tool: D37: Enter the weight of the item (in pounds):
> 

tool: D122: %hd

tool: D118: Enter the quantity of the item you are buying:
> 

tool: D70: Is this item taxed (1 = yes, 0 = no)?
> 

tool: {"D57": [0x00,0x00,0x20,0x41]}

tool: {"D21": [0x00,0x00,0x80,0x40]}

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

tool: D124: 2.5

tool: D39: 0.065

tool: D116: Your total purchase, with shipping, will cost $%.2f.


tool: {"D148": [0x00,0x00,0x48,0x42]}

tool: D119: 1.5

tool: D126: 0.99

assistant: ```c
int main() {
  const float TAX_RATE = 0.065;
  float price = 0, weight = 0, costPerPound = 0.99;
  unsigned short quantity = 0, taxed = 0;
  printf("Enter the price of the item (in dollars):\n> ");
  scanf("%f", &price);
  printf("Enter the weight of the item (in pounds):\n> ");
  scanf("%f", &weight);
  printf("Enter the quantity of the item you are buying:\n> ");
  scanf("%hd", &quantity);
  printf("Is this item taxed (1 = yes, 0 = no)?\n> ");
  scanf("%hd", &taxed);
  weight *= quantity;
  if (weight < 10)
    costPerPound = 4;
  else if (weight < 30)
    costPerPound = 2.5;
  else if (weight < 50)
    costPerPound = 1.5;
  float total = price * quantity + weight * costPerPound;
  total += total * TAX_RATE * taxed;
  printf("Your total purchase, with shipping, will cost $%.2f.\n", total);
  return 0;
}
```