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

```asm
<initwords>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    $0xc8,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D182(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x65,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D136(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x64,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D506(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x51,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D384(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x50,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D448(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x35,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D589(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x34,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D698(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x33,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D192(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x32,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D734(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0xd,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D496(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0xe,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D631(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x28,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D724(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x22,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D371(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x21,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D245(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x20,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D269(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x1f,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D568(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x1e,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D59(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x1b,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D208(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x1a,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D498(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x19,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D445(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x18,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D295(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x17,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D6(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x16,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D518(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x15,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D510(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x14,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D591(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0xc,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D339(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0xb,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D684(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0xa,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D277(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x9,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D727(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x8,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D502(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x7,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D293(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x6,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D356(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x1,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D528(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x5,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D114(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x4,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D704(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x3,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D534(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  mov    $0x2,%edx
  lea    D651(%rip),%rax
  mov    %rax,%rsi
  lea    D407(%rip),%rax
  mov    %rax,%rdi
  call   <addword@plt>
  nop
  pop    %rbp
  ret
```

tool_calls: name: disassemble_data
arguments: data_label: D651
type_infered: string
name: disassemble_data
arguments: data_label: D182
type_infered: string
name: disassemble_data
arguments: data_label: D136
type_infered: string
name: disassemble_data
arguments: data_label: D506
type_infered: string
name: disassemble_data
arguments: data_label: D384
type_infered: string
name: disassemble_data
arguments: data_label: D448
type_infered: string
name: disassemble_data
arguments: data_label: D589
type_infered: string
name: disassemble_data
arguments: data_label: D698
type_infered: string
name: disassemble_data
arguments: data_label: D192
type_infered: string
name: disassemble_data
arguments: data_label: D734
type_infered: string
name: disassemble_data
arguments: data_label: D496
type_infered: string
name: disassemble_data
arguments: data_label: D631
type_infered: string
name: disassemble_data
arguments: data_label: D724
type_infered: string
name: disassemble_data
arguments: data_label: D371
type_infered: string
name: disassemble_data
arguments: data_label: D245
type_infered: string
name: disassemble_data
arguments: data_label: D269
type_infered: string
name: disassemble_data
arguments: data_label: D568
type_infered: string
name: disassemble_data
arguments: data_label: D59
type_infered: string
name: disassemble_data
arguments: data_label: D208
type_infered: string
name: disassemble_data
arguments: data_label: D498
type_infered: string
name: disassemble_data
arguments: data_label: D445
type_infered: string
name: disassemble_data
arguments: data_label: D295
type_infered: string
name: disassemble_data
arguments: data_label: D6
type_infered: string
name: disassemble_data
arguments: data_label: D518
type_infered: string
name: disassemble_data
arguments: data_label: D510
type_infered: string
name: disassemble_data
arguments: data_label: D591
type_infered: string
name: disassemble_data
arguments: data_label: D339
type_infered: string
name: disassemble_data
arguments: data_label: D684
type_infered: string
name: disassemble_data
arguments: data_label: D277
type_infered: string
name: disassemble_data
arguments: data_label: D727
type_infered: string
name: disassemble_data
arguments: data_label: D502
type_infered: string
name: disassemble_data
arguments: data_label: D293
type_infered: string
name: disassemble_data
arguments: data_label: D356
type_infered: string
name: disassemble_data
arguments: data_label: D528
type_infered: string
name: disassemble_data
arguments: data_label: D114
type_infered: string
name: disassemble_data
arguments: data_label: D704
type_infered: string
name: disassemble_data
arguments: data_label: D534
type_infered: string
name: disassemble_data
arguments: data_label: D407
type_infered: string

tool: 

tool: D182: bye

tool: D136: vars

tool: D506: words

tool: D384: ;

tool: D448: :

tool: D589: sd

tool: D698: mean

tool: D192: sum

tool: D734: size

tool: D496: !

tool: D631: fib

tool: D724: rnd

tool: D371: sign

tool: D245: abs

tool: D269: round

tool: D568: frac

tool: D59: int

tool: D208: phi

tool: D498: pi

tool: D445: atan

tool: D295: acos

tool: D6: asin

tool: D518: tan

tool: D510: cos

tool: D591: sin

tool: D339: inv

tool: D684: exp

tool: D277: log

tool: D727: ln

tool: D502: sqrt

tool: D293: sqr

tool: D356: ^

tool: D528: .

tool: D114: /

tool: D704: *

tool: D534: -

tool: D407: +

assistant: ```c
void initwords() {
  addword("bye", "", 200);
  addword("vars", "", 101);
  addword("words", "", 100);
  addword(";", "", 81);
  addword(":", "", 80);
  addword("sd", "", 53);
  addword("mean", "", 52);
  addword("sum", "", 51);
  addword("size", "", 50);
  addword("!", "", 13);
  addword("fib", "", 14);
  addword("rnd", "", 40);
  addword("sign", "", 34);
  addword("abs", "", 33);
  addword("round", "", 32);
  addword("frac", "", 31);
  addword("int", "", 30);
  addword("phi", "", 27);
  addword("pi", "", 26);
  addword("atan", "", 25);
  addword("acos", "", 24);
  addword("asin", "", 23);
  addword("tan", "", 22);
  addword("cos", "", 21);
  addword("sin", "", 20);
  addword("inv", "", 12);
  addword("exp", "", 11);
  addword("log", "", 10);
  addword("ln", "", 9);
  addword("sqrt", "", 8);
  addword("sqr", "", 7);
  addword("^", "", 6);
  addword(".", "", 1);
  addword("/", "", 5);
  addword("*", "", 4);
  addword("-", "", 3);
  addword("+", "", 2);
}
```