user: Converte this assembly snippet into its equivalent C code:

```asm
<Howto>:
  endbr64
  sub    $0x8,%rsp
  lea    D41(%rip),%rdi
  call   <printf@plt>
  lea    D29(%rip),%rdi
  call   <printf@plt>
  lea    D51(%rip),%rdi
  call   <printf@plt>
  lea    D50(%rip),%rdi
  call   <printf@plt>
  lea    D90(%rip),%rdi
  call   <printf@plt>
  lea    D119(%rip),%rdi
  call   <printf@plt>
  lea    D96(%rip),%rdi
  call   <printf@plt>
  lea    D17(%rip),%rdi
  call   <printf@plt>
  lea    D47(%rip),%rdi
  call   <printf@plt>
  lea    D55(%rip),%rdi
  call   <printf@plt>
  lea    D128(%rip),%rdi
  call   <printf@plt>
  lea    D21(%rip),%rdi
  call   <printf@plt>
  lea    D73(%rip),%rdi
  call   <printf@plt>
  mov    $0x1,%edi
  call   <exit@plt>
  add    $0x8,%rsp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D41
type_infered: string
name: extract_symbolic_data
arguments: data_label: D29
type_infered: string
name: extract_symbolic_data
arguments: data_label: D51
type_infered: string
name: extract_symbolic_data
arguments: data_label: D50
type_infered: string
name: extract_symbolic_data
arguments: data_label: D90
type_infered: string
name: extract_symbolic_data
arguments: data_label: D119
type_infered: string
name: extract_symbolic_data
arguments: data_label: D96
type_infered: string
name: extract_symbolic_data
arguments: data_label: D17
type_infered: string
name: extract_symbolic_data
arguments: data_label: D47
type_infered: string
name: extract_symbolic_data
arguments: data_label: D55
type_infered: string
name: extract_symbolic_data
arguments: data_label: D128
type_infered: string
name: extract_symbolic_data
arguments: data_label: D21
type_infered: string
name: extract_symbolic_data
arguments: data_label: D73
type_infered: string

tool: D41: Luna 6502/10-cross-assembler version 1.31


tool: D29: Usage:


tool: D51:   luna [-jlLoOpdqRW] sourcefile


tool: D50:     -j = no automatic bra->jmp conversion


tool: D90:     -l labelfile = file to store globals in


tool: D119:     -L = call lld to link against standard libraries


tool: D96:     -o outputfile (default is "c64.out" or "c64.o")


tool: D17:     -O = create object instead of executable


tool: D47:     -p = disable pre-proccessing by lupo


tool: D55:     -dname[=macro] = define macro for lupo


tool: D128:     -q = quiet mode


tool: D21:     -R = output raw binary, without 2 byte header (start address)


tool: D73:     -W = print warnings for unused labels


assistant: ```c
void Howto() {
  printf("Luna 6502/10-cross-assembler version 1.31\n");
  printf("Usage:\n");
  printf("  luna [-jlLoOpdqRW] sourcefile\n");
  printf("    -j = no automatic bra->jmp conversion\n");
  printf("    -l labelfile = file to store globals in\n");
  printf("    -L = call lld to link against standard libraries\n");
  printf("    -o outputfile (default is \"c64.out\" or \"c64.o\")\n");
  printf("    -O = create object instead of executable\n");
  printf("    -p = disable pre-proccessing by lupo\n");
  printf("    -dname[=macro] = define macro for lupo\n");
  printf("    -q = quiet mode\n");
  printf("    -R = output raw binary, without 2 byte header (start address)\n");
  printf("    -W = print warnings for unused labels\n");
  exit(1);
}
```