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

```asm
<usage>:
  endbr64
  sub    $0x8,%rsp
  lea    D43(%rip),%rdi
  call   <puts@plt>
  lea    D59(%rip),%rdi
  call   <puts@plt>
  lea    D50(%rip),%rdi
  call   <puts@plt>
  lea    D129(%rip),%rdi
  call   <puts@plt>
  lea    D111(%rip),%rdi
  call   <puts@plt>
  lea    D163(%rip),%rdi
  call   <puts@plt>
  lea    D133(%rip),%rdi
  call   <puts@plt>
  lea    D56(%rip),%rdi
  call   <puts@plt>
  lea    D174(%rip),%rdi
  call   <puts@plt>
  lea    D76(%rip),%rdi
  call   <puts@plt>
  lea    D184(%rip),%rdi
  call   <puts@plt>
  lea    D131(%rip),%rdi
  call   <puts@plt>
  lea    D136(%rip),%rdi
  call   <puts@plt>
  lea    D7(%rip),%rdi
  call   <puts@plt>
  lea    D28(%rip),%rdi
  call   <puts@plt>
  lea    D33(%rip),%rdi
  call   <puts@plt>
  lea    D157(%rip),%rdi
  call   <puts@plt>
  lea    D86(%rip),%rsi
  xor    %eax,%eax
  add    $0x8,%rsp
  lea    D85(%rip),%rdi
  jmp    1070 <printf@plt>
```

tool_calls: name: extract_symbolic_data
arguments: tag: D43
type_guessed: string
name: extract_symbolic_data
arguments: tag: D59
type_guessed: string
name: extract_symbolic_data
arguments: tag: D50
type_guessed: string
name: extract_symbolic_data
arguments: tag: D129
type_guessed: string
name: extract_symbolic_data
arguments: tag: D111
type_guessed: string
name: extract_symbolic_data
arguments: tag: D163
type_guessed: string
name: extract_symbolic_data
arguments: tag: D133
type_guessed: string
name: extract_symbolic_data
arguments: tag: D56
type_guessed: string
name: extract_symbolic_data
arguments: tag: D174
type_guessed: string
name: extract_symbolic_data
arguments: tag: D76
type_guessed: string
name: extract_symbolic_data
arguments: tag: D184
type_guessed: string
name: extract_symbolic_data
arguments: tag: D131
type_guessed: string
name: extract_symbolic_data
arguments: tag: D136
type_guessed: string
name: extract_symbolic_data
arguments: tag: D7
type_guessed: string
name: extract_symbolic_data
arguments: tag: D28
type_guessed: string
name: extract_symbolic_data
arguments: tag: D33
type_guessed: string
name: extract_symbolic_data
arguments: tag: D157
type_guessed: string
name: extract_symbolic_data
arguments: tag: D86
type_guessed: string
name: extract_symbolic_data
arguments: tag: D85
type_guessed: string

tool: D43: telemetrit type callsign receiver_callsign [content]

tool: D59: type = data,label,unit,coef,bitsense

tool: D50: 
example for data:

tool: D129: 	telemetrit data NOCALL NOCALL-1 sequence_number A1 A2 A3 A4 A5 B1 B2 B3 B4 B5 B6 B7 B8

tool: D111: unwanted telemetry data can be omitted starting from the left

tool: D163: 
example for label:

tool: D133: 	telemetrit label NOCALL NOCALL-1 A1 A2 A3 A4 A5 B1 B2 B3 B4 B5 B6 B7 B8

tool: D56: unwanted labels can be omitted starting from the left

tool: D174: 
example for unit:

tool: D76: 	telemetrit unit NOCALL NOCALL-1 A1 A2 A3 A4 A5 B1 B2 B3 B4 B5 B6 B7 B8

tool: D184: unwanted units can be omitted starting from the left

tool: D131: 
example for coef:

tool: D136: 	telemetrit coef NOCALL NOCALL-1 A1a A1b A1c A2a A2b A3a A3b A3c A4a A4b A4c A5a A5b A5c

tool: D7: unwanted coefficients can be omitted starting from the left, they'll be set to 0

tool: D28: 
example for bitsense:

tool: D33: 	telemetrit bitsens NOCALL NOCALL-1 project_name B1 B2 B3 B4 B5 B6 B7 B8

tool: D157: unwanted coefficients can be omitted starting from the right, they'll be set to 0

tool: D86: Mar 18 2022 12:04:32

tool: D85: Build Date: %s


assistant: ```c
void usage(void) {
  printf("telemetrit type callsign receiver_callsign [content]\n");
  printf("type = data,label,unit,coef,bitsense\n");
  printf("\nexample for data:\n");
  printf("\ttelemetrit data NOCALL NOCALL-1 sequence_number A1 A2 A3 A4 A5 B1 B2 B3 B4 B5 B6 B7 B8\n");
  printf("unwanted telemetry data can be omitted starting from the left\n");
  printf("\nexample for label:\n");
  printf("\ttelemetrit label NOCALL NOCALL-1 A1 A2 A3 A4 A5 B1 B2 B3 B4 B5 B6 B7 B8\n");
  printf("unwanted labels can be omitted starting from the left\n");
  printf("\nexample for unit:\n");
  printf("\ttelemetrit unit NOCALL NOCALL-1 A1 A2 A3 A4 A5 B1 B2 B3 B4 B5 B6 B7 B8\n");
  printf("unwanted units can be omitted starting from the left\n");
  printf("\nexample for coef:\n");
  printf("\ttelemetrit coef NOCALL NOCALL-1 A1a A1b A1c A2a A2b A3a A3b A3c A4a A4b A4c A5a A5b A5c\n");
  printf("unwanted coefficients can be omitted starting from the left, they'll be set to 0\n");
  printf("\nexample for bitsense:\n");
  printf("\ttelemetrit bitsens NOCALL NOCALL-1 project_name B1 B2 B3 B4 B5 B6 B7 B8\n");
  printf("unwanted coefficients can be omitted starting from the right, they'll be set to 0\n");
  printf("Build Date: %s\n", "Mar 18 2022"
                             " "
                             "12:04:32");
}
```