// File: /workspace/github_c_makefile_star2_O0/cktan[P]tomlc99/toml_json.c
// Function: print_raw
static void print_raw(const char *s) {
  char *sval;
  int64_t ival;
  int bval;
  double dval;
  toml_timestamp_t ts;
  char dbuf[100];

  if (0 == toml_rtos(s, &sval)) {
    printf("{\"type\":\"string\",\"value\":\"");
    print_escape_string(sval);
    printf("\"}");
    free(sval);
  } else if (0 == toml_rtoi(s, &ival)) {
    printf("{\"type\":\"integer\",\"value\":\"%" PRId64 "\"}", ival);
  } else if (0 == toml_rtob(s, &bval)) {
    printf("{\"type\":\"bool\",\"value\":\"%s\"}", bval ? "true" : "false");
  } else if (0 == toml_rtod_ex(s, &dval, dbuf, sizeof(dbuf))) {
    printf("{\"type\":\"float\",\"value\":\"%s\"}", dbuf);
  } else if (0 == toml_rtots(s, &ts)) {
    char millisec[10];
    if (ts.millisec)
      sprintf(millisec, ".%03d", *ts.millisec);
    else
      millisec[0] = 0;
    if (ts.year && ts.hour) {
      printf("{\"type\":\"%s\",\"value\":\"%04d-%02d-%02dT%02d:%02d:%02d%"
             "s%s\"}",
             (ts.z ? "datetime" : "datetime-local"),
             *ts.year, *ts.month, *ts.day, *ts.hour, *ts.minute, *ts.second,
             millisec, (ts.z ? ts.z : ""));
    } else if (ts.year) {
      printf("{\"type\":\"date-local\",\"value\":\"%04d-%02d-%02d\"}", *ts.year,
             *ts.month, *ts.day);
    } else if (ts.hour) {
      printf("{\"type\":\"time-local\",\"value\":\"%02d:%02d:%02d%s\"}", *ts.hour,
             *ts.minute, *ts.second, millisec);
    }
  } else {
    fprintf(stderr, "unknown type\n");
    exit(1);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x158, %rsp            # imm = 0x158
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x4880
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x16e8
leaq 0x698e(%rip), %rdi      # 0x804a
movb $0x0, %al
callq 0x10d0
movq -0x18(%rbp), %rdi
callq 0x1580
leaq 0x6a7d(%rip), %rdi      # 0x8150
movb $0x0, %al
callq 0x10d0
movq -0x18(%rbp), %rdi
callq 0x1030
jmp 0x196c
movq -0x10(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x4260
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x1714
movq -0x20(%rbp), %rsi
leaq 0x695d(%rip), %rdi      # 0x8065
movb $0x0, %al
callq 0x10d0
jmp 0x196a
movq -0x10(%rbp), %rdi
leaq -0x24(%rbp), %rsi
callq 0x41b0
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x1754
movl -0x24(%rbp), %ecx
leaq 0x6975(%rip), %rsi      # 0x80a8
leaq 0x6969(%rip), %rax      # 0x80a3
cmpl $0x0, %ecx
cmovneq %rax, %rsi
leaq 0x693e(%rip), %rdi      # 0x8086
movb $0x0, %al
callq 0x10d0
jmp 0x1968
movq -0x10(%rbp), %rdi
leaq -0x100(%rbp), %rdx
leaq -0x30(%rbp), %rsi
movl $0x64, %ecx
callq 0x45b0
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x178f
leaq -0x100(%rbp), %rsi
leaq 0x692b(%rip), %rdi      # 0x80ae
movb $0x0, %al
callq 0x10d0
jmp 0x1966
movq -0x10(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x3af0
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0x1942
cmpq $0x0, -0x40(%rbp)
je 0x17cf
leaq -0x10a(%rbp), %rdi
movq -0x40(%rbp), %rax
movl (%rax), %edx
leaq 0x6906(%rip), %rsi      # 0x80cc
movb $0x0, %al
callq 0x11a0
jmp 0x17d6
movb $0x0, -0x10a(%rbp)
cmpq $0x0, -0x70(%rbp)
je 0x18e5
cmpq $0x0, -0x58(%rbp)
je 0x18e5
movq -0x38(%rbp), %rdx
leaq 0x691e(%rip), %rax      # 0x8115
leaq 0x690e(%rip), %rcx      # 0x810c
cmpq $0x0, %rdx
cmovneq %rcx, %rax
movq %rax, -0x138(%rbp)
movq -0x70(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x130(%rbp)
movq -0x68(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x12c(%rbp)
movq -0x60(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x128(%rbp)
movq -0x58(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x124(%rbp)
movq -0x50(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x120(%rbp)
movq -0x48(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x11c(%rbp)
leaq -0x10a(%rbp), %rax
movq %rax, -0x118(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0x1877
movq -0x38(%rbp), %rax
movq %rax, -0x140(%rbp)
jmp 0x1887
leaq 0x6fb0(%rip), %rax      # 0x882e
movq %rax, -0x140(%rbp)
jmp 0x1887
movq -0x118(%rbp), %r10
movl -0x11c(%rbp), %r11d
movl -0x120(%rbp), %ebx
movl -0x124(%rbp), %r9d
movl -0x128(%rbp), %r8d
movl -0x12c(%rbp), %ecx
movl -0x130(%rbp), %edx
movq -0x138(%rbp), %rsi
movq -0x140(%rbp), %rax
leaq 0x6808(%rip), %rdi      # 0x80d2
movl %ebx, (%rsp)
movl %r11d, 0x8(%rsp)
movq %r10, 0x10(%rsp)
movq %rax, 0x18(%rsp)
movb $0x0, %al
callq 0x10d0
jmp 0x1940
cmpq $0x0, -0x70(%rbp)
je 0x190e
movq -0x70(%rbp), %rax
movl (%rax), %esi
movq -0x68(%rbp), %rax
movl (%rax), %edx
movq -0x60(%rbp), %rax
movl (%rax), %ecx
leaq 0x681f(%rip), %rdi      # 0x8124
movb $0x0, %al
callq 0x10d0
jmp 0x193e
cmpq $0x0, -0x58(%rbp)
je 0x193c
movq -0x58(%rbp), %rax
movl (%rax), %esi
movq -0x50(%rbp), %rax
movl (%rax), %edx
movq -0x48(%rbp), %rax
movl (%rax), %ecx
leaq -0x10a(%rbp), %r8
leaq 0x681e(%rip), %rdi      # 0x8153
movb $0x0, %al
callq 0x10d0
jmp 0x193e
jmp 0x1940
jmp 0x1964
movq 0x96af(%rip), %rax      # 0xaff8
movq (%rax), %rdi
leaq 0x6831(%rip), %rsi      # 0x8184
movb $0x0, %al
callq 0x1150
movl $0x1, %edi
callq 0x11b0
jmp 0x1966
jmp 0x1968
jmp 0x196a
jmp 0x196c
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %rbp
retq
nopw %cs:(%rax,%rax)