#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*/ chaos_register();
int /*<<< orphan*/ kernel_init();
int /*<<< orphan*/ register_arena();
int /*<<< orphan*/ register_attributes();
int /*<<< orphan*/ register_buildings();
int /*<<< orphan*/ register_cr();
int /*<<< orphan*/ register_gmcmd();
int /*<<< orphan*/ register_itemfunctions();
int /*<<< orphan*/ register_itemtypes();
int /*<<< orphan*/ register_jsreport();
int /*<<< orphan*/ register_museum();
int /*<<< orphan*/ register_names();
int /*<<< orphan*/ register_nr();
int /*<<< orphan*/ register_races();
int /*<<< orphan*/ register_resources();
int /*<<< orphan*/ register_spells();
int /*<<< orphan*/ register_triggers();
int /*<<< orphan*/ register_xmas();
int /*<<< orphan*/ wormholes_register();
void game_init(void) {
  kernel_init();
  register_triggers();
  register_xmas();
  register_nr();
  register_cr();
  register_jsreport();
  register_races();
  register_spells();
  register_names();
  register_resources();
  register_buildings();
  register_itemfunctions();
  register_museum();
  register_arena();
  wormholes_register();
  register_itemtypes();
  register_attributes();
  register_gmcmd();
  chaos_register();
}


x86 assembly (clang, -O0):
<game_init>:
push   %rbp
mov    %rsp,%rbp
mov    $0x0,%al
call   1050 <kernel_init@plt>
mov    $0x0,%al
call   10a0 <register_triggers@plt>
mov    $0x0,%al
call   1080 <register_xmas@plt>
mov    $0x0,%al
call   10b0 <register_nr@plt>
mov    $0x0,%al
call   1110 <register_cr@plt>
mov    $0x0,%al
call   1120 <register_jsreport@plt>
mov    $0x0,%al
call   10c0 <register_races@plt>
mov    $0x0,%al
call   1140 <register_spells@plt>
mov    $0x0,%al
call   1040 <register_names@plt>
mov    $0x0,%al
call   10e0 <register_resources@plt>
mov    $0x0,%al
call   1060 <register_buildings@plt>
mov    $0x0,%al
call   1130 <register_itemfunctions@plt>
mov    $0x0,%al
call   1100 <register_museum@plt>
mov    $0x0,%al
call   1070 <register_arena@plt>
mov    $0x0,%al
call   1150 <wormholes_register@plt>
mov    $0x0,%al
call   1090 <register_itemtypes@plt>
mov    $0x0,%al
call   10d0 <register_attributes@plt>
mov    $0x0,%al
call   1030 <register_gmcmd@plt>
mov    $0x0,%al
call   10f0 <chaos_register@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<game_init>:
push   %rax
xor    %eax,%eax
call   1050 <kernel_init@plt>
xor    %eax,%eax
call   10a0 <register_triggers@plt>
xor    %eax,%eax
call   1080 <register_xmas@plt>
xor    %eax,%eax
call   10b0 <register_nr@plt>
xor    %eax,%eax
call   1110 <register_cr@plt>
xor    %eax,%eax
call   1120 <register_jsreport@plt>
xor    %eax,%eax
call   10c0 <register_races@plt>
xor    %eax,%eax
call   1140 <register_spells@plt>
xor    %eax,%eax
call   1040 <register_names@plt>
xor    %eax,%eax
call   10e0 <register_resources@plt>
xor    %eax,%eax
call   1060 <register_buildings@plt>
xor    %eax,%eax
call   1130 <register_itemfunctions@plt>
xor    %eax,%eax
call   1100 <register_museum@plt>
xor    %eax,%eax
call   1070 <register_arena@plt>
xor    %eax,%eax
call   1150 <wormholes_register@plt>
xor    %eax,%eax
call   1090 <register_itemtypes@plt>
xor    %eax,%eax
call   10d0 <register_attributes@plt>
xor    %eax,%eax
call   1030 <register_gmcmd@plt>
xor    %eax,%eax
pop    %rcx
jmp    10f0 <chaos_register@plt>

LLVM IR (-O0):
define void @game_init() {
%1 = call i32 (...) @kernel_init()
%2 = call i32 (...) @register_triggers()
%3 = call i32 (...) @register_xmas()
%4 = call i32 (...) @register_nr()
%5 = call i32 (...) @register_cr()
%6 = call i32 (...) @register_jsreport()
%7 = call i32 (...) @register_races()
%8 = call i32 (...) @register_spells()
%9 = call i32 (...) @register_names()
%10 = call i32 (...) @register_resources()
%11 = call i32 (...) @register_buildings()
%12 = call i32 (...) @register_itemfunctions()
%13 = call i32 (...) @register_museum()
%14 = call i32 (...) @register_arena()
%15 = call i32 (...) @wormholes_register()
%16 = call i32 (...) @register_itemtypes()
%17 = call i32 (...) @register_attributes()
%18 = call i32 (...) @register_gmcmd()
%19 = call i32 (...) @chaos_register()
ret void
}

LLVM IR (-O2):
define void @game_init() {
%1 = tail call i32 (...) @kernel_init()
%2 = tail call i32 (...) @register_triggers()
%3 = tail call i32 (...) @register_xmas()
%4 = tail call i32 (...) @register_nr()
%5 = tail call i32 (...) @register_cr()
%6 = tail call i32 (...) @register_jsreport()
%7 = tail call i32 (...) @register_races()
%8 = tail call i32 (...) @register_spells()
%9 = tail call i32 (...) @register_names()
%10 = tail call i32 (...) @register_resources()
%11 = tail call i32 (...) @register_buildings()
%12 = tail call i32 (...) @register_itemfunctions()
%13 = tail call i32 (...) @register_museum()
%14 = tail call i32 (...) @register_arena()
%15 = tail call i32 (...) @wormholes_register()
%16 = tail call i32 (...) @register_itemtypes()
%17 = tail call i32 (...) @register_attributes()
%18 = tail call i32 (...) @register_gmcmd()
%19 = tail call i32 (...) @chaos_register()
ret void
}