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

```asm
<main>:
  endbr64
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x88,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x78(%rsp)
  xor    %eax,%eax
  movq   $0x0,0x40(%rsp)
  movq   $0x0,0x48(%rsp)
  movl   $0x0,0x50(%rsp)
  movb   $0x0,0x54(%rsp)
  movq   $0x0,0x60(%rsp)
  movq   $0x0,0x68(%rsp)
  movl   $0x0,0x70(%rsp)
  movb   $0x0,0x74(%rsp)
  lea    D102(%rip),%rdi
  call   <printf@plt>
  lea    0x30(%rsp),%rsi
  lea    D172(%rip),%r12
  mov    %r12,%rdi
  mov    $0x0,%eax
  call   <scanf@plt>
  lea    D44(%rip),%rdi
  call   <puts@plt>
  lea    D253(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    0x40(%rsp),%rbx
  mov    %rbx,%rsi
  lea    D93(%rip),%r13
  mov    %r13,%rdi
  mov    $0x0,%eax
  call   <scanf@plt>
  lea    D42(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    0x60(%rsp),%rbp
  mov    %rbp,%rsi
  mov    %r13,%rdi
  mov    $0x0,%eax
  call   <scanf@plt>
  lea    D214(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    0x34(%rsp),%rsi
  lea    D210(%rip),%r13
  mov    %r13,%rdi
  mov    $0x0,%eax
  call   <scanf@plt>
  lea    D76(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    0x38(%rsp),%rsi
  mov    %r13,%rdi
  mov    $0x0,%eax
  call   <scanf@plt>
  lea    D3(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    0x3c(%rsp),%rsi
  mov    %r12,%rdi
  mov    $0x0,%eax
  call   <scanf@plt>
  movss  D23(%rip),%xmm0
  movaps %xmm0,%xmm2
  mulss  0x3c(%rsp),%xmm2
  pxor   %xmm0,%xmm0
  cvtsi2ssl 0x38(%rsp),%xmm0
  cvtss2sd %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd 0x30(%rsp),%xmm1
  mulsd  D179(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  addsd  D218(%rip),%xmm0
  pxor   %xmm5,%xmm5
  cvtsd2ss %xmm0,%xmm5
  movss  %xmm2,0x18(%rsp)
  movaps %xmm2,%xmm4
  movss  %xmm5,0x1c(%rsp)
  addss  %xmm5,%xmm4
  pxor   %xmm6,%xmm6
  cvtss2sd %xmm4,%xmm6
  movapd %xmm6,%xmm0
  mulsd  D242(%rip),%xmm0
  pxor   %xmm5,%xmm5
  cvtsd2ss %xmm0,%xmm5
  movsd  %xmm6,0x10(%rsp)
  movapd %xmm6,%xmm7
  mulsd  D193(%rip),%xmm7
  pxor   %xmm1,%xmm1
  cvtsd2ss %xmm7,%xmm1
  movss  %xmm4,0x20(%rsp)
  movaps %xmm4,%xmm3
  mulss  D109(%rip),%xmm3
  movss  %xmm5,0x24(%rsp)
  movaps %xmm5,%xmm7
  movss  %xmm1,0x28(%rsp)
  addss  %xmm1,%xmm7
  movaps %xmm7,%xmm1
  movss  %xmm3,0x2c(%rsp)
  addss  %xmm3,%xmm1
  movss  %xmm1,0xc(%rsp)
  mov    0x34(%rsp),%ecx
  mov    %rbp,%rdx
  mov    %rbx,%rsi
  lea    D170(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  cvtss2sd 0x3c(%rsp),%xmm0
  lea    D136(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  cvtss2sd 0x18(%rsp),%xmm0
  lea    D225(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  cvtss2sd 0x1c(%rsp),%xmm0
  lea    D247(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  movsd  0x10(%rsp),%xmm0
  lea    D153(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  cvtss2sd 0x24(%rsp),%xmm0
  lea    D173(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  cvtss2sd 0x28(%rsp),%xmm0
  lea    D21(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  cvtss2sd 0x2c(%rsp),%xmm0
  lea    D117(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  cvtss2sd 0xc(%rsp),%xmm0
  lea    D63(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  movss  0x20(%rsp),%xmm0
  subss  0xc(%rsp),%xmm0
  cvtss2sd %xmm0,%xmm0
  lea    D71(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  mov    0x78(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L5
  mov    $0x0,%eax
  add    $0x88,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
L5:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: read_data
arguments: label: D102
datatype: string
name: read_data
arguments: label: D172
datatype: string
name: read_data
arguments: label: D44
datatype: string
name: read_data
arguments: label: D253
datatype: string
name: read_data
arguments: label: D93
datatype: string
name: read_data
arguments: label: D42
datatype: string
name: read_data
arguments: label: D214
datatype: string
name: read_data
arguments: label: D210
datatype: string
name: read_data
arguments: label: D76
datatype: string
name: read_data
arguments: label: D3
datatype: string
name: read_data
arguments: label: D23
datatype: byte[4]
name: read_data
arguments: label: D179
datatype: byte[8]
name: read_data
arguments: label: D218
datatype: byte[8]
name: read_data
arguments: label: D242
datatype: byte[8]
name: read_data
arguments: label: D193
datatype: byte[8]
name: read_data
arguments: label: D109
datatype: byte[4]
name: read_data
arguments: label: D170
datatype: string
name: read_data
arguments: label: D136
datatype: string
name: read_data
arguments: label: D225
datatype: string
name: read_data
arguments: label: D247
datatype: string
name: read_data
arguments: label: D153
datatype: string
name: read_data
arguments: label: D173
datatype: string
name: read_data
arguments: label: D21
datatype: string
name: read_data
arguments: label: D117
datatype: string
name: read_data
arguments: label: D63
datatype: string
name: read_data
arguments: label: D71
datatype: string

tool: D102: 
Enter profit for the week: 

tool: D172: %f

tool: D44: Enter information for the employee:

tool: D253: Enter First Name: 

tool: D93: %s

tool: D42: Enter Last Name: 

tool: D214: Enter ID Number: 

tool: D210: %d

tool: D76: Enter Years of Experience: 

tool: D3: Enter Sales amount: 

tool: {"D23": [0x00,0x00,0x00,0x3e]}

tool: {"D179": [0x7b,0x14,0xae,0x47,0xe1,0x7a,0x74,0x3f]}

tool: {"D218": [0x00,0x00,0x00,0x00,0x00,0x00,0x49,0x40]}

tool: {"D242": [0x7b,0x14,0xae,0x47,0xe1,0x7a,0xb4,0x3f]}

tool: {"D193": [0x9a,0x99,0x99,0x99,0x99,0x99,0xb9,0x3f]}

tool: {"D109": [0x00,0x00,0x80,0x3e]}

tool: D170: 

Payroll report for %s %s, Id number %d:

tool: D136: 
Sales:			$ %10.2f

tool: D225: 
Commission:		$ %10.2f

tool: D247: 
Bonus:			$ %10.2f

tool: D153: 
Gross Salary:		$ %10.2f

tool: D173: 
Retirement:		$ %10.2f

tool: D21: 
State Tax:		$ %10.2f

tool: D117: 
Federal Tax:		$ %10.2f

tool: D63: 
Total Deductions:	$ %10.2f

tool: D71: 
Net Salary:		$ %10.2f



assistant: ```c
int main(void) {
  float weeksProfit;
  char F_Name[21] = "";
  char L_Name[21] = "";
  int IDNum;
  int years;
  float salesAmt;
  float commission;
  float bonus;
  float grossSal;
  float retirement;
  float stateTax;
  float fedTax;
  float totalDed;
  float netSalary;
  printf("\nEnter profit for the week: ");
  scanf("%f", &weeksProfit);
  printf("Enter information for the employee:\n");
  printf("Enter First Name: ");
  scanf("%s", F_Name);
  printf("Enter Last Name: ");
  scanf("%s", L_Name);
  printf("Enter ID Number: ");
  scanf("%d", &IDNum);
  printf("Enter Years of Experience: ");
  scanf("%d", &years);
  printf("Enter Sales amount: ");
  scanf("%f", &salesAmt);
  commission = salesAmt * (12.5 / 100);
  bonus = ((float)years * (weeksProfit * (0.5 / 100))) + 50;
  grossSal = commission + bonus;
  retirement = grossSal * (8.0 / 100);
  stateTax = grossSal * (10.0 / 100);
  fedTax = grossSal * (25.0 / 100);
  totalDed = retirement + stateTax + fedTax;
  netSalary = grossSal - totalDed;
  printf("\n\nPayroll report for %s %s, Id number %d:", F_Name, L_Name, IDNum);
  printf("\nSales:\t\t\t$ %10.2f", salesAmt);
  printf("\nCommission:\t\t$ %10.2f", commission);
  printf("\nBonus:\t\t\t$ %10.2f", bonus);
  printf("\nGross Salary:\t\t$ %10.2f", grossSal);
  printf("\nRetirement:\t\t$ %10.2f", retirement);
  printf("\nState Tax:\t\t$ %10.2f", stateTax);
  printf("\nFederal Tax:\t\t$ %10.2f", fedTax);
  printf("\nTotal Deductions:\t$ %10.2f", totalDed);
  printf("\nNet Salary:\t\t$ %10.2f\n\n", netSalary);
  return 0;
}
```