user: Demonstrate the C code that generates the assembly output below:

```asm
<ReportUsage>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  lea    D168(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D12(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D44(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D21(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D54(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D27(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D218(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D66(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D103(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D112(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D182(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D174(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D158(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D128(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D39(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D192(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D24(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D38(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D181(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D97(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D59(%rip),%rax
  mov    %rax,%rdi
  call   <PrintStdOpts@plt>
  lea    D30(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  nop
  pop    %rbp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: label: D168
data_type: string
name: extract_symbolic_data
arguments: label: D12
data_type: string
name: extract_symbolic_data
arguments: label: D44
data_type: string
name: extract_symbolic_data
arguments: label: D21
data_type: string
name: extract_symbolic_data
arguments: label: D54
data_type: string
name: extract_symbolic_data
arguments: label: D27
data_type: string
name: extract_symbolic_data
arguments: label: D218
data_type: string
name: extract_symbolic_data
arguments: label: D66
data_type: string
name: extract_symbolic_data
arguments: label: D103
data_type: string
name: extract_symbolic_data
arguments: label: D112
data_type: string
name: extract_symbolic_data
arguments: label: D182
data_type: string
name: extract_symbolic_data
arguments: label: D174
data_type: string
name: extract_symbolic_data
arguments: label: D158
data_type: string
name: extract_symbolic_data
arguments: label: D128
data_type: string
name: extract_symbolic_data
arguments: label: D39
data_type: string
name: extract_symbolic_data
arguments: label: D192
data_type: string
name: extract_symbolic_data
arguments: label: D24
data_type: string
name: extract_symbolic_data
arguments: label: D38
data_type: string
name: extract_symbolic_data
arguments: label: D181
data_type: string
name: extract_symbolic_data
arguments: label: D97
data_type: string
name: extract_symbolic_data
arguments: label: D59
data_type: string
name: extract_symbolic_data
arguments: label: D30
data_type: string

tool: D168: 
USAGE: HLRescore [options] vocabFile Files...



tool: D12:  Option                                   Default



tool: D44:  -i s    Output transcriptions to MLF s       off


tool: D21:  -l s    dir to store label/lattice files     current


tool: D54:  -m s    merge nodes and arcs of lattice      off


tool: D27:  -n s    load n-gram LM and expand lattice    off


tool: D218:  -wn s   load word pair LM network            off


tool: D66:  -o s    output label formating NCSTWMX       none


tool: D103:  -t f [f] input lattice pruning threshold     off


tool: D112:  -u f [f] output lattice pruning threshold    off


tool: D182:  -p f    inter model trans penalty (log)      0.0


tool: D174:  -s f    grammar scale factor                 1.0


tool: D158:  -a f    acoustic scale factor                1.0


tool: D128:  -r f    pronunciation scale factor           1.0


tool: D39:  -d      get pronprobs from dict              off


tool: D192:  -c      calculate statistics                 off


tool: D24:  -f      find 1-best transcription            off


tool: D38:  -w      write output lattices                off


tool: D181:  -q s    output lattice format                tvaldmnr


tool: D97:  -y s    output label file extension          rec


tool: D59: ILSXTGP

tool: D30: 



assistant: ```c
void ReportUsage(void) {
  printf("\nUSAGE: HLRescore [options] vocabFile Files...\n\n");
  printf(" Option                                   Default\n\n");
  printf(" -i s    Output transcriptions to MLF s       off\n");
  printf(" -l s    dir to store label/lattice files     current\n");
  printf(" -m s    merge nodes and arcs of lattice      off\n");
  printf(" -n s    load n-gram LM and expand lattice    off\n");
  printf(" -wn s   load word pair LM network            off\n");
  printf(" -o s    output label formating NCSTWMX       none\n");
  printf(" -t f [f] input lattice pruning threshold     off\n");
  printf(" -u f [f] output lattice pruning threshold    off\n");
  printf(" -p f    inter model trans penalty (log)      0.0\n");
  printf(" -s f    grammar scale factor                 1.0\n");
  printf(" -a f    acoustic scale factor                1.0\n");
  printf(" -r f    pronunciation scale factor           1.0\n");
  printf(" -d      get pronprobs from dict              off\n");
  printf(" -c      calculate statistics                 off\n");
  printf(" -f      find 1-best transcription            off\n");
  printf(" -w      write output lattices                off\n");
  printf(" -q s    output lattice format                tvaldmnr\n");
  printf(" -y s    output label file extension          rec\n");
  PrintStdOpts("ILSXTGP");
  printf("\n\n");
}
```