#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*/ libipt_CLUSTERIP_init();
int /*<<< orphan*/ libipt_DNAT_init();
int /*<<< orphan*/ libipt_ECN_init();
int /*<<< orphan*/ libipt_LOG_init();
int /*<<< orphan*/ libipt_MASQUERADE_init();
int /*<<< orphan*/ libipt_MIRROR_init();
int /*<<< orphan*/ libipt_NETMAP_init();
int /*<<< orphan*/ libipt_REDIRECT_init();
int /*<<< orphan*/ libipt_REJECT_init();
int /*<<< orphan*/ libipt_ROUTE_init();
int /*<<< orphan*/ libipt_SAME_init();
int /*<<< orphan*/ libipt_SNAT_init();
int /*<<< orphan*/ libipt_TOS_init();
int /*<<< orphan*/ libipt_TRIGGER_init();
int /*<<< orphan*/ libipt_TTL_init();
int /*<<< orphan*/ libipt_ULOG_init();
int /*<<< orphan*/ libipt_addrtype_init();
int /*<<< orphan*/ libipt_ah_init();
int /*<<< orphan*/ libipt_condition_init();
int /*<<< orphan*/ libipt_ecn_init();
int /*<<< orphan*/ libipt_geoip_init();
int /*<<< orphan*/ libipt_icmp_init();
int /*<<< orphan*/ libipt_ipp2p_init();
int /*<<< orphan*/ libipt_layer7_init();
int /*<<< orphan*/ libipt_realm_init();
int /*<<< orphan*/ libipt_tos_init();
int /*<<< orphan*/ libipt_ttl_init();
int /*<<< orphan*/ libipt_unclean_init();
int /*<<< orphan*/ libipt_web_init();
int /*<<< orphan*/ libipt_webstr_init();
void init_extensions4(void) {
  libipt_addrtype_init();
  libipt_ah_init();
  libipt_CLUSTERIP_init();
  libipt_condition_init();
  libipt_DNAT_init();
  libipt_ecn_init();
  libipt_ECN_init();
  libipt_geoip_init();
  libipt_icmp_init();
  libipt_ipp2p_init();
  libipt_layer7_init();
  libipt_LOG_init();
  libipt_MASQUERADE_init();
  libipt_MIRROR_init();
  libipt_NETMAP_init();
  libipt_realm_init();
  libipt_REDIRECT_init();
  libipt_REJECT_init();
  libipt_ROUTE_init();
  libipt_SAME_init();
  libipt_SNAT_init();
  libipt_tos_init();
  libipt_TOS_init();
  libipt_TRIGGER_init();
  libipt_ttl_init();
  libipt_TTL_init();
  libipt_ULOG_init();
  libipt_unclean_init();
  libipt_web_init();
  libipt_webstr_init();
}


x86 assembly (clang, -O0):
<init_extensions4>:
push   %rbp
mov    %rsp,%rbp
mov    $0x0,%al
call   11a0 <libipt_addrtype_init@plt>
mov    $0x0,%al
call   11e0 <libipt_ah_init@plt>
mov    $0x0,%al
call   1130 <libipt_CLUSTERIP_init@plt>
mov    $0x0,%al
call   1180 <libipt_condition_init@plt>
mov    $0x0,%al
call   1050 <libipt_DNAT_init@plt>
mov    $0x0,%al
call   1200 <libipt_ecn_init@plt>
mov    $0x0,%al
call   1150 <libipt_ECN_init@plt>
mov    $0x0,%al
call   1080 <libipt_geoip_init@plt>
mov    $0x0,%al
call   10b0 <libipt_icmp_init@plt>
mov    $0x0,%al
call   1120 <libipt_ipp2p_init@plt>
mov    $0x0,%al
call   1100 <libipt_layer7_init@plt>
mov    $0x0,%al
call   1060 <libipt_LOG_init@plt>
mov    $0x0,%al
call   1110 <libipt_MASQUERADE_init@plt>
mov    $0x0,%al
call   11d0 <libipt_MIRROR_init@plt>
mov    $0x0,%al
call   10c0 <libipt_NETMAP_init@plt>
mov    $0x0,%al
call   1030 <libipt_realm_init@plt>
mov    $0x0,%al
call   1140 <libipt_REDIRECT_init@plt>
mov    $0x0,%al
call   1040 <libipt_REJECT_init@plt>
mov    $0x0,%al
call   10a0 <libipt_ROUTE_init@plt>
mov    $0x0,%al
call   1170 <libipt_SAME_init@plt>
mov    $0x0,%al
call   1090 <libipt_SNAT_init@plt>
mov    $0x0,%al
call   11b0 <libipt_tos_init@plt>
mov    $0x0,%al
call   1070 <libipt_TOS_init@plt>
mov    $0x0,%al
call   10e0 <libipt_TRIGGER_init@plt>
mov    $0x0,%al
call   1190 <libipt_ttl_init@plt>
mov    $0x0,%al
call   11f0 <libipt_TTL_init@plt>
mov    $0x0,%al
call   10d0 <libipt_ULOG_init@plt>
mov    $0x0,%al
call   11c0 <libipt_unclean_init@plt>
mov    $0x0,%al
call   1160 <libipt_web_init@plt>
mov    $0x0,%al
call   10f0 <libipt_webstr_init@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<init_extensions4>:
push   %rax
xor    %eax,%eax
call   11a0 <libipt_addrtype_init@plt>
xor    %eax,%eax
call   11e0 <libipt_ah_init@plt>
xor    %eax,%eax
call   1130 <libipt_CLUSTERIP_init@plt>
xor    %eax,%eax
call   1180 <libipt_condition_init@plt>
xor    %eax,%eax
call   1050 <libipt_DNAT_init@plt>
xor    %eax,%eax
call   1200 <libipt_ecn_init@plt>
xor    %eax,%eax
call   1150 <libipt_ECN_init@plt>
xor    %eax,%eax
call   1080 <libipt_geoip_init@plt>
xor    %eax,%eax
call   10b0 <libipt_icmp_init@plt>
xor    %eax,%eax
call   1120 <libipt_ipp2p_init@plt>
xor    %eax,%eax
call   1100 <libipt_layer7_init@plt>
xor    %eax,%eax
call   1060 <libipt_LOG_init@plt>
xor    %eax,%eax
call   1110 <libipt_MASQUERADE_init@plt>
xor    %eax,%eax
call   11d0 <libipt_MIRROR_init@plt>
xor    %eax,%eax
call   10c0 <libipt_NETMAP_init@plt>
xor    %eax,%eax
call   1030 <libipt_realm_init@plt>
xor    %eax,%eax
call   1140 <libipt_REDIRECT_init@plt>
xor    %eax,%eax
call   1040 <libipt_REJECT_init@plt>
xor    %eax,%eax
call   10a0 <libipt_ROUTE_init@plt>
xor    %eax,%eax
call   1170 <libipt_SAME_init@plt>
xor    %eax,%eax
call   1090 <libipt_SNAT_init@plt>
xor    %eax,%eax
call   11b0 <libipt_tos_init@plt>
xor    %eax,%eax
call   1070 <libipt_TOS_init@plt>
xor    %eax,%eax
call   10e0 <libipt_TRIGGER_init@plt>
xor    %eax,%eax
call   1190 <libipt_ttl_init@plt>
xor    %eax,%eax
call   11f0 <libipt_TTL_init@plt>
xor    %eax,%eax
call   10d0 <libipt_ULOG_init@plt>
xor    %eax,%eax
call   11c0 <libipt_unclean_init@plt>
xor    %eax,%eax
call   1160 <libipt_web_init@plt>
xor    %eax,%eax
pop    %rcx
jmp    10f0 <libipt_webstr_init@plt>

LLVM IR (-O0):
define void @init_extensions4() {
%1 = call i32 (...) @libipt_addrtype_init()
%2 = call i32 (...) @libipt_ah_init()
%3 = call i32 (...) @libipt_CLUSTERIP_init()
%4 = call i32 (...) @libipt_condition_init()
%5 = call i32 (...) @libipt_DNAT_init()
%6 = call i32 (...) @libipt_ecn_init()
%7 = call i32 (...) @libipt_ECN_init()
%8 = call i32 (...) @libipt_geoip_init()
%9 = call i32 (...) @libipt_icmp_init()
%10 = call i32 (...) @libipt_ipp2p_init()
%11 = call i32 (...) @libipt_layer7_init()
%12 = call i32 (...) @libipt_LOG_init()
%13 = call i32 (...) @libipt_MASQUERADE_init()
%14 = call i32 (...) @libipt_MIRROR_init()
%15 = call i32 (...) @libipt_NETMAP_init()
%16 = call i32 (...) @libipt_realm_init()
%17 = call i32 (...) @libipt_REDIRECT_init()
%18 = call i32 (...) @libipt_REJECT_init()
%19 = call i32 (...) @libipt_ROUTE_init()
%20 = call i32 (...) @libipt_SAME_init()
%21 = call i32 (...) @libipt_SNAT_init()
%22 = call i32 (...) @libipt_tos_init()
%23 = call i32 (...) @libipt_TOS_init()
%24 = call i32 (...) @libipt_TRIGGER_init()
%25 = call i32 (...) @libipt_ttl_init()
%26 = call i32 (...) @libipt_TTL_init()
%27 = call i32 (...) @libipt_ULOG_init()
%28 = call i32 (...) @libipt_unclean_init()
%29 = call i32 (...) @libipt_web_init()
%30 = call i32 (...) @libipt_webstr_init()
ret void
}

LLVM IR (-O2):
define void @init_extensions4() {
%1 = tail call i32 (...) @libipt_addrtype_init()
%2 = tail call i32 (...) @libipt_ah_init()
%3 = tail call i32 (...) @libipt_CLUSTERIP_init()
%4 = tail call i32 (...) @libipt_condition_init()
%5 = tail call i32 (...) @libipt_DNAT_init()
%6 = tail call i32 (...) @libipt_ecn_init()
%7 = tail call i32 (...) @libipt_ECN_init()
%8 = tail call i32 (...) @libipt_geoip_init()
%9 = tail call i32 (...) @libipt_icmp_init()
%10 = tail call i32 (...) @libipt_ipp2p_init()
%11 = tail call i32 (...) @libipt_layer7_init()
%12 = tail call i32 (...) @libipt_LOG_init()
%13 = tail call i32 (...) @libipt_MASQUERADE_init()
%14 = tail call i32 (...) @libipt_MIRROR_init()
%15 = tail call i32 (...) @libipt_NETMAP_init()
%16 = tail call i32 (...) @libipt_realm_init()
%17 = tail call i32 (...) @libipt_REDIRECT_init()
%18 = tail call i32 (...) @libipt_REJECT_init()
%19 = tail call i32 (...) @libipt_ROUTE_init()
%20 = tail call i32 (...) @libipt_SAME_init()
%21 = tail call i32 (...) @libipt_SNAT_init()
%22 = tail call i32 (...) @libipt_tos_init()
%23 = tail call i32 (...) @libipt_TOS_init()
%24 = tail call i32 (...) @libipt_TRIGGER_init()
%25 = tail call i32 (...) @libipt_ttl_init()
%26 = tail call i32 (...) @libipt_TTL_init()
%27 = tail call i32 (...) @libipt_ULOG_init()
%28 = tail call i32 (...) @libipt_unclean_init()
%29 = tail call i32 (...) @libipt_web_init()
%30 = tail call i32 (...) @libipt_webstr_init()
ret void
}