// File: /workspace/github_c_makefile_star2_O0/RodionGork[P]tinyscheme/scheme.c
// Function: mk_sharp_const
static pointer mk_sharp_const(scheme * sc, char *name) {
  if (str_eq_to_lower(name, "t")) {
    return (sc->T);
  } else if (str_eq_to_lower(name, "f")) {
    return (sc->F);
  } else if (*name == '\\') {   /* #\w (character) */
    int c = 0;
    if (str_eq_to_lower(name + 1, "space")) {
      c = ' ';
    } else if (str_eq_to_lower(name + 1, "newline")) {
      c = '\n';
    } else if (str_eq_to_lower(name + 1, "return")) {
      c = '\r';
    } else if (str_eq_to_lower(name + 1, "tab")) {
      c = '\t';
    } else if (name[1] == 'x' && name[2] != 0) {
      int c1 = 0;
      if (sscanf(name + 2, "%x", (unsigned int *) &c1) == 1) {
        c = c1;
      } else {
        return sc->NIL;
      }
    } else if (name[2] == 0) {
      c = name[1];
    } else {
      return sc->NIL;
    }
    return mk_character(sc, c);
  } else if (*name == 'x') {    /* #x (hex) */
    return (mk_integer(sc, strtol(name + 1, 0, 16)));
  } else if (*name == 'b') {    /* #b (bin) */
    return (mk_integer(sc, strtol(name + 1, 0, 2)));
  } else if (*name == 'o') {    /* #o (oct) */
    return (mk_integer(sc, strtol(name + 1, 0, 8)));
  } else if (*name == 'd') {    /* #d (dec) */
    return (mk_integer(sc, strtol(name + 1, 0, 10)));
  } else {
    return (sc->NIL);
  }
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq %rsi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
leaq 0x3e51(%rip), %rsi      # 0x183bb
callq 0x4180
cmpl $0x0, %eax
jne 0x1458a
movq 0x38(%rsp), %rax
movq 0xb0(%rax), %rax
movq %rax, 0x40(%rsp)
jmp 0x14846
movq 0x30(%rsp), %rdi
leaq 0x3e28(%rip), %rsi      # 0x183be
callq 0x4180
cmpl $0x0, %eax
jne 0x145b6
movq 0x38(%rsp), %rax
movq 0xd0(%rax), %rax
movq %rax, 0x40(%rsp)
jmp 0x14846
movq 0x30(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x5c, %eax
jne 0x14727
movl $0x0, 0x2c(%rsp)
movq 0x30(%rsp), %rdi
addq $0x1, %rdi
leaq 0x3e0a(%rip), %rsi      # 0x183e9
callq 0x4180
cmpl $0x0, %eax
jne 0x145f6
movl $0x20, 0x2c(%rsp)
jmp 0x1470f
movq 0x30(%rsp), %rdi
addq $0x1, %rdi
leaq 0x3deb(%rip), %rsi      # 0x183f1
callq 0x4180
cmpl $0x0, %eax
jne 0x1461d
movl $0xa, 0x2c(%rsp)
jmp 0x1470d
movq 0x30(%rsp), %rdi
addq $0x1, %rdi
leaq 0x3dce(%rip), %rsi      # 0x183fb
callq 0x4180
cmpl $0x0, %eax
jne 0x14644
movl $0xd, 0x2c(%rsp)
jmp 0x1470b
movq 0x30(%rsp), %rdi
addq $0x1, %rdi
leaq 0x3db0(%rip), %rsi      # 0x18404
callq 0x4180
cmpl $0x0, %eax
jne 0x1466b
movl $0x9, 0x2c(%rsp)
jmp 0x14709
movq 0x30(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x78, %eax
jne 0x146d2
movq 0x30(%rsp), %rax
movsbl 0x2(%rax), %eax
cmpl $0x0, %eax
je 0x146d2
movl $0x0, 0x28(%rsp)
movq 0x30(%rsp), %rdi
addq $0x2, %rdi
leaq 0x3d6c(%rip), %rsi      # 0x1840b
leaq 0x28(%rsp), %rdx
movb $0x0, %al
callq 0x41f0
cmpl $0x1, %eax
jne 0x146ba
movl 0x28(%rsp), %eax
movl %eax, 0x2c(%rsp)
jmp 0x146d0
movq 0x38(%rsp), %rax
movq 0x90(%rax), %rax
movq %rax, 0x40(%rsp)
jmp 0x14846
jmp 0x14707
movq 0x30(%rsp), %rax
movsbl 0x2(%rax), %eax
cmpl $0x0, %eax
jne 0x146ef
movq 0x30(%rsp), %rax
movsbl 0x1(%rax), %eax
movl %eax, 0x2c(%rsp)
jmp 0x14705
movq 0x38(%rsp), %rax
movq 0x90(%rax), %rax
movq %rax, 0x40(%rsp)
jmp 0x14846
jmp 0x14707
jmp 0x14709
jmp 0x1470b
jmp 0x1470d
jmp 0x1470f
movq 0x38(%rsp), %rdi
movl 0x2c(%rsp), %esi
callq 0x4aa0
movq %rax, 0x40(%rsp)
jmp 0x14846
movq 0x30(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x78, %eax
jne 0x1476c
movq 0x38(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
addq $0x1, %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x10, %edx
callq 0x41a0
movq 0x20(%rsp), %rdi
movq %rax, %rsi
callq 0x4b00
movq %rax, 0x40(%rsp)
jmp 0x14846
movq 0x30(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x62, %eax
jne 0x147b1
movq 0x38(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rdi
addq $0x1, %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x2, %edx
callq 0x41a0
movq 0x18(%rsp), %rdi
movq %rax, %rsi
callq 0x4b00
movq %rax, 0x40(%rsp)
jmp 0x14846
movq 0x30(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x6f, %eax
jne 0x147f3
movq 0x38(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rdi
addq $0x1, %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x8, %edx
callq 0x41a0
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x4b00
movq %rax, 0x40(%rsp)
jmp 0x14846
movq 0x30(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x64, %eax
jne 0x14835
movq 0x38(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
addq $0x1, %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0xa, %edx
callq 0x41a0
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x4b00
movq %rax, 0x40(%rsp)
jmp 0x14846
movq 0x38(%rsp), %rax
movq 0x90(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
addq $0x48, %rsp
retq