#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*/ GL_BLEND;
int /*<<< orphan*/ GL_DEPTH_TEST;
int /*<<< orphan*/ GL_LEQUAL;
int /*<<< orphan*/ GL_NEAREST;
int /*<<< orphan*/ GL_NEAREST_MIPMAP_NEAREST;
int /*<<< orphan*/ GL_REPEAT;
int /*<<< orphan*/ GL_TEXTURE_2D;
int /*<<< orphan*/ GL_TEXTURE_ENV;
int /*<<< orphan*/ GL_TEXTURE_ENV_MODE;
int /*<<< orphan*/ GL_TEXTURE_MAG_FILTER;
int /*<<< orphan*/ GL_TEXTURE_MIN_FILTER;
int /*<<< orphan*/ GL_TEXTURE_WRAP_S;
int /*<<< orphan*/ GL_TEXTURE_WRAP_T;
int /*<<< orphan*/ GL_UNPACK_ALIGNMENT;
int /*<<< orphan*/ glClearColor(float, float, float, float);
int /*<<< orphan*/ glClearDepth(float);
int /*<<< orphan*/ glDepthFunc(int /*<<< orphan*/);
int /*<<< orphan*/ glEnable(int /*<<< orphan*/);
int /*<<< orphan*/ glPixelStorei(int /*<<< orphan*/, int);
int /*<<< orphan*/ glPointSize(double);
int /*<<< orphan*/ glTexEnvf(int /*<<< orphan*/, int /*<<< orphan*/,
                             int /*<<< orphan*/);
int /*<<< orphan*/ glTexParameteri(int /*<<< orphan*/, int /*<<< orphan*/,
                                   int /*<<< orphan*/);
void myInit(void) {
  glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
  glClearDepth(1.0f);
  glPointSize(2.0);
  glEnable(GL_DEPTH_TEST);
  glDepthFunc(GL_LEQUAL);
  glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
                  GL_NEAREST_MIPMAP_NEAREST);
  glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_BLEND);
  glEnable(GL_TEXTURE_2D);
}


x86 assembly (clang, -O0):
<myInit>:
push   %rbp
mov    %rsp,%rbp
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
movaps %xmm3,%xmm1
movaps %xmm3,%xmm2
call   1080 <glClearColor@plt>
movss  0xe6b(%rip),%xmm0
call   10a0 <glClearDepth@plt>
movsd  0xe56(%rip),%xmm0
call   1090 <glPointSize@plt>
mov    0x2dd2(%rip),%rax
mov    (%rax),%edi
call   1040 <glEnable@plt>
mov    0x2ddc(%rip),%rax
mov    (%rax),%edi
call   1070 <glDepthFunc@plt>
mov    0x2dfe(%rip),%rax
mov    (%rax),%edi
mov    $0x1,%esi
call   1050 <glPixelStorei@plt>
mov    0x2dc3(%rip),%rax
mov    (%rax),%edi
mov    0x2dca(%rip),%rax
mov    (%rax),%esi
mov    0x2d99(%rip),%rax
mov    (%rax),%edx
call   1030 <glTexParameteri@plt>
mov    0x2da3(%rip),%rax
mov    (%rax),%edi
mov    0x2d62(%rip),%rax
mov    (%rax),%esi
mov    0x2d79(%rip),%rax
mov    (%rax),%edx
call   1030 <glTexParameteri@plt>
mov    0x2d83(%rip),%rax
mov    (%rax),%edi
mov    0x2d52(%rip),%rax
mov    (%rax),%esi
mov    0x2d61(%rip),%rax
mov    (%rax),%edx
call   1030 <glTexParameteri@plt>
mov    0x2d63(%rip),%rax
mov    (%rax),%edi
mov    0x2d9a(%rip),%rax
mov    (%rax),%esi
mov    0x2d89(%rip),%rax
mov    (%rax),%edx
call   1030 <glTexParameteri@plt>
mov    0x2d63(%rip),%rax
mov    (%rax),%edi
mov    0x2d52(%rip),%rax
mov    (%rax),%esi
mov    0x2d61(%rip),%rax
mov    (%rax),%edx
call   1060 <glTexEnvf@plt>
mov    0x2d23(%rip),%rax
mov    (%rax),%edi
call   1040 <glEnable@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<myInit>:
push   %r14
push   %rbx
push   %rax
xorps  %xmm0,%xmm0
xorps  %xmm1,%xmm1
xorps  %xmm2,%xmm2
xorps  %xmm3,%xmm3
call   1080 <glClearColor@plt>
movss  0xe63(%rip),%xmm0
call   10a0 <glClearDepth@plt>
movsd  0xe5e(%rip),%xmm0
call   1090 <glPointSize@plt>
mov    0x2dd2(%rip),%rax
mov    (%rax),%edi
call   1040 <glEnable@plt>
mov    0x2ddc(%rip),%rax
mov    (%rax),%edi
call   1070 <glDepthFunc@plt>
mov    0x2dfe(%rip),%rax
mov    (%rax),%edi
mov    $0x1,%esi
call   1050 <glPixelStorei@plt>
mov    0x2dc3(%rip),%r14
mov    (%r14),%edi
mov    0x2dc9(%rip),%rax
mov    (%rax),%esi
mov    0x2d98(%rip),%rbx
mov    (%rbx),%edx
call   1030 <glTexParameteri@plt>
mov    (%r14),%edi
mov    0x2d67(%rip),%rax
mov    (%rax),%esi
mov    (%rbx),%edx
call   1030 <glTexParameteri@plt>
mov    (%r14),%edi
mov    0x2d64(%rip),%rax
mov    (%rax),%esi
mov    0x2d73(%rip),%rax
mov    (%rax),%edx
call   1030 <glTexParameteri@plt>
mov    (%r14),%edi
mov    0x2db2(%rip),%rax
mov    (%rax),%esi
mov    0x2da1(%rip),%rax
mov    (%rax),%edx
call   1030 <glTexParameteri@plt>
mov    0x2d7b(%rip),%rax
mov    (%rax),%edi
mov    0x2d6a(%rip),%rax
mov    (%rax),%esi
mov    0x2d79(%rip),%rax
mov    (%rax),%edx
call   1060 <glTexEnvf@plt>
mov    (%r14),%edi
add    $0x8,%rsp
pop    %rbx
pop    %r14
jmp    1040 <glEnable@plt>

LLVM IR (-O0):
@GL_DEPTH_TEST = global i32 0
@GL_LEQUAL = global i32 0
@GL_UNPACK_ALIGNMENT = global i32 0
@GL_TEXTURE_2D = global i32 0
@GL_TEXTURE_WRAP_S = global i32 0
@GL_REPEAT = global i32 0
@GL_TEXTURE_WRAP_T = global i32 0
@GL_TEXTURE_MAG_FILTER = global i32 0
@GL_NEAREST = global i32 0
@GL_TEXTURE_MIN_FILTER = global i32 0
@GL_NEAREST_MIPMAP_NEAREST = global i32 0
@GL_TEXTURE_ENV = global i32 0
@GL_TEXTURE_ENV_MODE = global i32 0
@GL_BLEND = global i32 0
define void @myInit() {
%1 = call i32 @glClearColor(float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00)
%2 = call i32 @glClearDepth(float 1.000000e+00)
%3 = call i32 @glPointSize(double 2.000000e+00)
%4 = load i32, i32* @GL_DEPTH_TEST
%5 = call i32 @glEnable(i32 %4)
%6 = load i32, i32* @GL_LEQUAL
%7 = call i32 @glDepthFunc(i32 %6)
%8 = load i32, i32* @GL_UNPACK_ALIGNMENT
%9 = call i32 @glPixelStorei(i32 %8, i32 1)
%10 = load i32, i32* @GL_TEXTURE_2D
%11 = load i32, i32* @GL_TEXTURE_WRAP_S
%12 = load i32, i32* @GL_REPEAT
%13 = call i32 @glTexParameteri(i32 %10, i32 %11, i32 %12)
%14 = load i32, i32* @GL_TEXTURE_2D
%15 = load i32, i32* @GL_TEXTURE_WRAP_T
%16 = load i32, i32* @GL_REPEAT
%17 = call i32 @glTexParameteri(i32 %14, i32 %15, i32 %16)
%18 = load i32, i32* @GL_TEXTURE_2D
%19 = load i32, i32* @GL_TEXTURE_MAG_FILTER
%20 = load i32, i32* @GL_NEAREST
%21 = call i32 @glTexParameteri(i32 %18, i32 %19, i32 %20)
%22 = load i32, i32* @GL_TEXTURE_2D
%23 = load i32, i32* @GL_TEXTURE_MIN_FILTER
%24 = load i32, i32* @GL_NEAREST_MIPMAP_NEAREST
%25 = call i32 @glTexParameteri(i32 %22, i32 %23, i32 %24)
%26 = load i32, i32* @GL_TEXTURE_ENV
%27 = load i32, i32* @GL_TEXTURE_ENV_MODE
%28 = load i32, i32* @GL_BLEND
%29 = call i32 @glTexEnvf(i32 %26, i32 %27, i32 %28)
%30 = load i32, i32* @GL_TEXTURE_2D
%31 = call i32 @glEnable(i32 %30)
ret void
}

LLVM IR (-O2):
@GL_DEPTH_TEST = global i32 0
@GL_LEQUAL = global i32 0
@GL_UNPACK_ALIGNMENT = global i32 0
@GL_TEXTURE_2D = global i32 0
@GL_TEXTURE_WRAP_S = global i32 0
@GL_REPEAT = global i32 0
@GL_TEXTURE_WRAP_T = global i32 0
@GL_TEXTURE_MAG_FILTER = global i32 0
@GL_NEAREST = global i32 0
@GL_TEXTURE_MIN_FILTER = global i32 0
@GL_NEAREST_MIPMAP_NEAREST = global i32 0
@GL_TEXTURE_ENV = global i32 0
@GL_TEXTURE_ENV_MODE = global i32 0
@GL_BLEND = global i32 0
define void @myInit() {
%1 = tail call i32 @glClearColor(float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00)
%2 = tail call i32 @glClearDepth(float 1.000000e+00)
%3 = tail call i32 @glPointSize(double 2.000000e+00)
%4 = load i32, i32* @GL_DEPTH_TEST
%5 = tail call i32 @glEnable(i32 %4)
%6 = load i32, i32* @GL_LEQUAL
%7 = tail call i32 @glDepthFunc(i32 %6)
%8 = load i32, i32* @GL_UNPACK_ALIGNMENT
%9 = tail call i32 @glPixelStorei(i32 %8, i32 1)
%10 = load i32, i32* @GL_TEXTURE_2D
%11 = load i32, i32* @GL_TEXTURE_WRAP_S
%12 = load i32, i32* @GL_REPEAT
%13 = tail call i32 @glTexParameteri(i32 %10, i32 %11, i32 %12)
%14 = load i32, i32* @GL_TEXTURE_2D
%15 = load i32, i32* @GL_TEXTURE_WRAP_T
%16 = load i32, i32* @GL_REPEAT
%17 = tail call i32 @glTexParameteri(i32 %14, i32 %15, i32 %16)
%18 = load i32, i32* @GL_TEXTURE_2D
%19 = load i32, i32* @GL_TEXTURE_MAG_FILTER
%20 = load i32, i32* @GL_NEAREST
%21 = tail call i32 @glTexParameteri(i32 %18, i32 %19, i32 %20)
%22 = load i32, i32* @GL_TEXTURE_2D
%23 = load i32, i32* @GL_TEXTURE_MIN_FILTER
%24 = load i32, i32* @GL_NEAREST_MIPMAP_NEAREST
%25 = tail call i32 @glTexParameteri(i32 %22, i32 %23, i32 %24)
%26 = load i32, i32* @GL_TEXTURE_ENV
%27 = load i32, i32* @GL_TEXTURE_ENV_MODE
%28 = load i32, i32* @GL_BLEND
%29 = tail call i32 @glTexEnvf(i32 %26, i32 %27, i32 %28)
%30 = load i32, i32* @GL_TEXTURE_2D
%31 = tail call i32 @glEnable(i32 %30)
ret void
}