#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*/ marker1();
int more_code() {
  char C, *pC, **ppC, ***pppC, ****ppppC, *****pppppC, ******ppppppC;
  unsigned char UC, *pUC;
  short S, *pS;
  unsigned short US, *pUS;
  int I, *pI;
  unsigned int UI, *pUI;
  long L, *pL;
  unsigned long UL, *pUL;
  float F, *pF;
  double D, *pD;
  C = 'A';
  UC = 21;
  S = -14;
  US = 7;
  I = 102;
  UI = 1002;
  L = -234;
  UL = 234;
  F = 1.25E10;
  D = -1.25E-37;
  pC = &C;
  ppC = &pC;
  pppC = &ppC;
  ppppC = &pppC;
  pppppC = &ppppC;
  ppppppC = &pppppC;
  pUC = &UC;
  pS = &S;
  pUS = &US;
  pI = &I;
  pUI = &UI;
  pL = &L;
  pUL = &UL;
  pF = &F;
  pD = &D;
  marker1();
  return 0;
}


x86 assembly (clang, -O0):
<more_code>:
push   %rbp
mov    %rsp,%rbp
sub    $0xd0,%rsp
movb   $0x41,-0x1(%rbp)
movb   $0x15,-0x39(%rbp)
movw   $0xfff2,-0x4a(%rbp)
movw   $0x7,-0x5a(%rbp)
movl   $0x66,-0x6c(%rbp)
movl   $0x3ea,-0x7c(%rbp)
movq   $0xffffffffffffff16,-0x90(%rbp)
16 ff ff ff
movq   $0xea,-0xa0(%rbp)
movss  0xead(%rip),%xmm0
movss  %xmm0,-0xac(%rbp)
ff
movsd  0xe95(%rip),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
lea    -0x1(%rbp),%rax
mov    %rax,-0x10(%rbp)
lea    -0x10(%rbp),%rax
mov    %rax,-0x18(%rbp)
lea    -0x18(%rbp),%rax
mov    %rax,-0x20(%rbp)
lea    -0x20(%rbp),%rax
mov    %rax,-0x28(%rbp)
lea    -0x28(%rbp),%rax
mov    %rax,-0x30(%rbp)
lea    -0x30(%rbp),%rax
mov    %rax,-0x38(%rbp)
lea    -0x39(%rbp),%rax
mov    %rax,-0x48(%rbp)
lea    -0x4a(%rbp),%rax
mov    %rax,-0x58(%rbp)
lea    -0x5a(%rbp),%rax
mov    %rax,-0x68(%rbp)
lea    -0x6c(%rbp),%rax
mov    %rax,-0x78(%rbp)
lea    -0x7c(%rbp),%rax
mov    %rax,-0x88(%rbp)
lea    -0x90(%rbp),%rax
mov    %rax,-0x98(%rbp)
lea    -0xa0(%rbp),%rax
mov    %rax,-0xa8(%rbp)
lea    -0xac(%rbp),%rax
mov    %rax,-0xb8(%rbp)
lea    -0xc0(%rbp),%rax
mov    %rax,-0xc8(%rbp)
mov    $0x0,%al
call   1030 <marker1@plt>
xor    %eax,%eax
add    $0xd0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<more_code>:
push   %rax
xor    %eax,%eax
call   1030 <marker1@plt>
xor    %eax,%eax
pop    %rcx
ret

LLVM IR (-O0):
define i32 @more_code() {
%1 = alloca i8
%2 = alloca i8*
%3 = alloca i8**
%4 = alloca i8***
%5 = alloca i8****
%6 = alloca i8*****
%7 = alloca i8******
%8 = alloca i8
%9 = alloca i8*
%10 = alloca i16
%11 = alloca i16*
%12 = alloca i16
%13 = alloca i16*
%14 = alloca i32
%15 = alloca i32*
%16 = alloca i32
%17 = alloca i32*
%18 = alloca i64
%19 = alloca i64*
%20 = alloca i64
%21 = alloca i64*
%22 = alloca float
%23 = alloca float*
%24 = alloca double
%25 = alloca double*
store i8 65, i8* %1
store i8 21, i8* %8
store i16 -14, i16* %10
store i16 7, i16* %12
store i32 102, i32* %14
store i32 1002, i32* %16
store i64 -234, i64* %18
store i64 234, i64* %20
store float 0x42074876E0000000, float* %22
store double -1.250000e-37, double* %24
store i8* %1, i8** %2
store i8** %2, i8*** %3
store i8*** %3, i8**** %4
store i8**** %4, i8***** %5
store i8***** %5, i8****** %6
store i8****** %6, i8******* %7
store i8* %8, i8** %9
store i16* %10, i16** %11
store i16* %12, i16** %13
store i32* %14, i32** %15
store i32* %16, i32** %17
store i64* %18, i64** %19
store i64* %20, i64** %21
store float* %22, float** %23
store double* %24, double** %25
%26 = call i32 (...) @marker1()
ret i32 0
}

LLVM IR (-O2):
define i32 @more_code() {
%1 = tail call i32 (...) @marker1()
ret i32 0
}