// File: /workspace/github_c_makefile_star2_O3/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 %r14
pushq %rbx
subq $0xf8, %rsp
movq %rdi, %rbx
leaq 0x10(%rsp), %rsi
callq 0x3b7d
testl %eax, %eax
je 0x16c9
leaq 0x18(%rsp), %rsi
movq %rbx, %rdi
callq 0x389f
testl %eax, %eax
je 0x16fb
movq %rsp, %rsi
movq %rbx, %rdi
callq 0x383b
testl %eax, %eax
je 0x1709
leaq 0x88(%rsp), %rsi
leaq 0x90(%rsp), %rdx
movq %rbx, %rdi
movl $0x64, %ecx
callq 0x39f4
testl %eax, %eax
je 0x1728
leaq 0x20(%rsp), %rsi
movq %rbx, %rdi
callq 0x34b5
testl %eax, %eax
jne 0x1836
movq 0x78(%rsp), %rax
testq %rax, %rax
je 0x1749
movl (%rax), %edx
leaq 0x4a4a(%rip), %rsi      # 0x6102
leaq 0x6(%rsp), %rdi
xorl %eax, %eax
callq 0x11b0
jmp 0x174e
leaq 0x49b0(%rip), %rdi      # 0x6080
xorl %eax, %eax
callq 0x10d0
movq 0x10(%rsp), %rdi
callq 0x1581
leaq 0x4a9e(%rip), %rdi      # 0x6186
xorl %eax, %eax
callq 0x10d0
movq 0x10(%rsp), %rdi
callq 0x1030
jmp 0x173e
movq 0x18(%rsp), %rsi
leaq 0x4994(%rip), %rdi      # 0x609b
jmp 0x1737
cmpl $0x0, (%rsp)
leaq 0x49ca(%rip), %rax      # 0x60de
leaq 0x49be(%rip), %rsi      # 0x60d9
cmoveq %rax, %rsi
leaq 0x4996(%rip), %rdi      # 0x60bc
jmp 0x1737
leaq 0x49b5(%rip), %rdi      # 0x60e4
leaq 0x90(%rsp), %rsi
xorl %eax, %eax
callq 0x10d0
addq $0xf8, %rsp
popq %rbx
popq %r14
retq
movb $0x0, 0x6(%rsp)
movq 0x48(%rsp), %rcx
movq 0x60(%rsp), %rax
testq %rcx, %rcx
setne %dl
testq %rax, %rax
setne %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x17dd
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
leaq 0x49cb(%rip), %rdx      # 0x614b
leaq 0x49bb(%rip), %rsi      # 0x6142
cmoveq %rdx, %rsi
movl (%rcx), %edx
movq 0x50(%rsp), %rcx
movq 0x58(%rsp), %r8
movl (%rcx), %ecx
movl (%r8), %r8d
movl (%rax), %r9d
movq 0x68(%rsp), %rax
movl (%rax), %r10d
movq 0x70(%rsp), %rax
movl (%rax), %r11d
leaq 0x4f79(%rip), %rbx      # 0x672f
cmovneq %rdi, %rbx
leaq 0x6(%rsp), %r14
leaq 0x4942(%rip), %rdi      # 0x6108
xorl %eax, %eax
pushq %rbx
pushq %r14
pushq %r11
pushq %r10
callq 0x10d0
addq $0x20, %rsp
jmp 0x173e
testq %rcx, %rcx
je 0x1805
movl (%rcx), %esi
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rcx
movl (%rax), %edx
movl (%rcx), %ecx
leaq 0x4961(%rip), %rdi      # 0x615a
xorl %eax, %eax
callq 0x10d0
jmp 0x173e
testq %rax, %rax
je 0x173e
movl (%rax), %esi
movq 0x68(%rsp), %rax
movq 0x70(%rsp), %rcx
movl (%rax), %edx
movl (%rcx), %ecx
leaq 0x4964(%rip), %rdi      # 0x6189
leaq 0x6(%rsp), %r8
xorl %eax, %eax
callq 0x10d0
jmp 0x173e
callq 0x1281