#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ get___memcpy_chk();
int /*<<< orphan*/ get___memmove_chk();
int /*<<< orphan*/ get___memset_chk();
int /*<<< orphan*/ get___strcat_chk();
int /*<<< orphan*/ get___strcpy_chk();
int /*<<< orphan*/ get___strncat_chk();
int /*<<< orphan*/ get___strncpy_chk();
int /*<<< orphan*/ get___wcscat_chk();
int /*<<< orphan*/ get___wcscpy_chk();
int /*<<< orphan*/ get___wcsncat_chk();
int /*<<< orphan*/ get___wcsncpy_chk();
int /*<<< orphan*/ get___wmemcpy_chk();
int /*<<< orphan*/ get___wmemmove_chk();
int /*<<< orphan*/ get___wmemset_chk();
int /*<<< orphan*/ get_memcpy();
int /*<<< orphan*/ get_memmove();
int /*<<< orphan*/ get_memset();
int /*<<< orphan*/ get_strcat();
int /*<<< orphan*/ get_strcmp();
int /*<<< orphan*/ get_strcpy();
int /*<<< orphan*/ get_strncat();
int /*<<< orphan*/ get_strncmp();
int /*<<< orphan*/ get_strncpy();
int /*<<< orphan*/ get_wcscat();
int /*<<< orphan*/ get_wcscmp();
int /*<<< orphan*/ get_wcscpy();
int /*<<< orphan*/ get_wcsncat();
int /*<<< orphan*/ get_wcsncmp();
int /*<<< orphan*/ get_wcsncpy();
int /*<<< orphan*/ get_wmemcpy();
int /*<<< orphan*/ get_wmemmove();
int /*<<< orphan*/ get_wmemset();
void mem_check_init() {
  get_memcpy();
  get___memcpy_chk();
  get_wmemcpy();
  get___wmemcpy_chk();
  get_memmove();
  get___memmove_chk();
  get_wmemmove();
  get___wmemmove_chk();
  get_memset();
  get___memset_chk();
  get_wmemset();
  get___wmemset_chk();
  get_strcpy();
  get___strcpy_chk();
  get_wcscpy();
  get___wcscpy_chk();
  get_strncpy();
  get___strncpy_chk();
  get_wcsncpy();
  get___wcsncpy_chk();
  get_strcat();
  get___strcat_chk();
  get_wcscat();
  get___wcscat_chk();
  get_strncat();
  get___strncat_chk();
  get_wcsncat();
  get___wcsncat_chk();
  get_strcmp();
  get_wcscmp();
  get_strncmp();
  get_wcsncmp();
}


x86 assembly (clang, -O0):
<mem_check_init>:
push   %rbp
mov    %rsp,%rbp
mov    $0x0,%al
call   11d0 <get_memcpy@plt>
mov    $0x0,%al
call   10c0 <get___memcpy_chk@plt>
mov    $0x0,%al
call   11e0 <get_wmemcpy@plt>
mov    $0x0,%al
call   1090 <get___wmemcpy_chk@plt>
mov    $0x0,%al
call   1130 <get_memmove@plt>
mov    $0x0,%al
call   1160 <get___memmove_chk@plt>
mov    $0x0,%al
call   1170 <get_wmemmove@plt>
mov    $0x0,%al
call   1190 <get___wmemmove_chk@plt>
mov    $0x0,%al
call   11b0 <get_memset@plt>
mov    $0x0,%al
call   10e0 <get___memset_chk@plt>
mov    $0x0,%al
call   11f0 <get_wmemset@plt>
mov    $0x0,%al
call   1040 <get___wmemset_chk@plt>
mov    $0x0,%al
call   10d0 <get_strcpy@plt>
mov    $0x0,%al
call   1100 <get___strcpy_chk@plt>
mov    $0x0,%al
call   1070 <get_wcscpy@plt>
mov    $0x0,%al
call   1180 <get___wcscpy_chk@plt>
mov    $0x0,%al
call   1050 <get_strncpy@plt>
mov    $0x0,%al
call   1080 <get___strncpy_chk@plt>
mov    $0x0,%al
call   1200 <get_wcsncpy@plt>
mov    $0x0,%al
call   1060 <get___wcsncpy_chk@plt>
mov    $0x0,%al
call   1210 <get_strcat@plt>
mov    $0x0,%al
call   1150 <get___strcat_chk@plt>
mov    $0x0,%al
call   11a0 <get_wcscat@plt>
mov    $0x0,%al
call   1030 <get___wcscat_chk@plt>
mov    $0x0,%al
call   1220 <get_strncat@plt>
mov    $0x0,%al
call   1120 <get___strncat_chk@plt>
mov    $0x0,%al
call   1110 <get_wcsncat@plt>
mov    $0x0,%al
call   10f0 <get___wcsncat_chk@plt>
mov    $0x0,%al
call   1140 <get_strcmp@plt>
mov    $0x0,%al
call   10b0 <get_wcscmp@plt>
mov    $0x0,%al
call   11c0 <get_strncmp@plt>
mov    $0x0,%al
call   10a0 <get_wcsncmp@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<mem_check_init>:
push   %rax
xor    %eax,%eax
call   11d0 <get_memcpy@plt>
xor    %eax,%eax
call   10c0 <get___memcpy_chk@plt>
xor    %eax,%eax
call   11e0 <get_wmemcpy@plt>
xor    %eax,%eax
call   1090 <get___wmemcpy_chk@plt>
xor    %eax,%eax
call   1130 <get_memmove@plt>
xor    %eax,%eax
call   1160 <get___memmove_chk@plt>
xor    %eax,%eax
call   1170 <get_wmemmove@plt>
xor    %eax,%eax
call   1190 <get___wmemmove_chk@plt>
xor    %eax,%eax
call   11b0 <get_memset@plt>
xor    %eax,%eax
call   10e0 <get___memset_chk@plt>
xor    %eax,%eax
call   11f0 <get_wmemset@plt>
xor    %eax,%eax
call   1040 <get___wmemset_chk@plt>
xor    %eax,%eax
call   10d0 <get_strcpy@plt>
xor    %eax,%eax
call   1100 <get___strcpy_chk@plt>
xor    %eax,%eax
call   1070 <get_wcscpy@plt>
xor    %eax,%eax
call   1180 <get___wcscpy_chk@plt>
xor    %eax,%eax
call   1050 <get_strncpy@plt>
xor    %eax,%eax
call   1080 <get___strncpy_chk@plt>
xor    %eax,%eax
call   1200 <get_wcsncpy@plt>
xor    %eax,%eax
call   1060 <get___wcsncpy_chk@plt>
xor    %eax,%eax
call   1210 <get_strcat@plt>
xor    %eax,%eax
call   1150 <get___strcat_chk@plt>
xor    %eax,%eax
call   11a0 <get_wcscat@plt>
xor    %eax,%eax
call   1030 <get___wcscat_chk@plt>
xor    %eax,%eax
call   1220 <get_strncat@plt>
xor    %eax,%eax
call   1120 <get___strncat_chk@plt>
xor    %eax,%eax
call   1110 <get_wcsncat@plt>
xor    %eax,%eax
call   10f0 <get___wcsncat_chk@plt>
xor    %eax,%eax
call   1140 <get_strcmp@plt>
xor    %eax,%eax
call   10b0 <get_wcscmp@plt>
xor    %eax,%eax
call   11c0 <get_strncmp@plt>
xor    %eax,%eax
pop    %rcx
jmp    10a0 <get_wcsncmp@plt>

LLVM IR (-O0):
define void @mem_check_init() {
%1 = call i32 (...) @get_memcpy()
%2 = call i32 (...) @get___memcpy_chk()
%3 = call i32 (...) @get_wmemcpy()
%4 = call i32 (...) @get___wmemcpy_chk()
%5 = call i32 (...) @get_memmove()
%6 = call i32 (...) @get___memmove_chk()
%7 = call i32 (...) @get_wmemmove()
%8 = call i32 (...) @get___wmemmove_chk()
%9 = call i32 (...) @get_memset()
%10 = call i32 (...) @get___memset_chk()
%11 = call i32 (...) @get_wmemset()
%12 = call i32 (...) @get___wmemset_chk()
%13 = call i32 (...) @get_strcpy()
%14 = call i32 (...) @get___strcpy_chk()
%15 = call i32 (...) @get_wcscpy()
%16 = call i32 (...) @get___wcscpy_chk()
%17 = call i32 (...) @get_strncpy()
%18 = call i32 (...) @get___strncpy_chk()
%19 = call i32 (...) @get_wcsncpy()
%20 = call i32 (...) @get___wcsncpy_chk()
%21 = call i32 (...) @get_strcat()
%22 = call i32 (...) @get___strcat_chk()
%23 = call i32 (...) @get_wcscat()
%24 = call i32 (...) @get___wcscat_chk()
%25 = call i32 (...) @get_strncat()
%26 = call i32 (...) @get___strncat_chk()
%27 = call i32 (...) @get_wcsncat()
%28 = call i32 (...) @get___wcsncat_chk()
%29 = call i32 (...) @get_strcmp()
%30 = call i32 (...) @get_wcscmp()
%31 = call i32 (...) @get_strncmp()
%32 = call i32 (...) @get_wcsncmp()
ret void
}

LLVM IR (-O2):
define void @mem_check_init() {
%1 = tail call i32 (...) @get_memcpy()
%2 = tail call i32 (...) @get___memcpy_chk()
%3 = tail call i32 (...) @get_wmemcpy()
%4 = tail call i32 (...) @get___wmemcpy_chk()
%5 = tail call i32 (...) @get_memmove()
%6 = tail call i32 (...) @get___memmove_chk()
%7 = tail call i32 (...) @get_wmemmove()
%8 = tail call i32 (...) @get___wmemmove_chk()
%9 = tail call i32 (...) @get_memset()
%10 = tail call i32 (...) @get___memset_chk()
%11 = tail call i32 (...) @get_wmemset()
%12 = tail call i32 (...) @get___wmemset_chk()
%13 = tail call i32 (...) @get_strcpy()
%14 = tail call i32 (...) @get___strcpy_chk()
%15 = tail call i32 (...) @get_wcscpy()
%16 = tail call i32 (...) @get___wcscpy_chk()
%17 = tail call i32 (...) @get_strncpy()
%18 = tail call i32 (...) @get___strncpy_chk()
%19 = tail call i32 (...) @get_wcsncpy()
%20 = tail call i32 (...) @get___wcsncpy_chk()
%21 = tail call i32 (...) @get_strcat()
%22 = tail call i32 (...) @get___strcat_chk()
%23 = tail call i32 (...) @get_wcscat()
%24 = tail call i32 (...) @get___wcscat_chk()
%25 = tail call i32 (...) @get_strncat()
%26 = tail call i32 (...) @get___strncat_chk()
%27 = tail call i32 (...) @get_wcsncat()
%28 = tail call i32 (...) @get___wcsncat_chk()
%29 = tail call i32 (...) @get_strcmp()
%30 = tail call i32 (...) @get_wcscmp()
%31 = tail call i32 (...) @get_strncmp()
%32 = tail call i32 (...) @get_wcsncmp()
ret void
}