user: Please show me the C implementation that matches the assembly code listed below:

```asm
<runTests>:
  endbr64
  sub    $0x8,%rsp
  lea    D138(%rip),%rdi
  call   <puts@plt>
  xor    %eax,%eax
  call   <t1@plt>
  lea    D5(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t2@plt>
  lea    D93(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t3@plt>
  lea    D177(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t4@plt>
  lea    D98(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t5@plt>
  lea    D192(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t6@plt>
  lea    D8(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t7@plt>
  lea    D50(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t8@plt>
  lea    D146(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t9@plt>
  lea    D41(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t10@plt>
  lea    D228(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t11@plt>
  lea    D26(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t12@plt>
  lea    D201(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t13@plt>
  lea    D141(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t14@plt>
  lea    D195(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t15@plt>
  lea    D186(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t16@plt>
  lea    D76(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t17@plt>
  lea    D165(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t18@plt>
  lea    D13(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t19@plt>
  lea    D39(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t20@plt>
  lea    D38(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t21@plt>
  lea    D171(%rip),%rdi
  mov    %eax,%esi
  call   <printf@plt>
  xor    %eax,%eax
  call   <t22@plt>
  lea    D225(%rip),%rdi
  add    $0x8,%rsp
  mov    %eax,%esi
  jmp    1280 <printf@plt>
```

tool_calls: name: read_data
arguments: data_label: D138
type_infered: string
name: read_data
arguments: data_label: D5
type_infered: string
name: read_data
arguments: data_label: D93
type_infered: string
name: read_data
arguments: data_label: D177
type_infered: string
name: read_data
arguments: data_label: D98
type_infered: string
name: read_data
arguments: data_label: D192
type_infered: string
name: read_data
arguments: data_label: D8
type_infered: string
name: read_data
arguments: data_label: D50
type_infered: string
name: read_data
arguments: data_label: D146
type_infered: string
name: read_data
arguments: data_label: D41
type_infered: string
name: read_data
arguments: data_label: D228
type_infered: string
name: read_data
arguments: data_label: D26
type_infered: string
name: read_data
arguments: data_label: D201
type_infered: string
name: read_data
arguments: data_label: D141
type_infered: string
name: read_data
arguments: data_label: D195
type_infered: string
name: read_data
arguments: data_label: D186
type_infered: string
name: read_data
arguments: data_label: D76
type_infered: string
name: read_data
arguments: data_label: D165
type_infered: string
name: read_data
arguments: data_label: D13
type_infered: string
name: read_data
arguments: data_label: D39
type_infered: string
name: read_data
arguments: data_label: D38
type_infered: string
name: read_data
arguments: data_label: D171
type_infered: string
name: read_data
arguments: data_label: D225
type_infered: string

tool: D138: Running tests...

tool: D5: t1:  %i


tool: D93: t2:  %i


tool: D177: t3:  %i


tool: D98: t4:  %i


tool: D192: t5:  %i


tool: D8: t6:  %i


tool: D50: t7:  %i


tool: D146: t8:  %i


tool: D41: t9:  %i


tool: D228: t10: %i


tool: D26: t11: %i


tool: D201: t12: %i


tool: D141: t13: %i


tool: D195: t14: %i


tool: D186: t15: %i


tool: D76: t16: %i


tool: D165: t17: %i


tool: D13: t18: %i


tool: D39: t19: %i


tool: D38: t20: %i


tool: D171: t21: %i


tool: D225: t22: %i


assistant: ```c
void runTests() {
  puts("Running tests...");
  printf("t1:  %i\n", t1());
  printf("t2:  %i\n", t2());
  printf("t3:  %i\n", t3());
  printf("t4:  %i\n", t4());
  printf("t5:  %i\n", t5());
  printf("t6:  %i\n", t6());
  printf("t7:  %i\n", t7());
  printf("t8:  %i\n", t8());
  printf("t9:  %i\n", t9());
  printf("t10: %i\n", t10());
  printf("t11: %i\n", t11());
  printf("t12: %i\n", t12());
  printf("t13: %i\n", t13());
  printf("t14: %i\n", t14());
  printf("t15: %i\n", t15());
  printf("t16: %i\n", t16());
  printf("t17: %i\n", t17());
  printf("t18: %i\n", t18());
  printf("t19: %i\n", t19());
  printf("t20: %i\n", t20());
  printf("t21: %i\n", t21());
  printf("t22: %i\n", t22());
}
```