#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*/ glColor3f(float, float, float);
int /*<<< orphan*/ glVertex3f(int, int, float);
void draw_block(int i, int j, float color[3]) {
  float x = 0, y = 1, z1 = 0.1f, z2 = 0.8f;
  glColor3f(color[0], color[1], color[2]);
  glVertex3f(j + x, i + x, z2);
  glVertex3f(j + y, i + x, z2);
  glVertex3f(j + y, i + y, z2);
  glVertex3f(j + x, i + y, z2);
  glVertex3f(j + x, i + x, z1);
  glVertex3f(j + y, i + x, z1);
  glVertex3f(j + y, i + x, z2);
  glVertex3f(j + x, i + x, z2);
  glVertex3f(j + y, i + x, z1);
  glVertex3f(j + y, i + y, z1);
  glVertex3f(j + y, i + y, z2);
  glVertex3f(j + y, i + x, z2);
  glVertex3f(j + x, i + y, z1);
  glVertex3f(j + y, i + y, z1);
  glVertex3f(j + y, i + y, z2);
  glVertex3f(j + x, i + y, z2);
  glVertex3f(j + x, i + x, z1);
  glVertex3f(j + x, i + x, z2);
  glVertex3f(j + x, i + y, z2);
  glVertex3f(j + x, i + y, z1);
}


x86 assembly (clang, -O0):
<draw_block>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %rdx,-0x10(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x14(%rbp)
movss  0xec6(%rip),%xmm0
movss  %xmm0,-0x18(%rbp)
movss  0xeb5(%rip),%xmm0
movss  %xmm0,-0x1c(%rbp)
movss  0xea4(%rip),%xmm0
movss  %xmm0,-0x20(%rbp)
mov    -0x10(%rbp),%rax
movss  (%rax),%xmm0
mov    -0x10(%rbp),%rax
movss  0x4(%rax),%xmm1
mov    -0x10(%rbp),%rax
movss  0x8(%rax),%xmm2
call   1040 <glColor3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x20(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x20(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x20(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x20(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x1c(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x1c(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x20(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x20(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x1c(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x1c(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x20(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x20(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x1c(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x1c(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x20(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x20(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x1c(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x20(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x20(%rbp),%xmm0
call   1030 <glVertex3f@plt>
cvtsi2ssl -0x8(%rbp),%xmm0
addss  -0x14(%rbp),%xmm0
cvttss2si %xmm0,%edi
cvtsi2ssl -0x4(%rbp),%xmm0
addss  -0x18(%rbp),%xmm0
cvttss2si %xmm0,%esi
movss  -0x1c(%rbp),%xmm0
call   1030 <glVertex3f@plt>
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<draw_block>:
push   %rbp
push   %r15
push   %r14
push   %rbx
push   %rax
mov    %esi,%ebx
mov    %edi,%ebp
movss  (%rdx),%xmm0
movss  0x4(%rdx),%xmm1
movss  0x8(%rdx),%xmm2
call   1040 <glColor3f@plt>
xorps  %xmm1,%xmm1
cvtsi2ss %ebx,%xmm1
movss  %xmm1,(%rsp)
xorps  %xmm0,%xmm0
cvtsi2ss %ebp,%xmm0
movss  %xmm0,0x4(%rsp)
cvttss2si %xmm1,%r14d
cvttss2si %xmm0,%r15d
movss  0xe97(%rip),%xmm0
mov    %r14d,%edi
mov    %r15d,%esi
call   1030 <glVertex3f@plt>
movss  (%rsp),%xmm0
addss  0xe83(%rip),%xmm0
cvttss2si %xmm0,%ebp
mov    %ebp,%edi
mov    %r15d,%esi
movss  0xe6e(%rip),%xmm0
call   1030 <glVertex3f@plt>
movss  0x4(%rsp),%xmm0
addss  0xe5f(%rip),%xmm0
cvttss2si %xmm0,%ebx
mov    %ebp,%edi
mov    %ebx,%esi
movss  0xe4b(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %r14d,%edi
mov    %ebx,%esi
movss  0xe39(%rip),%xmm0
call   1030 <glVertex3f@plt>
movss  0xe34(%rip),%xmm0
mov    %r14d,%edi
mov    %r15d,%esi
call   1030 <glVertex3f@plt>
mov    %ebp,%edi
mov    %r15d,%esi
movss  0xe1c(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %ebp,%edi
mov    %r15d,%esi
movss  0xe02(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %r14d,%edi
mov    %r15d,%esi
movss  0xdef(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %ebp,%edi
mov    %r15d,%esi
movss  0xde5(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %ebp,%edi
mov    %ebx,%esi
movss  0xdd4(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %ebp,%edi
mov    %ebx,%esi
movss  0xdbb(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %ebp,%edi
mov    %r15d,%esi
movss  0xda9(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %r14d,%edi
mov    %ebx,%esi
movss  0xd9f(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %ebp,%edi
mov    %ebx,%esi
movss  0xd8e(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %ebp,%edi
mov    %ebx,%esi
movss  0xd75(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %r14d,%edi
mov    %ebx,%esi
movss  0xd63(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %r14d,%edi
mov    %r15d,%esi
movss  0xd58(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %r14d,%edi
mov    %r15d,%esi
movss  0xd3d(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %r14d,%edi
mov    %ebx,%esi
movss  0xd2b(%rip),%xmm0
call   1030 <glVertex3f@plt>
mov    %r14d,%edi
mov    %ebx,%esi
movss  0xd21(%rip),%xmm0
add    $0x8,%rsp
pop    %rbx
pop    %r14
pop    %r15
pop    %rbp
jmp    1030 <glVertex3f@plt>

LLVM IR (-O0):
define void @draw_block(i32 %0, i32 %1, float* %2) {
%4 = alloca i32
%5 = alloca i32
%6 = alloca float*
%7 = alloca float
%8 = alloca float
%9 = alloca float
%10 = alloca float
store i32 %0, i32* %4
store i32 %1, i32* %5
store float* %2, float** %6
store float 0.000000e+00, float* %7
store float 1.000000e+00, float* %8
store float 0x3FB99999A0000000, float* %9
store float 0x3FE99999A0000000, float* %10
%11 = load float*, float** %6
%12 = getelementptr inbounds float, float* %11, i64 0
%13 = load float, float* %12
%14 = load float*, float** %6
%15 = getelementptr inbounds float, float* %14, i64 1
%16 = load float, float* %15
%17 = load float*, float** %6
%18 = getelementptr inbounds float, float* %17, i64 2
%19 = load float, float* %18
%20 = call i32 @glColor3f(float %13, float %16, float %19)
%21 = load i32, i32* %5
%22 = sitofp i32 %21 to float
%23 = load float, float* %7
%24 = fadd float %22, %23
%25 = fptosi float %24 to i32
%26 = load i32, i32* %4
%27 = sitofp i32 %26 to float
%28 = load float, float* %7
%29 = fadd float %27, %28
%30 = fptosi float %29 to i32
%31 = load float, float* %10
%32 = call i32 @glVertex3f(i32 %25, i32 %30, float %31)
%33 = load i32, i32* %5
%34 = sitofp i32 %33 to float
%35 = load float, float* %8
%36 = fadd float %34, %35
%37 = fptosi float %36 to i32
%38 = load i32, i32* %4
%39 = sitofp i32 %38 to float
%40 = load float, float* %7
%41 = fadd float %39, %40
%42 = fptosi float %41 to i32
%43 = load float, float* %10
%44 = call i32 @glVertex3f(i32 %37, i32 %42, float %43)
%45 = load i32, i32* %5
%46 = sitofp i32 %45 to float
%47 = load float, float* %8
%48 = fadd float %46, %47
%49 = fptosi float %48 to i32
%50 = load i32, i32* %4
%51 = sitofp i32 %50 to float
%52 = load float, float* %8
%53 = fadd float %51, %52
%54 = fptosi float %53 to i32
%55 = load float, float* %10
%56 = call i32 @glVertex3f(i32 %49, i32 %54, float %55)
%57 = load i32, i32* %5
%58 = sitofp i32 %57 to float
%59 = load float, float* %7
%60 = fadd float %58, %59
%61 = fptosi float %60 to i32
%62 = load i32, i32* %4
%63 = sitofp i32 %62 to float
%64 = load float, float* %8
%65 = fadd float %63, %64
%66 = fptosi float %65 to i32
%67 = load float, float* %10
%68 = call i32 @glVertex3f(i32 %61, i32 %66, float %67)
%69 = load i32, i32* %5
%70 = sitofp i32 %69 to float
%71 = load float, float* %7
%72 = fadd float %70, %71
%73 = fptosi float %72 to i32
%74 = load i32, i32* %4
%75 = sitofp i32 %74 to float
%76 = load float, float* %7
%77 = fadd float %75, %76
%78 = fptosi float %77 to i32
%79 = load float, float* %9
%80 = call i32 @glVertex3f(i32 %73, i32 %78, float %79)
%81 = load i32, i32* %5
%82 = sitofp i32 %81 to float
%83 = load float, float* %8
%84 = fadd float %82, %83
%85 = fptosi float %84 to i32
%86 = load i32, i32* %4
%87 = sitofp i32 %86 to float
%88 = load float, float* %7
%89 = fadd float %87, %88
%90 = fptosi float %89 to i32
%91 = load float, float* %9
%92 = call i32 @glVertex3f(i32 %85, i32 %90, float %91)
%93 = load i32, i32* %5
%94 = sitofp i32 %93 to float
%95 = load float, float* %8
%96 = fadd float %94, %95
%97 = fptosi float %96 to i32
%98 = load i32, i32* %4
%99 = sitofp i32 %98 to float
%100 = load float, float* %7
%101 = fadd float %99, %100
%102 = fptosi float %101 to i32
%103 = load float, float* %10
%104 = call i32 @glVertex3f(i32 %97, i32 %102, float %103)
%105 = load i32, i32* %5
%106 = sitofp i32 %105 to float
%107 = load float, float* %7
%108 = fadd float %106, %107
%109 = fptosi float %108 to i32
%110 = load i32, i32* %4
%111 = sitofp i32 %110 to float
%112 = load float, float* %7
%113 = fadd float %111, %112
%114 = fptosi float %113 to i32
%115 = load float, float* %10
%116 = call i32 @glVertex3f(i32 %109, i32 %114, float %115)
%117 = load i32, i32* %5
%118 = sitofp i32 %117 to float
%119 = load float, float* %8
%120 = fadd float %118, %119
%121 = fptosi float %120 to i32
%122 = load i32, i32* %4
%123 = sitofp i32 %122 to float
%124 = load float, float* %7
%125 = fadd float %123, %124
%126 = fptosi float %125 to i32
%127 = load float, float* %9
%128 = call i32 @glVertex3f(i32 %121, i32 %126, float %127)
%129 = load i32, i32* %5
%130 = sitofp i32 %129 to float
%131 = load float, float* %8
%132 = fadd float %130, %131
%133 = fptosi float %132 to i32
%134 = load i32, i32* %4
%135 = sitofp i32 %134 to float
%136 = load float, float* %8
%137 = fadd float %135, %136
%138 = fptosi float %137 to i32
%139 = load float, float* %9
%140 = call i32 @glVertex3f(i32 %133, i32 %138, float %139)
%141 = load i32, i32* %5
%142 = sitofp i32 %141 to float
%143 = load float, float* %8
%144 = fadd float %142, %143
%145 = fptosi float %144 to i32
%146 = load i32, i32* %4
%147 = sitofp i32 %146 to float
%148 = load float, float* %8
%149 = fadd float %147, %148
%150 = fptosi float %149 to i32
%151 = load float, float* %10
%152 = call i32 @glVertex3f(i32 %145, i32 %150, float %151)
%153 = load i32, i32* %5
%154 = sitofp i32 %153 to float
%155 = load float, float* %8
%156 = fadd float %154, %155
%157 = fptosi float %156 to i32
%158 = load i32, i32* %4
%159 = sitofp i32 %158 to float
%160 = load float, float* %7
%161 = fadd float %159, %160
%162 = fptosi float %161 to i32
%163 = load float, float* %10
%164 = call i32 @glVertex3f(i32 %157, i32 %162, float %163)
%165 = load i32, i32* %5
%166 = sitofp i32 %165 to float
%167 = load float, float* %7
%168 = fadd float %166, %167
%169 = fptosi float %168 to i32
%170 = load i32, i32* %4
%171 = sitofp i32 %170 to float
%172 = load float, float* %8
%173 = fadd float %171, %172
%174 = fptosi float %173 to i32
%175 = load float, float* %9
%176 = call i32 @glVertex3f(i32 %169, i32 %174, float %175)
%177 = load i32, i32* %5
%178 = sitofp i32 %177 to float
%179 = load float, float* %8
%180 = fadd float %178, %179
%181 = fptosi float %180 to i32
%182 = load i32, i32* %4
%183 = sitofp i32 %182 to float
%184 = load float, float* %8
%185 = fadd float %183, %184
%186 = fptosi float %185 to i32
%187 = load float, float* %9
%188 = call i32 @glVertex3f(i32 %181, i32 %186, float %187)
%189 = load i32, i32* %5
%190 = sitofp i32 %189 to float
%191 = load float, float* %8
%192 = fadd float %190, %191
%193 = fptosi float %192 to i32
%194 = load i32, i32* %4
%195 = sitofp i32 %194 to float
%196 = load float, float* %8
%197 = fadd float %195, %196
%198 = fptosi float %197 to i32
%199 = load float, float* %10
%200 = call i32 @glVertex3f(i32 %193, i32 %198, float %199)
%201 = load i32, i32* %5
%202 = sitofp i32 %201 to float
%203 = load float, float* %7
%204 = fadd float %202, %203
%205 = fptosi float %204 to i32
%206 = load i32, i32* %4
%207 = sitofp i32 %206 to float
%208 = load float, float* %8
%209 = fadd float %207, %208
%210 = fptosi float %209 to i32
%211 = load float, float* %10
%212 = call i32 @glVertex3f(i32 %205, i32 %210, float %211)
%213 = load i32, i32* %5
%214 = sitofp i32 %213 to float
%215 = load float, float* %7
%216 = fadd float %214, %215
%217 = fptosi float %216 to i32
%218 = load i32, i32* %4
%219 = sitofp i32 %218 to float
%220 = load float, float* %7
%221 = fadd float %219, %220
%222 = fptosi float %221 to i32
%223 = load float, float* %9
%224 = call i32 @glVertex3f(i32 %217, i32 %222, float %223)
%225 = load i32, i32* %5
%226 = sitofp i32 %225 to float
%227 = load float, float* %7
%228 = fadd float %226, %227
%229 = fptosi float %228 to i32
%230 = load i32, i32* %4
%231 = sitofp i32 %230 to float
%232 = load float, float* %7
%233 = fadd float %231, %232
%234 = fptosi float %233 to i32
%235 = load float, float* %10
%236 = call i32 @glVertex3f(i32 %229, i32 %234, float %235)
%237 = load i32, i32* %5
%238 = sitofp i32 %237 to float
%239 = load float, float* %7
%240 = fadd float %238, %239
%241 = fptosi float %240 to i32
%242 = load i32, i32* %4
%243 = sitofp i32 %242 to float
%244 = load float, float* %8
%245 = fadd float %243, %244
%246 = fptosi float %245 to i32
%247 = load float, float* %10
%248 = call i32 @glVertex3f(i32 %241, i32 %246, float %247)
%249 = load i32, i32* %5
%250 = sitofp i32 %249 to float
%251 = load float, float* %7
%252 = fadd float %250, %251
%253 = fptosi float %252 to i32
%254 = load i32, i32* %4
%255 = sitofp i32 %254 to float
%256 = load float, float* %8
%257 = fadd float %255, %256
%258 = fptosi float %257 to i32
%259 = load float, float* %9
%260 = call i32 @glVertex3f(i32 %253, i32 %258, float %259)
ret void
}

LLVM IR (-O2):
define void @draw_block(i32 %0, i32 %1, float* nocapture %2) {
%4 = load float, float* %2
%5 = getelementptr inbounds float, float* %2, i64 1
%6 = load float, float* %5
%7 = getelementptr inbounds float, float* %2, i64 2
%8 = load float, float* %7
%9 = tail call i32 @glColor3f(float %4, float %6, float %8)
%10 = sitofp i32 %1 to float
%11 = fptosi float %10 to i32
%12 = sitofp i32 %0 to float
%13 = fptosi float %12 to i32
%14 = tail call i32 @glVertex3f(i32 %11, i32 %13, float 0x3FE99999A0000000)
%15 = fadd float %10, 1.000000e+00
%16 = fptosi float %15 to i32
%17 = tail call i32 @glVertex3f(i32 %16, i32 %13, float 0x3FE99999A0000000)
%18 = fadd float %12, 1.000000e+00
%19 = fptosi float %18 to i32
%20 = tail call i32 @glVertex3f(i32 %16, i32 %19, float 0x3FE99999A0000000)
%21 = tail call i32 @glVertex3f(i32 %11, i32 %19, float 0x3FE99999A0000000)
%22 = tail call i32 @glVertex3f(i32 %11, i32 %13, float 0x3FB99999A0000000)
%23 = tail call i32 @glVertex3f(i32 %16, i32 %13, float 0x3FB99999A0000000)
%24 = tail call i32 @glVertex3f(i32 %16, i32 %13, float 0x3FE99999A0000000)
%25 = tail call i32 @glVertex3f(i32 %11, i32 %13, float 0x3FE99999A0000000)
%26 = tail call i32 @glVertex3f(i32 %16, i32 %13, float 0x3FB99999A0000000)
%27 = tail call i32 @glVertex3f(i32 %16, i32 %19, float 0x3FB99999A0000000)
%28 = tail call i32 @glVertex3f(i32 %16, i32 %19, float 0x3FE99999A0000000)
%29 = tail call i32 @glVertex3f(i32 %16, i32 %13, float 0x3FE99999A0000000)
%30 = tail call i32 @glVertex3f(i32 %11, i32 %19, float 0x3FB99999A0000000)
%31 = tail call i32 @glVertex3f(i32 %16, i32 %19, float 0x3FB99999A0000000)
%32 = tail call i32 @glVertex3f(i32 %16, i32 %19, float 0x3FE99999A0000000)
%33 = tail call i32 @glVertex3f(i32 %11, i32 %19, float 0x3FE99999A0000000)
%34 = tail call i32 @glVertex3f(i32 %11, i32 %13, float 0x3FB99999A0000000)
%35 = tail call i32 @glVertex3f(i32 %11, i32 %13, float 0x3FE99999A0000000)
%36 = tail call i32 @glVertex3f(i32 %11, i32 %19, float 0x3FE99999A0000000)
%37 = tail call i32 @glVertex3f(i32 %11, i32 %19, float 0x3FB99999A0000000)
ret void
}