#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 */
typedef struct TYPE_8__ TYPE_4__;
typedef struct TYPE_7__ TYPE_3__;
typedef struct TYPE_6__ TYPE_2__;
typedef struct TYPE_5__ TYPE_1__;

/* Type definitions */
struct TYPE_8__ {
  int offset;
  int length;
  int msb_right;
};
struct TYPE_7__ {
  int offset;
  int length;
  int msb_right;
};
struct TYPE_6__ {
  int offset;
  int length;
  int msb_right;
};
struct TYPE_5__ {
  int offset;
  int length;
  int msb_right;
};
struct fb_var_screeninfo {
  int xres;
  int yres;
  int xres_virtual;
  int yres_virtual;
  int xoffset;
  int yoffset;
  int bits_per_pixel;
  int grayscale;
  int nonstd;
  int activate;
  int height;
  int width;
  int accel_flags;
  int pixclock;
  int left_margin;
  int right_margin;
  int upper_margin;
  int lower_margin;
  int hsync_len;
  int vsync_len;
  int sync;
  int vmode;
  int rotate;
  int colorspace;
  int *reserved;
  TYPE_4__ transp;
  TYPE_3__ blue;
  TYPE_2__ green;
  TYPE_1__ red;
};

/* Variables and functions */
int /*<<< orphan*/ printf(char *, ...);
void print_var_screeninfo(struct fb_var_screeninfo *scr_var) {
  printf("Variable screen info:\n");
  printf("\txres             = %u\n", scr_var->xres);
  printf("\tyres             = %u\n", scr_var->yres);
  printf("\txres_virtual     = %u\n", scr_var->xres_virtual);
  printf("\tyres_virtual     = %u\n", scr_var->yres_virtual);
  printf("\txoffset          = %u\n", scr_var->xoffset);
  printf("\tyoffset          = %u\n", scr_var->yoffset);
  printf("\tbits_per_pixel   = %u\n", scr_var->bits_per_pixel);
  printf("\tgrayscale        = %u\n", scr_var->grayscale);
  printf("\tred.offset       = %u\n", scr_var->red.offset);
  printf("\tred.length       = %u\n", scr_var->red.length);
  printf("\tred.msb_right    = %u\n", scr_var->red.msb_right);
  printf("\tgreen.offset     = %u\n", scr_var->green.offset);
  printf("\tgreen.length     = %u\n", scr_var->green.length);
  printf("\tgreen.msb_right  = %u\n", scr_var->green.msb_right);
  printf("\tblue.offset      = %u\n", scr_var->blue.offset);
  printf("\tblue.length      = %u\n", scr_var->blue.length);
  printf("\tblue.msb_right   = %u\n", scr_var->blue.msb_right);
  printf("\ttransp.offset    = %u\n", scr_var->transp.offset);
  printf("\ttransp.length    = %u\n", scr_var->transp.length);
  printf("\ttransp.msb_right = %u\n", scr_var->transp.msb_right);
  printf("\tnonstd           = %u\n", scr_var->nonstd);
  printf("\tactivate         = %u\n", scr_var->activate);
  printf("\theight           = %u\n", scr_var->height);
  printf("\twidth            = %u\n", scr_var->width);
  printf("\taccel_flags      = %u\n", scr_var->accel_flags);
  printf("\tpixclock         = %u\n", scr_var->pixclock);
  printf("\tleft_margin      = %u\n", scr_var->left_margin);
  printf("\tright_margin     = %u\n", scr_var->right_margin);
  printf("\tupper_margin     = %u\n", scr_var->upper_margin);
  printf("\tlower_margin     = %u\n", scr_var->lower_margin);
  printf("\thsync_len        = %u\n", scr_var->hsync_len);
  printf("\tvsync_len        = %u\n", scr_var->vsync_len);
  printf("\tsync             = %u\n", scr_var->sync);
  printf("\tvmode            = %u\n", scr_var->vmode);
  printf("\trotate           = %u\n", scr_var->rotate);
  printf("\tcolorspace       = %u\n", scr_var->colorspace);
  printf("\treserved[0]      = %u\n", scr_var->reserved[0]);
  printf("\treserved[1]      = %u\n", scr_var->reserved[1]);
  printf("\treserved[2]      = %u\n", scr_var->reserved[2]);
  printf("\treserved[3]      = %u\n", scr_var->reserved[3]);
}


x86 assembly (clang, -O0):
<print_var_screeninfo>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %rdi,-0x8(%rbp)
lea    0xedd(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    (%rax),%esi
lea    0xee0(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x4(%rax),%esi
lea    0xee3(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x8(%rax),%esi
lea    0xee6(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0xc(%rax),%esi
lea    0xee9(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x10(%rax),%esi
lea    0xeec(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x14(%rax),%esi
lea    0xeef(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x18(%rax),%esi
lea    0xef2(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x1c(%rax),%esi
lea    0xef5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x8c(%rax),%esi
lea    0xef5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x90(%rax),%esi
lea    0xef5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x94(%rax),%esi
lea    0xef5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x80(%rax),%esi
lea    0xef5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x84(%rax),%esi
lea    0xef5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x88(%rax),%esi
lea    0xef5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x74(%rax),%esi
lea    0xef8(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x78(%rax),%esi
lea    0xefb(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x7c(%rax),%esi
lea    0xefe(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x68(%rax),%esi
lea    0xf01(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x6c(%rax),%esi
lea    0xf04(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x70(%rax),%esi
lea    0xf07(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x20(%rax),%esi
lea    0xf0a(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x24(%rax),%esi
lea    0xf0d(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x28(%rax),%esi
lea    0xf10(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x2c(%rax),%esi
lea    0xf13(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x30(%rax),%esi
lea    0xf16(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x34(%rax),%esi
lea    0xf19(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x38(%rax),%esi
lea    0xf1c(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x3c(%rax),%esi
lea    0xf1f(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x40(%rax),%esi
lea    0xf22(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x44(%rax),%esi
lea    0xf25(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x48(%rax),%esi
lea    0xf28(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x4c(%rax),%esi
lea    0xf2b(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x50(%rax),%esi
lea    0xf2e(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x54(%rax),%esi
lea    0xf31(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x58(%rax),%esi
lea    0xf34(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x5c(%rax),%esi
lea    0xf37(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x60(%rax),%rax
mov    (%rax),%esi
lea    0xf37(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x60(%rax),%rax
mov    0x4(%rax),%esi
lea    0xf36(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x60(%rax),%rax
mov    0x8(%rax),%esi
lea    0xf35(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
mov    0x60(%rax),%rax
mov    0xc(%rax),%esi
lea    0xf34(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<print_var_screeninfo>:
push   %rbx
mov    %rdi,%rbx
lea    0x1295(%rip),%rdi
call   1030 <puts@plt>
mov    (%rbx),%esi
lea    0xec7(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x4(%rbx),%esi
lea    0xece(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x8(%rbx),%esi
lea    0xed5(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0xc(%rbx),%esi
lea    0xedc(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x10(%rbx),%esi
lea    0xee3(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x14(%rbx),%esi
lea    0xeea(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x18(%rbx),%esi
lea    0xef1(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x1c(%rbx),%esi
lea    0xef8(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x8c(%rbx),%esi
lea    0xefc(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x90(%rbx),%esi
lea    0xf00(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x94(%rbx),%esi
lea    0xf04(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x80(%rbx),%esi
lea    0xf08(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x84(%rbx),%esi
lea    0xf0c(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x88(%rbx),%esi
lea    0xf10(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x74(%rbx),%esi
lea    0xf17(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x78(%rbx),%esi
lea    0xf1e(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x7c(%rbx),%esi
lea    0xf25(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x68(%rbx),%esi
lea    0xf2c(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x6c(%rbx),%esi
lea    0xf33(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x70(%rbx),%esi
lea    0xf3a(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x20(%rbx),%esi
lea    0xf41(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x24(%rbx),%esi
lea    0xf48(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x28(%rbx),%esi
lea    0xf4f(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x2c(%rbx),%esi
lea    0xf56(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x30(%rbx),%esi
lea    0xf5d(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x34(%rbx),%esi
lea    0xf64(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x38(%rbx),%esi
lea    0xf6b(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x3c(%rbx),%esi
lea    0xf72(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x40(%rbx),%esi
lea    0xf79(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x44(%rbx),%esi
lea    0xf80(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x48(%rbx),%esi
lea    0xf87(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x4c(%rbx),%esi
lea    0xf8e(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x50(%rbx),%esi
lea    0xf95(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x54(%rbx),%esi
lea    0xf9c(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x58(%rbx),%esi
lea    0xfa3(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x5c(%rbx),%esi
lea    0xfaa(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x60(%rbx),%rax
mov    (%rax),%esi
lea    0xfae(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x60(%rbx),%rax
mov    0x4(%rax),%esi
lea    0xfb1(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x60(%rbx),%rax
mov    0x8(%rax),%esi
lea    0xfb4(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
mov    0x60(%rbx),%rax
mov    0xc(%rax),%esi
lea    0xfb7(%rip),%rdi
xor    %eax,%eax
pop    %rbx
jmp    1040 <printf@plt>

LLVM IR (-O0):
%struct.fb_var_screeninfo = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32*, %struct.TYPE_8__, %struct.TYPE_7__, %struct.TYPE_6__, %struct.TYPE_5__ }
%struct.TYPE_8__ = type { i32, i32, i32 }
%struct.TYPE_7__ = type { i32, i32, i32 }
%struct.TYPE_6__ = type { i32, i32, i32 }
%struct.TYPE_5__ = type { i32, i32, i32 }
@.str = [23 x i8] c"Variable screen info:\0A\00"
@.str.1 = [24 x i8] c"\09xres = %u\0A\00"
@.str.2 = [24 x i8] c"\09yres = %u\0A\00"
@.str.3 = [24 x i8] c"\09xres_virtual = %u\0A\00"
@.str.4 = [24 x i8] c"\09yres_virtual = %u\0A\00"
@.str.5 = [24 x i8] c"\09xoffset = %u\0A\00"
@.str.6 = [24 x i8] c"\09yoffset = %u\0A\00"
@.str.7 = [24 x i8] c"\09bits_per_pixel = %u\0A\00"
@.str.8 = [24 x i8] c"\09grayscale = %u\0A\00"
@.str.9 = [24 x i8] c"\09red.offset = %u\0A\00"
@.str.10 = [24 x i8] c"\09red.length = %u\0A\00"
@.str.11 = [24 x i8] c"\09red.msb_right = %u\0A\00"
@.str.12 = [24 x i8] c"\09green.offset = %u\0A\00"
@.str.13 = [24 x i8] c"\09green.length = %u\0A\00"
@.str.14 = [24 x i8] c"\09green.msb_right = %u\0A\00"
@.str.15 = [24 x i8] c"\09blue.offset = %u\0A\00"
@.str.16 = [24 x i8] c"\09blue.length = %u\0A\00"
@.str.17 = [24 x i8] c"\09blue.msb_right = %u\0A\00"
@.str.18 = [24 x i8] c"\09transp.offset = %u\0A\00"
@.str.19 = [24 x i8] c"\09transp.length = %u\0A\00"
@.str.20 = [24 x i8] c"\09transp.msb_right = %u\0A\00"
@.str.21 = [24 x i8] c"\09nonstd = %u\0A\00"
@.str.22 = [24 x i8] c"\09activate = %u\0A\00"
@.str.23 = [24 x i8] c"\09height = %u\0A\00"
@.str.24 = [24 x i8] c"\09width = %u\0A\00"
@.str.25 = [24 x i8] c"\09accel_flags = %u\0A\00"
@.str.26 = [24 x i8] c"\09pixclock = %u\0A\00"
@.str.27 = [24 x i8] c"\09left_margin = %u\0A\00"
@.str.28 = [24 x i8] c"\09right_margin = %u\0A\00"
@.str.29 = [24 x i8] c"\09upper_margin = %u\0A\00"
@.str.30 = [24 x i8] c"\09lower_margin = %u\0A\00"
@.str.31 = [24 x i8] c"\09hsync_len = %u\0A\00"
@.str.32 = [24 x i8] c"\09vsync_len = %u\0A\00"
@.str.33 = [24 x i8] c"\09sync = %u\0A\00"
@.str.34 = [24 x i8] c"\09vmode = %u\0A\00"
@.str.35 = [24 x i8] c"\09rotate = %u\0A\00"
@.str.36 = [24 x i8] c"\09colorspace = %u\0A\00"
@.str.37 = [24 x i8] c"\09reserved[0] = %u\0A\00"
@.str.38 = [24 x i8] c"\09reserved[1] = %u\0A\00"
@.str.39 = [24 x i8] c"\09reserved[2] = %u\0A\00"
@.str.40 = [24 x i8] c"\09reserved[3] = %u\0A\00"
define void @print_var_screeninfo(%struct.fb_var_screeninfo* %0) {
%2 = alloca %struct.fb_var_screeninfo*
store %struct.fb_var_screeninfo* %0, %struct.fb_var_screeninfo** %2
%3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str, i64 0, i64 0))
%4 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%5 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %4, i32 0, i32 0
%6 = load i32, i32* %5
%7 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1, i64 0, i64 0), i32 %6)
%8 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%9 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %8, i32 0, i32 1
%10 = load i32, i32* %9
%11 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.2, i64 0, i64 0), i32 %10)
%12 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%13 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %12, i32 0, i32 2
%14 = load i32, i32* %13
%15 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.3, i64 0, i64 0), i32 %14)
%16 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%17 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %16, i32 0, i32 3
%18 = load i32, i32* %17
%19 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.4, i64 0, i64 0), i32 %18)
%20 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%21 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %20, i32 0, i32 4
%22 = load i32, i32* %21
%23 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.5, i64 0, i64 0), i32 %22)
%24 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%25 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %24, i32 0, i32 5
%26 = load i32, i32* %25
%27 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.6, i64 0, i64 0), i32 %26)
%28 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%29 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %28, i32 0, i32 6
%30 = load i32, i32* %29
%31 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0), i32 %30)
%32 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%33 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %32, i32 0, i32 7
%34 = load i32, i32* %33
%35 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.8, i64 0, i64 0), i32 %34)
%36 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%37 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %36, i32 0, i32 28
%38 = getelementptr inbounds %struct.TYPE_5__, %struct.TYPE_5__* %37, i32 0, i32 0
%39 = load i32, i32* %38
%40 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.9, i64 0, i64 0), i32 %39)
%41 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%42 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %41, i32 0, i32 28
%43 = getelementptr inbounds %struct.TYPE_5__, %struct.TYPE_5__* %42, i32 0, i32 1
%44 = load i32, i32* %43
%45 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.10, i64 0, i64 0), i32 %44)
%46 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%47 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %46, i32 0, i32 28
%48 = getelementptr inbounds %struct.TYPE_5__, %struct.TYPE_5__* %47, i32 0, i32 2
%49 = load i32, i32* %48
%50 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.11, i64 0, i64 0), i32 %49)
%51 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%52 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %51, i32 0, i32 27
%53 = getelementptr inbounds %struct.TYPE_6__, %struct.TYPE_6__* %52, i32 0, i32 0
%54 = load i32, i32* %53
%55 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.12, i64 0, i64 0), i32 %54)
%56 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%57 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %56, i32 0, i32 27
%58 = getelementptr inbounds %struct.TYPE_6__, %struct.TYPE_6__* %57, i32 0, i32 1
%59 = load i32, i32* %58
%60 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.13, i64 0, i64 0), i32 %59)
%61 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%62 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %61, i32 0, i32 27
%63 = getelementptr inbounds %struct.TYPE_6__, %struct.TYPE_6__* %62, i32 0, i32 2
%64 = load i32, i32* %63
%65 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.14, i64 0, i64 0), i32 %64)
%66 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%67 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %66, i32 0, i32 26
%68 = getelementptr inbounds %struct.TYPE_7__, %struct.TYPE_7__* %67, i32 0, i32 0
%69 = load i32, i32* %68
%70 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.15, i64 0, i64 0), i32 %69)
%71 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%72 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %71, i32 0, i32 26
%73 = getelementptr inbounds %struct.TYPE_7__, %struct.TYPE_7__* %72, i32 0, i32 1
%74 = load i32, i32* %73
%75 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0), i32 %74)
%76 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%77 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %76, i32 0, i32 26
%78 = getelementptr inbounds %struct.TYPE_7__, %struct.TYPE_7__* %77, i32 0, i32 2
%79 = load i32, i32* %78
%80 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.17, i64 0, i64 0), i32 %79)
%81 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%82 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %81, i32 0, i32 25
%83 = getelementptr inbounds %struct.TYPE_8__, %struct.TYPE_8__* %82, i32 0, i32 0
%84 = load i32, i32* %83
%85 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.18, i64 0, i64 0), i32 %84)
%86 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%87 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %86, i32 0, i32 25
%88 = getelementptr inbounds %struct.TYPE_8__, %struct.TYPE_8__* %87, i32 0, i32 1
%89 = load i32, i32* %88
%90 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.19, i64 0, i64 0), i32 %89)
%91 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%92 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %91, i32 0, i32 25
%93 = getelementptr inbounds %struct.TYPE_8__, %struct.TYPE_8__* %92, i32 0, i32 2
%94 = load i32, i32* %93
%95 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.20, i64 0, i64 0), i32 %94)
%96 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%97 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %96, i32 0, i32 8
%98 = load i32, i32* %97
%99 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.21, i64 0, i64 0), i32 %98)
%100 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%101 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %100, i32 0, i32 9
%102 = load i32, i32* %101
%103 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.22, i64 0, i64 0), i32 %102)
%104 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%105 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %104, i32 0, i32 10
%106 = load i32, i32* %105
%107 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.23, i64 0, i64 0), i32 %106)
%108 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%109 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %108, i32 0, i32 11
%110 = load i32, i32* %109
%111 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.24, i64 0, i64 0), i32 %110)
%112 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%113 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %112, i32 0, i32 12
%114 = load i32, i32* %113
%115 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.25, i64 0, i64 0), i32 %114)
%116 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%117 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %116, i32 0, i32 13
%118 = load i32, i32* %117
%119 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.26, i64 0, i64 0), i32 %118)
%120 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%121 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %120, i32 0, i32 14
%122 = load i32, i32* %121
%123 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.27, i64 0, i64 0), i32 %122)
%124 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%125 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %124, i32 0, i32 15
%126 = load i32, i32* %125
%127 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.28, i64 0, i64 0), i32 %126)
%128 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%129 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %128, i32 0, i32 16
%130 = load i32, i32* %129
%131 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.29, i64 0, i64 0), i32 %130)
%132 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%133 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %132, i32 0, i32 17
%134 = load i32, i32* %133
%135 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.30, i64 0, i64 0), i32 %134)
%136 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%137 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %136, i32 0, i32 18
%138 = load i32, i32* %137
%139 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.31, i64 0, i64 0), i32 %138)
%140 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%141 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %140, i32 0, i32 19
%142 = load i32, i32* %141
%143 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.32, i64 0, i64 0), i32 %142)
%144 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%145 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %144, i32 0, i32 20
%146 = load i32, i32* %145
%147 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.33, i64 0, i64 0), i32 %146)
%148 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%149 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %148, i32 0, i32 21
%150 = load i32, i32* %149
%151 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.34, i64 0, i64 0), i32 %150)
%152 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%153 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %152, i32 0, i32 22
%154 = load i32, i32* %153
%155 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.35, i64 0, i64 0), i32 %154)
%156 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%157 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %156, i32 0, i32 23
%158 = load i32, i32* %157
%159 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.36, i64 0, i64 0), i32 %158)
%160 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%161 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %160, i32 0, i32 24
%162 = load i32*, i32** %161
%163 = getelementptr inbounds i32, i32* %162, i64 0
%164 = load i32, i32* %163
%165 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.37, i64 0, i64 0), i32 %164)
%166 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%167 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %166, i32 0, i32 24
%168 = load i32*, i32** %167
%169 = getelementptr inbounds i32, i32* %168, i64 1
%170 = load i32, i32* %169
%171 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.38, i64 0, i64 0), i32 %170)
%172 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%173 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %172, i32 0, i32 24
%174 = load i32*, i32** %173
%175 = getelementptr inbounds i32, i32* %174, i64 2
%176 = load i32, i32* %175
%177 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.39, i64 0, i64 0), i32 %176)
%178 = load %struct.fb_var_screeninfo*, %struct.fb_var_screeninfo** %2
%179 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %178, i32 0, i32 24
%180 = load i32*, i32** %179
%181 = getelementptr inbounds i32, i32* %180, i64 3
%182 = load i32, i32* %181
%183 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.40, i64 0, i64 0), i32 %182)
ret void
}

LLVM IR (-O2):
%struct.fb_var_screeninfo = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32*, %struct.TYPE_8__, %struct.TYPE_7__, %struct.TYPE_6__, %struct.TYPE_5__ }
%struct.TYPE_8__ = type { i32, i32, i32 }
%struct.TYPE_7__ = type { i32, i32, i32 }
%struct.TYPE_6__ = type { i32, i32, i32 }
%struct.TYPE_5__ = type { i32, i32, i32 }
@.str.1 = [24 x i8] c"\09xres = %u\0A\00"
@.str.2 = [24 x i8] c"\09yres = %u\0A\00"
@.str.3 = [24 x i8] c"\09xres_virtual = %u\0A\00"
@.str.4 = [24 x i8] c"\09yres_virtual = %u\0A\00"
@.str.5 = [24 x i8] c"\09xoffset = %u\0A\00"
@.str.6 = [24 x i8] c"\09yoffset = %u\0A\00"
@.str.7 = [24 x i8] c"\09bits_per_pixel = %u\0A\00"
@.str.8 = [24 x i8] c"\09grayscale = %u\0A\00"
@.str.9 = [24 x i8] c"\09red.offset = %u\0A\00"
@.str.10 = [24 x i8] c"\09red.length = %u\0A\00"
@.str.11 = [24 x i8] c"\09red.msb_right = %u\0A\00"
@.str.12 = [24 x i8] c"\09green.offset = %u\0A\00"
@.str.13 = [24 x i8] c"\09green.length = %u\0A\00"
@.str.14 = [24 x i8] c"\09green.msb_right = %u\0A\00"
@.str.15 = [24 x i8] c"\09blue.offset = %u\0A\00"
@.str.16 = [24 x i8] c"\09blue.length = %u\0A\00"
@.str.17 = [24 x i8] c"\09blue.msb_right = %u\0A\00"
@.str.18 = [24 x i8] c"\09transp.offset = %u\0A\00"
@.str.19 = [24 x i8] c"\09transp.length = %u\0A\00"
@.str.20 = [24 x i8] c"\09transp.msb_right = %u\0A\00"
@.str.21 = [24 x i8] c"\09nonstd = %u\0A\00"
@.str.22 = [24 x i8] c"\09activate = %u\0A\00"
@.str.23 = [24 x i8] c"\09height = %u\0A\00"
@.str.24 = [24 x i8] c"\09width = %u\0A\00"
@.str.25 = [24 x i8] c"\09accel_flags = %u\0A\00"
@.str.26 = [24 x i8] c"\09pixclock = %u\0A\00"
@.str.27 = [24 x i8] c"\09left_margin = %u\0A\00"
@.str.28 = [24 x i8] c"\09right_margin = %u\0A\00"
@.str.29 = [24 x i8] c"\09upper_margin = %u\0A\00"
@.str.30 = [24 x i8] c"\09lower_margin = %u\0A\00"
@.str.31 = [24 x i8] c"\09hsync_len = %u\0A\00"
@.str.32 = [24 x i8] c"\09vsync_len = %u\0A\00"
@.str.33 = [24 x i8] c"\09sync = %u\0A\00"
@.str.34 = [24 x i8] c"\09vmode = %u\0A\00"
@.str.35 = [24 x i8] c"\09rotate = %u\0A\00"
@.str.36 = [24 x i8] c"\09colorspace = %u\0A\00"
@.str.37 = [24 x i8] c"\09reserved[0] = %u\0A\00"
@.str.38 = [24 x i8] c"\09reserved[1] = %u\0A\00"
@.str.39 = [24 x i8] c"\09reserved[2] = %u\0A\00"
@.str.40 = [24 x i8] c"\09reserved[3] = %u\0A\00"
@str = [22 x i8] c"Variable screen info:\00"
define void @print_var_screeninfo(%struct.fb_var_screeninfo* %0) {
%2 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([22 x i8], [22 x i8]* @str, i64 0, i64 0))
%3 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 0
%4 = load i32, i32* %3
%5 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1, i64 0, i64 0), i32 %4)
%6 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 1
%7 = load i32, i32* %6
%8 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.2, i64 0, i64 0), i32 %7)
%9 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 2
%10 = load i32, i32* %9
%11 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.3, i64 0, i64 0), i32 %10)
%12 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 3
%13 = load i32, i32* %12
%14 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.4, i64 0, i64 0), i32 %13)
%15 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 4
%16 = load i32, i32* %15
%17 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.5, i64 0, i64 0), i32 %16)
%18 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 5
%19 = load i32, i32* %18
%20 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.6, i64 0, i64 0), i32 %19)
%21 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 6
%22 = load i32, i32* %21
%23 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0), i32 %22)
%24 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 7
%25 = load i32, i32* %24
%26 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.8, i64 0, i64 0), i32 %25)
%27 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 28, i32 0
%28 = load i32, i32* %27
%29 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.9, i64 0, i64 0), i32 %28)
%30 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 28, i32 1
%31 = load i32, i32* %30
%32 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.10, i64 0, i64 0), i32 %31)
%33 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 28, i32 2
%34 = load i32, i32* %33
%35 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.11, i64 0, i64 0), i32 %34)
%36 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 27, i32 0
%37 = load i32, i32* %36
%38 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.12, i64 0, i64 0), i32 %37)
%39 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 27, i32 1
%40 = load i32, i32* %39
%41 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.13, i64 0, i64 0), i32 %40)
%42 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 27, i32 2
%43 = load i32, i32* %42
%44 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.14, i64 0, i64 0), i32 %43)
%45 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 26, i32 0
%46 = load i32, i32* %45
%47 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.15, i64 0, i64 0), i32 %46)
%48 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 26, i32 1
%49 = load i32, i32* %48
%50 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.16, i64 0, i64 0), i32 %49)
%51 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 26, i32 2
%52 = load i32, i32* %51
%53 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.17, i64 0, i64 0), i32 %52)
%54 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 25, i32 0
%55 = load i32, i32* %54
%56 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.18, i64 0, i64 0), i32 %55)
%57 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 25, i32 1
%58 = load i32, i32* %57
%59 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.19, i64 0, i64 0), i32 %58)
%60 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 25, i32 2
%61 = load i32, i32* %60
%62 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.20, i64 0, i64 0), i32 %61)
%63 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 8
%64 = load i32, i32* %63
%65 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.21, i64 0, i64 0), i32 %64)
%66 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 9
%67 = load i32, i32* %66
%68 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.22, i64 0, i64 0), i32 %67)
%69 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 10
%70 = load i32, i32* %69
%71 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.23, i64 0, i64 0), i32 %70)
%72 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 11
%73 = load i32, i32* %72
%74 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.24, i64 0, i64 0), i32 %73)
%75 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 12
%76 = load i32, i32* %75
%77 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.25, i64 0, i64 0), i32 %76)
%78 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 13
%79 = load i32, i32* %78
%80 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.26, i64 0, i64 0), i32 %79)
%81 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 14
%82 = load i32, i32* %81
%83 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.27, i64 0, i64 0), i32 %82)
%84 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 15
%85 = load i32, i32* %84
%86 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.28, i64 0, i64 0), i32 %85)
%87 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 16
%88 = load i32, i32* %87
%89 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.29, i64 0, i64 0), i32 %88)
%90 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 17
%91 = load i32, i32* %90
%92 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.30, i64 0, i64 0), i32 %91)
%93 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 18
%94 = load i32, i32* %93
%95 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.31, i64 0, i64 0), i32 %94)
%96 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 19
%97 = load i32, i32* %96
%98 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.32, i64 0, i64 0), i32 %97)
%99 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 20
%100 = load i32, i32* %99
%101 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.33, i64 0, i64 0), i32 %100)
%102 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 21
%103 = load i32, i32* %102
%104 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.34, i64 0, i64 0), i32 %103)
%105 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 22
%106 = load i32, i32* %105
%107 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.35, i64 0, i64 0), i32 %106)
%108 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 23
%109 = load i32, i32* %108
%110 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.36, i64 0, i64 0), i32 %109)
%111 = getelementptr inbounds %struct.fb_var_screeninfo, %struct.fb_var_screeninfo* %0, i64 0, i32 24
%112 = load i32*, i32** %111
%113 = load i32, i32* %112
%114 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.37, i64 0, i64 0), i32 %113)
%115 = load i32*, i32** %111
%116 = getelementptr inbounds i32, i32* %115, i64 1
%117 = load i32, i32* %116
%118 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.38, i64 0, i64 0), i32 %117)
%119 = load i32*, i32** %111
%120 = getelementptr inbounds i32, i32* %119, i64 2
%121 = load i32, i32* %120
%122 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.39, i64 0, i64 0), i32 %121)
%123 = load i32*, i32** %111
%124 = getelementptr inbounds i32, i32* %123, i64 3
%125 = load i32, i32* %124
%126 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.40, i64 0, i64 0), i32 %125)
ret void
}