// File: /workspace/github_c_makefile_star2_O0/pedro-onate[P]eva/eva.c
// Function: ctx_init_env
static void ctx_init_env(es_ctx_t* ctx)
{
  ctx->env = es_make_env(ctx, ES_GLOBAL_ENV_SIZE);

  es_define_fn(ctx, "mem-stats",           fn_mem_stats,           0);
  es_define_fn(ctx, "bytecode",            fn_bytecode,            0);
  es_define_fn(ctx, "global-env",          fn_env,                 0);
  es_define_fn(ctx, "cons",                fn_cons,                2);
  es_define_fn(ctx, "car",                 fn_car,                 1);
  es_define_fn(ctx, "cdr",                 fn_cdr,                 1);
  es_define_fn(ctx, "+",                   fn_add,                 2);
  es_define_fn(ctx, "-",                   fn_sub,                 2);
  es_define_fn(ctx, "*",                   fn_mul,                 2);
  es_define_fn(ctx, "/",                   fn_div,                 2);
  es_define_fn(ctx, "call/cc",             fn_call_cc,             1);
  es_define_fn(ctx, "compile",             fn_compile,             1);
  es_define_fn(ctx, "boolean?",            fn_is_bool,             1);
  es_define_fn(ctx, "symbol?",             fn_is_symbol,           1);
  es_define_fn(ctx, "char?",               fn_is_char,             1);
  es_define_fn(ctx, "vector?",             fn_is_vec,              1);
  es_define_fn(ctx, "procedure?",          fn_is_procedure,        1);
  es_define_fn(ctx, "pair?",               fn_is_pair,             1);
  es_define_fn(ctx, "number?",             fn_is_number,           1);
  es_define_fn(ctx, "string?",             fn_is_string,           1);
  es_define_fn(ctx, "port?",               fn_is_port,             1);
  es_define_fn(ctx, "null?",               fn_is_null,             2);
  es_define_fn(ctx, "=",                   fn_is_num_eq,           2);
  es_define_fn(ctx, "eq?",                 fn_is_eq,               2);
  es_define_fn(ctx, "quit",                fn_quit,                2);
  es_define_fn(ctx, "gc",                  fn_gc,                  0);
  es_define_fn(ctx, "write",               fn_write,               2);
  es_define_fn(ctx, "read-char",           fn_read_char,           2);
  es_define_fn(ctx, "close",               fn_close,               1);
  es_define_fn(ctx, "eval",                fn_eval,                1);
  es_define_fn(ctx, "apply",               fn_apply,               2);
  es_define_fn(ctx, "vector-ref",          fn_vec_ref,             2);
  es_define_fn(ctx, "make-string",         fn_make_string,         2);
  es_define_fn(ctx, "string-ref",          fn_string_ref,          2);
  es_define_fn(ctx, "current-input-port",  fn_current_input_port,  0);
  es_define_fn(ctx, "current-output-port", fn_current_output_port, 0);
  es_define_fn(ctx, "get-proc",            fn_get_proc,            1);
  es_define_fn(ctx, "macro",               fn_make_macro,          1);
  es_define_fn(ctx, "macro-transformer",   fn_macro_transformer,   1);
  es_define_fn(ctx, "gensym",              fn_gensym,              0);
  es_define_fn(ctx, "macro-expand",        fn_macro_expand,        1);

  es_load(ctx, "eva.scm");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movl $0x20, %esi
callq 0x33b0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x42080(%rax)
movq -0x8(%rbp), %rdi
leaq 0x448b(%rip), %rsi      # 0xa34e
leaq 0x476(%rip), %rdx       # 0x6340
xorl %ecx, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x447c(%rip), %rsi      # 0xa358
leaq 0x4bd(%rip), %rdx       # 0x63a0
xorl %ecx, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x446c(%rip), %rsi      # 0xa361
leaq 0x4c4(%rip), %rdx       # 0x63c0
xorl %ecx, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x445e(%rip), %rsi      # 0xa36c
leaq 0x4db(%rip), %rdx       # 0x63f0
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x4447(%rip), %rsi      # 0xa371
leaq 0x4ff(%rip), %rdx       # 0x6430
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x442f(%rip), %rsi      # 0xa375
leaq 0x513(%rip), %rdx       # 0x6460
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x4417(%rip), %rsi      # 0xa379
leaq 0x527(%rip), %rdx       # 0x6490
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x46e3(%rip), %rsi      # 0xa661
leaq 0x54b(%rip), %rdx       # 0x64d0
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x43e1(%rip), %rsi      # 0xa37b
leaq 0x56f(%rip), %rdx       # 0x6510
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x43c7(%rip), %rsi      # 0xa37d
leaq 0x593(%rip), %rdx       # 0x6550
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x43ad(%rip), %rsi      # 0xa37f
leaq 0x5b7(%rip), %rdx       # 0x6590
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x4399(%rip), %rsi      # 0xa387
leaq 0x5db(%rip), %rdx       # 0x65d0
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x4385(%rip), %rsi      # 0xa38f
leaq 0x61f(%rip), %rdx       # 0x6630
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x4372(%rip), %rsi      # 0xa398
leaq 0x633(%rip), %rdx       # 0x6660
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x435e(%rip), %rsi      # 0xa3a0
leaq 0x647(%rip), %rdx       # 0x6690
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x4348(%rip), %rsi      # 0xa3a6
leaq 0x65b(%rip), %rdx       # 0x66c0
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x4334(%rip), %rsi      # 0xa3ae
leaq 0x66f(%rip), %rdx       # 0x66f0
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x4323(%rip), %rsi      # 0xa3b9
leaq 0x6c3(%rip), %rdx       # 0x6760
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x430d(%rip), %rsi      # 0xa3bf
leaq 0x6d7(%rip), %rdx       # 0x6790
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x42f9(%rip), %rsi      # 0xa3c7
leaq 0x6eb(%rip), %rdx       # 0x67c0
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x42e5(%rip), %rsi      # 0xa3cf
leaq 0x6ff(%rip), %rdx       # 0x67f0
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x42cf(%rip), %rsi      # 0xa3d5
leaq 0x713(%rip), %rdx       # 0x6820
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x42b9(%rip), %rsi      # 0xa3db
leaq 0x727(%rip), %rdx       # 0x6850
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x429f(%rip), %rsi      # 0xa3dd
leaq 0x74b(%rip), %rdx       # 0x6890
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x4287(%rip), %rsi      # 0xa3e1
leaq 0x76f(%rip), %rdx       # 0x68d0
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x4270(%rip), %rsi      # 0xa3e6
leaq 0x773(%rip), %rdx       # 0x68f0
xorl %ecx, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x425a(%rip), %rsi      # 0xa3e9
leaq 0x78a(%rip), %rdx       # 0x6920
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x4244(%rip), %rsi      # 0xa3ef
leaq 0x7ce(%rip), %rdx       # 0x6980
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x4232(%rip), %rsi      # 0xa3f9
leaq 0x802(%rip), %rdx       # 0x69d0
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x421c(%rip), %rsi      # 0xa3ff
leaq 0x836(%rip), %rdx       # 0x6a20
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x4205(%rip), %rsi      # 0xa404
leaq 0x83a(%rip), %rdx       # 0x6a40
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x41ef(%rip), %rsi      # 0xa40a
leaq 0x99e(%rip), %rdx       # 0x6bc0
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x41de(%rip), %rsi      # 0xa415
leaq 0x9c2(%rip), %rdx       # 0x6c00
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x41ce(%rip), %rsi      # 0xa421
leaq 0xa06(%rip), %rdx       # 0x6c60
movl $0x2, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x41bd(%rip), %rsi      # 0xa42c
leaq 0xa3a(%rip), %rdx       # 0x6cb0
xorl %ecx, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x41b7(%rip), %rsi      # 0xa43f
leaq 0xa51(%rip), %rdx       # 0x6ce0
xorl %ecx, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x41b2(%rip), %rsi      # 0xa453
leaq 0xa68(%rip), %rdx       # 0x6d10
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x419f(%rip), %rsi      # 0xa45c
leaq 0xa7c(%rip), %rdx       # 0x6d40
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x4189(%rip), %rsi      # 0xa462
leaq 0xa90(%rip), %rdx       # 0x6d70
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x417f(%rip), %rsi      # 0xa474
leaq 0xaa4(%rip), %rdx       # 0x6da0
xorl %ecx, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x416d(%rip), %rsi      # 0xa47b
leaq 0xabb(%rip), %rdx       # 0x6dd0
movl $0x1, %ecx
callq 0x3740
movq -0x8(%rbp), %rdi
leaq 0x415e(%rip), %rsi      # 0xa488
callq 0x47f0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)