// File: /workspace/github_c_makefile_star2_O3/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 0x1166(%rip), %rsi      # 0x1208e
leaq -0xddd7(%rip), %rdx     # 0x3158
callq 0x1147f
leaq 0x1e06(%rip), %rsi      # 0x12d41
leaq -0xdd95(%rip), %rdx     # 0x31ad
movq %rbx, %rdi
callq 0x1147f
leaq 0x113f(%rip), %rsi      # 0x12090
leaq -0xdd57(%rip), %rdx     # 0x3201
movq %rbx, %rdi
callq 0x1147f
leaq 0x2980(%rip), %rsi      # 0x138e7
leaq -0xdd18(%rip), %rdx     # 0x3256
movq %rbx, %rdi
callq 0x1147f
leaq 0x1115(%rip), %rsi      # 0x12092
leaq -0xdcd9(%rip), %rdx     # 0x32ab
movq %rbx, %rdi
callq 0x1147f
leaq 0x1102(%rip), %rsi      # 0x12095
leaq -0xdc9a(%rip), %rdx     # 0x3300
movq %rbx, %rdi
callq 0x1147f
leaq 0x1108(%rip), %rsi      # 0x120b1
leaq -0xdc5b(%rip), %rdx     # 0x3355
movq %rbx, %rdi
callq 0x1147f
leaq 0x1f71(%rip), %rsi      # 0x12f30
leaq -0xda2a(%rip), %rdx     # 0x359c
movq %rbx, %rdi
callq 0x1147f
leaq 0x115c(%rip), %rsi      # 0x12131
leaq -0xda34(%rip), %rdx     # 0x35a8
movq %rbx, %rdi
callq 0x1147f
leaq 0x1144(%rip), %rsi      # 0x1212f
leaq -0xda3e(%rip), %rdx     # 0x35b4
movq %rbx, %rdi
callq 0x1147f
leaq 0x1133(%rip), %rsi      # 0x12134
leaq -0xda48(%rip), %rdx     # 0x35c0
movq %rbx, %rdi
callq 0x1147f
leaq 0x1120(%rip), %rsi      # 0x12137
leaq -0xd9b9(%rip), %rdx     # 0x3665
movq %rbx, %rdi
callq 0x1147f
leaq 0x110d(%rip), %rsi      # 0x1213a
leaq -0xd9c3(%rip), %rdx     # 0x3671
movq %rbx, %rdi
callq 0x1147f
leaq 0x1142(%rip), %rsi      # 0x12185
leaq -0xd78f(%rip), %rdx     # 0x38bb
movq %rbx, %rdi
callq 0x1147f
leaq 0x1e15(%rip), %rsi      # 0x12e6e
leaq -0xd799(%rip), %rdx     # 0x38c7
movq %rbx, %rdi
callq 0x1147f
leaq 0x10ce(%rip), %rsi      # 0x1213d
leaq -0xd7a3(%rip), %rdx     # 0x38d3
movq %rbx, %rdi
callq 0x1147f
leaq 0x111d(%rip), %rsi      # 0x121a2
leaq -0xd7ad(%rip), %rdx     # 0x38df
movq %rbx, %rdi
callq 0x1147f
leaq 0x1106(%rip), %rsi      # 0x121a1
leaq -0xd6e4(%rip), %rdx     # 0x39be
movq %rbx, %rdi
callq 0x1147f
leaq 0x10f6(%rip), %rsi      # 0x121a7
leaq -0xd601(%rip), %rdx     # 0x3ab7
movq %rbx, %rdi
callq 0x1147f
leaq 0x10e5(%rip), %rsi      # 0x121ac
leaq -0xd543(%rip), %rdx     # 0x3b8b
movq %rbx, %rdi
callq 0x1147f
leaq 0x10dc(%rip), %rsi      # 0x121b9
leaq -0xd486(%rip), %rdx     # 0x3c5e
movq %rbx, %rdi
callq 0x1147f
leaq 0x27ae(%rip), %rsi      # 0x138a1
leaq -0xd2f7(%rip), %rdx     # 0x3e03
movq %rbx, %rdi
callq 0x1147f
leaq 0x10b5(%rip), %rsi      # 0x121be
leaq -0xd2fa(%rip), %rdx     # 0x3e16
movq %rbx, %rdi
callq 0x1147f
leaq 0x10a4(%rip), %rsi      # 0x121c3
leaq -0xd258(%rip), %rdx     # 0x3ece
movq %rbx, %rdi
callq 0x1147f
leaq 0x1095(%rip), %rsi      # 0x121ca
leaq -0xd19e(%rip), %rdx     # 0x3f9e
movq %rbx, %rdi
callq 0x1147f
leaq 0x1067(%rip), %rsi      # 0x121b2
leaq -0xd422(%rip), %rdx     # 0x3d30
movq %rbx, %rdi
callq 0x1147f
leaq 0x106e(%rip), %rsi      # 0x121cf
leaq -0xd10e(%rip), %rdx     # 0x405a
movq %rbx, %rdi
callq 0x1147f
leaq 0x1061(%rip), %rsi      # 0x121d8
leaq -0xd01d(%rip), %rdx     # 0x4161
movq %rbx, %rdi
callq 0x1147f
leaq 0x1054(%rip), %rsi      # 0x121e1
leaq -0xcf27(%rip), %rdx     # 0x426d
movq %rbx, %rdi
callq 0x1147f
leaq 0x1047(%rip), %rsi      # 0x121ea
leaq -0xce40(%rip), %rdx     # 0x436a
movq %rbx, %rdi
callq 0x1147f
leaq 0x103e(%rip), %rsi      # 0x121f7
leaq -0xcd4a(%rip), %rdx     # 0x4476
movq %rbx, %rdi
callq 0x1147f
leaq 0x1032(%rip), %rsi      # 0x12201
leaq -0xccb6(%rip), %rdx     # 0x4520
movq %rbx, %rdi
callq 0x1147f
leaq 0x1026(%rip), %rsi      # 0x1220b
leaq -0xcc22(%rip), %rdx     # 0x45ca
movq %rbx, %rdi
callq 0x1147f
leaq 0x1065(%rip), %rsi      # 0x12260
leaq -0xcba2(%rip), %rdx     # 0x4660
movq %rbx, %rdi
callq 0x1147f
leaq 0x10ea(%rip), %rsi      # 0x122fb
leaq -0xcb12(%rip), %rdx     # 0x4706
movq %rbx, %rdi
callq 0x1147f
leaq 0x1102(%rip), %rsi      # 0x12329
leaq -0xc8df(%rip), %rdx     # 0x494f
movq %rbx, %rdi
callq 0x1147f
leaq 0x10f6(%rip), %rsi      # 0x12333
leaq -0xc600(%rip), %rdx     # 0x4c44
movq %rbx, %rdi
callq 0x1147f
leaq 0x10d9(%rip), %rsi      # 0x1232c
leaq -0xc60f(%rip), %rdx     # 0x4c4b
movq %rbx, %rdi
callq 0x1147f
leaq 0x1171(%rip), %rsi      # 0x123da
leaq -0xc61b(%rip), %rdx     # 0x4c55
movq %rbx, %rdi
callq 0x1147f
leaq 0x11e1(%rip), %rsi      # 0x12460
leaq -0xc417(%rip), %rdx     # 0x4e6f
movq %rbx, %rdi
callq 0x1147f
leaq 0x125c(%rip), %rsi      # 0x124f1
leaq -0xc360(%rip), %rdx     # 0x4f3c
movq %rbx, %rdi
callq 0x1147f
leaq 0x1281(%rip), %rsi      # 0x1252c
leaq -0xc1f5(%rip), %rdx     # 0x50bd
movq %rbx, %rdi
callq 0x1147f
leaq 0x1272(%rip), %rsi      # 0x12533
leaq -0xc19e(%rip), %rdx     # 0x512a
movq %rbx, %rdi
callq 0x1147f
leaq 0x1275(%rip), %rsi      # 0x1254c
leaq -0xc0be(%rip), %rdx     # 0x5220
movq %rbx, %rdi
callq 0x1147f
leaq 0x25b9(%rip), %rsi      # 0x138a6
leaq -0xbe2a(%rip), %rdx     # 0x54ca
movq %rbx, %rdi
callq 0x1147f
leaq 0x25a9(%rip), %rsi      # 0x138ac
leaq -0xbdb0(%rip), %rdx     # 0x555a
movq %rbx, %rdi
callq 0x1147f
leaq 0x12a1(%rip), %rsi      # 0x125ba
leaq -0xbdaa(%rip), %rdx     # 0x5576
movq %rbx, %rdi
callq 0x1147f
leaq 0x1271(%rip), %rsi      # 0x125a0
leaq -0xbd68(%rip), %rdx     # 0x55ce
movq %rbx, %rdi
callq 0x1147f
leaq 0x256f(%rip), %rsi      # 0x138b4
leaq -0xbce0(%rip), %rdx     # 0x566c
movq %rbx, %rdi
popq %rbx
jmp 0x1147f