user: 请将以下的汇编代码转换成C语言代码:

```asm
<test_find_song>:
  endbr64
  push   %rbp
  lea    D55(%rip),%rdi
  lea    D124(%rip),%rbp
  call   <printf@plt>
  lea    D49(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <populate@plt>
  lea    D103(%rip),%rsi
  lea    D6(%rip),%rdi
  call   <find_song@plt>
  mov    %eax,%edi
  call   <print_node@plt>
  lea    D160(%rip),%rsi
  lea    D111(%rip),%rdi
  call   <find_song@plt>
  mov    %eax,%edi
  call   <print_node@plt>
  lea    D26(%rip),%rsi
  lea    D29(%rip),%rdi
  call   <find_song@plt>
  mov    %eax,%edi
  call   <print_node@plt>
  lea    D86(%rip),%rsi
  lea    D170(%rip),%rdi
  call   <find_song@plt>
  mov    %eax,%edi
  call   <print_node@plt>
  mov    %rbp,%rsi
  lea    D153(%rip),%rdi
  call   <find_song@plt>
  mov    %eax,%edi
  call   <print_node@plt>
  mov    %rbp,%rsi
  lea    D52(%rip),%rdi
  call   <find_song@plt>
  mov    %eax,%edi
  call   <print_node@plt>
  mov    %rbp,%rsi
  lea    D113(%rip),%rdi
  call   <find_song@plt>
  mov    %eax,%edi
  call   <print_node@plt>
  mov    %rbp,%rsi
  lea    D72(%rip),%rdi
  lea    D73(%rip),%rbp
  call   <find_song@plt>
  mov    %eax,%edi
  call   <print_node@plt>
  mov    %rbp,%rsi
  lea    D32(%rip),%rdi
  call   <find_song@plt>
  mov    %eax,%edi
  call   <print_node@plt>
  mov    %rbp,%rsi
  lea    D58(%rip),%rdi
  call   <find_song@plt>
  mov    %eax,%edi
  call   <print_node@plt>
  xor    %eax,%eax
  pop    %rbp
  jmp    10c0 <free_list@plt>
```

tool_calls: name: read_data
arguments: data_label: D55
datatype: string
name: read_data
arguments: data_label: D124
datatype: string
name: read_data
arguments: data_label: D49
datatype: string
name: read_data
arguments: data_label: D103
datatype: string
name: read_data
arguments: data_label: D6
datatype: string
name: read_data
arguments: data_label: D160
datatype: string
name: read_data
arguments: data_label: D111
datatype: string
name: read_data
arguments: data_label: D26
datatype: string
name: read_data
arguments: data_label: D29
datatype: string
name: read_data
arguments: data_label: D86
datatype: string
name: read_data
arguments: data_label: D170
datatype: string
name: read_data
arguments: data_label: D153
datatype: string
name: read_data
arguments: data_label: D52
datatype: string
name: read_data
arguments: data_label: D113
datatype: string
name: read_data
arguments: data_label: D72
datatype: string
name: read_data
arguments: data_label: D73
datatype: string
name: read_data
arguments: data_label: D32
datatype: string
name: read_data
arguments: data_label: D58
datatype: string

tool: D55: ====================================================================


tool: D124: taylor swift

tool: D49: TESTING FIND SONG...


tool: D103: donny osmond

tool: D6: make a man out of you

tool: D160: sia

tool: D111: chandelier

tool: D26: lin manuel miranda

tool: D29: how far ill go

tool: D86: against the current

tool: D170: legends never die

tool: D153: look what you made me do

tool: D52: ours

tool: D113: theirs

tool: D72: you belong with me

tool: D73: t

tool: D32: test

tool: 

assistant: ```c
void test_find_song() {
  printf("====================================================================\n");
  printf("TESTING FIND SONG...\n");
  populate();
  print_node(find_song("make a man out of you", "donny osmond"));
  print_node(find_song("chandelier", "sia"));
  print_node(find_song("how far ill go", "lin manuel miranda"));
  print_node(find_song("legends never die", "against the current"));
  print_node(find_song("look what you made me do", "taylor swift"));
  print_node(find_song("ours", "taylor swift"));
  print_node(find_song("theirs", "taylor swift"));
  print_node(find_song("you belong with me", "taylor swift"));
  print_node(find_song("test", "t"));
  print_node(find_song("", "t"));
  free_list();
}
```