#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*/ DeleteFunctions();
int /*<<< orphan*/ DeleteVariables();
int /*<<< orphan*/ plugin_exit_apm();
int /*<<< orphan*/ plugin_exit_asterisk();
int /*<<< orphan*/ plugin_exit_button_exec();
int /*<<< orphan*/ plugin_exit_cfg();
int /*<<< orphan*/ plugin_exit_cpuinfo();
int /*<<< orphan*/ plugin_exit_diskstats();
int /*<<< orphan*/ plugin_exit_dvb();
int /*<<< orphan*/ plugin_exit_event();
int /*<<< orphan*/ plugin_exit_exec();
int /*<<< orphan*/ plugin_exit_fifo();
int /*<<< orphan*/ plugin_exit_file();
int /*<<< orphan*/ plugin_exit_huawei();
int /*<<< orphan*/ plugin_exit_i2c_sensors();
int /*<<< orphan*/ plugin_exit_iconv();
int /*<<< orphan*/ plugin_exit_imon();
int /*<<< orphan*/ plugin_exit_isdn();
int /*<<< orphan*/ plugin_exit_kvv();
int /*<<< orphan*/ plugin_exit_loadavg();
int /*<<< orphan*/ plugin_exit_math();
int /*<<< orphan*/ plugin_exit_meminfo();
int /*<<< orphan*/ plugin_exit_netdev();
int /*<<< orphan*/ plugin_exit_netinfo();
int /*<<< orphan*/ plugin_exit_pop3();
int /*<<< orphan*/ plugin_exit_ppp();
int /*<<< orphan*/ plugin_exit_proc_stat();
int /*<<< orphan*/ plugin_exit_raspi();
int /*<<< orphan*/ plugin_exit_sample();
int /*<<< orphan*/ plugin_exit_seti();
int /*<<< orphan*/ plugin_exit_statfs();
int /*<<< orphan*/ plugin_exit_string();
int /*<<< orphan*/ plugin_exit_test();
int /*<<< orphan*/ plugin_exit_time();
int /*<<< orphan*/ plugin_exit_uname();
int /*<<< orphan*/ plugin_exit_uptime();
int /*<<< orphan*/ plugin_exit_w1retap();
int /*<<< orphan*/ plugin_exit_wireless();
int /*<<< orphan*/ plugin_exit_xmms();
void plugin_exit(void) {
  plugin_exit_apm();
  plugin_exit_asterisk();
  plugin_exit_button_exec();
  plugin_exit_cpuinfo();
  plugin_exit_diskstats();
  plugin_exit_dvb();
  plugin_exit_exec();
  plugin_exit_event();
  plugin_exit_fifo();
  plugin_exit_file();
  plugin_exit_huawei();
  plugin_exit_i2c_sensors();
  plugin_exit_iconv();
  plugin_exit_imon();
  plugin_exit_isdn();
  plugin_exit_kvv();
  plugin_exit_loadavg();
  plugin_exit_meminfo();
  plugin_exit_netdev();
  plugin_exit_netinfo();
  plugin_exit_pop3();
  plugin_exit_ppp();
  plugin_exit_proc_stat();
  plugin_exit_raspi();
  plugin_exit_sample();
  plugin_exit_seti();
  plugin_exit_statfs();
  plugin_exit_uname();
  plugin_exit_uptime();
  plugin_exit_w1retap();
  plugin_exit_wireless();
  plugin_exit_xmms();
  plugin_exit_cfg();
  plugin_exit_math();
  plugin_exit_string();
  plugin_exit_test();
  plugin_exit_time();
  DeleteFunctions();
  DeleteVariables();
}


x86 assembly (clang, -O0):
<plugin_exit>:
push   %rbp
mov    %rsp,%rbp
mov    $0x0,%al
call   1210 <plugin_exit_apm@plt>
mov    $0x0,%al
call   1170 <plugin_exit_asterisk@plt>
mov    $0x0,%al
call   11d0 <plugin_exit_button_exec@plt>
mov    $0x0,%al
call   1250 <plugin_exit_cpuinfo@plt>
mov    $0x0,%al
call   11b0 <plugin_exit_diskstats@plt>
mov    $0x0,%al
call   1140 <plugin_exit_dvb@plt>
mov    $0x0,%al
call   10a0 <plugin_exit_exec@plt>
mov    $0x0,%al
call   1220 <plugin_exit_event@plt>
mov    $0x0,%al
call   1290 <plugin_exit_fifo@plt>
mov    $0x0,%al
call   1060 <plugin_exit_file@plt>
mov    $0x0,%al
call   1090 <plugin_exit_huawei@plt>
mov    $0x0,%al
call   10c0 <plugin_exit_i2c_sensors@plt>
mov    $0x0,%al
call   1120 <plugin_exit_iconv@plt>
mov    $0x0,%al
call   1030 <plugin_exit_imon@plt>
mov    $0x0,%al
call   1200 <plugin_exit_isdn@plt>
mov    $0x0,%al
call   1280 <plugin_exit_kvv@plt>
mov    $0x0,%al
call   1270 <plugin_exit_loadavg@plt>
mov    $0x0,%al
call   11f0 <plugin_exit_meminfo@plt>
mov    $0x0,%al
call   11a0 <plugin_exit_netdev@plt>
mov    $0x0,%al
call   1150 <plugin_exit_netinfo@plt>
mov    $0x0,%al
call   1190 <plugin_exit_pop3@plt>
mov    $0x0,%al
call   11e0 <plugin_exit_ppp@plt>
mov    $0x0,%al
call   1080 <plugin_exit_proc_stat@plt>
mov    $0x0,%al
call   1070 <plugin_exit_raspi@plt>
mov    $0x0,%al
call   1240 <plugin_exit_sample@plt>
mov    $0x0,%al
call   1230 <plugin_exit_seti@plt>
mov    $0x0,%al
call   1260 <plugin_exit_statfs@plt>
mov    $0x0,%al
call   1110 <plugin_exit_uname@plt>
mov    $0x0,%al
call   1160 <plugin_exit_uptime@plt>
mov    $0x0,%al
call   1040 <plugin_exit_w1retap@plt>
mov    $0x0,%al
call   10e0 <plugin_exit_wireless@plt>
mov    $0x0,%al
call   10b0 <plugin_exit_xmms@plt>
mov    $0x0,%al
call   10d0 <plugin_exit_cfg@plt>
mov    $0x0,%al
call   1130 <plugin_exit_math@plt>
mov    $0x0,%al
call   11c0 <plugin_exit_string@plt>
mov    $0x0,%al
call   1050 <plugin_exit_test@plt>
mov    $0x0,%al
call   1180 <plugin_exit_time@plt>
mov    $0x0,%al
call   1100 <DeleteFunctions@plt>
mov    $0x0,%al
call   10f0 <DeleteVariables@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<plugin_exit>:
push   %rax
xor    %eax,%eax
call   1210 <plugin_exit_apm@plt>
xor    %eax,%eax
call   1170 <plugin_exit_asterisk@plt>
xor    %eax,%eax
call   11d0 <plugin_exit_button_exec@plt>
xor    %eax,%eax
call   1250 <plugin_exit_cpuinfo@plt>
xor    %eax,%eax
call   11b0 <plugin_exit_diskstats@plt>
xor    %eax,%eax
call   1140 <plugin_exit_dvb@plt>
xor    %eax,%eax
call   10a0 <plugin_exit_exec@plt>
xor    %eax,%eax
call   1220 <plugin_exit_event@plt>
xor    %eax,%eax
call   1290 <plugin_exit_fifo@plt>
xor    %eax,%eax
call   1060 <plugin_exit_file@plt>
xor    %eax,%eax
call   1090 <plugin_exit_huawei@plt>
xor    %eax,%eax
call   10c0 <plugin_exit_i2c_sensors@plt>
xor    %eax,%eax
call   1120 <plugin_exit_iconv@plt>
xor    %eax,%eax
call   1030 <plugin_exit_imon@plt>
xor    %eax,%eax
call   1200 <plugin_exit_isdn@plt>
xor    %eax,%eax
call   1280 <plugin_exit_kvv@plt>
xor    %eax,%eax
call   1270 <plugin_exit_loadavg@plt>
xor    %eax,%eax
call   11f0 <plugin_exit_meminfo@plt>
xor    %eax,%eax
call   11a0 <plugin_exit_netdev@plt>
xor    %eax,%eax
call   1150 <plugin_exit_netinfo@plt>
xor    %eax,%eax
call   1190 <plugin_exit_pop3@plt>
xor    %eax,%eax
call   11e0 <plugin_exit_ppp@plt>
xor    %eax,%eax
call   1080 <plugin_exit_proc_stat@plt>
xor    %eax,%eax
call   1070 <plugin_exit_raspi@plt>
xor    %eax,%eax
call   1240 <plugin_exit_sample@plt>
xor    %eax,%eax
call   1230 <plugin_exit_seti@plt>
xor    %eax,%eax
call   1260 <plugin_exit_statfs@plt>
xor    %eax,%eax
call   1110 <plugin_exit_uname@plt>
xor    %eax,%eax
call   1160 <plugin_exit_uptime@plt>
xor    %eax,%eax
call   1040 <plugin_exit_w1retap@plt>
xor    %eax,%eax
call   10e0 <plugin_exit_wireless@plt>
xor    %eax,%eax
call   10b0 <plugin_exit_xmms@plt>
xor    %eax,%eax
call   10d0 <plugin_exit_cfg@plt>
xor    %eax,%eax
call   1130 <plugin_exit_math@plt>
xor    %eax,%eax
call   11c0 <plugin_exit_string@plt>
xor    %eax,%eax
call   1050 <plugin_exit_test@plt>
xor    %eax,%eax
call   1180 <plugin_exit_time@plt>
xor    %eax,%eax
call   1100 <DeleteFunctions@plt>
xor    %eax,%eax
pop    %rcx
jmp    10f0 <DeleteVariables@plt>

LLVM IR (-O0):
define void @plugin_exit() {
%1 = call i32 (...) @plugin_exit_apm()
%2 = call i32 (...) @plugin_exit_asterisk()
%3 = call i32 (...) @plugin_exit_button_exec()
%4 = call i32 (...) @plugin_exit_cpuinfo()
%5 = call i32 (...) @plugin_exit_diskstats()
%6 = call i32 (...) @plugin_exit_dvb()
%7 = call i32 (...) @plugin_exit_exec()
%8 = call i32 (...) @plugin_exit_event()
%9 = call i32 (...) @plugin_exit_fifo()
%10 = call i32 (...) @plugin_exit_file()
%11 = call i32 (...) @plugin_exit_huawei()
%12 = call i32 (...) @plugin_exit_i2c_sensors()
%13 = call i32 (...) @plugin_exit_iconv()
%14 = call i32 (...) @plugin_exit_imon()
%15 = call i32 (...) @plugin_exit_isdn()
%16 = call i32 (...) @plugin_exit_kvv()
%17 = call i32 (...) @plugin_exit_loadavg()
%18 = call i32 (...) @plugin_exit_meminfo()
%19 = call i32 (...) @plugin_exit_netdev()
%20 = call i32 (...) @plugin_exit_netinfo()
%21 = call i32 (...) @plugin_exit_pop3()
%22 = call i32 (...) @plugin_exit_ppp()
%23 = call i32 (...) @plugin_exit_proc_stat()
%24 = call i32 (...) @plugin_exit_raspi()
%25 = call i32 (...) @plugin_exit_sample()
%26 = call i32 (...) @plugin_exit_seti()
%27 = call i32 (...) @plugin_exit_statfs()
%28 = call i32 (...) @plugin_exit_uname()
%29 = call i32 (...) @plugin_exit_uptime()
%30 = call i32 (...) @plugin_exit_w1retap()
%31 = call i32 (...) @plugin_exit_wireless()
%32 = call i32 (...) @plugin_exit_xmms()
%33 = call i32 (...) @plugin_exit_cfg()
%34 = call i32 (...) @plugin_exit_math()
%35 = call i32 (...) @plugin_exit_string()
%36 = call i32 (...) @plugin_exit_test()
%37 = call i32 (...) @plugin_exit_time()
%38 = call i32 (...) @DeleteFunctions()
%39 = call i32 (...) @DeleteVariables()
ret void
}

LLVM IR (-O2):
define void @plugin_exit() {
%1 = tail call i32 (...) @plugin_exit_apm()
%2 = tail call i32 (...) @plugin_exit_asterisk()
%3 = tail call i32 (...) @plugin_exit_button_exec()
%4 = tail call i32 (...) @plugin_exit_cpuinfo()
%5 = tail call i32 (...) @plugin_exit_diskstats()
%6 = tail call i32 (...) @plugin_exit_dvb()
%7 = tail call i32 (...) @plugin_exit_exec()
%8 = tail call i32 (...) @plugin_exit_event()
%9 = tail call i32 (...) @plugin_exit_fifo()
%10 = tail call i32 (...) @plugin_exit_file()
%11 = tail call i32 (...) @plugin_exit_huawei()
%12 = tail call i32 (...) @plugin_exit_i2c_sensors()
%13 = tail call i32 (...) @plugin_exit_iconv()
%14 = tail call i32 (...) @plugin_exit_imon()
%15 = tail call i32 (...) @plugin_exit_isdn()
%16 = tail call i32 (...) @plugin_exit_kvv()
%17 = tail call i32 (...) @plugin_exit_loadavg()
%18 = tail call i32 (...) @plugin_exit_meminfo()
%19 = tail call i32 (...) @plugin_exit_netdev()
%20 = tail call i32 (...) @plugin_exit_netinfo()
%21 = tail call i32 (...) @plugin_exit_pop3()
%22 = tail call i32 (...) @plugin_exit_ppp()
%23 = tail call i32 (...) @plugin_exit_proc_stat()
%24 = tail call i32 (...) @plugin_exit_raspi()
%25 = tail call i32 (...) @plugin_exit_sample()
%26 = tail call i32 (...) @plugin_exit_seti()
%27 = tail call i32 (...) @plugin_exit_statfs()
%28 = tail call i32 (...) @plugin_exit_uname()
%29 = tail call i32 (...) @plugin_exit_uptime()
%30 = tail call i32 (...) @plugin_exit_w1retap()
%31 = tail call i32 (...) @plugin_exit_wireless()
%32 = tail call i32 (...) @plugin_exit_xmms()
%33 = tail call i32 (...) @plugin_exit_cfg()
%34 = tail call i32 (...) @plugin_exit_math()
%35 = tail call i32 (...) @plugin_exit_string()
%36 = tail call i32 (...) @plugin_exit_test()
%37 = tail call i32 (...) @plugin_exit_time()
%38 = tail call i32 (...) @DeleteFunctions()
%39 = tail call i32 (...) @DeleteVariables()
ret void
}