user: Translate the below assembly code into C programming language:

```asm
<print_help>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  lea    D14(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D42(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D90(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D51(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D96(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D0(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D79(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D18(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D83(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D50(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  nop
  pop    %rbp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D14
data_type: string
name: extract_symbolic_data
arguments: data_tag: D42
data_type: string
name: extract_symbolic_data
arguments: data_tag: D90
data_type: string
name: extract_symbolic_data
arguments: data_tag: D51
data_type: string
name: extract_symbolic_data
arguments: data_tag: D96
data_type: string
name: extract_symbolic_data
arguments: data_tag: D0
data_type: string
name: extract_symbolic_data
arguments: data_tag: D79
data_type: string
name: extract_symbolic_data
arguments: data_tag: D18
data_type: string
name: extract_symbolic_data
arguments: data_tag: D83
data_type: string
name: extract_symbolic_data
arguments: data_tag: D50
data_type: string

tool: D14: Usage: cpufreq-set [options]


tool: D42: Options:


tool: D90:   -c CPU, --cpu CPU        number of CPU where cpufreq settings shall be modified


tool: D51:   -d FREQ, --min FREQ      new minimum CPU frequency the governor may select


tool: D96:   -u FREQ, --max FREQ      new maximum CPU frequency the governor may select


tool: D0:   -g GOV, --governor GOV   new cpufreq governor


tool: D79:   -f FREQ, --freq FREQ     specific frequency to be set. Requires userspace
                           governor to be available and loaded


tool: D18:   -h, --help           Prints out this screen


tool: D83: 


tool: D50: Notes:
1. Omitting the -c or --cpu argument is equivalent to setting it to zero
2. The -f FREQ, --freq FREQ parameter cannot be combined with any other parameter
   except the -c CPU, --cpu CPU parameter
3. FREQuencies can be passed in Hz, kHz (default), MHz, GHz, or THz
   by postfixing the value with the wanted unit name, without any space
   (FREQuency in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).


assistant: ```c
void print_help(void) {
  printf("Usage: cpufreq-set [options]\n");
  printf("Options:\n");
  printf("  -c CPU, --cpu CPU        number of CPU where cpufreq settings shall be modified\n");
  printf("  -d FREQ, --min FREQ      new minimum CPU frequency the governor may select\n");
  printf("  -u FREQ, --max FREQ      new maximum CPU frequency the governor may select\n");
  printf("  -g GOV, --governor GOV   new cpufreq governor\n");
  printf("  -f FREQ, --freq FREQ     specific frequency to be set. Requires userspace\n"
         "                           governor to be available and loaded\n");
  printf("  -h, --help           Prints out this screen\n");
  printf("\n");
  printf("Notes:\n"
         "1. Omitting the -c or --cpu argument is equivalent to setting it to zero\n"
         "2. The -f FREQ, --freq FREQ parameter cannot be combined with any other parameter\n"
         "   except the -c CPU, --cpu CPU parameter\n"
         "3. FREQuencies can be passed in Hz, kHz (default), MHz, GHz, or THz\n"
         "   by postfixing the value with the wanted unit name, without any space\n"
         "   (FREQuency in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).\n");
}
```