void test_sprintf_chk_integer_value(void) {
  do {
    if (!0 || 70 == 0) {
      char *d = (char *)__builtin_malloc(1);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(0));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 71 == 0) {
      char *d = (char *)__builtin_malloc(1);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 72 == 0) {
      char *d = (char *)__builtin_malloc(1);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(-1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 73 == 0) {
      char *d = (char *)__builtin_malloc(1);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i_", i(1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 74 == 0) {
      char *d = (char *)__builtin_malloc(1);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "_%i", i(1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 75 == 0) {
      char *d = (char *)__builtin_malloc(1);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "_%i_", i(1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 76 == 0) {
      char *d = (char *)__builtin_malloc(1);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%o", i(0));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 77 == 0) {
      char *d = (char *)__builtin_malloc(1);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%u", i(0));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 78 == 0) {
      char *d = (char *)__builtin_malloc(1);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%x", i(0));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 79 == 0) {
      char *d = (char *)__builtin_malloc(1);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%#x", i(0));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 80 == 0) {
      char *d = (char *)__builtin_malloc(1);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%x", i(1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 81 == 0) {
      char *d = (char *)__builtin_malloc(1);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%#x", i(1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 83 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(0));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 84 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 85 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(9));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 86 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(-1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 87 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(10));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 88 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i_", i(0));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 89 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "_%i", i(0));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 90 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "_%i_", i(0));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 91 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%o", i(1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 92 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%o", i(7));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 93 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%o", i(010));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 94 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%o", i(0100));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 95 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%x", i(1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 96 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%#x", i(1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 97 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%x", i(0xa));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 98 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%x", i(0xf));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 99 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%x", i(0x10));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 100 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%x", i(0xff));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 101 == 0) {
      char *d = (char *)__builtin_malloc(2);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%x",
                              i(0x1ff));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 103 == 0) {
      char *d = (char *)__builtin_malloc(3);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(0));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 104 == 0) {
      char *d = (char *)__builtin_malloc(3);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 105 == 0) {
      char *d = (char *)__builtin_malloc(3);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(9));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 106 == 0) {
      char *d = (char *)__builtin_malloc(3);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(-9));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 107 == 0) {
      char *d = (char *)__builtin_malloc(3);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(10));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 108 == 0) {
      char *d = (char *)__builtin_malloc(3);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(99));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 109 == 0) {
      char *d = (char *)__builtin_malloc(3);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i", i(-99));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 111 == 0) {
      char *d = (char *)__builtin_malloc(3);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%i",
                              i(99) + i(1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 113 == 0) {
      char *d = (char *)__builtin_malloc(8);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%8u", i(1));
      sink(d);
    }
  } while (0);
  do {
    if (!0 || 114 == 0) {
      char *d = (char *)__builtin_malloc(9);
      __builtin___sprintf_chk(d, 0, __builtin_object_size(d, 0), "%8u", i(1));
      sink(d);
    }
  } while (0);
}


x86 assembly (clang, -O0):
<test_sprintf_chk_integer_value>:
push   %rbp
mov    %rsp,%rbp
sub    $0x2a0,%rsp
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,-0x8(%rbp)
mov    -0x8(%rbp),%rax
mov    %rax,-0x150(%rbp)
xor    %edi,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x150(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1e7a(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x8(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    119e <test_sprintf_chk_integer_value+0x5e>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rax
mov    %rax,-0x158(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x158(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1e24(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x10(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    11f4 <test_sprintf_chk_integer_value+0xb4>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,-0x160(%rbp)
mov    $0xffffffff,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x160(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1dce(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x18(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    124a <test_sprintf_chk_integer_value+0x10a>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,-0x20(%rbp)
mov    -0x20(%rbp),%rax
mov    %rax,-0x168(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x168(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1d7c(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x20(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    12a0 <test_sprintf_chk_integer_value+0x160>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rax
mov    %rax,-0x170(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x170(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1d21(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x28(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    12f6 <test_sprintf_chk_integer_value+0x1b6>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,-0x30(%rbp)
mov    -0x30(%rbp),%rax
mov    %rax,-0x178(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x178(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1ccf(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x30(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    134c <test_sprintf_chk_integer_value+0x20c>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,-0x38(%rbp)
mov    -0x38(%rbp),%rax
mov    %rax,-0x180(%rbp)
xor    %edi,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x180(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1c81(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x38(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    139f <test_sprintf_chk_integer_value+0x25f>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,-0x40(%rbp)
mov    -0x40(%rbp),%rax
mov    %rax,-0x188(%rbp)
xor    %edi,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x188(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1c31(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x40(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    13f2 <test_sprintf_chk_integer_value+0x2b2>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,-0x48(%rbp)
mov    -0x48(%rbp),%rax
mov    %rax,-0x190(%rbp)
xor    %edi,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x190(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1be1(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x48(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1445 <test_sprintf_chk_integer_value+0x305>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,-0x50(%rbp)
mov    -0x50(%rbp),%rax
mov    %rax,-0x198(%rbp)
xor    %edi,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x198(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1b91(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x50(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1498 <test_sprintf_chk_integer_value+0x358>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,-0x58(%rbp)
mov    -0x58(%rbp),%rax
mov    %rax,-0x1a0(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x1a0(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1b38(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x58(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    14ee <test_sprintf_chk_integer_value+0x3ae>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,-0x60(%rbp)
mov    -0x60(%rbp),%rax
mov    %rax,-0x1a8(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x1a8(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1ae5(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x60(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1544 <test_sprintf_chk_integer_value+0x404>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0x68(%rbp)
mov    -0x68(%rbp),%rax
mov    %rax,-0x1b0(%rbp)
xor    %edi,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x1b0(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1a81(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x68(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1597 <test_sprintf_chk_integer_value+0x457>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0x70(%rbp)
mov    -0x70(%rbp),%rax
mov    %rax,-0x1b8(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x1b8(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1a2b(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x70(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    15ed <test_sprintf_chk_integer_value+0x4ad>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0x78(%rbp)
mov    -0x78(%rbp),%rax
mov    %rax,-0x1c0(%rbp)
mov    $0x9,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x1c0(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x19d5(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x78(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1643 <test_sprintf_chk_integer_value+0x503>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0x80(%rbp)
mov    -0x80(%rbp),%rax
mov    %rax,-0x1c8(%rbp)
mov    $0xffffffff,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x1c8(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x197f(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x80(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1699 <test_sprintf_chk_integer_value+0x559>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0x88(%rbp)
mov    -0x88(%rbp),%rax
mov    %rax,-0x1d0(%rbp)
mov    $0xa,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x1d0(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1923(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x88(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    16f8 <test_sprintf_chk_integer_value+0x5b8>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0x90(%rbp)
mov    -0x90(%rbp),%rax
mov    %rax,-0x1d8(%rbp)
xor    %edi,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x1d8(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x18cb(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x90(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1754 <test_sprintf_chk_integer_value+0x614>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0x98(%rbp)
mov    -0x98(%rbp),%rax
mov    %rax,-0x1e0(%rbp)
xor    %edi,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x1e0(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x186a(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x98(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    17b0 <test_sprintf_chk_integer_value+0x670>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0xa0(%rbp)
mov    -0xa0(%rbp),%rax
mov    %rax,-0x1e8(%rbp)
xor    %edi,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x1e8(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1812(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0xa0(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    180c <test_sprintf_chk_integer_value+0x6cc>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0xa8(%rbp)
mov    -0xa8(%rbp),%rax
mov    %rax,-0x1f0(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x1f0(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x17b8(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0xa8(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    186b <test_sprintf_chk_integer_value+0x72b>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0xb0(%rbp)
mov    -0xb0(%rbp),%rax
mov    %rax,-0x1f8(%rbp)
mov    $0x7,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x1f8(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1759(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0xb0(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    18ca <test_sprintf_chk_integer_value+0x78a>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0xb8(%rbp)
mov    -0xb8(%rbp),%rax
mov    %rax,-0x200(%rbp)
mov    $0x8,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x200(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x16fa(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0xb8(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1929 <test_sprintf_chk_integer_value+0x7e9>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0xc0(%rbp)
mov    -0xc0(%rbp),%rax
mov    %rax,-0x208(%rbp)
mov    $0x40,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x208(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x169b(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0xc0(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1988 <test_sprintf_chk_integer_value+0x848>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0xc8(%rbp)
mov    -0xc8(%rbp),%rax
mov    %rax,-0x210(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x210(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1642(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0xc8(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    19e7 <test_sprintf_chk_integer_value+0x8a7>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0xd0(%rbp)
mov    -0xd0(%rbp),%rax
mov    %rax,-0x218(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x218(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x15e6(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0xd0(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1a46 <test_sprintf_chk_integer_value+0x906>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0xd8(%rbp)
mov    -0xd8(%rbp),%rax
mov    %rax,-0x220(%rbp)
mov    $0xa,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x220(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1584(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0xd8(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1aa5 <test_sprintf_chk_integer_value+0x965>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0xe0(%rbp)
mov    -0xe0(%rbp),%rax
mov    %rax,-0x228(%rbp)
mov    $0xf,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x228(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1525(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0xe0(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1b04 <test_sprintf_chk_integer_value+0x9c4>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0xe8(%rbp)
mov    -0xe8(%rbp),%rax
mov    %rax,-0x230(%rbp)
mov    $0x10,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x230(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x14c6(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0xe8(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1b63 <test_sprintf_chk_integer_value+0xa23>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0xf0(%rbp)
mov    -0xf0(%rbp),%rax
mov    %rax,-0x238(%rbp)
mov    $0xff,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x238(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1467(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0xf0(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1bc2 <test_sprintf_chk_integer_value+0xa82>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,-0xf8(%rbp)
mov    -0xf8(%rbp),%rax
mov    %rax,-0x240(%rbp)
mov    $0x1ff,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x240(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1408(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0xf8(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1c21 <test_sprintf_chk_integer_value+0xae1>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,-0x100(%rbp)
mov    -0x100(%rbp),%rax
mov    %rax,-0x248(%rbp)
xor    %edi,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x248(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x139e(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x100(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1c7d <test_sprintf_chk_integer_value+0xb3d>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,-0x108(%rbp)
mov    -0x108(%rbp),%rax
mov    %rax,-0x250(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x250(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x133f(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x108(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1cdc <test_sprintf_chk_integer_value+0xb9c>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,-0x110(%rbp)
mov    -0x110(%rbp),%rax
mov    %rax,-0x258(%rbp)
mov    $0x9,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x258(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x12e0(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x110(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1d3b <test_sprintf_chk_integer_value+0xbfb>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,-0x118(%rbp)
mov    -0x118(%rbp),%rax
mov    %rax,-0x260(%rbp)
mov    $0xfffffff7,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x260(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1281(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x118(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1d9a <test_sprintf_chk_integer_value+0xc5a>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,-0x120(%rbp)
mov    -0x120(%rbp),%rax
mov    %rax,-0x268(%rbp)
mov    $0xa,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x268(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1222(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x120(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1df9 <test_sprintf_chk_integer_value+0xcb9>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,-0x128(%rbp)
mov    -0x128(%rbp),%rax
mov    %rax,-0x270(%rbp)
mov    $0x63,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x270(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x11c3(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x128(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1e58 <test_sprintf_chk_integer_value+0xd18>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,-0x130(%rbp)
mov    -0x130(%rbp),%rax
mov    %rax,-0x278(%rbp)
mov    $0xffffff9d,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x278(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1164(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x130(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1eb7 <test_sprintf_chk_integer_value+0xd77>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,-0x138(%rbp)
mov    -0x138(%rbp),%rax
mov    %rax,-0x280(%rbp)
mov    $0x63,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    %eax,-0x284(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x284(%rbp),%r8d
mov    -0x280(%rbp),%rdi
add    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x10ec(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x138(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1f2f <test_sprintf_chk_integer_value+0xdef>
mov    $0x8,%edi
call   1040 <malloc@plt>
mov    %rax,-0x140(%rbp)
mov    -0x140(%rbp),%rax
mov    %rax,-0x290(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x290(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x10a2(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x140(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
jmp    1f8e <test_sprintf_chk_integer_value+0xe4e>
mov    $0x9,%edi
call   1040 <malloc@plt>
mov    %rax,-0x148(%rbp)
mov    -0x148(%rbp),%rax
mov    %rax,-0x298(%rbp)
mov    $0x1,%edi
mov    $0x0,%al
call   1050 <i@plt>
mov    -0x298(%rbp),%rdi
mov    %eax,%r8d
xor    %esi,%esi
mov    $0xffffffffffffffff,%rdx
lea    0x1043(%rip),%rcx
mov    $0x0,%al
call   1060 <__sprintf_chk@plt>
mov    -0x148(%rbp),%rdi
mov    $0x0,%al
call   1030 <sink@plt>
add    $0x2a0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<test_sprintf_chk_integer_value>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
push   %rax
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
xor    %edi,%edi
xor    %eax,%eax
call   1050 <i@plt>
lea    0xe99(%rip),%r13
mov    $0x1,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x1,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0xffffffff,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x1,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <i@plt>
lea    0xde8(%rip),%rcx
mov    $0x1,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <i@plt>
lea    0xda5(%rip),%rcx
mov    $0x1,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <i@plt>
lea    0xd6b(%rip),%rbx
mov    $0x1,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %rbx,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
xor    %edi,%edi
xor    %eax,%eax
call   1050 <i@plt>
lea    0xd32(%rip),%r15
mov    $0x1,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r15,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
xor    %edi,%edi
xor    %eax,%eax
call   1050 <i@plt>
lea    0xcf7(%rip),%rcx
mov    $0x1,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
xor    %edi,%edi
xor    %eax,%eax
call   1050 <i@plt>
lea    0xcbf(%rip),%r14
mov    $0x1,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r14,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
xor    %edi,%edi
xor    %eax,%eax
call   1050 <i@plt>
lea    0xc84(%rip),%r12
mov    $0x1,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r12,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x1,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r14,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x1,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x1,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r12,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
xor    %edi,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x9,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0xffffffff,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0xa,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
xor    %edi,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
lea    0xa9c(%rip),%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
xor    %edi,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
lea    0xa5c(%rip),%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
xor    %edi,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %rbx,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r15,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x7,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r15,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x8,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r15,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x40,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r15,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r14,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r12,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0xa,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r14,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0xf,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r14,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x10,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r14,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0xff,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r14,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x2,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x1ff,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x2,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r14,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
xor    %edi,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x3,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x3,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x9,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x3,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0xfffffff7,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x3,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0xa,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x3,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x63,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x3,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0xffffff9d,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x3,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x3,%edi
call   1040 <malloc@plt>
mov    %rax,%rbp
mov    $0x63,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    %eax,%ebx
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <i@plt>
add    %eax,%ebx
mov    $0x3,%edx
mov    %rbp,%rdi
xor    %esi,%esi
mov    %r13,%rcx
mov    %ebx,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x8,%edi
call   1040 <malloc@plt>
mov    %rax,%rbx
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <i@plt>
lea    0x5ac(%rip),%rbp
mov    $0x8,%edx
mov    %rbx,%rdi
xor    %esi,%esi
mov    %rbp,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbx,%rdi
xor    %eax,%eax
call   1030 <sink@plt>
mov    $0x9,%edi
call   1040 <malloc@plt>
mov    %rax,%rbx
mov    $0x1,%edi
xor    %eax,%eax
call   1050 <i@plt>
mov    $0x9,%edx
mov    %rbx,%rdi
xor    %esi,%esi
mov    %rbp,%rcx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <__sprintf_chk@plt>
mov    %rbx,%rdi
xor    %eax,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
jmp    1030 <sink@plt>

LLVM IR (-O0):
@.str = [3 x i8] c"%i\00"
@.str.1 = [4 x i8] c"%i_\00"
@.str.2 = [4 x i8] c"_%i\00"
@.str.3 = [5 x i8] c"_%i_\00"
@.str.4 = [3 x i8] c"%o\00"
@.str.5 = [3 x i8] c"%u\00"
@.str.6 = [3 x i8] c"%x\00"
@.str.7 = [4 x i8] c"%#x\00"
@.str.8 = [4 x i8] c"%8u\00"
define void @test_sprintf_chk_integer_value() {
%1 = alloca i8*
%2 = alloca i8*
%3 = alloca i8*
%4 = alloca i8*
%5 = alloca i8*
%6 = alloca i8*
%7 = alloca i8*
%8 = alloca i8*
%9 = alloca i8*
%10 = alloca i8*
%11 = alloca i8*
%12 = alloca i8*
%13 = alloca i8*
%14 = alloca i8*
%15 = alloca i8*
%16 = alloca i8*
%17 = alloca i8*
%18 = alloca i8*
%19 = alloca i8*
%20 = alloca i8*
%21 = alloca i8*
%22 = alloca i8*
%23 = alloca i8*
%24 = alloca i8*
%25 = alloca i8*
%26 = alloca i8*
%27 = alloca i8*
%28 = alloca i8*
%29 = alloca i8*
%30 = alloca i8*
%31 = alloca i8*
%32 = alloca i8*
%33 = alloca i8*
%34 = alloca i8*
%35 = alloca i8*
%36 = alloca i8*
%37 = alloca i8*
%38 = alloca i8*
%39 = alloca i8*
%40 = alloca i8*
%41 = alloca i8*
br label %42
42: ; preds = %0
%43 = call i8* @malloc(i64 1)
store i8* %43, i8** %1
%44 = load i8*, i8** %1
%45 = load i8*, i8** %1
%46 = call i64 @llvm.objectsize.i64.p0i8(i8* %45, i1 false, i1 true, i1 false)
%47 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%48 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %44, i32 0, i64 %46, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %47)
%49 = load i8*, i8** %1
%50 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %49)
br label %51
51: ; preds = %42
br label %52
52: ; preds = %51
%53 = call i8* @malloc(i64 1)
store i8* %53, i8** %2
%54 = load i8*, i8** %2
%55 = load i8*, i8** %2
%56 = call i64 @llvm.objectsize.i64.p0i8(i8* %55, i1 false, i1 true, i1 false)
%57 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%58 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %54, i32 0, i64 %56, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %57)
%59 = load i8*, i8** %2
%60 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %59)
br label %61
61: ; preds = %52
br label %62
62: ; preds = %61
%63 = call i8* @malloc(i64 1)
store i8* %63, i8** %3
%64 = load i8*, i8** %3
%65 = load i8*, i8** %3
%66 = call i64 @llvm.objectsize.i64.p0i8(i8* %65, i1 false, i1 true, i1 false)
%67 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 -1)
%68 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %64, i32 0, i64 %66, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %67)
%69 = load i8*, i8** %3
%70 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %69)
br label %71
71: ; preds = %62
br label %72
72: ; preds = %71
%73 = call i8* @malloc(i64 1)
store i8* %73, i8** %4
%74 = load i8*, i8** %4
%75 = load i8*, i8** %4
%76 = call i64 @llvm.objectsize.i64.p0i8(i8* %75, i1 false, i1 true, i1 false)
%77 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%78 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %74, i32 0, i64 %76, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i32 %77)
%79 = load i8*, i8** %4
%80 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %79)
br label %81
81: ; preds = %72
br label %82
82: ; preds = %81
%83 = call i8* @malloc(i64 1)
store i8* %83, i8** %5
%84 = load i8*, i8** %5
%85 = load i8*, i8** %5
%86 = call i64 @llvm.objectsize.i64.p0i8(i8* %85, i1 false, i1 true, i1 false)
%87 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%88 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %84, i32 0, i64 %86, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %87)
%89 = load i8*, i8** %5
%90 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %89)
br label %91
91: ; preds = %82
br label %92
92: ; preds = %91
%93 = call i8* @malloc(i64 1)
store i8* %93, i8** %6
%94 = load i8*, i8** %6
%95 = load i8*, i8** %6
%96 = call i64 @llvm.objectsize.i64.p0i8(i8* %95, i1 false, i1 true, i1 false)
%97 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%98 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %94, i32 0, i64 %96, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), i32 %97)
%99 = load i8*, i8** %6
%100 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %99)
br label %101
101: ; preds = %92
br label %102
102: ; preds = %101
%103 = call i8* @malloc(i64 1)
store i8* %103, i8** %7
%104 = load i8*, i8** %7
%105 = load i8*, i8** %7
%106 = call i64 @llvm.objectsize.i64.p0i8(i8* %105, i1 false, i1 true, i1 false)
%107 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%108 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %104, i32 0, i64 %106, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 %107)
%109 = load i8*, i8** %7
%110 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %109)
br label %111
111: ; preds = %102
br label %112
112: ; preds = %111
%113 = call i8* @malloc(i64 1)
store i8* %113, i8** %8
%114 = load i8*, i8** %8
%115 = load i8*, i8** %8
%116 = call i64 @llvm.objectsize.i64.p0i8(i8* %115, i1 false, i1 true, i1 false)
%117 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%118 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %114, i32 0, i64 %116, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.5, i64 0, i64 0), i32 %117)
%119 = load i8*, i8** %8
%120 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %119)
br label %121
121: ; preds = %112
br label %122
122: ; preds = %121
%123 = call i8* @malloc(i64 1)
store i8* %123, i8** %9
%124 = load i8*, i8** %9
%125 = load i8*, i8** %9
%126 = call i64 @llvm.objectsize.i64.p0i8(i8* %125, i1 false, i1 true, i1 false)
%127 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%128 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %124, i32 0, i64 %126, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %127)
%129 = load i8*, i8** %9
%130 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %129)
br label %131
131: ; preds = %122
br label %132
132: ; preds = %131
%133 = call i8* @malloc(i64 1)
store i8* %133, i8** %10
%134 = load i8*, i8** %10
%135 = load i8*, i8** %10
%136 = call i64 @llvm.objectsize.i64.p0i8(i8* %135, i1 false, i1 true, i1 false)
%137 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%138 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %134, i32 0, i64 %136, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 %137)
%139 = load i8*, i8** %10
%140 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %139)
br label %141
141: ; preds = %132
br label %142
142: ; preds = %141
%143 = call i8* @malloc(i64 1)
store i8* %143, i8** %11
%144 = load i8*, i8** %11
%145 = load i8*, i8** %11
%146 = call i64 @llvm.objectsize.i64.p0i8(i8* %145, i1 false, i1 true, i1 false)
%147 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%148 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %144, i32 0, i64 %146, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %147)
%149 = load i8*, i8** %11
%150 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %149)
br label %151
151: ; preds = %142
br label %152
152: ; preds = %151
%153 = call i8* @malloc(i64 1)
store i8* %153, i8** %12
%154 = load i8*, i8** %12
%155 = load i8*, i8** %12
%156 = call i64 @llvm.objectsize.i64.p0i8(i8* %155, i1 false, i1 true, i1 false)
%157 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%158 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %154, i32 0, i64 %156, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 %157)
%159 = load i8*, i8** %12
%160 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %159)
br label %161
161: ; preds = %152
br label %162
162: ; preds = %161
%163 = call i8* @malloc(i64 2)
store i8* %163, i8** %13
%164 = load i8*, i8** %13
%165 = load i8*, i8** %13
%166 = call i64 @llvm.objectsize.i64.p0i8(i8* %165, i1 false, i1 true, i1 false)
%167 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%168 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %164, i32 0, i64 %166, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %167)
%169 = load i8*, i8** %13
%170 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %169)
br label %171
171: ; preds = %162
br label %172
172: ; preds = %171
%173 = call i8* @malloc(i64 2)
store i8* %173, i8** %14
%174 = load i8*, i8** %14
%175 = load i8*, i8** %14
%176 = call i64 @llvm.objectsize.i64.p0i8(i8* %175, i1 false, i1 true, i1 false)
%177 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%178 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %174, i32 0, i64 %176, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %177)
%179 = load i8*, i8** %14
%180 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %179)
br label %181
181: ; preds = %172
br label %182
182: ; preds = %181
%183 = call i8* @malloc(i64 2)
store i8* %183, i8** %15
%184 = load i8*, i8** %15
%185 = load i8*, i8** %15
%186 = call i64 @llvm.objectsize.i64.p0i8(i8* %185, i1 false, i1 true, i1 false)
%187 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 9)
%188 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %184, i32 0, i64 %186, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %187)
%189 = load i8*, i8** %15
%190 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %189)
br label %191
191: ; preds = %182
br label %192
192: ; preds = %191
%193 = call i8* @malloc(i64 2)
store i8* %193, i8** %16
%194 = load i8*, i8** %16
%195 = load i8*, i8** %16
%196 = call i64 @llvm.objectsize.i64.p0i8(i8* %195, i1 false, i1 true, i1 false)
%197 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 -1)
%198 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %194, i32 0, i64 %196, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %197)
%199 = load i8*, i8** %16
%200 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %199)
br label %201
201: ; preds = %192
br label %202
202: ; preds = %201
%203 = call i8* @malloc(i64 2)
store i8* %203, i8** %17
%204 = load i8*, i8** %17
%205 = load i8*, i8** %17
%206 = call i64 @llvm.objectsize.i64.p0i8(i8* %205, i1 false, i1 true, i1 false)
%207 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 10)
%208 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %204, i32 0, i64 %206, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %207)
%209 = load i8*, i8** %17
%210 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %209)
br label %211
211: ; preds = %202
br label %212
212: ; preds = %211
%213 = call i8* @malloc(i64 2)
store i8* %213, i8** %18
%214 = load i8*, i8** %18
%215 = load i8*, i8** %18
%216 = call i64 @llvm.objectsize.i64.p0i8(i8* %215, i1 false, i1 true, i1 false)
%217 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%218 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %214, i32 0, i64 %216, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i32 %217)
%219 = load i8*, i8** %18
%220 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %219)
br label %221
221: ; preds = %212
br label %222
222: ; preds = %221
%223 = call i8* @malloc(i64 2)
store i8* %223, i8** %19
%224 = load i8*, i8** %19
%225 = load i8*, i8** %19
%226 = call i64 @llvm.objectsize.i64.p0i8(i8* %225, i1 false, i1 true, i1 false)
%227 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%228 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %224, i32 0, i64 %226, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %227)
%229 = load i8*, i8** %19
%230 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %229)
br label %231
231: ; preds = %222
br label %232
232: ; preds = %231
%233 = call i8* @malloc(i64 2)
store i8* %233, i8** %20
%234 = load i8*, i8** %20
%235 = load i8*, i8** %20
%236 = call i64 @llvm.objectsize.i64.p0i8(i8* %235, i1 false, i1 true, i1 false)
%237 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%238 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %234, i32 0, i64 %236, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), i32 %237)
%239 = load i8*, i8** %20
%240 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %239)
br label %241
241: ; preds = %232
br label %242
242: ; preds = %241
%243 = call i8* @malloc(i64 2)
store i8* %243, i8** %21
%244 = load i8*, i8** %21
%245 = load i8*, i8** %21
%246 = call i64 @llvm.objectsize.i64.p0i8(i8* %245, i1 false, i1 true, i1 false)
%247 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%248 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %244, i32 0, i64 %246, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 %247)
%249 = load i8*, i8** %21
%250 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %249)
br label %251
251: ; preds = %242
br label %252
252: ; preds = %251
%253 = call i8* @malloc(i64 2)
store i8* %253, i8** %22
%254 = load i8*, i8** %22
%255 = load i8*, i8** %22
%256 = call i64 @llvm.objectsize.i64.p0i8(i8* %255, i1 false, i1 true, i1 false)
%257 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 7)
%258 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %254, i32 0, i64 %256, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 %257)
%259 = load i8*, i8** %22
%260 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %259)
br label %261
261: ; preds = %252
br label %262
262: ; preds = %261
%263 = call i8* @malloc(i64 2)
store i8* %263, i8** %23
%264 = load i8*, i8** %23
%265 = load i8*, i8** %23
%266 = call i64 @llvm.objectsize.i64.p0i8(i8* %265, i1 false, i1 true, i1 false)
%267 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 8)
%268 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %264, i32 0, i64 %266, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 %267)
%269 = load i8*, i8** %23
%270 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %269)
br label %271
271: ; preds = %262
br label %272
272: ; preds = %271
%273 = call i8* @malloc(i64 2)
store i8* %273, i8** %24
%274 = load i8*, i8** %24
%275 = load i8*, i8** %24
%276 = call i64 @llvm.objectsize.i64.p0i8(i8* %275, i1 false, i1 true, i1 false)
%277 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 64)
%278 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %274, i32 0, i64 %276, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 %277)
%279 = load i8*, i8** %24
%280 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %279)
br label %281
281: ; preds = %272
br label %282
282: ; preds = %281
%283 = call i8* @malloc(i64 2)
store i8* %283, i8** %25
%284 = load i8*, i8** %25
%285 = load i8*, i8** %25
%286 = call i64 @llvm.objectsize.i64.p0i8(i8* %285, i1 false, i1 true, i1 false)
%287 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%288 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %284, i32 0, i64 %286, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %287)
%289 = load i8*, i8** %25
%290 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %289)
br label %291
291: ; preds = %282
br label %292
292: ; preds = %291
%293 = call i8* @malloc(i64 2)
store i8* %293, i8** %26
%294 = load i8*, i8** %26
%295 = load i8*, i8** %26
%296 = call i64 @llvm.objectsize.i64.p0i8(i8* %295, i1 false, i1 true, i1 false)
%297 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%298 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %294, i32 0, i64 %296, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 %297)
%299 = load i8*, i8** %26
%300 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %299)
br label %301
301: ; preds = %292
br label %302
302: ; preds = %301
%303 = call i8* @malloc(i64 2)
store i8* %303, i8** %27
%304 = load i8*, i8** %27
%305 = load i8*, i8** %27
%306 = call i64 @llvm.objectsize.i64.p0i8(i8* %305, i1 false, i1 true, i1 false)
%307 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 10)
%308 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %304, i32 0, i64 %306, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %307)
%309 = load i8*, i8** %27
%310 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %309)
br label %311
311: ; preds = %302
br label %312
312: ; preds = %311
%313 = call i8* @malloc(i64 2)
store i8* %313, i8** %28
%314 = load i8*, i8** %28
%315 = load i8*, i8** %28
%316 = call i64 @llvm.objectsize.i64.p0i8(i8* %315, i1 false, i1 true, i1 false)
%317 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 15)
%318 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %314, i32 0, i64 %316, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %317)
%319 = load i8*, i8** %28
%320 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %319)
br label %321
321: ; preds = %312
br label %322
322: ; preds = %321
%323 = call i8* @malloc(i64 2)
store i8* %323, i8** %29
%324 = load i8*, i8** %29
%325 = load i8*, i8** %29
%326 = call i64 @llvm.objectsize.i64.p0i8(i8* %325, i1 false, i1 true, i1 false)
%327 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 16)
%328 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %324, i32 0, i64 %326, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %327)
%329 = load i8*, i8** %29
%330 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %329)
br label %331
331: ; preds = %322
br label %332
332: ; preds = %331
%333 = call i8* @malloc(i64 2)
store i8* %333, i8** %30
%334 = load i8*, i8** %30
%335 = load i8*, i8** %30
%336 = call i64 @llvm.objectsize.i64.p0i8(i8* %335, i1 false, i1 true, i1 false)
%337 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 255)
%338 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %334, i32 0, i64 %336, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %337)
%339 = load i8*, i8** %30
%340 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %339)
br label %341
341: ; preds = %332
br label %342
342: ; preds = %341
%343 = call i8* @malloc(i64 2)
store i8* %343, i8** %31
%344 = load i8*, i8** %31
%345 = load i8*, i8** %31
%346 = call i64 @llvm.objectsize.i64.p0i8(i8* %345, i1 false, i1 true, i1 false)
%347 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 511)
%348 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %344, i32 0, i64 %346, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %347)
%349 = load i8*, i8** %31
%350 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %349)
br label %351
351: ; preds = %342
br label %352
352: ; preds = %351
%353 = call i8* @malloc(i64 3)
store i8* %353, i8** %32
%354 = load i8*, i8** %32
%355 = load i8*, i8** %32
%356 = call i64 @llvm.objectsize.i64.p0i8(i8* %355, i1 false, i1 true, i1 false)
%357 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%358 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %354, i32 0, i64 %356, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %357)
%359 = load i8*, i8** %32
%360 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %359)
br label %361
361: ; preds = %352
br label %362
362: ; preds = %361
%363 = call i8* @malloc(i64 3)
store i8* %363, i8** %33
%364 = load i8*, i8** %33
%365 = load i8*, i8** %33
%366 = call i64 @llvm.objectsize.i64.p0i8(i8* %365, i1 false, i1 true, i1 false)
%367 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%368 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %364, i32 0, i64 %366, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %367)
%369 = load i8*, i8** %33
%370 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %369)
br label %371
371: ; preds = %362
br label %372
372: ; preds = %371
%373 = call i8* @malloc(i64 3)
store i8* %373, i8** %34
%374 = load i8*, i8** %34
%375 = load i8*, i8** %34
%376 = call i64 @llvm.objectsize.i64.p0i8(i8* %375, i1 false, i1 true, i1 false)
%377 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 9)
%378 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %374, i32 0, i64 %376, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %377)
%379 = load i8*, i8** %34
%380 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %379)
br label %381
381: ; preds = %372
br label %382
382: ; preds = %381
%383 = call i8* @malloc(i64 3)
store i8* %383, i8** %35
%384 = load i8*, i8** %35
%385 = load i8*, i8** %35
%386 = call i64 @llvm.objectsize.i64.p0i8(i8* %385, i1 false, i1 true, i1 false)
%387 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 -9)
%388 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %384, i32 0, i64 %386, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %387)
%389 = load i8*, i8** %35
%390 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %389)
br label %391
391: ; preds = %382
br label %392
392: ; preds = %391
%393 = call i8* @malloc(i64 3)
store i8* %393, i8** %36
%394 = load i8*, i8** %36
%395 = load i8*, i8** %36
%396 = call i64 @llvm.objectsize.i64.p0i8(i8* %395, i1 false, i1 true, i1 false)
%397 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 10)
%398 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %394, i32 0, i64 %396, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %397)
%399 = load i8*, i8** %36
%400 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %399)
br label %401
401: ; preds = %392
br label %402
402: ; preds = %401
%403 = call i8* @malloc(i64 3)
store i8* %403, i8** %37
%404 = load i8*, i8** %37
%405 = load i8*, i8** %37
%406 = call i64 @llvm.objectsize.i64.p0i8(i8* %405, i1 false, i1 true, i1 false)
%407 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 99)
%408 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %404, i32 0, i64 %406, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %407)
%409 = load i8*, i8** %37
%410 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %409)
br label %411
411: ; preds = %402
br label %412
412: ; preds = %411
%413 = call i8* @malloc(i64 3)
store i8* %413, i8** %38
%414 = load i8*, i8** %38
%415 = load i8*, i8** %38
%416 = call i64 @llvm.objectsize.i64.p0i8(i8* %415, i1 false, i1 true, i1 false)
%417 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 -99)
%418 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %414, i32 0, i64 %416, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %417)
%419 = load i8*, i8** %38
%420 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %419)
br label %421
421: ; preds = %412
br label %422
422: ; preds = %421
%423 = call i8* @malloc(i64 3)
store i8* %423, i8** %39
%424 = load i8*, i8** %39
%425 = load i8*, i8** %39
%426 = call i64 @llvm.objectsize.i64.p0i8(i8* %425, i1 false, i1 true, i1 false)
%427 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 99)
%428 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%429 = add nsw i32 %427, %428
%430 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %424, i32 0, i64 %426, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %429)
%431 = load i8*, i8** %39
%432 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %431)
br label %433
433: ; preds = %422
br label %434
434: ; preds = %433
%435 = call i8* @malloc(i64 8)
store i8* %435, i8** %40
%436 = load i8*, i8** %40
%437 = load i8*, i8** %40
%438 = call i64 @llvm.objectsize.i64.p0i8(i8* %437, i1 false, i1 true, i1 false)
%439 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%440 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %436, i32 0, i64 %438, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.8, i64 0, i64 0), i32 %439)
%441 = load i8*, i8** %40
%442 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %441)
br label %443
443: ; preds = %434
br label %444
444: ; preds = %443
%445 = call i8* @malloc(i64 9)
store i8* %445, i8** %41
%446 = load i8*, i8** %41
%447 = load i8*, i8** %41
%448 = call i64 @llvm.objectsize.i64.p0i8(i8* %447, i1 false, i1 true, i1 false)
%449 = call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%450 = call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %446, i32 0, i64 %448, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.8, i64 0, i64 0), i32 %449)
%451 = load i8*, i8** %41
%452 = call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %451)
br label %453
453: ; preds = %444
ret void
}

LLVM IR (-O2):
@.str = [3 x i8] c"%i\00"
@.str.1 = [4 x i8] c"%i_\00"
@.str.2 = [4 x i8] c"_%i\00"
@.str.3 = [5 x i8] c"_%i_\00"
@.str.4 = [3 x i8] c"%o\00"
@.str.5 = [3 x i8] c"%u\00"
@.str.6 = [3 x i8] c"%x\00"
@.str.7 = [4 x i8] c"%#x\00"
@.str.8 = [4 x i8] c"%8u\00"
define void @test_sprintf_chk_integer_value() {
%1 = tail call dereferenceable_or_null(1) i8* @malloc(i64 1)
%2 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%3 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %1, i32 0, i64 1, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %2)
%4 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %1)
%5 = tail call dereferenceable_or_null(1) i8* @malloc(i64 1)
%6 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%7 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %5, i32 0, i64 1, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %6)
%8 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %5)
%9 = tail call dereferenceable_or_null(1) i8* @malloc(i64 1)
%10 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 -1)
%11 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %9, i32 0, i64 1, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %10)
%12 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %9)
%13 = tail call dereferenceable_or_null(1) i8* @malloc(i64 1)
%14 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%15 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %13, i32 0, i64 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i32 %14)
%16 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %13)
%17 = tail call dereferenceable_or_null(1) i8* @malloc(i64 1)
%18 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%19 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %17, i32 0, i64 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %18)
%20 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %17)
%21 = tail call dereferenceable_or_null(1) i8* @malloc(i64 1)
%22 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%23 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %21, i32 0, i64 1, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), i32 %22)
%24 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %21)
%25 = tail call dereferenceable_or_null(1) i8* @malloc(i64 1)
%26 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%27 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %25, i32 0, i64 1, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 %26)
%28 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %25)
%29 = tail call dereferenceable_or_null(1) i8* @malloc(i64 1)
%30 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%31 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %29, i32 0, i64 1, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.5, i64 0, i64 0), i32 %30)
%32 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %29)
%33 = tail call dereferenceable_or_null(1) i8* @malloc(i64 1)
%34 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%35 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %33, i32 0, i64 1, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %34)
%36 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %33)
%37 = tail call dereferenceable_or_null(1) i8* @malloc(i64 1)
%38 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%39 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %37, i32 0, i64 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 %38)
%40 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %37)
%41 = tail call dereferenceable_or_null(1) i8* @malloc(i64 1)
%42 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%43 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %41, i32 0, i64 1, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %42)
%44 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %41)
%45 = tail call dereferenceable_or_null(1) i8* @malloc(i64 1)
%46 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%47 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %45, i32 0, i64 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 %46)
%48 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %45)
%49 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%50 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%51 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %49, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %50)
%52 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %49)
%53 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%54 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%55 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %53, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %54)
%56 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %53)
%57 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%58 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 9)
%59 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %57, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %58)
%60 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %57)
%61 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%62 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 -1)
%63 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %61, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %62)
%64 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %61)
%65 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%66 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 10)
%67 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %65, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %66)
%68 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %65)
%69 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%70 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%71 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %69, i32 0, i64 2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i32 %70)
%72 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %69)
%73 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%74 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%75 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %73, i32 0, i64 2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 %74)
%76 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %73)
%77 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%78 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%79 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %77, i32 0, i64 2, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), i32 %78)
%80 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %77)
%81 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%82 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%83 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %81, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 %82)
%84 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %81)
%85 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%86 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 7)
%87 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %85, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 %86)
%88 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %85)
%89 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%90 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 8)
%91 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %89, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 %90)
%92 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %89)
%93 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%94 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 64)
%95 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %93, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 %94)
%96 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %93)
%97 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%98 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%99 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %97, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %98)
%100 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %97)
%101 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%102 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%103 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %101, i32 0, i64 2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 %102)
%104 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %101)
%105 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%106 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 10)
%107 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %105, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %106)
%108 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %105)
%109 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%110 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 15)
%111 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %109, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %110)
%112 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %109)
%113 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%114 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 16)
%115 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %113, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %114)
%116 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %113)
%117 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%118 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 255)
%119 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %117, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %118)
%120 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %117)
%121 = tail call dereferenceable_or_null(2) i8* @malloc(i64 2)
%122 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 511)
%123 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %121, i32 0, i64 2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i32 %122)
%124 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %121)
%125 = tail call dereferenceable_or_null(3) i8* @malloc(i64 3)
%126 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 0)
%127 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %125, i32 0, i64 3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %126)
%128 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %125)
%129 = tail call dereferenceable_or_null(3) i8* @malloc(i64 3)
%130 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%131 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %129, i32 0, i64 3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %130)
%132 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %129)
%133 = tail call dereferenceable_or_null(3) i8* @malloc(i64 3)
%134 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 9)
%135 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %133, i32 0, i64 3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %134)
%136 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %133)
%137 = tail call dereferenceable_or_null(3) i8* @malloc(i64 3)
%138 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 -9)
%139 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %137, i32 0, i64 3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %138)
%140 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %137)
%141 = tail call dereferenceable_or_null(3) i8* @malloc(i64 3)
%142 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 10)
%143 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %141, i32 0, i64 3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %142)
%144 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %141)
%145 = tail call dereferenceable_or_null(3) i8* @malloc(i64 3)
%146 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 99)
%147 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %145, i32 0, i64 3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %146)
%148 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %145)
%149 = tail call dereferenceable_or_null(3) i8* @malloc(i64 3)
%150 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 -99)
%151 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %149, i32 0, i64 3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %150)
%152 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %149)
%153 = tail call dereferenceable_or_null(3) i8* @malloc(i64 3)
%154 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 99)
%155 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%156 = add nsw i32 %155, %154
%157 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %153, i32 0, i64 3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i32 %156)
%158 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %153)
%159 = tail call dereferenceable_or_null(8) i8* @malloc(i64 8)
%160 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%161 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %159, i32 0, i64 8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.8, i64 0, i64 0), i32 %160)
%162 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %159)
%163 = tail call dereferenceable_or_null(9) i8* @malloc(i64 9)
%164 = tail call i32 (i32, ...) bitcast (i32 (...)* @i to i32 (i32, ...)*)(i32 1)
%165 = tail call i32 (i8*, i32, i64, i8*, ...) @__sprintf_chk(i8* %163, i32 0, i64 9, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.8, i64 0, i64 0), i32 %164)
%166 = tail call i32 (i8*, ...) bitcast (i32 (...)* @sink to i32 (i8*, ...)*)(i8* %163)
ret void
}