user: What would the C source look like for the assembly code provided here?

```asm
<completion_tests>:
  endbr64
  push   %r12
  lea    D27(%rip),%r12
  push   %rbp
  lea    D70(%rip),%rbp
  mov    %rbp,%rdi
  sub    $0x8,%rsp
  call   <seatest_test_fixture_start@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L44
L3:
  lea    D109(%rip),%r12
  mov    %rbp,%rdi
  mov    %r12,%rsi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L125
L60:
  lea    D44(%rip),%r12
  mov    %rbp,%rdi
  mov    %r12,%rsi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L33
L40:
  lea    D12(%rip),%r12
  mov    %rbp,%rdi
  mov    %r12,%rsi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L36
L101:
  lea    D34(%rip),%r12
  mov    %rbp,%rdi
  mov    %r12,%rsi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L132
L51:
  lea    D21(%rip),%r12
  mov    %rbp,%rdi
  mov    %r12,%rsi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L42
L41:
  lea    D59(%rip),%r12
  mov    %rbp,%rdi
  mov    %r12,%rsi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L157
L141:
  lea    D43(%rip),%r12
  mov    %rbp,%rdi
  mov    %r12,%rsi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L79
L80:
  lea    D20(%rip),%r12
  mov    %rbp,%rdi
  mov    %r12,%rsi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L14
L112:
  lea    D24(%rip),%r12
  mov    %rbp,%rdi
  mov    %r12,%rsi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L73
  add    $0x8,%rsp
  xor    %eax,%eax
  pop    %rbp
  pop    %r12
  jmp    1220 <seatest_test_fixture_end@plt>
  nopw   0x0(%rax,%rax,1)
L44:
  xor    %eax,%eax
  call   <seatest_suite_setup@plt>
  xor    %eax,%eax
  call   <seatest_setup@plt>
  xor    %eax,%eax
  call   <test_general@plt>
  xor    %eax,%eax
  call   <seatest_teardown@plt>
  xor    %eax,%eax
  call   <seatest_suite_teardown@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <seatest_run_test@plt>
  jmp    L3
  nopl   0x0(%rax,%rax,1)
L73:
  xor    %eax,%eax
  call   <seatest_suite_setup@plt>
  xor    %eax,%eax
  call   <seatest_setup@plt>
  xor    %eax,%eax
  call   <test_removes_duplicates@plt>
  xor    %eax,%eax
  call   <seatest_teardown@plt>
  xor    %eax,%eax
  call   <seatest_suite_teardown@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <seatest_run_test@plt>
  add    $0x8,%rsp
  xor    %eax,%eax
  pop    %rbp
  pop    %r12
  jmp    1220 <seatest_test_fixture_end@plt>
  nopl   0x0(%rax)
L14:
  xor    %eax,%eax
  call   <seatest_suite_setup@plt>
  xor    %eax,%eax
  call   <seatest_setup@plt>
  xor    %eax,%eax
  call   <test_two_matches@plt>
  xor    %eax,%eax
  call   <seatest_teardown@plt>
  xor    %eax,%eax
  call   <seatest_suite_teardown@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <seatest_run_test@plt>
  jmp    L112
  nopl   0x0(%rax,%rax,1)
L79:
  xor    %eax,%eax
  call   <seatest_suite_setup@plt>
  xor    %eax,%eax
  call   <seatest_setup@plt>
  xor    %eax,%eax
  call   <test_umbiguous_begin@plt>
  xor    %eax,%eax
  call   <seatest_teardown@plt>
  xor    %eax,%eax
  call   <seatest_suite_teardown@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <seatest_run_test@plt>
  jmp    L80
  nopl   0x0(%rax,%rax,1)
L157:
  xor    %eax,%eax
  call   <seatest_suite_setup@plt>
  xor    %eax,%eax
  call   <seatest_setup@plt>
  xor    %eax,%eax
  call   <test_order@plt>
  xor    %eax,%eax
  call   <seatest_teardown@plt>
  xor    %eax,%eax
  call   <seatest_suite_teardown@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <seatest_run_test@plt>
  jmp    L141
  nopl   0x0(%rax,%rax,1)
L42:
  xor    %eax,%eax
  call   <seatest_suite_setup@plt>
  xor    %eax,%eax
  call   <seatest_setup@plt>
  xor    %eax,%eax
  call   <test_rewind@plt>
  xor    %eax,%eax
  call   <seatest_teardown@plt>
  xor    %eax,%eax
  call   <seatest_suite_teardown@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <seatest_run_test@plt>
  jmp    L41
  nopl   0x0(%rax,%rax,1)
L132:
  xor    %eax,%eax
  call   <seatest_suite_setup@plt>
  xor    %eax,%eax
  call   <seatest_setup@plt>
  xor    %eax,%eax
  call   <test_rewind_one_unambiguous_completion@plt>
  xor    %eax,%eax
  call   <seatest_teardown@plt>
  xor    %eax,%eax
  call   <seatest_suite_teardown@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <seatest_run_test@plt>
  jmp    L51
  nopl   0x0(%rax,%rax,1)
L36:
  xor    %eax,%eax
  call   <seatest_suite_setup@plt>
  xor    %eax,%eax
  call   <seatest_setup@plt>
  xor    %eax,%eax
  call   <test_one_unambiguous_completion@plt>
  xor    %eax,%eax
  call   <seatest_teardown@plt>
  xor    %eax,%eax
  call   <seatest_suite_teardown@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <seatest_run_test@plt>
  jmp    L101
  nopl   0x0(%rax,%rax,1)
L33:
  xor    %eax,%eax
  call   <seatest_suite_setup@plt>
  xor    %eax,%eax
  call   <seatest_setup@plt>
  xor    %eax,%eax
  call   <test_one_element_completion@plt>
  xor    %eax,%eax
  call   <seatest_teardown@plt>
  xor    %eax,%eax
  call   <seatest_suite_teardown@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <seatest_run_test@plt>
  jmp    L40
  nopl   0x0(%rax,%rax,1)
L125:
  xor    %eax,%eax
  call   <seatest_suite_setup@plt>
  xor    %eax,%eax
  call   <seatest_setup@plt>
  xor    %eax,%eax
  call   <test_sorting@plt>
  xor    %eax,%eax
  call   <seatest_teardown@plt>
  xor    %eax,%eax
  call   <seatest_suite_teardown@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <seatest_run_test@plt>
  jmp    L60
```

tool_calls: name: retrieve_data
arguments: data_tag: D27
datatype: string
name: retrieve_data
arguments: data_tag: D70
datatype: string
name: retrieve_data
arguments: data_tag: D109
datatype: string
name: retrieve_data
arguments: data_tag: D44
datatype: string
name: retrieve_data
arguments: data_tag: D12
datatype: string
name: retrieve_data
arguments: data_tag: D34
datatype: string
name: retrieve_data
arguments: data_tag: D21
datatype: string
name: retrieve_data
arguments: data_tag: D59
datatype: string
name: retrieve_data
arguments: data_tag: D43
datatype: string
name: retrieve_data
arguments: data_tag: D20
datatype: string
name: retrieve_data
arguments: data_tag: D24
datatype: string

tool: D27: test_general

tool: D70: /scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c

tool: D109: test_sorting

tool: D44: test_one_element_completion

tool: D12: test_one_unambiguous_completion

tool: D34: test_rewind_one_unambiguous_completion

tool: D21: test_rewind

tool: D59: test_order

tool: D43: test_umbiguous_begin

tool: D20: test_two_matches

tool: D24: test_removes_duplicates

assistant: ```c
void completion_tests(void) {
  do {
    seatest_test_fixture_start("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c");
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_general")) {
      seatest_suite_setup();
      seatest_setup();
      test_general();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_general");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_sorting")) {
      seatest_suite_setup();
      seatest_setup();
      test_sorting();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_sorting");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_one_element_completion")) {
      seatest_suite_setup();
      seatest_setup();
      test_one_element_completion();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_one_element_completion");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_one_unambiguous_completion")) {
      seatest_suite_setup();
      seatest_setup();
      test_one_unambiguous_completion();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_one_unambiguous_completion");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_rewind_one_unambiguous_completion")) {
      seatest_suite_setup();
      seatest_setup();
      test_rewind_one_unambiguous_completion();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_rewind_one_unambiguous_completion");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_rewind")) {
      seatest_suite_setup();
      seatest_setup();
      test_rewind();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_rewind");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_order")) {
      seatest_suite_setup();
      seatest_setup();
      test_order();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_order");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_umbiguous_begin")) {
      seatest_suite_setup();
      seatest_setup();
      test_umbiguous_begin();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_umbiguous_begin");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_two_matches")) {
      seatest_suite_setup();
      seatest_setup();
      test_two_matches();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_two_matches");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_removes_duplicates")) {
      seatest_suite_setup();
      seatest_setup();
      test_removes_duplicates();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_removes_duplicates");
    }
  } while (0);
  do {
    seatest_test_fixture_end();
  } while (0);
}
```