// File: /workspace/github_c_makefile_star2_O2/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 0x16dc(%rip), %rsi      # 0x1008e
leaq -0xbffa(%rip), %rdx     # 0x29bf
callq 0xeed8
leaq 0x2374(%rip), %rsi      # 0x10d39
leaq -0xbfba(%rip), %rdx     # 0x2a12
movq %rbx, %rdi
callq 0xeed8
leaq 0x16b5(%rip), %rsi      # 0x10090
leaq -0xbf7e(%rip), %rdx     # 0x2a64
movq %rbx, %rdi
callq 0xeed8
leaq 0x2eee(%rip), %rsi      # 0x118df
leaq -0xbf41(%rip), %rdx     # 0x2ab7
movq %rbx, %rdi
callq 0xeed8
leaq 0x168b(%rip), %rsi      # 0x10092
leaq -0xbf04(%rip), %rdx     # 0x2b0a
movq %rbx, %rdi
callq 0xeed8
leaq 0x1678(%rip), %rsi      # 0x10095
leaq -0xbec7(%rip), %rdx     # 0x2b5d
movq %rbx, %rdi
callq 0xeed8
leaq 0x167e(%rip), %rsi      # 0x100b1
leaq -0xbe8a(%rip), %rdx     # 0x2bb0
movq %rbx, %rdi
callq 0xeed8
leaq 0x24df(%rip), %rsi      # 0x10f28
leaq -0xbc5f(%rip), %rdx     # 0x2df1
movq %rbx, %rdi
callq 0xeed8
leaq 0x16d2(%rip), %rsi      # 0x10131
leaq -0xbc69(%rip), %rdx     # 0x2dfd
movq %rbx, %rdi
callq 0xeed8
leaq 0x16ba(%rip), %rsi      # 0x1012f
leaq -0xbc73(%rip), %rdx     # 0x2e09
movq %rbx, %rdi
callq 0xeed8
leaq 0x16a9(%rip), %rsi      # 0x10134
leaq -0xbc7d(%rip), %rdx     # 0x2e15
movq %rbx, %rdi
callq 0xeed8
leaq 0x1696(%rip), %rsi      # 0x10137
leaq -0xbbf0(%rip), %rdx     # 0x2eb8
movq %rbx, %rdi
callq 0xeed8
leaq 0x1683(%rip), %rsi      # 0x1013a
leaq -0xbbfa(%rip), %rdx     # 0x2ec4
movq %rbx, %rdi
callq 0xeed8
leaq 0x16b8(%rip), %rsi      # 0x10185
leaq -0xb9de(%rip), %rdx     # 0x30f6
movq %rbx, %rdi
callq 0xeed8
leaq 0x2383(%rip), %rsi      # 0x10e66
leaq -0xb9e8(%rip), %rdx     # 0x3102
movq %rbx, %rdi
callq 0xeed8
leaq 0x1644(%rip), %rsi      # 0x1013d
leaq -0xb9f2(%rip), %rdx     # 0x310e
movq %rbx, %rdi
callq 0xeed8
leaq 0x1693(%rip), %rsi      # 0x101a2
leaq -0xb9fc(%rip), %rdx     # 0x311a
movq %rbx, %rdi
callq 0xeed8
leaq 0x167c(%rip), %rsi      # 0x101a1
leaq -0xb93a(%rip), %rdx     # 0x31f2
movq %rbx, %rdi
callq 0xeed8
leaq 0x166c(%rip), %rsi      # 0x101a7
leaq -0xb863(%rip), %rdx     # 0x32df
movq %rbx, %rdi
callq 0xeed8
leaq 0x165b(%rip), %rsi      # 0x101ac
leaq -0xb7ab(%rip), %rdx     # 0x33ad
movq %rbx, %rdi
callq 0xeed8
leaq 0x1652(%rip), %rsi      # 0x101b9
leaq -0xb6f4(%rip), %rdx     # 0x347a
movq %rbx, %rdi
callq 0xeed8
leaq 0x2d1c(%rip), %rsi      # 0x11899
leaq -0xb56d(%rip), %rdx     # 0x3617
movq %rbx, %rdi
callq 0xeed8
leaq 0x162b(%rip), %rsi      # 0x101be
leaq -0xb570(%rip), %rdx     # 0x362a
movq %rbx, %rdi
callq 0xeed8
leaq 0x161a(%rip), %rsi      # 0x101c3
leaq -0xb4d2(%rip), %rdx     # 0x36de
movq %rbx, %rdi
callq 0xeed8
leaq 0x160b(%rip), %rsi      # 0x101ca
leaq -0xb41a(%rip), %rdx     # 0x37ac
movq %rbx, %rdi
callq 0xeed8
leaq 0x15dd(%rip), %rsi      # 0x101b2
leaq -0xb694(%rip), %rdx     # 0x3548
movq %rbx, %rdi
callq 0xeed8
leaq 0x15e4(%rip), %rsi      # 0x101cf
leaq -0xb390(%rip), %rdx     # 0x3862
movq %rbx, %rdi
callq 0xeed8
leaq 0x15d7(%rip), %rsi      # 0x101d8
leaq -0xb2a7(%rip), %rdx     # 0x3961
movq %rbx, %rdi
callq 0xeed8
leaq 0x15ca(%rip), %rsi      # 0x101e1
leaq -0xb1b9(%rip), %rdx     # 0x3a65
movq %rbx, %rdi
callq 0xeed8
leaq 0x15bd(%rip), %rsi      # 0x101ea
leaq -0xb0da(%rip), %rdx     # 0x3b5a
movq %rbx, %rdi
callq 0xeed8
leaq 0x15b4(%rip), %rsi      # 0x101f7
leaq -0xafec(%rip), %rdx     # 0x3c5e
movq %rbx, %rdi
callq 0xeed8
leaq 0x15a8(%rip), %rsi      # 0x10201
leaq -0xaf5c(%rip), %rdx     # 0x3d04
movq %rbx, %rdi
callq 0xeed8
leaq 0x159c(%rip), %rsi      # 0x1020b
leaq -0xaecc(%rip), %rdx     # 0x3daa
movq %rbx, %rdi
callq 0xeed8
leaq 0x15db(%rip), %rsi      # 0x10260
leaq -0xae4e(%rip), %rdx     # 0x3e3e
movq %rbx, %rdi
callq 0xeed8
leaq 0x1660(%rip), %rsi      # 0x102fb
leaq -0xadc0(%rip), %rdx     # 0x3ee2
movq %rbx, %rdi
callq 0xeed8
leaq 0x1678(%rip), %rsi      # 0x10329
leaq -0xab96(%rip), %rdx     # 0x4122
movq %rbx, %rdi
callq 0xeed8
leaq 0x166c(%rip), %rsi      # 0x10333
leaq -0xa8eb(%rip), %rdx     # 0x43e3
movq %rbx, %rdi
callq 0xeed8
leaq 0x164f(%rip), %rsi      # 0x1032c
leaq -0xa8fa(%rip), %rdx     # 0x43ea
movq %rbx, %rdi
callq 0xeed8
leaq 0x16e7(%rip), %rsi      # 0x103da
leaq -0xa908(%rip), %rdx     # 0x43f2
movq %rbx, %rdi
callq 0xeed8
leaq 0x1757(%rip), %rsi      # 0x10460
leaq -0xa724(%rip), %rdx     # 0x45ec
movq %rbx, %rdi
callq 0xeed8
leaq 0x17d2(%rip), %rsi      # 0x104f1
leaq -0xa66e(%rip), %rdx     # 0x46b8
movq %rbx, %rdi
callq 0xeed8
leaq 0x17f7(%rip), %rsi      # 0x1052c
leaq -0xa508(%rip), %rdx     # 0x4834
movq %rbx, %rdi
callq 0xeed8
leaq 0x17e8(%rip), %rsi      # 0x10533
leaq -0xa4b3(%rip), %rdx     # 0x489f
movq %rbx, %rdi
callq 0xeed8
leaq 0x17eb(%rip), %rsi      # 0x1054c
leaq -0xa3d7(%rip), %rdx     # 0x4991
movq %rbx, %rdi
callq 0xeed8
leaq 0x2b27(%rip), %rsi      # 0x1189e
leaq -0xa147(%rip), %rdx     # 0x4c37
movq %rbx, %rdi
callq 0xeed8
leaq 0x2b17(%rip), %rsi      # 0x118a4
leaq -0xa0d1(%rip), %rdx     # 0x4cc3
movq %rbx, %rdi
callq 0xeed8
leaq 0x1817(%rip), %rsi      # 0x105ba
leaq -0xa0cb(%rip), %rdx     # 0x4cdf
movq %rbx, %rdi
callq 0xeed8
leaq 0x17e7(%rip), %rsi      # 0x105a0
leaq -0xa089(%rip), %rdx     # 0x4d37
movq %rbx, %rdi
callq 0xeed8
leaq 0x2add(%rip), %rsi      # 0x118ac
leaq -0xa005(%rip), %rdx     # 0x4dd1
movq %rbx, %rdi
popq %rbx
jmp 0xeed8