#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*/ test00_body();
int /*<<< orphan*/ test00_head();
int /*<<< orphan*/ test01_body();
int /*<<< orphan*/ test01_head();
int /*<<< orphan*/ test02_body();
int /*<<< orphan*/ test02_head();
int /*<<< orphan*/ test03_body();
int /*<<< orphan*/ test03_head();
int /*<<< orphan*/ test04_body();
int /*<<< orphan*/ test04_head();
int /*<<< orphan*/ test05_body();
int /*<<< orphan*/ test05_head();
int /*<<< orphan*/ test06_body();
int /*<<< orphan*/ test06_head();
int /*<<< orphan*/ test07_body();
int /*<<< orphan*/ test07_head();
int /*<<< orphan*/ test08_body();
int /*<<< orphan*/ test08_head();
int /*<<< orphan*/ test09_body();
int /*<<< orphan*/ test09_head();
int /*<<< orphan*/ test10_body();
int /*<<< orphan*/ test10_head();
int /*<<< orphan*/ test11_body();
int /*<<< orphan*/ test11_head();
int /*<<< orphan*/ test12_body();
int /*<<< orphan*/ test12_head();
int /*<<< orphan*/ test13_body();
int /*<<< orphan*/ test13_head();
int /*<<< orphan*/ test14_body();
int /*<<< orphan*/ test14_head();
int /*<<< orphan*/ test15_body();
int /*<<< orphan*/ test15_head();
int /*<<< orphan*/ test16_body();
int /*<<< orphan*/ test16_head();
int /*<<< orphan*/ test17_body();
int /*<<< orphan*/ test17_head();
int /*<<< orphan*/ test18_body();
int /*<<< orphan*/ test18_head();
int /*<<< orphan*/ test19_body();
int /*<<< orphan*/ test19_head();
int /*<<< orphan*/ test20_body();
int /*<<< orphan*/ test20_head();
int /*<<< orphan*/ test21_body();
int /*<<< orphan*/ test21_head();
int /*<<< orphan*/ test22_body();
int /*<<< orphan*/ test22_head();
int main(void) {
  test00_head();
  test00_body();
  test01_head();
  test01_body();
  test02_head();
  test02_body();
  test03_head();
  test03_body();
  test04_head();
  test04_body();
  test05_head();
  test05_body();
  test06_head();
  test06_body();
  test07_head();
  test07_body();
  test08_head();
  test08_body();
  test09_head();
  test09_body();
  test10_head();
  test10_body();
  test11_head();
  test11_body();
  test12_head();
  test12_body();
  test13_head();
  test13_body();
  test14_head();
  test14_body();
  test15_head();
  test15_body();
  test16_head();
  test16_body();
  test17_head();
  test17_body();
  test18_head();
  test18_body();
  test19_head();
  test19_body();
  test20_head();
  test20_body();
  test21_head();
  test21_body();
  test22_head();
  test22_body();
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
movl   $0x0,-0x4(%rbp)
mov    $0x0,%al
call   11e0 <test00_head@plt>
mov    $0x0,%al
call   1030 <test00_body@plt>
mov    $0x0,%al
call   1260 <test01_head@plt>
mov    $0x0,%al
call   12e0 <test01_body@plt>
mov    $0x0,%al
call   10a0 <test02_head@plt>
mov    $0x0,%al
call   11c0 <test02_body@plt>
mov    $0x0,%al
call   1130 <test03_head@plt>
mov    $0x0,%al
call   1070 <test03_body@plt>
mov    $0x0,%al
call   11a0 <test04_head@plt>
mov    $0x0,%al
call   10b0 <test04_body@plt>
mov    $0x0,%al
call   1280 <test05_head@plt>
mov    $0x0,%al
call   1110 <test05_body@plt>
mov    $0x0,%al
call   1080 <test06_head@plt>
mov    $0x0,%al
call   12a0 <test06_body@plt>
mov    $0x0,%al
call   1210 <test07_head@plt>
mov    $0x0,%al
call   1240 <test07_body@plt>
mov    $0x0,%al
call   1160 <test08_head@plt>
mov    $0x0,%al
call   10e0 <test08_body@plt>
mov    $0x0,%al
call   12d0 <test09_head@plt>
mov    $0x0,%al
call   1040 <test09_body@plt>
mov    $0x0,%al
call   1100 <test10_head@plt>
mov    $0x0,%al
call   1180 <test10_body@plt>
mov    $0x0,%al
call   1230 <test11_head@plt>
mov    $0x0,%al
call   1090 <test11_body@plt>
mov    $0x0,%al
call   1050 <test12_head@plt>
mov    $0x0,%al
call   1190 <test12_body@plt>
mov    $0x0,%al
call   1270 <test13_head@plt>
mov    $0x0,%al
call   1290 <test13_body@plt>
mov    $0x0,%al
call   10c0 <test14_head@plt>
mov    $0x0,%al
call   1300 <test14_body@plt>
mov    $0x0,%al
call   1220 <test15_head@plt>
mov    $0x0,%al
call   10f0 <test15_body@plt>
mov    $0x0,%al
call   1140 <test16_head@plt>
mov    $0x0,%al
call   1150 <test16_body@plt>
mov    $0x0,%al
call   1200 <test17_head@plt>
mov    $0x0,%al
call   12c0 <test17_body@plt>
mov    $0x0,%al
call   1120 <test18_head@plt>
mov    $0x0,%al
call   11f0 <test18_body@plt>
mov    $0x0,%al
call   1060 <test19_head@plt>
mov    $0x0,%al
call   1170 <test19_body@plt>
mov    $0x0,%al
call   12f0 <test20_head@plt>
mov    $0x0,%al
call   11b0 <test20_body@plt>
mov    $0x0,%al
call   11d0 <test21_head@plt>
mov    $0x0,%al
call   1250 <test21_body@plt>
mov    $0x0,%al
call   12b0 <test22_head@plt>
mov    $0x0,%al
call   10d0 <test22_body@plt>
xor    %eax,%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rax
xor    %eax,%eax
call   11e0 <test00_head@plt>
xor    %eax,%eax
call   1030 <test00_body@plt>
xor    %eax,%eax
call   1260 <test01_head@plt>
xor    %eax,%eax
call   12e0 <test01_body@plt>
xor    %eax,%eax
call   10a0 <test02_head@plt>
xor    %eax,%eax
call   11c0 <test02_body@plt>
xor    %eax,%eax
call   1130 <test03_head@plt>
xor    %eax,%eax
call   1070 <test03_body@plt>
xor    %eax,%eax
call   11a0 <test04_head@plt>
xor    %eax,%eax
call   10b0 <test04_body@plt>
xor    %eax,%eax
call   1280 <test05_head@plt>
xor    %eax,%eax
call   1110 <test05_body@plt>
xor    %eax,%eax
call   1080 <test06_head@plt>
xor    %eax,%eax
call   12a0 <test06_body@plt>
xor    %eax,%eax
call   1210 <test07_head@plt>
xor    %eax,%eax
call   1240 <test07_body@plt>
xor    %eax,%eax
call   1160 <test08_head@plt>
xor    %eax,%eax
call   10e0 <test08_body@plt>
xor    %eax,%eax
call   12d0 <test09_head@plt>
xor    %eax,%eax
call   1040 <test09_body@plt>
xor    %eax,%eax
call   1100 <test10_head@plt>
xor    %eax,%eax
call   1180 <test10_body@plt>
xor    %eax,%eax
call   1230 <test11_head@plt>
xor    %eax,%eax
call   1090 <test11_body@plt>
xor    %eax,%eax
call   1050 <test12_head@plt>
xor    %eax,%eax
call   1190 <test12_body@plt>
xor    %eax,%eax
call   1270 <test13_head@plt>
xor    %eax,%eax
call   1290 <test13_body@plt>
xor    %eax,%eax
call   10c0 <test14_head@plt>
xor    %eax,%eax
call   1300 <test14_body@plt>
xor    %eax,%eax
call   1220 <test15_head@plt>
xor    %eax,%eax
call   10f0 <test15_body@plt>
xor    %eax,%eax
call   1140 <test16_head@plt>
xor    %eax,%eax
call   1150 <test16_body@plt>
xor    %eax,%eax
call   1200 <test17_head@plt>
xor    %eax,%eax
call   12c0 <test17_body@plt>
xor    %eax,%eax
call   1120 <test18_head@plt>
xor    %eax,%eax
call   11f0 <test18_body@plt>
xor    %eax,%eax
call   1060 <test19_head@plt>
xor    %eax,%eax
call   1170 <test19_body@plt>
xor    %eax,%eax
call   12f0 <test20_head@plt>
xor    %eax,%eax
call   11b0 <test20_body@plt>
xor    %eax,%eax
call   11d0 <test21_head@plt>
xor    %eax,%eax
call   1250 <test21_body@plt>
xor    %eax,%eax
call   12b0 <test22_head@plt>
xor    %eax,%eax
call   10d0 <test22_body@plt>
xor    %eax,%eax
pop    %rcx
ret

LLVM IR (-O0):
define i32 @main() {
%1 = alloca i32
store i32 0, i32* %1
%2 = call i32 (...) @test00_head()
%3 = call i32 (...) @test00_body()
%4 = call i32 (...) @test01_head()
%5 = call i32 (...) @test01_body()
%6 = call i32 (...) @test02_head()
%7 = call i32 (...) @test02_body()
%8 = call i32 (...) @test03_head()
%9 = call i32 (...) @test03_body()
%10 = call i32 (...) @test04_head()
%11 = call i32 (...) @test04_body()
%12 = call i32 (...) @test05_head()
%13 = call i32 (...) @test05_body()
%14 = call i32 (...) @test06_head()
%15 = call i32 (...) @test06_body()
%16 = call i32 (...) @test07_head()
%17 = call i32 (...) @test07_body()
%18 = call i32 (...) @test08_head()
%19 = call i32 (...) @test08_body()
%20 = call i32 (...) @test09_head()
%21 = call i32 (...) @test09_body()
%22 = call i32 (...) @test10_head()
%23 = call i32 (...) @test10_body()
%24 = call i32 (...) @test11_head()
%25 = call i32 (...) @test11_body()
%26 = call i32 (...) @test12_head()
%27 = call i32 (...) @test12_body()
%28 = call i32 (...) @test13_head()
%29 = call i32 (...) @test13_body()
%30 = call i32 (...) @test14_head()
%31 = call i32 (...) @test14_body()
%32 = call i32 (...) @test15_head()
%33 = call i32 (...) @test15_body()
%34 = call i32 (...) @test16_head()
%35 = call i32 (...) @test16_body()
%36 = call i32 (...) @test17_head()
%37 = call i32 (...) @test17_body()
%38 = call i32 (...) @test18_head()
%39 = call i32 (...) @test18_body()
%40 = call i32 (...) @test19_head()
%41 = call i32 (...) @test19_body()
%42 = call i32 (...) @test20_head()
%43 = call i32 (...) @test20_body()
%44 = call i32 (...) @test21_head()
%45 = call i32 (...) @test21_body()
%46 = call i32 (...) @test22_head()
%47 = call i32 (...) @test22_body()
ret i32 0
}

LLVM IR (-O2):
define i32 @main() {
%1 = tail call i32 (...) @test00_head()
%2 = tail call i32 (...) @test00_body()
%3 = tail call i32 (...) @test01_head()
%4 = tail call i32 (...) @test01_body()
%5 = tail call i32 (...) @test02_head()
%6 = tail call i32 (...) @test02_body()
%7 = tail call i32 (...) @test03_head()
%8 = tail call i32 (...) @test03_body()
%9 = tail call i32 (...) @test04_head()
%10 = tail call i32 (...) @test04_body()
%11 = tail call i32 (...) @test05_head()
%12 = tail call i32 (...) @test05_body()
%13 = tail call i32 (...) @test06_head()
%14 = tail call i32 (...) @test06_body()
%15 = tail call i32 (...) @test07_head()
%16 = tail call i32 (...) @test07_body()
%17 = tail call i32 (...) @test08_head()
%18 = tail call i32 (...) @test08_body()
%19 = tail call i32 (...) @test09_head()
%20 = tail call i32 (...) @test09_body()
%21 = tail call i32 (...) @test10_head()
%22 = tail call i32 (...) @test10_body()
%23 = tail call i32 (...) @test11_head()
%24 = tail call i32 (...) @test11_body()
%25 = tail call i32 (...) @test12_head()
%26 = tail call i32 (...) @test12_body()
%27 = tail call i32 (...) @test13_head()
%28 = tail call i32 (...) @test13_body()
%29 = tail call i32 (...) @test14_head()
%30 = tail call i32 (...) @test14_body()
%31 = tail call i32 (...) @test15_head()
%32 = tail call i32 (...) @test15_body()
%33 = tail call i32 (...) @test16_head()
%34 = tail call i32 (...) @test16_body()
%35 = tail call i32 (...) @test17_head()
%36 = tail call i32 (...) @test17_body()
%37 = tail call i32 (...) @test18_head()
%38 = tail call i32 (...) @test18_body()
%39 = tail call i32 (...) @test19_head()
%40 = tail call i32 (...) @test19_body()
%41 = tail call i32 (...) @test20_head()
%42 = tail call i32 (...) @test20_body()
%43 = tail call i32 (...) @test21_head()
%44 = tail call i32 (...) @test21_body()
%45 = tail call i32 (...) @test22_head()
%46 = tail call i32 (...) @test22_body()
ret i32 0
}