// File: /workspace/github_c_makefile_star2_O1/voithos[P]awl/src/types.c
// Function: awlenv_add_builtins
void awlenv_add_builtins(awlenv* e) {
    awlenv_add_builtin(e, "+", builtin_add);
    awlenv_add_builtin(e, "-", builtin_sub);
    awlenv_add_builtin(e, "*", builtin_mul);
    awlenv_add_builtin(e, "/", builtin_div);
    awlenv_add_builtin(e, "//", builtin_trunc_div);
    awlenv_add_builtin(e, "%", builtin_mod);
    awlenv_add_builtin(e, "^", builtin_pow);

    awlenv_add_builtin(e, ">", builtin_gt);
    awlenv_add_builtin(e, ">=", builtin_gte);
    awlenv_add_builtin(e, "<", builtin_lt);
    awlenv_add_builtin(e, "<=", builtin_lte);

    awlenv_add_builtin(e, "==", builtin_eq);
    awlenv_add_builtin(e, "!=", builtin_neq);

    awlenv_add_builtin(e, "and", builtin_and);
    awlenv_add_builtin(e, "or", builtin_or);
    awlenv_add_builtin(e, "not", builtin_not);

    awlenv_add_builtin(e, "head", builtin_head);
    awlenv_add_builtin(e, "qhead", builtin_qhead);
    awlenv_add_builtin(e, "tail", builtin_tail);
    awlenv_add_builtin(e, "first", builtin_first);
    awlenv_add_builtin(e, "last", builtin_last);
    awlenv_add_builtin(e, "list", builtin_list);
    awlenv_add_builtin(e, "eval", builtin_eval);
    awlenv_add_builtin(e, "append", builtin_append);
    awlenv_add_builtin(e, "cons", builtin_cons);
    awlenv_add_builtin(e, "except-last", builtin_exceptlast);
    awlenv_add_builtin(e, "dict-get", builtin_dictget);
    awlenv_add_builtin(e, "dict-set", builtin_dictset);
    awlenv_add_builtin(e, "dict-del", builtin_dictdel);
    awlenv_add_builtin(e, "dict-haskey?", builtin_dicthaskey);
    awlenv_add_builtin(e, "dict-keys", builtin_dictkeys);
    awlenv_add_builtin(e, "dict-vals", builtin_dictvals);

    awlenv_add_builtin(e, "len", builtin_len);
    awlenv_add_builtin(e, "reverse", builtin_reverse);
    awlenv_add_builtin(e, "slice", builtin_slice);

    awlenv_add_builtin(e, "if", builtin_if);
    awlenv_add_builtin(e, "define", builtin_define);
    awlenv_add_builtin(e, "global", builtin_global);

    awlenv_add_builtin(e, "let", builtin_let);
    awlenv_add_builtin(e, "fn", builtin_lambda);
    awlenv_add_builtin(e, "macro", builtin_macro);

    awlenv_add_builtin(e, "typeof", builtin_typeof);
    awlenv_add_builtin(e, "convert", builtin_convert);
    awlenv_add_builtin(e, "import", builtin_import);
    awlenv_add_builtin(e, "print", builtin_print);
    awlenv_add_builtin(e, "println", builtin_println);
    awlenv_add_builtin(e, "random", builtin_random);
    awlenv_add_builtin(e, "error", builtin_error);
    awlenv_add_builtin(e, "exit", builtin_exit);
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
leaq 0xc6c(%rip), %rsi       # 0x1208e
leaq -0xe281(%rip), %rdx     # 0x31a8
callq 0x1197d
leaq 0x18b4(%rip), %rsi      # 0x12ce9
leaq -0xe23f(%rip), %rdx     # 0x31fd
movq %rbx, %rdi
callq 0x1197d
leaq 0xc45(%rip), %rsi       # 0x12090
leaq -0xe201(%rip), %rdx     # 0x3251
movq %rbx, %rdi
callq 0x1197d
leaq 0x242e(%rip), %rsi      # 0x1388f
leaq -0xe1c2(%rip), %rdx     # 0x32a6
movq %rbx, %rdi
callq 0x1197d
leaq 0xc1b(%rip), %rsi       # 0x12092
leaq -0xe183(%rip), %rdx     # 0x32fb
movq %rbx, %rdi
callq 0x1197d
leaq 0xc08(%rip), %rsi       # 0x12095
leaq -0xe144(%rip), %rdx     # 0x3350
movq %rbx, %rdi
callq 0x1197d
leaq 0xc0e(%rip), %rsi       # 0x120b1
leaq -0xe105(%rip), %rdx     # 0x33a5
movq %rbx, %rdi
callq 0x1197d
leaq 0x1a1f(%rip), %rsi      # 0x12ed8
leaq -0xded4(%rip), %rdx     # 0x35ec
movq %rbx, %rdi
callq 0x1197d
leaq 0xc62(%rip), %rsi       # 0x12131
leaq -0xdede(%rip), %rdx     # 0x35f8
movq %rbx, %rdi
callq 0x1197d
leaq 0xc4a(%rip), %rsi       # 0x1212f
leaq -0xdee8(%rip), %rdx     # 0x3604
movq %rbx, %rdi
callq 0x1197d
leaq 0xc39(%rip), %rsi       # 0x12134
leaq -0xdef2(%rip), %rdx     # 0x3610
movq %rbx, %rdi
callq 0x1197d
leaq 0xc26(%rip), %rsi       # 0x12137
leaq -0xde63(%rip), %rdx     # 0x36b5
movq %rbx, %rdi
callq 0x1197d
leaq 0xc13(%rip), %rsi       # 0x1213a
leaq -0xde6d(%rip), %rdx     # 0x36c1
movq %rbx, %rdi
callq 0x1197d
leaq 0xc48(%rip), %rsi       # 0x12185
leaq -0xdc39(%rip), %rdx     # 0x390b
movq %rbx, %rdi
callq 0x1197d
leaq 0x18c3(%rip), %rsi      # 0x12e16
leaq -0xdc43(%rip), %rdx     # 0x3917
movq %rbx, %rdi
callq 0x1197d
leaq 0xbd4(%rip), %rsi       # 0x1213d
leaq -0xdc4d(%rip), %rdx     # 0x3923
movq %rbx, %rdi
callq 0x1197d
leaq 0xc23(%rip), %rsi       # 0x121a2
leaq -0xdc57(%rip), %rdx     # 0x392f
movq %rbx, %rdi
callq 0x1197d
leaq 0xc0c(%rip), %rsi       # 0x121a1
leaq -0xdb8e(%rip), %rdx     # 0x3a0e
movq %rbx, %rdi
callq 0x1197d
leaq 0xbfc(%rip), %rsi       # 0x121a7
leaq -0xdaab(%rip), %rdx     # 0x3b07
movq %rbx, %rdi
callq 0x1197d
leaq 0xbeb(%rip), %rsi       # 0x121ac
leaq -0xd9ed(%rip), %rdx     # 0x3bdb
movq %rbx, %rdi
callq 0x1197d
leaq 0xbe2(%rip), %rsi       # 0x121b9
leaq -0xd930(%rip), %rdx     # 0x3cae
movq %rbx, %rdi
callq 0x1197d
leaq 0x225c(%rip), %rsi      # 0x13849
leaq -0xd7a1(%rip), %rdx     # 0x3e53
movq %rbx, %rdi
callq 0x1197d
leaq 0xbbb(%rip), %rsi       # 0x121be
leaq -0xd7a4(%rip), %rdx     # 0x3e66
movq %rbx, %rdi
callq 0x1197d
leaq 0xbaa(%rip), %rsi       # 0x121c3
leaq -0xd702(%rip), %rdx     # 0x3f1e
movq %rbx, %rdi
callq 0x1197d
leaq 0xb9b(%rip), %rsi       # 0x121ca
leaq -0xd600(%rip), %rdx     # 0x4036
movq %rbx, %rdi
callq 0x1197d
leaq 0xb6d(%rip), %rsi       # 0x121b2
leaq -0xd8cc(%rip), %rdx     # 0x3d80
movq %rbx, %rdi
callq 0x1197d
leaq 0xb74(%rip), %rsi       # 0x121cf
leaq -0xd570(%rip), %rdx     # 0x40f2
movq %rbx, %rdi
callq 0x1197d
leaq 0xb67(%rip), %rsi       # 0x121d8
leaq -0xd47f(%rip), %rdx     # 0x41f9
movq %rbx, %rdi
callq 0x1197d
leaq 0xb5a(%rip), %rsi       # 0x121e1
leaq -0xd389(%rip), %rdx     # 0x4305
movq %rbx, %rdi
callq 0x1197d
leaq 0xb4d(%rip), %rsi       # 0x121ea
leaq -0xd2a2(%rip), %rdx     # 0x4402
movq %rbx, %rdi
callq 0x1197d
leaq 0xb44(%rip), %rsi       # 0x121f7
leaq -0xd1ac(%rip), %rdx     # 0x450e
movq %rbx, %rdi
callq 0x1197d
leaq 0xb38(%rip), %rsi       # 0x12201
leaq -0xd118(%rip), %rdx     # 0x45b8
movq %rbx, %rdi
callq 0x1197d
leaq 0xb2c(%rip), %rsi       # 0x1220b
leaq -0xd084(%rip), %rdx     # 0x4662
movq %rbx, %rdi
callq 0x1197d
leaq 0xb6b(%rip), %rsi       # 0x12260
leaq -0xd002(%rip), %rdx     # 0x46fa
movq %rbx, %rdi
callq 0x1197d
leaq 0xbf0(%rip), %rsi       # 0x122fb
leaq -0xcf72(%rip), %rdx     # 0x47a0
movq %rbx, %rdi
callq 0x1197d
leaq 0xc08(%rip), %rsi       # 0x12329
leaq -0xcd3d(%rip), %rdx     # 0x49eb
movq %rbx, %rdi
callq 0x1197d
leaq 0xbfc(%rip), %rsi       # 0x12333
leaq -0xc988(%rip), %rdx     # 0x4db6
movq %rbx, %rdi
callq 0x1197d
leaq 0xbdf(%rip), %rsi       # 0x1232c
leaq -0xc997(%rip), %rdx     # 0x4dbd
movq %rbx, %rdi
callq 0x1197d
leaq 0xc77(%rip), %rsi       # 0x123da
leaq -0xc9a3(%rip), %rdx     # 0x4dc7
movq %rbx, %rdi
callq 0x1197d
leaq 0xce7(%rip), %rsi       # 0x12460
leaq -0xc716(%rip), %rdx     # 0x506a
movq %rbx, %rdi
callq 0x1197d
leaq 0xd62(%rip), %rsi       # 0x124f1
leaq -0xc612(%rip), %rdx     # 0x5184
movq %rbx, %rdi
callq 0x1197d
leaq 0xd87(%rip), %rsi       # 0x1252c
leaq -0xc477(%rip), %rdx     # 0x5335
movq %rbx, %rdi
callq 0x1197d
leaq 0xd78(%rip), %rsi       # 0x12533
leaq -0xc423(%rip), %rdx     # 0x539f
movq %rbx, %rdi
callq 0x1197d
leaq 0xd7b(%rip), %rsi       # 0x1254c
leaq -0xc343(%rip), %rdx     # 0x5495
movq %rbx, %rdi
callq 0x1197d
leaq 0x2067(%rip), %rsi      # 0x1384e
leaq -0xc089(%rip), %rdx     # 0x5765
movq %rbx, %rdi
callq 0x1197d
leaq 0x2057(%rip), %rsi      # 0x13854
leaq -0xc00f(%rip), %rdx     # 0x57f5
movq %rbx, %rdi
callq 0x1197d
leaq 0xda7(%rip), %rsi       # 0x125ba
leaq -0xc009(%rip), %rdx     # 0x5811
movq %rbx, %rdi
callq 0x1197d
leaq 0xd77(%rip), %rsi       # 0x125a0
leaq -0xbfc7(%rip), %rdx     # 0x5869
movq %rbx, %rdi
callq 0x1197d
leaq 0x201d(%rip), %rsi      # 0x1385c
leaq -0xbf3d(%rip), %rdx     # 0x5909
movq %rbx, %rdi
popq %rbx
jmp 0x1197d