user: Converte this assembly snippet into its equivalent C code:

```asm
<main>:
  endbr64
  push   %r15
  lea    D163(%rip),%rdi
  push   %r14
  push   %r13
  lea    D153(%rip),%r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x8,%rsp
  call   <puts@plt>
  lea    D194(%rip),%rdi
  call   <puts@plt>
  lea    D151(%rip),%rdi
  call   <puts@plt>
  lea    D243(%rip),%rdi
  call   <puts@plt>
  lea    D149(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  call   <getinput@plt>
  lea    D203(%rip),%rdi
  mov    %eax,%r12d
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  call   <getinput@plt>
  lea    D191(%rip),%rdi
  mov    %eax,%ebp
  call   <puts@plt>
  lea    D54(%rip),%rdi
  xor    %eax,%eax
  add    %r12d,%ebp
  call   <printf@plt>
  xor    %eax,%eax
  call   <getinput@plt>
  lea    D97(%rip),%rdi
  add    %eax,%ebp
  xor    %eax,%eax
  call   <printf@plt>
  mov    %ebp,%esi
  mov    %r13,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D3(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  lea    D199(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <getinput@plt>
  test   %eax,%eax
  jne    L56
  lea    D231(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  call   <getinput@plt>
  cmp    $0x1,%eax
  sbb    %eax,%eax
  and    $0xffffe98a,%eax
  add    $0x3296,%eax
L71:
  sub    %eax,%ebp
  mov    $0x0,%eax
  lea    D190(%rip),%rdi
  cmovs  %eax,%ebp
  call   <printf@plt>
  mov    %r13,%rdi
  xor    %eax,%eax
  mov    %ebp,%esi
  call   <printf@plt>
  lea    D143(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  call   <getinput@plt>
  lea    D175(%rip),%rdi
  mov    %eax,%r15d
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  lea    D68(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <getinput@plt>
  test   %eax,%eax
  jne    L65
L96:
  imul   $0x1c,%ebp,%r12d
  lea    D59(%rip),%rdi
  xor    %eax,%eax
  mov    %r15d,%ebx
  call   <printf@plt>
  mov    %r15d,%esi
  mov    %r13,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D168(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  add    $0x32,%r12d
  mov    %r13,%rdi
  xor    %eax,%eax
  imul   $0x51eb851f,%r12,%r12
  shr    $0x25,%r12
  mov    %r12d,%esi
  sub    %r12d,%ebx
  call   <printf@plt>
  test   %ebx,%ebx
  jle    L67
  lea    D170(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %ebx,%esi
  mov    %r13,%rdi
  xor    %eax,%eax
  call   <printf@plt>
L67:
  mov    %r12d,%ebx
  sub    %r15d,%ebx
  js     L92
  lea    D145(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %ebx,%esi
  mov    %r13,%rdi
  xor    %eax,%eax
  call   <printf@plt>
L92:
  mov    %ebp,%esi
  mov    %r13,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r15d,%esi
  mov    %r13,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r12d,%esi
  mov    %r13,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r13,%rdi
  mov    $0x2bc,%esi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r14d,%esi
  mov    %r13,%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r13,%rdi
  mov    $0x1cb6,%esi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r13,%rdi
  xor    %esi,%esi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r13,%rdi
  xor    %esi,%esi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D238(%rip),%rdi
  call   <puts@plt>
  add    $0x8,%rsp
  xor    %eax,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L56:
  mov    $0x2bc,%r14d
  cmp    $0x1c2,%r12d
  jle    L41
  lea    0xfa(%r12),%r14d
L41:
  lea    D231(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  call   <getinput@plt>
  mov    %eax,%r8d
  mov    $0x1cb6,%eax
  cmp    %eax,%r14d
  cmovg  %eax,%r14d
  test   %r8d,%r8d
  je     L63
L91:
  xor    %eax,%eax
L20:
  add    %r14d,%eax
  jmp    L71
L65:
  lea    D28(%rip),%rdi
  add    $0x3e8,%r15d
  call   <puts@plt>
  jmp    L96
L63:
  lea    D40(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D55(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %eax,%eax
  call   <getinput@plt>
  mov    %eax,%r8d
  mov    $0xaf0,%eax
  test   %r8d,%r8d
  je     L20
  jmp    L91
```

tool_calls: name: retrieve_data
arguments: data_label: D163
type_guessed: string
name: retrieve_data
arguments: data_label: D153
type_guessed: string
name: retrieve_data
arguments: data_label: D194
type_guessed: string
name: retrieve_data
arguments: data_label: D151
type_guessed: string
name: retrieve_data
arguments: data_label: D243
type_guessed: string
name: retrieve_data
arguments: data_label: D149
type_guessed: string
name: retrieve_data
arguments: data_label: D203
type_guessed: string
name: retrieve_data
arguments: data_label: D191
type_guessed: string
name: retrieve_data
arguments: data_label: D54
type_guessed: string
name: retrieve_data
arguments: data_label: D97
type_guessed: string
name: retrieve_data
arguments: data_label: D3
type_guessed: string
name: retrieve_data
arguments: data_label: D199
type_guessed: string
name: retrieve_data
arguments: data_label: D231
type_guessed: string
name: retrieve_data
arguments: data_label: D190
type_guessed: string
name: retrieve_data
arguments: data_label: D143
type_guessed: string
name: retrieve_data
arguments: data_label: D175
type_guessed: string
name: retrieve_data
arguments: data_label: D68
type_guessed: string
name: retrieve_data
arguments: data_label: D59
type_guessed: string
name: retrieve_data
arguments: data_label: D168
type_guessed: string
name: retrieve_data
arguments: data_label: D170
type_guessed: string
name: retrieve_data
arguments: data_label: D145
type_guessed: string
name: retrieve_data
arguments: data_label: D238
type_guessed: string
name: retrieve_data
arguments: data_label: D28
type_guessed: string
name: retrieve_data
arguments: data_label: D40
type_guessed: string
name: retrieve_data
arguments: data_label: D55
type_guessed: string

tool: D163: Welcome to the United States 1040 federal income tax program.

tool: D153: %d


tool: D194: (Note: this isn't the real 1040 form. If you try to submit your

tool: D151: taxes this way, you'll get what you deserve!


tool: D243: Answer the following questions to determine what you owe.


tool: D149: Total wages, salary, and tips? 

tool: D203: Taxable interest (such as from bank accounts)? 

tool: D191: Unemployment compensation, qualified state tuition, and Alaska

tool: D54: Permanent Fund dividends? 

tool: D97: Your adjusted gross income is: 

tool: D3: Enter <1> if your parents or someone else can claim you on their

tool: D199:  return. 
Enter <0> otherwise: 

tool: D231: Enter <1> if you are single, <0> if you are married: 

tool: D190: Your taxable income is: 

tool: D143: Enter the amount of Federal income tax withheld: 

tool: D175: Enter <1> if you get an earned income credit (EIC); 

tool: D68: enter 0 otherwise: 

tool: D59: Your total tax payments amount to: 

tool: D168: Your total tax liability is: 

tool: D170: Congratulations, you get a tax refund of $

tool: D145: Bummer. You owe the IRS a check for $

tool: D238: Thank you for using ez-tax.

tool: D28: OK, I'll give you a thousand dollars for your credit.

tool: D40: Enter <1> if your spouse can be claimed as a dependant, 

tool: D55: enter <0> if not: 

assistant: ```c
int main() {
  int line1, line2, line3, line4, line5, line6, line7, line8, deadline11, deadline12, line10, dependant, single, b, c, d, e, f, g, eic, spousedependant;
  printf("Welcome to the United States 1040 federal income tax program.\n");
  printf("(Note: this isn't the real 1040 form. If you try to submit your\n");
  printf("taxes this way, you'll get what you deserve!\n\n");
  printf("Answer the following questions to determine what you owe.\n\n");
  printf("Total wages, salary, and tips? ");
  line1 = getinput();
  printf("Taxable interest (such as from bank accounts)? ");
  line2 = getinput();
  printf("Unemployment compensation, qualified state tuition, and Alaska\n");
  printf("Permanent Fund dividends? ");
  line3 = getinput();
  line4 = line1 + line2 + line3;
  printf("Your adjusted gross income is: ");
  printf("%d\n", line4);
  printf("Enter <1> if your parents or someone else can claim you on their");
  printf(" return. \nEnter <0> otherwise: ");
  dependant = getinput();
  if (0 != dependant) {
    b = 700;
    c = b;
    if (c < (line1 + 250)) {
      c = (line1 + 250);
    }
    printf("Enter <1> if you are single, <0> if you are married: ");
    single = getinput();
    if (0 != single) {
      d = 7350;
    } else {
      d = 7350;
    }
    e = c;
    if (e > d) {
      e = d;
    }
    f = 0;
    if (single == 0) {
      printf("Enter <1> if your spouse can be claimed as a dependant, ");
      printf("enter <0> if not: ");
      spousedependant = getinput();
      if (0 == spousedependant) {
        f = 2800;
      }
    }
    g = e + f;
    line5 = g;
  }
  if (0 == dependant) {
    printf("Enter <1> if you are single, <0> if you are married: ");
    single = getinput();
    if (0 != single) {
      line5 = 12950;
    }
    if (0 == single) {
      line5 = 7200;
    }
  }
  line6 = line4 - line5;
  if (line6 < 0) {
    line6 = 0;
  }
  printf("Your taxable income is: ");
  printf("%d\n", line6);
  printf("Enter the amount of Federal income tax withheld: ");
  line7 = getinput();
  printf("Enter <1> if you get an earned income credit (EIC); ");
  printf("enter 0 otherwise: ");
  eic = getinput();
  line8 = 0;
  if (0 != eic) {
    printf("OK, I'll give you a thousand dollars for your credit.\n");
    line8 = 1000;
  }
  printf("Your total tax payments amount to: ");
  printf("%d\n", (line8 + line7));
  line10 = (line6 * 28 + 50) / 100;
  printf("Your total tax liability is: ");
  printf("%d\n", line10);
  if (((line8 + line7) - line10) < 0) {
    deadline11 = 0;
  } else
    deadline11 = 0;
  if (((line8 + line7) - line10) > 0) {
    printf("Congratulations, you get a tax refund of $");
    printf("%d\n", ((line8 + line7) - line10));
  }
  if ((line10 - (line8 + line7)) >= 0) {
    printf("Bummer. You owe the IRS a check for $");
    printf("%d\n", (line10 - (line8 + line7)));
  }
  if ((line10 - (line8 + line7)) < 0) {
    deadline12 = 0;
  } else
    deadline12 = 0;
  printf("%d\n", line6);
  printf("%d\n", (line8 + line7));
  printf("%d\n", line10);
  printf("%d\n", b);
  printf("%d\n", e);
  printf("%d\n", d);
  printf("%d\n", deadline11);
  printf("%d\n", deadline12);
  line6 = line10;
  line8 = 0;
  line10 = 0;
  deadline11 = b + deadline12;
  deadline12 = e + d;
  printf("Thank you for using ez-tax.\n");
}
```