#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*/ init_map_cacti();
int /*<<< orphan*/ init_map_cadavers();
int /*<<< orphan*/ init_map_clean_up();
int /*<<< orphan*/ init_map_crosses();
int /*<<< orphan*/ init_map_dead_trees();
int /*<<< orphan*/ init_map_desert();
int /*<<< orphan*/ init_map_desert_2();
int /*<<< orphan*/ init_map_lakes();
int /*<<< orphan*/ init_map_large_boulders();
int /*<<< orphan*/ init_map_palms();
int /*<<< orphan*/ init_map_resources();
int /*<<< orphan*/ init_map_small_boulders();
int /*<<< orphan*/ init_map_stone_1();
int /*<<< orphan*/ init_map_stone_2();
int /*<<< orphan*/ init_map_stubs();
int /*<<< orphan*/ init_map_trees_1();
int /*<<< orphan*/ init_map_trees_2();
int /*<<< orphan*/ init_map_trees_3();
int /*<<< orphan*/ init_map_trees_4();
int /*<<< orphan*/ init_map_types4();
int /*<<< orphan*/ init_map_water_stones();
int /*<<< orphan*/ init_map_water_trees();
void init_map_sub() {
  init_map_lakes();
  init_map_types4();
  init_map_desert();
  init_map_desert_2();
  init_map_crosses();
  init_map_trees_1();
  init_map_trees_2();
  init_map_trees_3();
  init_map_trees_4();
  init_map_stone_1();
  init_map_stone_2();
  init_map_dead_trees();
  init_map_large_boulders();
  init_map_water_trees();
  init_map_stubs();
  init_map_small_boulders();
  init_map_cadavers();
  init_map_cacti();
  init_map_water_stones();
  init_map_palms();
  init_map_resources();
  init_map_clean_up();
}


x86 assembly (clang, -O0):
<init_map_sub>:
push   %rbp
mov    %rsp,%rbp
mov    $0x0,%al
call   1130 <init_map_lakes@plt>
mov    $0x0,%al
call   1150 <init_map_types4@plt>
mov    $0x0,%al
call   10c0 <init_map_desert@plt>
mov    $0x0,%al
call   10d0 <init_map_desert_2@plt>
mov    $0x0,%al
call   1040 <init_map_crosses@plt>
mov    $0x0,%al
call   1110 <init_map_trees_1@plt>
mov    $0x0,%al
call   1080 <init_map_trees_2@plt>
mov    $0x0,%al
call   1120 <init_map_trees_3@plt>
mov    $0x0,%al
call   1090 <init_map_trees_4@plt>
mov    $0x0,%al
call   1160 <init_map_stone_1@plt>
mov    $0x0,%al
call   10b0 <init_map_stone_2@plt>
mov    $0x0,%al
call   10a0 <init_map_dead_trees@plt>
mov    $0x0,%al
call   1180 <init_map_large_boulders@plt>
mov    $0x0,%al
call   1170 <init_map_water_trees@plt>
mov    $0x0,%al
call   1030 <init_map_stubs@plt>
mov    $0x0,%al
call   10e0 <init_map_small_boulders@plt>
mov    $0x0,%al
call   10f0 <init_map_cadavers@plt>
mov    $0x0,%al
call   1140 <init_map_cacti@plt>
mov    $0x0,%al
call   1070 <init_map_water_stones@plt>
mov    $0x0,%al
call   1050 <init_map_palms@plt>
mov    $0x0,%al
call   1100 <init_map_resources@plt>
mov    $0x0,%al
call   1060 <init_map_clean_up@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<init_map_sub>:
push   %rax
xor    %eax,%eax
call   1130 <init_map_lakes@plt>
xor    %eax,%eax
call   1150 <init_map_types4@plt>
xor    %eax,%eax
call   10c0 <init_map_desert@plt>
xor    %eax,%eax
call   10d0 <init_map_desert_2@plt>
xor    %eax,%eax
call   1040 <init_map_crosses@plt>
xor    %eax,%eax
call   1110 <init_map_trees_1@plt>
xor    %eax,%eax
call   1080 <init_map_trees_2@plt>
xor    %eax,%eax
call   1120 <init_map_trees_3@plt>
xor    %eax,%eax
call   1090 <init_map_trees_4@plt>
xor    %eax,%eax
call   1160 <init_map_stone_1@plt>
xor    %eax,%eax
call   10b0 <init_map_stone_2@plt>
xor    %eax,%eax
call   10a0 <init_map_dead_trees@plt>
xor    %eax,%eax
call   1180 <init_map_large_boulders@plt>
xor    %eax,%eax
call   1170 <init_map_water_trees@plt>
xor    %eax,%eax
call   1030 <init_map_stubs@plt>
xor    %eax,%eax
call   10e0 <init_map_small_boulders@plt>
xor    %eax,%eax
call   10f0 <init_map_cadavers@plt>
xor    %eax,%eax
call   1140 <init_map_cacti@plt>
xor    %eax,%eax
call   1070 <init_map_water_stones@plt>
xor    %eax,%eax
call   1050 <init_map_palms@plt>
xor    %eax,%eax
call   1100 <init_map_resources@plt>
xor    %eax,%eax
pop    %rcx
jmp    1060 <init_map_clean_up@plt>

LLVM IR (-O0):
define void @init_map_sub() {
%1 = call i32 (...) @init_map_lakes()
%2 = call i32 (...) @init_map_types4()
%3 = call i32 (...) @init_map_desert()
%4 = call i32 (...) @init_map_desert_2()
%5 = call i32 (...) @init_map_crosses()
%6 = call i32 (...) @init_map_trees_1()
%7 = call i32 (...) @init_map_trees_2()
%8 = call i32 (...) @init_map_trees_3()
%9 = call i32 (...) @init_map_trees_4()
%10 = call i32 (...) @init_map_stone_1()
%11 = call i32 (...) @init_map_stone_2()
%12 = call i32 (...) @init_map_dead_trees()
%13 = call i32 (...) @init_map_large_boulders()
%14 = call i32 (...) @init_map_water_trees()
%15 = call i32 (...) @init_map_stubs()
%16 = call i32 (...) @init_map_small_boulders()
%17 = call i32 (...) @init_map_cadavers()
%18 = call i32 (...) @init_map_cacti()
%19 = call i32 (...) @init_map_water_stones()
%20 = call i32 (...) @init_map_palms()
%21 = call i32 (...) @init_map_resources()
%22 = call i32 (...) @init_map_clean_up()
ret void
}

LLVM IR (-O2):
define void @init_map_sub() {
%1 = tail call i32 (...) @init_map_lakes()
%2 = tail call i32 (...) @init_map_types4()
%3 = tail call i32 (...) @init_map_desert()
%4 = tail call i32 (...) @init_map_desert_2()
%5 = tail call i32 (...) @init_map_crosses()
%6 = tail call i32 (...) @init_map_trees_1()
%7 = tail call i32 (...) @init_map_trees_2()
%8 = tail call i32 (...) @init_map_trees_3()
%9 = tail call i32 (...) @init_map_trees_4()
%10 = tail call i32 (...) @init_map_stone_1()
%11 = tail call i32 (...) @init_map_stone_2()
%12 = tail call i32 (...) @init_map_dead_trees()
%13 = tail call i32 (...) @init_map_large_boulders()
%14 = tail call i32 (...) @init_map_water_trees()
%15 = tail call i32 (...) @init_map_stubs()
%16 = tail call i32 (...) @init_map_small_boulders()
%17 = tail call i32 (...) @init_map_cadavers()
%18 = tail call i32 (...) @init_map_cacti()
%19 = tail call i32 (...) @init_map_water_stones()
%20 = tail call i32 (...) @init_map_palms()
%21 = tail call i32 (...) @init_map_resources()
%22 = tail call i32 (...) @init_map_clean_up()
ret void
}