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

```asm
<main>:
  endbr64
  sub    $0x8,%rsp
  mov    $0x2,%edx
  mov    $0x1,%esi
  lea    D134(%rip),%rdi
  mov    $0x0,%eax
  call   <minprintf@plt>
  mov    $0xffffffff,%esi
  lea    D165(%rip),%rdi
  mov    $0x0,%eax
  call   <minprintf@plt>
  movsd  D64(%rip),%xmm0
  lea    D177(%rip),%rdi
  mov    $0x1,%eax
  call   <minprintf@plt>
  lea    D29(%rip),%rsi
  lea    D185(%rip),%rdi
  mov    $0x0,%eax
  call   <minprintf@plt>
  mov    $0x3f,%esi
  lea    D25(%rip),%rdi
  mov    $0x0,%eax
  call   <minprintf@plt>
  mov    $0xff,%esi
  lea    D54(%rip),%rdi
  mov    $0x0,%eax
  call   <minprintf@plt>
  mov    $0xff,%esi
  lea    D7(%rip),%rdi
  mov    $0x0,%eax
  call   <minprintf@plt>
  mov    $0xa,%esi
  lea    D49(%rip),%rdi
  mov    $0x0,%eax
  call   <minprintf@plt>
  mov    D176(%rip),%rax
  movq   %rax,%xmm0
  lea    D188(%rip),%rdi
  mov    $0x1,%eax
  call   <minprintf@plt>
  movsd  D144(%rip),%xmm0
  lea    D26(%rip),%rdi
  mov    $0x1,%eax
  call   <minprintf@plt>
  mov    D176(%rip),%rax
  movq   %rax,%xmm0
  lea    D159(%rip),%rdi
  mov    $0x1,%eax
  call   <minprintf@plt>
  movsd  D111(%rip),%xmm0
  lea    D114(%rip),%rdi
  mov    $0x1,%eax
  call   <minprintf@plt>
  lea    D28(%rip),%rdi
  mov    $0x0,%eax
  call   <minprintf@plt>
  mov    $0x0,%eax
  add    $0x8,%rsp
  ret
```

tool_calls: name: parse_data
arguments: label: D134
type_guessed: string
name: parse_data
arguments: label: D165
type_guessed: string
name: parse_data
arguments: label: D64
type_guessed: f64
name: parse_data
arguments: label: D177
type_guessed: string
name: parse_data
arguments: label: D29
type_guessed: string
name: parse_data
arguments: label: D185
type_guessed: string
name: parse_data
arguments: label: D25
type_guessed: string
name: parse_data
arguments: label: D54
type_guessed: string
name: parse_data
arguments: label: D7
type_guessed: string
name: parse_data
arguments: label: D49
type_guessed: string
name: parse_data
arguments: label: D176
type_guessed: f64
name: parse_data
arguments: label: D188
type_guessed: string
name: parse_data
arguments: label: D144
type_guessed: byte[8]
name: parse_data
arguments: label: D26
type_guessed: string
name: parse_data
arguments: label: D159
type_guessed: string
name: parse_data
arguments: label: D111
type_guessed: f64
name: parse_data
arguments: label: D114
type_guessed: string
name: parse_data
arguments: label: D28
type_guessed: string

tool: D134: Integers: %d, %i


tool: D165: Unsigned: %u


tool: D64: 1.23456789

tool: D177: Float: %f


tool: D29: Hello World!

tool: D185: String: %s


tool: D25: Octal: %o


tool: D54: Hexadecimal: %x


tool: D7: Hexadecimal: %X


tool: D49: Char (newline): %c

tool: D176: 300000000

tool: D188: Exponential: %e


tool: {"D144": [0x02,0x5f,0x44,0xc5,0xf8,0x85,0x0b,0x39]}

tool: D26: Exponential: %E


tool: D159: %%g: %g


tool: D111: 5e-06

tool: D114: %%G: %G


tool: D28: Percentage symbol: %%


assistant: ```c
int main() {
  minprintf("Integers: %d, %i\n", 1, 2);
  minprintf("Unsigned: %u\n", ~0);
  minprintf("Float: %f\n", 1.23456789);
  minprintf("String: %s\n", "Hello World!");
  minprintf("Octal: %o\n", 63);
  minprintf("Hexadecimal: %x\n", 255);
  minprintf("Hexadecimal: %X\n", 255);
  minprintf("Char (newline): %c", '\n');
  minprintf("Exponential: %e\n", 300e6);
  minprintf("Exponential: %E\n", 6626e-37);
  minprintf("%%g: %g\n", 300000000.);
  minprintf("%%G: %G\n", 0.000005);
  minprintf("Percentage symbol: %%\n");
  return 0;
}
```