; LLVM IR from StanfordVL/GibsonEnv :: gibson/core/channels/external (glew)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@__glewXGetCurrentDisplay = external dso_local global ptr, align 8
@__GLXEW_VERSION_1_0 = external dso_local global i8, align 1
@__GLXEW_VERSION_1_1 = external dso_local global i8, align 1
@__GLXEW_VERSION_1_2 = external dso_local global i8, align 1
@__GLXEW_VERSION_1_3 = external dso_local global i8, align 1
@__GLXEW_VERSION_1_4 = external dso_local global i8, align 1
@__GLXEW_3DFX_multisample = external dso_local global i8, align 1
@__GLXEW_AMD_gpu_association = external dso_local global i8, align 1
@__GLXEW_ARB_context_flush_control = external dso_local global i8, align 1
@__GLXEW_ARB_create_context = external dso_local global i8, align 1
@__GLXEW_ARB_create_context_profile = external dso_local global i8, align 1
@__GLXEW_ARB_create_context_robustness = external dso_local global i8, align 1
@__GLXEW_ARB_fbconfig_float = external dso_local global i8, align 1
@__GLXEW_ARB_framebuffer_sRGB = external dso_local global i8, align 1
@__GLXEW_ARB_get_proc_address = external dso_local global i8, align 1
@__GLXEW_ARB_multisample = external dso_local global i8, align 1
@__GLXEW_ARB_robustness_application_isolation = external dso_local global i8, align 1
@__GLXEW_ARB_robustness_share_group_isolation = external dso_local global i8, align 1
@__GLXEW_ARB_vertex_buffer_object = external dso_local global i8, align 1
@__GLXEW_ATI_pixel_format_float = external dso_local global i8, align 1
@__GLXEW_ATI_render_texture = external dso_local global i8, align 1
@__GLXEW_EXT_buffer_age = external dso_local global i8, align 1
@__GLXEW_EXT_create_context_es2_profile = external dso_local global i8, align 1
@__GLXEW_EXT_create_context_es_profile = external dso_local global i8, align 1
@__GLXEW_EXT_fbconfig_packed_float = external dso_local global i8, align 1
@__GLXEW_EXT_framebuffer_sRGB = external dso_local global i8, align 1
@__GLXEW_EXT_import_context = external dso_local global i8, align 1
@__GLXEW_EXT_scene_marker = external dso_local global i8, align 1
@__GLXEW_EXT_stereo_tree = external dso_local global i8, align 1
@__GLXEW_EXT_swap_control = external dso_local global i8, align 1
@__GLXEW_EXT_swap_control_tear = external dso_local global i8, align 1
@__GLXEW_EXT_texture_from_pixmap = external dso_local global i8, align 1
@__GLXEW_EXT_visual_info = external dso_local global i8, align 1
@__GLXEW_EXT_visual_rating = external dso_local global i8, align 1
@__GLXEW_INTEL_swap_event = external dso_local global i8, align 1
@__GLXEW_MESA_agp_offset = external dso_local global i8, align 1
@__GLXEW_MESA_copy_sub_buffer = external dso_local global i8, align 1
@__GLXEW_MESA_pixmap_colormap = external dso_local global i8, align 1
@__GLXEW_MESA_query_renderer = external dso_local global i8, align 1
@__GLXEW_MESA_release_buffers = external dso_local global i8, align 1
@__GLXEW_MESA_set_3dfx_mode = external dso_local global i8, align 1
@__GLXEW_MESA_swap_control = external dso_local global i8, align 1
@__GLXEW_NV_copy_buffer = external dso_local global i8, align 1
@__GLXEW_NV_copy_image = external dso_local global i8, align 1
@__GLXEW_NV_delay_before_swap = external dso_local global i8, align 1
@__GLXEW_NV_float_buffer = external dso_local global i8, align 1
@__GLXEW_NV_multisample_coverage = external dso_local global i8, align 1
@__GLXEW_NV_present_video = external dso_local global i8, align 1
@__GLXEW_NV_swap_group = external dso_local global i8, align 1
@__GLXEW_NV_vertex_array_range = external dso_local global i8, align 1
@__GLXEW_NV_video_capture = external dso_local global i8, align 1
@__GLXEW_NV_video_out = external dso_local global i8, align 1
@__GLXEW_OML_swap_method = external dso_local global i8, align 1
@__GLXEW_OML_sync_control = external dso_local global i8, align 1
@__GLXEW_SGIS_blended_overlay = external dso_local global i8, align 1
@__GLXEW_SGIS_color_range = external dso_local global i8, align 1
@__GLXEW_SGIS_multisample = external dso_local global i8, align 1
@__GLXEW_SGIS_shared_multisample = external dso_local global i8, align 1
@__GLXEW_SGIX_fbconfig = external dso_local global i8, align 1
@__GLXEW_SGIX_hyperpipe = external dso_local global i8, align 1
@__GLXEW_SGIX_pbuffer = external dso_local global i8, align 1
@__GLXEW_SGIX_swap_barrier = external dso_local global i8, align 1
@__GLXEW_SGIX_swap_group = external dso_local global i8, align 1
@__GLXEW_SGIX_video_resize = external dso_local global i8, align 1
@__GLXEW_SGIX_visual_select_group = external dso_local global i8, align 1
@__GLXEW_SGI_cushion = external dso_local global i8, align 1
@__GLXEW_SGI_make_current_read = external dso_local global i8, align 1
@__GLXEW_SGI_swap_control = external dso_local global i8, align 1
@__GLXEW_SGI_video_sync = external dso_local global i8, align 1
@__GLXEW_SUN_get_transparent_index = external dso_local global i8, align 1
@__GLXEW_SUN_video_resize = external dso_local global i8, align 1
@.str = external hidden unnamed_addr constant [1 x i8], align 1
@glewExperimental = external dso_local global i8, align 1
@.str.1 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [21 x i8], align 1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @_glewStrLen(ptr noundef) #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewSearchExtension(ptr noundef, ptr noundef, ptr noundef) #1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

declare ptr @glXGetClientString(ptr noundef, i32 noundef) #2

; Function Attrs: nounwind uwtable
define dso_local i32 @glxewInit() #1 {
  %1 = alloca i32, align 4
  %2 = alloca i32, align 4
  %3 = alloca i32, align 4
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %2) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #3
  %7 = call zeroext i8 @_glewInit_GLX_VERSION_1_2()
  %8 = icmp ne i8 %7, 0
  br i1 %8, label %9, label %10

9:                                                ; preds = %0
  store i32 3, ptr %1, align 4
  store i32 1, ptr %6, align 4
  br label %727

10:                                               ; preds = %0
  store i8 1, ptr @__GLXEW_VERSION_1_0, align 1, !tbaa !5
  store i8 1, ptr @__GLXEW_VERSION_1_1, align 1, !tbaa !5
  store i8 1, ptr @__GLXEW_VERSION_1_2, align 1, !tbaa !5
  store i8 1, ptr @__GLXEW_VERSION_1_3, align 1, !tbaa !5
  store i8 1, ptr @__GLXEW_VERSION_1_4, align 1, !tbaa !5
  %11 = load ptr, ptr @__glewXGetCurrentDisplay, align 8, !tbaa !8
  %12 = call ptr %11()
  %13 = call i32 @glXQueryVersion(ptr noundef %12, ptr noundef %2, ptr noundef %3)
  %14 = load i32, ptr %2, align 4, !tbaa !10
  %15 = icmp eq i32 %14, 1
  br i1 %15, label %16, label %25

16:                                               ; preds = %10
  %17 = load i32, ptr %3, align 4, !tbaa !10
  %18 = icmp sle i32 %17, 3
  br i1 %18, label %19, label %25

19:                                               ; preds = %16
  %20 = load i32, ptr %3, align 4, !tbaa !10
  switch i32 %20, label %23 [
    i32 3, label %21
    i32 2, label %22
  ]

21:                                               ; preds = %19
  store i8 0, ptr @__GLXEW_VERSION_1_4, align 1, !tbaa !5
  br label %24

22:                                               ; preds = %19
  store i8 0, ptr @__GLXEW_VERSION_1_4, align 1, !tbaa !5
  store i8 0, ptr @__GLXEW_VERSION_1_3, align 1, !tbaa !5
  br label %24

23:                                               ; preds = %19
  store i32 3, ptr %1, align 4
  store i32 1, ptr %6, align 4
  br label %727

24:                                               ; preds = %22, %21
  br label %25

25:                                               ; preds = %24, %16, %10
  store ptr null, ptr %4, align 8, !tbaa !8
  %26 = load ptr, ptr @__glewXGetCurrentDisplay, align 8, !tbaa !8
  %27 = icmp ne ptr %26, null
  br i1 %27, label %28, label %32

28:                                               ; preds = %25
  %29 = load ptr, ptr @__glewXGetCurrentDisplay, align 8, !tbaa !8
  %30 = call ptr %29()
  %31 = call ptr @glXGetClientString(ptr noundef %30, i32 noundef 3)
  store ptr %31, ptr %4, align 8, !tbaa !8
  br label %32

32:                                               ; preds = %28, %25
  %33 = load ptr, ptr %4, align 8, !tbaa !8
  %34 = icmp eq ptr %33, null
  br i1 %34, label %35, label %36

35:                                               ; preds = %32
  store ptr @.str, ptr %4, align 8, !tbaa !8
  br label %36

36:                                               ; preds = %35, %32
  %37 = load ptr, ptr %4, align 8, !tbaa !8
  %38 = load ptr, ptr %4, align 8, !tbaa !8
  %39 = call i32 @_glewStrLen(ptr noundef %38)
  %40 = zext i32 %39 to i64
  %41 = getelementptr inbounds i8, ptr %37, i64 %40
  store ptr %41, ptr %5, align 8, !tbaa !8
  %42 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %43 = zext i8 %42 to i32
  %44 = icmp ne i32 %43, 0
  br i1 %44, label %49, label %45

45:                                               ; preds = %36
  %46 = load i8, ptr @__GLXEW_VERSION_1_3, align 1, !tbaa !5
  %47 = zext i8 %46 to i32
  %48 = icmp ne i32 %47, 0
  br i1 %48, label %49, label %55

49:                                               ; preds = %45, %36
  %50 = call zeroext i8 @_glewInit_GLX_VERSION_1_3()
  %51 = icmp ne i8 %50, 0
  %52 = xor i1 %51, true
  %53 = zext i1 %52 to i32
  %54 = trunc i32 %53 to i8
  store i8 %54, ptr @__GLXEW_VERSION_1_3, align 1, !tbaa !5
  br label %55

55:                                               ; preds = %49, %45
  %56 = load ptr, ptr %4, align 8, !tbaa !8
  %57 = load ptr, ptr %5, align 8, !tbaa !8
  %58 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.1, ptr noundef %56, ptr noundef %57)
  store i8 %58, ptr @__GLXEW_3DFX_multisample, align 1, !tbaa !5
  %59 = load ptr, ptr %4, align 8, !tbaa !8
  %60 = load ptr, ptr %5, align 8, !tbaa !8
  %61 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.2, ptr noundef %59, ptr noundef %60)
  store i8 %61, ptr @__GLXEW_AMD_gpu_association, align 1, !tbaa !5
  %62 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %63 = zext i8 %62 to i32
  %64 = icmp ne i32 %63, 0
  br i1 %64, label %69, label %65

65:                                               ; preds = %55
  %66 = load i8, ptr @__GLXEW_AMD_gpu_association, align 1, !tbaa !5
  %67 = zext i8 %66 to i32
  %68 = icmp ne i32 %67, 0
  br i1 %68, label %69, label %75

69:                                               ; preds = %65, %55
  %70 = call zeroext i8 @_glewInit_GLX_AMD_gpu_association()
  %71 = icmp ne i8 %70, 0
  %72 = xor i1 %71, true
  %73 = zext i1 %72 to i32
  %74 = trunc i32 %73 to i8
  store i8 %74, ptr @__GLXEW_AMD_gpu_association, align 1, !tbaa !5
  br label %75

75:                                               ; preds = %69, %65
  %76 = load ptr, ptr %4, align 8, !tbaa !8
  %77 = load ptr, ptr %5, align 8, !tbaa !8
  %78 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.3, ptr noundef %76, ptr noundef %77)
  store i8 %78, ptr @__GLXEW_ARB_context_flush_control, align 1, !tbaa !5
  %79 = load ptr, ptr %4, align 8, !tbaa !8
  %80 = load ptr, ptr %5, align 8, !tbaa !8
  %81 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.4, ptr noundef %79, ptr noundef %80)
  store i8 %81, ptr @__GLXEW_ARB_create_context, align 1, !tbaa !5
  %82 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %83 = zext i8 %82 to i32
  %84 = icmp ne i32 %83, 0
  br i1 %84, label %89, label %85

85:                                               ; preds = %75
  %86 = load i8, ptr @__GLXEW_ARB_create_context, align 1, !tbaa !5
  %87 = zext i8 %86 to i32
  %88 = icmp ne i32 %87, 0
  br i1 %88, label %89, label %95

89:                                               ; preds = %85, %75
  %90 = call zeroext i8 @_glewInit_GLX_ARB_create_context()
  %91 = icmp ne i8 %90, 0
  %92 = xor i1 %91, true
  %93 = zext i1 %92 to i32
  %94 = trunc i32 %93 to i8
  store i8 %94, ptr @__GLXEW_ARB_create_context, align 1, !tbaa !5
  br label %95

95:                                               ; preds = %89, %85
  %96 = load ptr, ptr %4, align 8, !tbaa !8
  %97 = load ptr, ptr %5, align 8, !tbaa !8
  %98 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.5, ptr noundef %96, ptr noundef %97)
  store i8 %98, ptr @__GLXEW_ARB_create_context_profile, align 1, !tbaa !5
  %99 = load ptr, ptr %4, align 8, !tbaa !8
  %100 = load ptr, ptr %5, align 8, !tbaa !8
  %101 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.6, ptr noundef %99, ptr noundef %100)
  store i8 %101, ptr @__GLXEW_ARB_create_context_robustness, align 1, !tbaa !5
  %102 = load ptr, ptr %4, align 8, !tbaa !8
  %103 = load ptr, ptr %5, align 8, !tbaa !8
  %104 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.7, ptr noundef %102, ptr noundef %103)
  store i8 %104, ptr @__GLXEW_ARB_fbconfig_float, align 1, !tbaa !5
  %105 = load ptr, ptr %4, align 8, !tbaa !8
  %106 = load ptr, ptr %5, align 8, !tbaa !8
  %107 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.8, ptr noundef %105, ptr noundef %106)
  store i8 %107, ptr @__GLXEW_ARB_framebuffer_sRGB, align 1, !tbaa !5
  %108 = load ptr, ptr %4, align 8, !tbaa !8
  %109 = load ptr, ptr %5, align 8, !tbaa !8
  %110 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.9, ptr noundef %108, ptr noundef %109)
  store i8 %110, ptr @__GLXEW_ARB_get_proc_address, align 1, !tbaa !5
  %111 = load ptr, ptr %4, align 8, !tbaa !8
  %112 = load ptr, ptr %5, align 8, !tbaa !8
  %113 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.10, ptr noundef %111, ptr noundef %112)
  store i8 %113, ptr @__GLXEW_ARB_multisample, align 1, !tbaa !5
  %114 = load ptr, ptr %4, align 8, !tbaa !8
  %115 = load ptr, ptr %5, align 8, !tbaa !8
  %116 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.11, ptr noundef %114, ptr noundef %115)
  store i8 %116, ptr @__GLXEW_ARB_robustness_application_isolation, align 1, !tbaa !5
  %117 = load ptr, ptr %4, align 8, !tbaa !8
  %118 = load ptr, ptr %5, align 8, !tbaa !8
  %119 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.12, ptr noundef %117, ptr noundef %118)
  store i8 %119, ptr @__GLXEW_ARB_robustness_share_group_isolation, align 1, !tbaa !5
  %120 = load ptr, ptr %4, align 8, !tbaa !8
  %121 = load ptr, ptr %5, align 8, !tbaa !8
  %122 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.13, ptr noundef %120, ptr noundef %121)
  store i8 %122, ptr @__GLXEW_ARB_vertex_buffer_object, align 1, !tbaa !5
  %123 = load ptr, ptr %4, align 8, !tbaa !8
  %124 = load ptr, ptr %5, align 8, !tbaa !8
  %125 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.14, ptr noundef %123, ptr noundef %124)
  store i8 %125, ptr @__GLXEW_ATI_pixel_format_float, align 1, !tbaa !5
  %126 = load ptr, ptr %4, align 8, !tbaa !8
  %127 = load ptr, ptr %5, align 8, !tbaa !8
  %128 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.15, ptr noundef %126, ptr noundef %127)
  store i8 %128, ptr @__GLXEW_ATI_render_texture, align 1, !tbaa !5
  %129 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %130 = zext i8 %129 to i32
  %131 = icmp ne i32 %130, 0
  br i1 %131, label %136, label %132

132:                                              ; preds = %95
  %133 = load i8, ptr @__GLXEW_ATI_render_texture, align 1, !tbaa !5
  %134 = zext i8 %133 to i32
  %135 = icmp ne i32 %134, 0
  br i1 %135, label %136, label %142

136:                                              ; preds = %132, %95
  %137 = call zeroext i8 @_glewInit_GLX_ATI_render_texture()
  %138 = icmp ne i8 %137, 0
  %139 = xor i1 %138, true
  %140 = zext i1 %139 to i32
  %141 = trunc i32 %140 to i8
  store i8 %141, ptr @__GLXEW_ATI_render_texture, align 1, !tbaa !5
  br label %142

142:                                              ; preds = %136, %132
  %143 = load ptr, ptr %4, align 8, !tbaa !8
  %144 = load ptr, ptr %5, align 8, !tbaa !8
  %145 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.16, ptr noundef %143, ptr noundef %144)
  store i8 %145, ptr @__GLXEW_EXT_buffer_age, align 1, !tbaa !5
  %146 = load ptr, ptr %4, align 8, !tbaa !8
  %147 = load ptr, ptr %5, align 8, !tbaa !8
  %148 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.17, ptr noundef %146, ptr noundef %147)
  store i8 %148, ptr @__GLXEW_EXT_create_context_es2_profile, align 1, !tbaa !5
  %149 = load ptr, ptr %4, align 8, !tbaa !8
  %150 = load ptr, ptr %5, align 8, !tbaa !8
  %151 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.18, ptr noundef %149, ptr noundef %150)
  store i8 %151, ptr @__GLXEW_EXT_create_context_es_profile, align 1, !tbaa !5
  %152 = load ptr, ptr %4, align 8, !tbaa !8
  %153 = load ptr, ptr %5, align 8, !tbaa !8
  %154 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.19, ptr noundef %152, ptr noundef %153)
  store i8 %154, ptr @__GLXEW_EXT_fbconfig_packed_float, align 1, !tbaa !5
  %155 = load ptr, ptr %4, align 8, !tbaa !8
  %156 = load ptr, ptr %5, align 8, !tbaa !8
  %157 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.20, ptr noundef %155, ptr noundef %156)
  store i8 %157, ptr @__GLXEW_EXT_framebuffer_sRGB, align 1, !tbaa !5
  %158 = load ptr, ptr %4, align 8, !tbaa !8
  %159 = load ptr, ptr %5, align 8, !tbaa !8
  %160 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.21, ptr noundef %158, ptr noundef %159)
  store i8 %160, ptr @__GLXEW_EXT_import_context, align 1, !tbaa !5
  %161 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %162 = zext i8 %161 to i32
  %163 = icmp ne i32 %162, 0
  br i1 %163, label %168, label %164

164:                                              ; preds = %142
  %165 = load i8, ptr @__GLXEW_EXT_import_context, align 1, !tbaa !5
  %166 = zext i8 %165 to i32
  %167 = icmp ne i32 %166, 0
  br i1 %167, label %168, label %174

168:                                              ; preds = %164, %142
  %169 = call zeroext i8 @_glewInit_GLX_EXT_import_context()
  %170 = icmp ne i8 %169, 0
  %171 = xor i1 %170, true
  %172 = zext i1 %171 to i32
  %173 = trunc i32 %172 to i8
  store i8 %173, ptr @__GLXEW_EXT_import_context, align 1, !tbaa !5
  br label %174

174:                                              ; preds = %168, %164
  %175 = load ptr, ptr %4, align 8, !tbaa !8
  %176 = load ptr, ptr %5, align 8, !tbaa !8
  %177 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.22, ptr noundef %175, ptr noundef %176)
  store i8 %177, ptr @__GLXEW_EXT_scene_marker, align 1, !tbaa !5
  %178 = load ptr, ptr %4, align 8, !tbaa !8
  %179 = load ptr, ptr %5, align 8, !tbaa !8
  %180 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.23, ptr noundef %178, ptr noundef %179)
  store i8 %180, ptr @__GLXEW_EXT_stereo_tree, align 1, !tbaa !5
  %181 = load ptr, ptr %4, align 8, !tbaa !8
  %182 = load ptr, ptr %5, align 8, !tbaa !8
  %183 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.24, ptr noundef %181, ptr noundef %182)
  store i8 %183, ptr @__GLXEW_EXT_swap_control, align 1, !tbaa !5
  %184 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %185 = zext i8 %184 to i32
  %186 = icmp ne i32 %185, 0
  br i1 %186, label %191, label %187

187:                                              ; preds = %174
  %188 = load i8, ptr @__GLXEW_EXT_swap_control, align 1, !tbaa !5
  %189 = zext i8 %188 to i32
  %190 = icmp ne i32 %189, 0
  br i1 %190, label %191, label %197

191:                                              ; preds = %187, %174
  %192 = call zeroext i8 @_glewInit_GLX_EXT_swap_control()
  %193 = icmp ne i8 %192, 0
  %194 = xor i1 %193, true
  %195 = zext i1 %194 to i32
  %196 = trunc i32 %195 to i8
  store i8 %196, ptr @__GLXEW_EXT_swap_control, align 1, !tbaa !5
  br label %197

197:                                              ; preds = %191, %187
  %198 = load ptr, ptr %4, align 8, !tbaa !8
  %199 = load ptr, ptr %5, align 8, !tbaa !8
  %200 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.25, ptr noundef %198, ptr noundef %199)
  store i8 %200, ptr @__GLXEW_EXT_swap_control_tear, align 1, !tbaa !5
  %201 = load ptr, ptr %4, align 8, !tbaa !8
  %202 = load ptr, ptr %5, align 8, !tbaa !8
  %203 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.26, ptr noundef %201, ptr noundef %202)
  store i8 %203, ptr @__GLXEW_EXT_texture_from_pixmap, align 1, !tbaa !5
  %204 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %205 = zext i8 %204 to i32
  %206 = icmp ne i32 %205, 0
  br i1 %206, label %211, label %207

207:                                              ; preds = %197
  %208 = load i8, ptr @__GLXEW_EXT_texture_from_pixmap, align 1, !tbaa !5
  %209 = zext i8 %208 to i32
  %210 = icmp ne i32 %209, 0
  br i1 %210, label %211, label %217

211:                                              ; preds = %207, %197
  %212 = call zeroext i8 @_glewInit_GLX_EXT_texture_from_pixmap()
  %213 = icmp ne i8 %212, 0
  %214 = xor i1 %213, true
  %215 = zext i1 %214 to i32
  %216 = trunc i32 %215 to i8
  store i8 %216, ptr @__GLXEW_EXT_texture_from_pixmap, align 1, !tbaa !5
  br label %217

217:                                              ; preds = %211, %207
  %218 = load ptr, ptr %4, align 8, !tbaa !8
  %219 = load ptr, ptr %5, align 8, !tbaa !8
  %220 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.27, ptr noundef %218, ptr noundef %219)
  store i8 %220, ptr @__GLXEW_EXT_visual_info, align 1, !tbaa !5
  %221 = load ptr, ptr %4, align 8, !tbaa !8
  %222 = load ptr, ptr %5, align 8, !tbaa !8
  %223 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.28, ptr noundef %221, ptr noundef %222)
  store i8 %223, ptr @__GLXEW_EXT_visual_rating, align 1, !tbaa !5
  %224 = load ptr, ptr %4, align 8, !tbaa !8
  %225 = load ptr, ptr %5, align 8, !tbaa !8
  %226 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.29, ptr noundef %224, ptr noundef %225)
  store i8 %226, ptr @__GLXEW_INTEL_swap_event, align 1, !tbaa !5
  %227 = load ptr, ptr %4, align 8, !tbaa !8
  %228 = load ptr, ptr %5, align 8, !tbaa !8
  %229 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.30, ptr noundef %227, ptr noundef %228)
  store i8 %229, ptr @__GLXEW_MESA_agp_offset, align 1, !tbaa !5
  %230 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %231 = zext i8 %230 to i32
  %232 = icmp ne i32 %231, 0
  br i1 %232, label %237, label %233

233:                                              ; preds = %217
  %234 = load i8, ptr @__GLXEW_MESA_agp_offset, align 1, !tbaa !5
  %235 = zext i8 %234 to i32
  %236 = icmp ne i32 %235, 0
  br i1 %236, label %237, label %243

237:                                              ; preds = %233, %217
  %238 = call zeroext i8 @_glewInit_GLX_MESA_agp_offset()
  %239 = icmp ne i8 %238, 0
  %240 = xor i1 %239, true
  %241 = zext i1 %240 to i32
  %242 = trunc i32 %241 to i8
  store i8 %242, ptr @__GLXEW_MESA_agp_offset, align 1, !tbaa !5
  br label %243

243:                                              ; preds = %237, %233
  %244 = load ptr, ptr %4, align 8, !tbaa !8
  %245 = load ptr, ptr %5, align 8, !tbaa !8
  %246 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.31, ptr noundef %244, ptr noundef %245)
  store i8 %246, ptr @__GLXEW_MESA_copy_sub_buffer, align 1, !tbaa !5
  %247 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %248 = zext i8 %247 to i32
  %249 = icmp ne i32 %248, 0
  br i1 %249, label %254, label %250

250:                                              ; preds = %243
  %251 = load i8, ptr @__GLXEW_MESA_copy_sub_buffer, align 1, !tbaa !5
  %252 = zext i8 %251 to i32
  %253 = icmp ne i32 %252, 0
  br i1 %253, label %254, label %260

254:                                              ; preds = %250, %243
  %255 = call zeroext i8 @_glewInit_GLX_MESA_copy_sub_buffer()
  %256 = icmp ne i8 %255, 0
  %257 = xor i1 %256, true
  %258 = zext i1 %257 to i32
  %259 = trunc i32 %258 to i8
  store i8 %259, ptr @__GLXEW_MESA_copy_sub_buffer, align 1, !tbaa !5
  br label %260

260:                                              ; preds = %254, %250
  %261 = load ptr, ptr %4, align 8, !tbaa !8
  %262 = load ptr, ptr %5, align 8, !tbaa !8
  %263 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.32, ptr noundef %261, ptr noundef %262)
  store i8 %263, ptr @__GLXEW_MESA_pixmap_colormap, align 1, !tbaa !5
  %264 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %265 = zext i8 %264 to i32
  %266 = icmp ne i32 %265, 0
  br i1 %266, label %271, label %267

267:                                              ; preds = %260
  %268 = load i8, ptr @__GLXEW_MESA_pixmap_colormap, align 1, !tbaa !5
  %269 = zext i8 %268 to i32
  %270 = icmp ne i32 %269, 0
  br i1 %270, label %271, label %277

271:                                              ; preds = %267, %260
  %272 = call zeroext i8 @_glewInit_GLX_MESA_pixmap_colormap()
  %273 = icmp ne i8 %272, 0
  %274 = xor i1 %273, true
  %275 = zext i1 %274 to i32
  %276 = trunc i32 %275 to i8
  store i8 %276, ptr @__GLXEW_MESA_pixmap_colormap, align 1, !tbaa !5
  br label %277

277:                                              ; preds = %271, %267
  %278 = load ptr, ptr %4, align 8, !tbaa !8
  %279 = load ptr, ptr %5, align 8, !tbaa !8
  %280 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.33, ptr noundef %278, ptr noundef %279)
  store i8 %280, ptr @__GLXEW_MESA_query_renderer, align 1, !tbaa !5
  %281 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %282 = zext i8 %281 to i32
  %283 = icmp ne i32 %282, 0
  br i1 %283, label %288, label %284

284:                                              ; preds = %277
  %285 = load i8, ptr @__GLXEW_MESA_query_renderer, align 1, !tbaa !5
  %286 = zext i8 %285 to i32
  %287 = icmp ne i32 %286, 0
  br i1 %287, label %288, label %294

288:                                              ; preds = %284, %277
  %289 = call zeroext i8 @_glewInit_GLX_MESA_query_renderer()
  %290 = icmp ne i8 %289, 0
  %291 = xor i1 %290, true
  %292 = zext i1 %291 to i32
  %293 = trunc i32 %292 to i8
  store i8 %293, ptr @__GLXEW_MESA_query_renderer, align 1, !tbaa !5
  br label %294

294:                                              ; preds = %288, %284
  %295 = load ptr, ptr %4, align 8, !tbaa !8
  %296 = load ptr, ptr %5, align 8, !tbaa !8
  %297 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.34, ptr noundef %295, ptr noundef %296)
  store i8 %297, ptr @__GLXEW_MESA_release_buffers, align 1, !tbaa !5
  %298 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %299 = zext i8 %298 to i32
  %300 = icmp ne i32 %299, 0
  br i1 %300, label %305, label %301

301:                                              ; preds = %294
  %302 = load i8, ptr @__GLXEW_MESA_release_buffers, align 1, !tbaa !5
  %303 = zext i8 %302 to i32
  %304 = icmp ne i32 %303, 0
  br i1 %304, label %305, label %311

305:                                              ; preds = %301, %294
  %306 = call zeroext i8 @_glewInit_GLX_MESA_release_buffers()
  %307 = icmp ne i8 %306, 0
  %308 = xor i1 %307, true
  %309 = zext i1 %308 to i32
  %310 = trunc i32 %309 to i8
  store i8 %310, ptr @__GLXEW_MESA_release_buffers, align 1, !tbaa !5
  br label %311

311:                                              ; preds = %305, %301
  %312 = load ptr, ptr %4, align 8, !tbaa !8
  %313 = load ptr, ptr %5, align 8, !tbaa !8
  %314 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.35, ptr noundef %312, ptr noundef %313)
  store i8 %314, ptr @__GLXEW_MESA_set_3dfx_mode, align 1, !tbaa !5
  %315 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %316 = zext i8 %315 to i32
  %317 = icmp ne i32 %316, 0
  br i1 %317, label %322, label %318

318:                                              ; preds = %311
  %319 = load i8, ptr @__GLXEW_MESA_set_3dfx_mode, align 1, !tbaa !5
  %320 = zext i8 %319 to i32
  %321 = icmp ne i32 %320, 0
  br i1 %321, label %322, label %328

322:                                              ; preds = %318, %311
  %323 = call zeroext i8 @_glewInit_GLX_MESA_set_3dfx_mode()
  %324 = icmp ne i8 %323, 0
  %325 = xor i1 %324, true
  %326 = zext i1 %325 to i32
  %327 = trunc i32 %326 to i8
  store i8 %327, ptr @__GLXEW_MESA_set_3dfx_mode, align 1, !tbaa !5
  br label %328

328:                                              ; preds = %322, %318
  %329 = load ptr, ptr %4, align 8, !tbaa !8
  %330 = load ptr, ptr %5, align 8, !tbaa !8
  %331 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.36, ptr noundef %329, ptr noundef %330)
  store i8 %331, ptr @__GLXEW_MESA_swap_control, align 1, !tbaa !5
  %332 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %333 = zext i8 %332 to i32
  %334 = icmp ne i32 %333, 0
  br i1 %334, label %339, label %335

335:                                              ; preds = %328
  %336 = load i8, ptr @__GLXEW_MESA_swap_control, align 1, !tbaa !5
  %337 = zext i8 %336 to i32
  %338 = icmp ne i32 %337, 0
  br i1 %338, label %339, label %345

339:                                              ; preds = %335, %328
  %340 = call zeroext i8 @_glewInit_GLX_MESA_swap_control()
  %341 = icmp ne i8 %340, 0
  %342 = xor i1 %341, true
  %343 = zext i1 %342 to i32
  %344 = trunc i32 %343 to i8
  store i8 %344, ptr @__GLXEW_MESA_swap_control, align 1, !tbaa !5
  br label %345

345:                                              ; preds = %339, %335
  %346 = load ptr, ptr %4, align 8, !tbaa !8
  %347 = load ptr, ptr %5, align 8, !tbaa !8
  %348 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.37, ptr noundef %346, ptr noundef %347)
  store i8 %348, ptr @__GLXEW_NV_copy_buffer, align 1, !tbaa !5
  %349 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %350 = zext i8 %349 to i32
  %351 = icmp ne i32 %350, 0
  br i1 %351, label %356, label %352

352:                                              ; preds = %345
  %353 = load i8, ptr @__GLXEW_NV_copy_buffer, align 1, !tbaa !5
  %354 = zext i8 %353 to i32
  %355 = icmp ne i32 %354, 0
  br i1 %355, label %356, label %362

356:                                              ; preds = %352, %345
  %357 = call zeroext i8 @_glewInit_GLX_NV_copy_buffer()
  %358 = icmp ne i8 %357, 0
  %359 = xor i1 %358, true
  %360 = zext i1 %359 to i32
  %361 = trunc i32 %360 to i8
  store i8 %361, ptr @__GLXEW_NV_copy_buffer, align 1, !tbaa !5
  br label %362

362:                                              ; preds = %356, %352
  %363 = load ptr, ptr %4, align 8, !tbaa !8
  %364 = load ptr, ptr %5, align 8, !tbaa !8
  %365 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.38, ptr noundef %363, ptr noundef %364)
  store i8 %365, ptr @__GLXEW_NV_copy_image, align 1, !tbaa !5
  %366 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %367 = zext i8 %366 to i32
  %368 = icmp ne i32 %367, 0
  br i1 %368, label %373, label %369

369:                                              ; preds = %362
  %370 = load i8, ptr @__GLXEW_NV_copy_image, align 1, !tbaa !5
  %371 = zext i8 %370 to i32
  %372 = icmp ne i32 %371, 0
  br i1 %372, label %373, label %379

373:                                              ; preds = %369, %362
  %374 = call zeroext i8 @_glewInit_GLX_NV_copy_image()
  %375 = icmp ne i8 %374, 0
  %376 = xor i1 %375, true
  %377 = zext i1 %376 to i32
  %378 = trunc i32 %377 to i8
  store i8 %378, ptr @__GLXEW_NV_copy_image, align 1, !tbaa !5
  br label %379

379:                                              ; preds = %373, %369
  %380 = load ptr, ptr %4, align 8, !tbaa !8
  %381 = load ptr, ptr %5, align 8, !tbaa !8
  %382 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.39, ptr noundef %380, ptr noundef %381)
  store i8 %382, ptr @__GLXEW_NV_delay_before_swap, align 1, !tbaa !5
  %383 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %384 = zext i8 %383 to i32
  %385 = icmp ne i32 %384, 0
  br i1 %385, label %390, label %386

386:                                              ; preds = %379
  %387 = load i8, ptr @__GLXEW_NV_delay_before_swap, align 1, !tbaa !5
  %388 = zext i8 %387 to i32
  %389 = icmp ne i32 %388, 0
  br i1 %389, label %390, label %396

390:                                              ; preds = %386, %379
  %391 = call zeroext i8 @_glewInit_GLX_NV_delay_before_swap()
  %392 = icmp ne i8 %391, 0
  %393 = xor i1 %392, true
  %394 = zext i1 %393 to i32
  %395 = trunc i32 %394 to i8
  store i8 %395, ptr @__GLXEW_NV_delay_before_swap, align 1, !tbaa !5
  br label %396

396:                                              ; preds = %390, %386
  %397 = load ptr, ptr %4, align 8, !tbaa !8
  %398 = load ptr, ptr %5, align 8, !tbaa !8
  %399 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.40, ptr noundef %397, ptr noundef %398)
  store i8 %399, ptr @__GLXEW_NV_float_buffer, align 1, !tbaa !5
  %400 = load ptr, ptr %4, align 8, !tbaa !8
  %401 = load ptr, ptr %5, align 8, !tbaa !8
  %402 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.41, ptr noundef %400, ptr noundef %401)
  store i8 %402, ptr @__GLXEW_NV_multisample_coverage, align 1, !tbaa !5
  %403 = load ptr, ptr %4, align 8, !tbaa !8
  %404 = load ptr, ptr %5, align 8, !tbaa !8
  %405 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.42, ptr noundef %403, ptr noundef %404)
  store i8 %405, ptr @__GLXEW_NV_present_video, align 1, !tbaa !5
  %406 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %407 = zext i8 %406 to i32
  %408 = icmp ne i32 %407, 0
  br i1 %408, label %413, label %409

409:                                              ; preds = %396
  %410 = load i8, ptr @__GLXEW_NV_present_video, align 1, !tbaa !5
  %411 = zext i8 %410 to i32
  %412 = icmp ne i32 %411, 0
  br i1 %412, label %413, label %419

413:                                              ; preds = %409, %396
  %414 = call zeroext i8 @_glewInit_GLX_NV_present_video()
  %415 = icmp ne i8 %414, 0
  %416 = xor i1 %415, true
  %417 = zext i1 %416 to i32
  %418 = trunc i32 %417 to i8
  store i8 %418, ptr @__GLXEW_NV_present_video, align 1, !tbaa !5
  br label %419

419:                                              ; preds = %413, %409
  %420 = load ptr, ptr %4, align 8, !tbaa !8
  %421 = load ptr, ptr %5, align 8, !tbaa !8
  %422 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.43, ptr noundef %420, ptr noundef %421)
  store i8 %422, ptr @__GLXEW_NV_swap_group, align 1, !tbaa !5
  %423 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %424 = zext i8 %423 to i32
  %425 = icmp ne i32 %424, 0
  br i1 %425, label %430, label %426

426:                                              ; preds = %419
  %427 = load i8, ptr @__GLXEW_NV_swap_group, align 1, !tbaa !5
  %428 = zext i8 %427 to i32
  %429 = icmp ne i32 %428, 0
  br i1 %429, label %430, label %436

430:                                              ; preds = %426, %419
  %431 = call zeroext i8 @_glewInit_GLX_NV_swap_group()
  %432 = icmp ne i8 %431, 0
  %433 = xor i1 %432, true
  %434 = zext i1 %433 to i32
  %435 = trunc i32 %434 to i8
  store i8 %435, ptr @__GLXEW_NV_swap_group, align 1, !tbaa !5
  br label %436

436:                                              ; preds = %430, %426
  %437 = load ptr, ptr %4, align 8, !tbaa !8
  %438 = load ptr, ptr %5, align 8, !tbaa !8
  %439 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.44, ptr noundef %437, ptr noundef %438)
  store i8 %439, ptr @__GLXEW_NV_vertex_array_range, align 1, !tbaa !5
  %440 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %441 = zext i8 %440 to i32
  %442 = icmp ne i32 %441, 0
  br i1 %442, label %447, label %443

443:                                              ; preds = %436
  %444 = load i8, ptr @__GLXEW_NV_vertex_array_range, align 1, !tbaa !5
  %445 = zext i8 %444 to i32
  %446 = icmp ne i32 %445, 0
  br i1 %446, label %447, label %453

447:                                              ; preds = %443, %436
  %448 = call zeroext i8 @_glewInit_GLX_NV_vertex_array_range()
  %449 = icmp ne i8 %448, 0
  %450 = xor i1 %449, true
  %451 = zext i1 %450 to i32
  %452 = trunc i32 %451 to i8
  store i8 %452, ptr @__GLXEW_NV_vertex_array_range, align 1, !tbaa !5
  br label %453

453:                                              ; preds = %447, %443
  %454 = load ptr, ptr %4, align 8, !tbaa !8
  %455 = load ptr, ptr %5, align 8, !tbaa !8
  %456 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.45, ptr noundef %454, ptr noundef %455)
  store i8 %456, ptr @__GLXEW_NV_video_capture, align 1, !tbaa !5
  %457 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %458 = zext i8 %457 to i32
  %459 = icmp ne i32 %458, 0
  br i1 %459, label %464, label %460

460:                                              ; preds = %453
  %461 = load i8, ptr @__GLXEW_NV_video_capture, align 1, !tbaa !5
  %462 = zext i8 %461 to i32
  %463 = icmp ne i32 %462, 0
  br i1 %463, label %464, label %470

464:                                              ; preds = %460, %453
  %465 = call zeroext i8 @_glewInit_GLX_NV_video_capture()
  %466 = icmp ne i8 %465, 0
  %467 = xor i1 %466, true
  %468 = zext i1 %467 to i32
  %469 = trunc i32 %468 to i8
  store i8 %469, ptr @__GLXEW_NV_video_capture, align 1, !tbaa !5
  br label %470

470:                                              ; preds = %464, %460
  %471 = load ptr, ptr %4, align 8, !tbaa !8
  %472 = load ptr, ptr %5, align 8, !tbaa !8
  %473 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.46, ptr noundef %471, ptr noundef %472)
  store i8 %473, ptr @__GLXEW_NV_video_out, align 1, !tbaa !5
  %474 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %475 = zext i8 %474 to i32
  %476 = icmp ne i32 %475, 0
  br i1 %476, label %481, label %477

477:                                              ; preds = %470
  %478 = load i8, ptr @__GLXEW_NV_video_out, align 1, !tbaa !5
  %479 = zext i8 %478 to i32
  %480 = icmp ne i32 %479, 0
  br i1 %480, label %481, label %487

481:                                              ; preds = %477, %470
  %482 = call zeroext i8 @_glewInit_GLX_NV_video_out()
  %483 = icmp ne i8 %482, 0
  %484 = xor i1 %483, true
  %485 = zext i1 %484 to i32
  %486 = trunc i32 %485 to i8
  store i8 %486, ptr @__GLXEW_NV_video_out, align 1, !tbaa !5
  br label %487

487:                                              ; preds = %481, %477
  %488 = load ptr, ptr %4, align 8, !tbaa !8
  %489 = load ptr, ptr %5, align 8, !tbaa !8
  %490 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.47, ptr noundef %488, ptr noundef %489)
  store i8 %490, ptr @__GLXEW_OML_swap_method, align 1, !tbaa !5
  %491 = load ptr, ptr %4, align 8, !tbaa !8
  %492 = load ptr, ptr %5, align 8, !tbaa !8
  %493 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.48, ptr noundef %491, ptr noundef %492)
  store i8 %493, ptr @__GLXEW_OML_sync_control, align 1, !tbaa !5
  %494 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %495 = zext i8 %494 to i32
  %496 = icmp ne i32 %495, 0
  br i1 %496, label %501, label %497

497:                                              ; preds = %487
  %498 = load i8, ptr @__GLXEW_OML_sync_control, align 1, !tbaa !5
  %499 = zext i8 %498 to i32
  %500 = icmp ne i32 %499, 0
  br i1 %500, label %501, label %507

501:                                              ; preds = %497, %487
  %502 = call zeroext i8 @_glewInit_GLX_OML_sync_control()
  %503 = icmp ne i8 %502, 0
  %504 = xor i1 %503, true
  %505 = zext i1 %504 to i32
  %506 = trunc i32 %505 to i8
  store i8 %506, ptr @__GLXEW_OML_sync_control, align 1, !tbaa !5
  br label %507

507:                                              ; preds = %501, %497
  %508 = load ptr, ptr %4, align 8, !tbaa !8
  %509 = load ptr, ptr %5, align 8, !tbaa !8
  %510 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.49, ptr noundef %508, ptr noundef %509)
  store i8 %510, ptr @__GLXEW_SGIS_blended_overlay, align 1, !tbaa !5
  %511 = load ptr, ptr %4, align 8, !tbaa !8
  %512 = load ptr, ptr %5, align 8, !tbaa !8
  %513 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.50, ptr noundef %511, ptr noundef %512)
  store i8 %513, ptr @__GLXEW_SGIS_color_range, align 1, !tbaa !5
  %514 = load ptr, ptr %4, align 8, !tbaa !8
  %515 = load ptr, ptr %5, align 8, !tbaa !8
  %516 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.51, ptr noundef %514, ptr noundef %515)
  store i8 %516, ptr @__GLXEW_SGIS_multisample, align 1, !tbaa !5
  %517 = load ptr, ptr %4, align 8, !tbaa !8
  %518 = load ptr, ptr %5, align 8, !tbaa !8
  %519 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.52, ptr noundef %517, ptr noundef %518)
  store i8 %519, ptr @__GLXEW_SGIS_shared_multisample, align 1, !tbaa !5
  %520 = load ptr, ptr %4, align 8, !tbaa !8
  %521 = load ptr, ptr %5, align 8, !tbaa !8
  %522 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.53, ptr noundef %520, ptr noundef %521)
  store i8 %522, ptr @__GLXEW_SGIX_fbconfig, align 1, !tbaa !5
  %523 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %524 = zext i8 %523 to i32
  %525 = icmp ne i32 %524, 0
  br i1 %525, label %530, label %526

526:                                              ; preds = %507
  %527 = load i8, ptr @__GLXEW_SGIX_fbconfig, align 1, !tbaa !5
  %528 = zext i8 %527 to i32
  %529 = icmp ne i32 %528, 0
  br i1 %529, label %530, label %536

530:                                              ; preds = %526, %507
  %531 = call zeroext i8 @_glewInit_GLX_SGIX_fbconfig()
  %532 = icmp ne i8 %531, 0
  %533 = xor i1 %532, true
  %534 = zext i1 %533 to i32
  %535 = trunc i32 %534 to i8
  store i8 %535, ptr @__GLXEW_SGIX_fbconfig, align 1, !tbaa !5
  br label %536

536:                                              ; preds = %530, %526
  %537 = load ptr, ptr %4, align 8, !tbaa !8
  %538 = load ptr, ptr %5, align 8, !tbaa !8
  %539 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.54, ptr noundef %537, ptr noundef %538)
  store i8 %539, ptr @__GLXEW_SGIX_hyperpipe, align 1, !tbaa !5
  %540 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %541 = zext i8 %540 to i32
  %542 = icmp ne i32 %541, 0
  br i1 %542, label %547, label %543

543:                                              ; preds = %536
  %544 = load i8, ptr @__GLXEW_SGIX_hyperpipe, align 1, !tbaa !5
  %545 = zext i8 %544 to i32
  %546 = icmp ne i32 %545, 0
  br i1 %546, label %547, label %553

547:                                              ; preds = %543, %536
  %548 = call zeroext i8 @_glewInit_GLX_SGIX_hyperpipe()
  %549 = icmp ne i8 %548, 0
  %550 = xor i1 %549, true
  %551 = zext i1 %550 to i32
  %552 = trunc i32 %551 to i8
  store i8 %552, ptr @__GLXEW_SGIX_hyperpipe, align 1, !tbaa !5
  br label %553

553:                                              ; preds = %547, %543
  %554 = load ptr, ptr %4, align 8, !tbaa !8
  %555 = load ptr, ptr %5, align 8, !tbaa !8
  %556 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.55, ptr noundef %554, ptr noundef %555)
  store i8 %556, ptr @__GLXEW_SGIX_pbuffer, align 1, !tbaa !5
  %557 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %558 = zext i8 %557 to i32
  %559 = icmp ne i32 %558, 0
  br i1 %559, label %564, label %560

560:                                              ; preds = %553
  %561 = load i8, ptr @__GLXEW_SGIX_pbuffer, align 1, !tbaa !5
  %562 = zext i8 %561 to i32
  %563 = icmp ne i32 %562, 0
  br i1 %563, label %564, label %570

564:                                              ; preds = %560, %553
  %565 = call zeroext i8 @_glewInit_GLX_SGIX_pbuffer()
  %566 = icmp ne i8 %565, 0
  %567 = xor i1 %566, true
  %568 = zext i1 %567 to i32
  %569 = trunc i32 %568 to i8
  store i8 %569, ptr @__GLXEW_SGIX_pbuffer, align 1, !tbaa !5
  br label %570

570:                                              ; preds = %564, %560
  %571 = load ptr, ptr %4, align 8, !tbaa !8
  %572 = load ptr, ptr %5, align 8, !tbaa !8
  %573 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.56, ptr noundef %571, ptr noundef %572)
  store i8 %573, ptr @__GLXEW_SGIX_swap_barrier, align 1, !tbaa !5
  %574 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %575 = zext i8 %574 to i32
  %576 = icmp ne i32 %575, 0
  br i1 %576, label %581, label %577

577:                                              ; preds = %570
  %578 = load i8, ptr @__GLXEW_SGIX_swap_barrier, align 1, !tbaa !5
  %579 = zext i8 %578 to i32
  %580 = icmp ne i32 %579, 0
  br i1 %580, label %581, label %587

581:                                              ; preds = %577, %570
  %582 = call zeroext i8 @_glewInit_GLX_SGIX_swap_barrier()
  %583 = icmp ne i8 %582, 0
  %584 = xor i1 %583, true
  %585 = zext i1 %584 to i32
  %586 = trunc i32 %585 to i8
  store i8 %586, ptr @__GLXEW_SGIX_swap_barrier, align 1, !tbaa !5
  br label %587

587:                                              ; preds = %581, %577
  %588 = load ptr, ptr %4, align 8, !tbaa !8
  %589 = load ptr, ptr %5, align 8, !tbaa !8
  %590 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.57, ptr noundef %588, ptr noundef %589)
  store i8 %590, ptr @__GLXEW_SGIX_swap_group, align 1, !tbaa !5
  %591 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %592 = zext i8 %591 to i32
  %593 = icmp ne i32 %592, 0
  br i1 %593, label %598, label %594

594:                                              ; preds = %587
  %595 = load i8, ptr @__GLXEW_SGIX_swap_group, align 1, !tbaa !5
  %596 = zext i8 %595 to i32
  %597 = icmp ne i32 %596, 0
  br i1 %597, label %598, label %604

598:                                              ; preds = %594, %587
  %599 = call zeroext i8 @_glewInit_GLX_SGIX_swap_group()
  %600 = icmp ne i8 %599, 0
  %601 = xor i1 %600, true
  %602 = zext i1 %601 to i32
  %603 = trunc i32 %602 to i8
  store i8 %603, ptr @__GLXEW_SGIX_swap_group, align 1, !tbaa !5
  br label %604

604:                                              ; preds = %598, %594
  %605 = load ptr, ptr %4, align 8, !tbaa !8
  %606 = load ptr, ptr %5, align 8, !tbaa !8
  %607 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.58, ptr noundef %605, ptr noundef %606)
  store i8 %607, ptr @__GLXEW_SGIX_video_resize, align 1, !tbaa !5
  %608 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %609 = zext i8 %608 to i32
  %610 = icmp ne i32 %609, 0
  br i1 %610, label %615, label %611

611:                                              ; preds = %604
  %612 = load i8, ptr @__GLXEW_SGIX_video_resize, align 1, !tbaa !5
  %613 = zext i8 %612 to i32
  %614 = icmp ne i32 %613, 0
  br i1 %614, label %615, label %621

615:                                              ; preds = %611, %604
  %616 = call zeroext i8 @_glewInit_GLX_SGIX_video_resize()
  %617 = icmp ne i8 %616, 0
  %618 = xor i1 %617, true
  %619 = zext i1 %618 to i32
  %620 = trunc i32 %619 to i8
  store i8 %620, ptr @__GLXEW_SGIX_video_resize, align 1, !tbaa !5
  br label %621

621:                                              ; preds = %615, %611
  %622 = load ptr, ptr %4, align 8, !tbaa !8
  %623 = load ptr, ptr %5, align 8, !tbaa !8
  %624 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.59, ptr noundef %622, ptr noundef %623)
  store i8 %624, ptr @__GLXEW_SGIX_visual_select_group, align 1, !tbaa !5
  %625 = load ptr, ptr %4, align 8, !tbaa !8
  %626 = load ptr, ptr %5, align 8, !tbaa !8
  %627 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.60, ptr noundef %625, ptr noundef %626)
  store i8 %627, ptr @__GLXEW_SGI_cushion, align 1, !tbaa !5
  %628 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %629 = zext i8 %628 to i32
  %630 = icmp ne i32 %629, 0
  br i1 %630, label %635, label %631

631:                                              ; preds = %621
  %632 = load i8, ptr @__GLXEW_SGI_cushion, align 1, !tbaa !5
  %633 = zext i8 %632 to i32
  %634 = icmp ne i32 %633, 0
  br i1 %634, label %635, label %641

635:                                              ; preds = %631, %621
  %636 = call zeroext i8 @_glewInit_GLX_SGI_cushion()
  %637 = icmp ne i8 %636, 0
  %638 = xor i1 %637, true
  %639 = zext i1 %638 to i32
  %640 = trunc i32 %639 to i8
  store i8 %640, ptr @__GLXEW_SGI_cushion, align 1, !tbaa !5
  br label %641

641:                                              ; preds = %635, %631
  %642 = load ptr, ptr %4, align 8, !tbaa !8
  %643 = load ptr, ptr %5, align 8, !tbaa !8
  %644 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.61, ptr noundef %642, ptr noundef %643)
  store i8 %644, ptr @__GLXEW_SGI_make_current_read, align 1, !tbaa !5
  %645 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %646 = zext i8 %645 to i32
  %647 = icmp ne i32 %646, 0
  br i1 %647, label %652, label %648

648:                                              ; preds = %641
  %649 = load i8, ptr @__GLXEW_SGI_make_current_read, align 1, !tbaa !5
  %650 = zext i8 %649 to i32
  %651 = icmp ne i32 %650, 0
  br i1 %651, label %652, label %658

652:                                              ; preds = %648, %641
  %653 = call zeroext i8 @_glewInit_GLX_SGI_make_current_read()
  %654 = icmp ne i8 %653, 0
  %655 = xor i1 %654, true
  %656 = zext i1 %655 to i32
  %657 = trunc i32 %656 to i8
  store i8 %657, ptr @__GLXEW_SGI_make_current_read, align 1, !tbaa !5
  br label %658

658:                                              ; preds = %652, %648
  %659 = load ptr, ptr %4, align 8, !tbaa !8
  %660 = load ptr, ptr %5, align 8, !tbaa !8
  %661 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.62, ptr noundef %659, ptr noundef %660)
  store i8 %661, ptr @__GLXEW_SGI_swap_control, align 1, !tbaa !5
  %662 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %663 = zext i8 %662 to i32
  %664 = icmp ne i32 %663, 0
  br i1 %664, label %669, label %665

665:                                              ; preds = %658
  %666 = load i8, ptr @__GLXEW_SGI_swap_control, align 1, !tbaa !5
  %667 = zext i8 %666 to i32
  %668 = icmp ne i32 %667, 0
  br i1 %668, label %669, label %675

669:                                              ; preds = %665, %658
  %670 = call zeroext i8 @_glewInit_GLX_SGI_swap_control()
  %671 = icmp ne i8 %670, 0
  %672 = xor i1 %671, true
  %673 = zext i1 %672 to i32
  %674 = trunc i32 %673 to i8
  store i8 %674, ptr @__GLXEW_SGI_swap_control, align 1, !tbaa !5
  br label %675

675:                                              ; preds = %669, %665
  %676 = load ptr, ptr %4, align 8, !tbaa !8
  %677 = load ptr, ptr %5, align 8, !tbaa !8
  %678 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.63, ptr noundef %676, ptr noundef %677)
  store i8 %678, ptr @__GLXEW_SGI_video_sync, align 1, !tbaa !5
  %679 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %680 = zext i8 %679 to i32
  %681 = icmp ne i32 %680, 0
  br i1 %681, label %686, label %682

682:                                              ; preds = %675
  %683 = load i8, ptr @__GLXEW_SGI_video_sync, align 1, !tbaa !5
  %684 = zext i8 %683 to i32
  %685 = icmp ne i32 %684, 0
  br i1 %685, label %686, label %692

686:                                              ; preds = %682, %675
  %687 = call zeroext i8 @_glewInit_GLX_SGI_video_sync()
  %688 = icmp ne i8 %687, 0
  %689 = xor i1 %688, true
  %690 = zext i1 %689 to i32
  %691 = trunc i32 %690 to i8
  store i8 %691, ptr @__GLXEW_SGI_video_sync, align 1, !tbaa !5
  br label %692

692:                                              ; preds = %686, %682
  %693 = load ptr, ptr %4, align 8, !tbaa !8
  %694 = load ptr, ptr %5, align 8, !tbaa !8
  %695 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.64, ptr noundef %693, ptr noundef %694)
  store i8 %695, ptr @__GLXEW_SUN_get_transparent_index, align 1, !tbaa !5
  %696 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %697 = zext i8 %696 to i32
  %698 = icmp ne i32 %697, 0
  br i1 %698, label %703, label %699

699:                                              ; preds = %692
  %700 = load i8, ptr @__GLXEW_SUN_get_transparent_index, align 1, !tbaa !5
  %701 = zext i8 %700 to i32
  %702 = icmp ne i32 %701, 0
  br i1 %702, label %703, label %709

703:                                              ; preds = %699, %692
  %704 = call zeroext i8 @_glewInit_GLX_SUN_get_transparent_index()
  %705 = icmp ne i8 %704, 0
  %706 = xor i1 %705, true
  %707 = zext i1 %706 to i32
  %708 = trunc i32 %707 to i8
  store i8 %708, ptr @__GLXEW_SUN_get_transparent_index, align 1, !tbaa !5
  br label %709

709:                                              ; preds = %703, %699
  %710 = load ptr, ptr %4, align 8, !tbaa !8
  %711 = load ptr, ptr %5, align 8, !tbaa !8
  %712 = call zeroext i8 @_glewSearchExtension(ptr noundef @.str.65, ptr noundef %710, ptr noundef %711)
  store i8 %712, ptr @__GLXEW_SUN_video_resize, align 1, !tbaa !5
  %713 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %714 = zext i8 %713 to i32
  %715 = icmp ne i32 %714, 0
  br i1 %715, label %720, label %716

716:                                              ; preds = %709
  %717 = load i8, ptr @__GLXEW_SUN_video_resize, align 1, !tbaa !5
  %718 = zext i8 %717 to i32
  %719 = icmp ne i32 %718, 0
  br i1 %719, label %720, label %726

720:                                              ; preds = %716, %709
  %721 = call zeroext i8 @_glewInit_GLX_SUN_video_resize()
  %722 = icmp ne i8 %721, 0
  %723 = xor i1 %722, true
  %724 = zext i1 %723 to i32
  %725 = trunc i32 %724 to i8
  store i8 %725, ptr @__GLXEW_SUN_video_resize, align 1, !tbaa !5
  br label %726

726:                                              ; preds = %720, %716
  store i32 0, ptr %1, align 4
  store i32 1, ptr %6, align 4
  br label %727

727:                                              ; preds = %726, %23, %9
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %2) #3
  %728 = load i32, ptr %1, align 4
  ret i32 %728
}

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_VERSION_1_2() #1

declare i32 @glXQueryVersion(ptr noundef, ptr noundef, ptr noundef) #2

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_VERSION_1_3() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_AMD_gpu_association() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_ARB_create_context() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_ATI_render_texture() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_EXT_import_context() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_EXT_swap_control() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_EXT_texture_from_pixmap() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_MESA_agp_offset() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_MESA_copy_sub_buffer() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_MESA_pixmap_colormap() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_MESA_query_renderer() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_MESA_release_buffers() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_MESA_set_3dfx_mode() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_MESA_swap_control() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_copy_buffer() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_copy_image() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_delay_before_swap() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_present_video() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_swap_group() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_vertex_array_range() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_video_capture() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_video_out() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_OML_sync_control() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGIX_fbconfig() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGIX_hyperpipe() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGIX_pbuffer() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGIX_swap_barrier() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGIX_swap_group() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGIX_video_resize() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGI_cushion() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGI_make_current_read() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGI_swap_control() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGI_video_sync() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SUN_get_transparent_index() #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SUN_video_resize() #1

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"omnipotent char", !7, i64 0}
!7 = !{!"Simple C/C++ TBAA"}
!8 = !{!9, !9, i64 0}
!9 = !{!"any pointer", !6, i64 0}
!10 = !{!11, !11, i64 0}
!11 = !{!"int", !6, i64 0}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@__glewXGetCurrentDisplay = external dso_local local_unnamed_addr global ptr, align 8
@__GLXEW_VERSION_1_0 = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_VERSION_1_1 = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_VERSION_1_2 = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_VERSION_1_3 = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_VERSION_1_4 = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_3DFX_multisample = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_AMD_gpu_association = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_ARB_context_flush_control = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_ARB_create_context = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_ARB_create_context_profile = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_ARB_create_context_robustness = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_ARB_fbconfig_float = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_ARB_framebuffer_sRGB = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_ARB_get_proc_address = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_ARB_multisample = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_ARB_robustness_application_isolation = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_ARB_robustness_share_group_isolation = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_ARB_vertex_buffer_object = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_ATI_pixel_format_float = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_ATI_render_texture = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_EXT_buffer_age = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_EXT_create_context_es2_profile = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_EXT_create_context_es_profile = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_EXT_fbconfig_packed_float = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_EXT_framebuffer_sRGB = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_EXT_import_context = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_EXT_scene_marker = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_EXT_stereo_tree = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_EXT_swap_control = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_EXT_swap_control_tear = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_EXT_texture_from_pixmap = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_EXT_visual_info = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_EXT_visual_rating = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_INTEL_swap_event = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_MESA_agp_offset = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_MESA_copy_sub_buffer = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_MESA_pixmap_colormap = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_MESA_query_renderer = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_MESA_release_buffers = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_MESA_set_3dfx_mode = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_MESA_swap_control = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_NV_copy_buffer = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_NV_copy_image = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_NV_delay_before_swap = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_NV_float_buffer = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_NV_multisample_coverage = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_NV_present_video = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_NV_swap_group = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_NV_vertex_array_range = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_NV_video_capture = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_NV_video_out = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_OML_swap_method = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_OML_sync_control = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGIS_blended_overlay = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGIS_color_range = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGIS_multisample = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGIS_shared_multisample = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGIX_fbconfig = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGIX_hyperpipe = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGIX_pbuffer = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGIX_swap_barrier = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGIX_swap_group = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGIX_video_resize = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGIX_visual_select_group = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGI_cushion = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGI_make_current_read = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGI_swap_control = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SGI_video_sync = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SUN_get_transparent_index = external dso_local local_unnamed_addr global i8, align 1
@__GLXEW_SUN_video_resize = external dso_local local_unnamed_addr global i8, align 1
@.str = external hidden unnamed_addr constant [1 x i8], align 1
@glewExperimental = external dso_local local_unnamed_addr global i8, align 1
@.str.1 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [21 x i8], align 1

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nounwind uwtable
declare hidden i32 @_glewStrLen(ptr noundef) local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewSearchExtension(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

declare ptr @glXGetClientString(ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
define dso_local range(i32 0, 4) i32 @glxewInit() local_unnamed_addr #1 {
  %1 = alloca i32, align 4
  %2 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %1) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #3
  %3 = tail call zeroext i8 @_glewInit_GLX_VERSION_1_2()
  %.not = icmp eq i8 %3, 0
  br i1 %.not, label %4, label %334

4:                                                ; preds = %0
  store i8 1, ptr @__GLXEW_VERSION_1_0, align 1, !tbaa !5
  store i8 1, ptr @__GLXEW_VERSION_1_1, align 1, !tbaa !5
  store i8 1, ptr @__GLXEW_VERSION_1_2, align 1, !tbaa !5
  store i8 1, ptr @__GLXEW_VERSION_1_3, align 1, !tbaa !5
  store i8 1, ptr @__GLXEW_VERSION_1_4, align 1, !tbaa !5
  %5 = load ptr, ptr @__glewXGetCurrentDisplay, align 8, !tbaa !8
  %6 = tail call ptr %5() #3
  %7 = call i32 @glXQueryVersion(ptr noundef %6, ptr noundef nonnull %1, ptr noundef nonnull %2) #3
  %8 = load i32, ptr %1, align 4, !tbaa !10
  %9 = icmp eq i32 %8, 1
  %10 = load i32, ptr %2, align 4
  %11 = icmp slt i32 %10, 4
  %or.cond = select i1 %9, i1 %11, i1 false
  br i1 %or.cond, label %12, label %14

12:                                               ; preds = %4
  switch i32 %10, label %334 [
    i32 3, label %.sink.split
    i32 2, label %13
  ]

13:                                               ; preds = %12
  store i8 0, ptr @__GLXEW_VERSION_1_4, align 1, !tbaa !5
  br label %.sink.split

.sink.split:                                      ; preds = %12, %13
  %__GLXEW_VERSION_1_4.sink = phi ptr [ @__GLXEW_VERSION_1_3, %13 ], [ @__GLXEW_VERSION_1_4, %12 ]
  store i8 0, ptr %__GLXEW_VERSION_1_4.sink, align 1, !tbaa !5
  br label %14

14:                                               ; preds = %.sink.split, %4
  %15 = load ptr, ptr @__glewXGetCurrentDisplay, align 8, !tbaa !8
  %.not242 = icmp eq ptr %15, null
  br i1 %.not242, label %19, label %16

16:                                               ; preds = %14
  %17 = call ptr %15() #3
  %18 = call ptr @glXGetClientString(ptr noundef %17, i32 noundef 3) #3
  br label %19

19:                                               ; preds = %16, %14
  %.0239 = phi ptr [ %18, %16 ], [ null, %14 ]
  %20 = icmp eq ptr %.0239, null
  %spec.store.select = select i1 %20, ptr @.str, ptr %.0239
  %21 = call i32 @_glewStrLen(ptr noundef nonnull %spec.store.select)
  %22 = zext i32 %21 to i64
  %23 = getelementptr inbounds i8, ptr %spec.store.select, i64 %22
  %24 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %25 = icmp ne i8 %24, 0
  %26 = load i8, ptr @__GLXEW_VERSION_1_3, align 1
  %27 = icmp ne i8 %26, 0
  %or.cond4 = select i1 %25, i1 true, i1 %27
  br i1 %or.cond4, label %28, label %31

28:                                               ; preds = %19
  %29 = call zeroext i8 @_glewInit_GLX_VERSION_1_3()
  %.not243 = icmp eq i8 %29, 0
  %30 = zext i1 %.not243 to i8
  store i8 %30, ptr @__GLXEW_VERSION_1_3, align 1, !tbaa !5
  br label %31

31:                                               ; preds = %19, %28
  %32 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.1, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %32, ptr @__GLXEW_3DFX_multisample, align 1, !tbaa !5
  %33 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.2, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %33, ptr @__GLXEW_AMD_gpu_association, align 1, !tbaa !5
  %34 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %35 = icmp ne i8 %34, 0
  %36 = icmp ne i8 %33, 0
  %or.cond7 = select i1 %35, i1 true, i1 %36
  br i1 %or.cond7, label %37, label %40

37:                                               ; preds = %31
  %38 = call zeroext i8 @_glewInit_GLX_AMD_gpu_association()
  %.not244 = icmp eq i8 %38, 0
  %39 = zext i1 %.not244 to i8
  store i8 %39, ptr @__GLXEW_AMD_gpu_association, align 1, !tbaa !5
  br label %40

40:                                               ; preds = %31, %37
  %41 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.3, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %41, ptr @__GLXEW_ARB_context_flush_control, align 1, !tbaa !5
  %42 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.4, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %42, ptr @__GLXEW_ARB_create_context, align 1, !tbaa !5
  %43 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %44 = icmp ne i8 %43, 0
  %45 = icmp ne i8 %42, 0
  %or.cond10 = select i1 %44, i1 true, i1 %45
  br i1 %or.cond10, label %46, label %49

46:                                               ; preds = %40
  %47 = call zeroext i8 @_glewInit_GLX_ARB_create_context()
  %.not245 = icmp eq i8 %47, 0
  %48 = zext i1 %.not245 to i8
  store i8 %48, ptr @__GLXEW_ARB_create_context, align 1, !tbaa !5
  br label %49

49:                                               ; preds = %40, %46
  %50 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.5, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %50, ptr @__GLXEW_ARB_create_context_profile, align 1, !tbaa !5
  %51 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.6, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %51, ptr @__GLXEW_ARB_create_context_robustness, align 1, !tbaa !5
  %52 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.7, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %52, ptr @__GLXEW_ARB_fbconfig_float, align 1, !tbaa !5
  %53 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.8, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %53, ptr @__GLXEW_ARB_framebuffer_sRGB, align 1, !tbaa !5
  %54 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.9, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %54, ptr @__GLXEW_ARB_get_proc_address, align 1, !tbaa !5
  %55 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.10, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %55, ptr @__GLXEW_ARB_multisample, align 1, !tbaa !5
  %56 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.11, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %56, ptr @__GLXEW_ARB_robustness_application_isolation, align 1, !tbaa !5
  %57 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.12, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %57, ptr @__GLXEW_ARB_robustness_share_group_isolation, align 1, !tbaa !5
  %58 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.13, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %58, ptr @__GLXEW_ARB_vertex_buffer_object, align 1, !tbaa !5
  %59 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.14, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %59, ptr @__GLXEW_ATI_pixel_format_float, align 1, !tbaa !5
  %60 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.15, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %60, ptr @__GLXEW_ATI_render_texture, align 1, !tbaa !5
  %61 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %62 = icmp ne i8 %61, 0
  %63 = icmp ne i8 %60, 0
  %or.cond13 = select i1 %62, i1 true, i1 %63
  br i1 %or.cond13, label %64, label %67

64:                                               ; preds = %49
  %65 = call zeroext i8 @_glewInit_GLX_ATI_render_texture()
  %.not246 = icmp eq i8 %65, 0
  %66 = zext i1 %.not246 to i8
  store i8 %66, ptr @__GLXEW_ATI_render_texture, align 1, !tbaa !5
  br label %67

67:                                               ; preds = %49, %64
  %68 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.16, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %68, ptr @__GLXEW_EXT_buffer_age, align 1, !tbaa !5
  %69 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.17, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %69, ptr @__GLXEW_EXT_create_context_es2_profile, align 1, !tbaa !5
  %70 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.18, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %70, ptr @__GLXEW_EXT_create_context_es_profile, align 1, !tbaa !5
  %71 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.19, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %71, ptr @__GLXEW_EXT_fbconfig_packed_float, align 1, !tbaa !5
  %72 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.20, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %72, ptr @__GLXEW_EXT_framebuffer_sRGB, align 1, !tbaa !5
  %73 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.21, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %73, ptr @__GLXEW_EXT_import_context, align 1, !tbaa !5
  %74 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %75 = icmp ne i8 %74, 0
  %76 = icmp ne i8 %73, 0
  %or.cond16 = select i1 %75, i1 true, i1 %76
  br i1 %or.cond16, label %77, label %80

77:                                               ; preds = %67
  %78 = call zeroext i8 @_glewInit_GLX_EXT_import_context()
  %.not247 = icmp eq i8 %78, 0
  %79 = zext i1 %.not247 to i8
  store i8 %79, ptr @__GLXEW_EXT_import_context, align 1, !tbaa !5
  br label %80

80:                                               ; preds = %67, %77
  %81 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.22, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %81, ptr @__GLXEW_EXT_scene_marker, align 1, !tbaa !5
  %82 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.23, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %82, ptr @__GLXEW_EXT_stereo_tree, align 1, !tbaa !5
  %83 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.24, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %83, ptr @__GLXEW_EXT_swap_control, align 1, !tbaa !5
  %84 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %85 = icmp ne i8 %84, 0
  %86 = icmp ne i8 %83, 0
  %or.cond19 = select i1 %85, i1 true, i1 %86
  br i1 %or.cond19, label %87, label %90

87:                                               ; preds = %80
  %88 = call zeroext i8 @_glewInit_GLX_EXT_swap_control()
  %.not248 = icmp eq i8 %88, 0
  %89 = zext i1 %.not248 to i8
  store i8 %89, ptr @__GLXEW_EXT_swap_control, align 1, !tbaa !5
  br label %90

90:                                               ; preds = %80, %87
  %91 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.25, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %91, ptr @__GLXEW_EXT_swap_control_tear, align 1, !tbaa !5
  %92 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.26, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %92, ptr @__GLXEW_EXT_texture_from_pixmap, align 1, !tbaa !5
  %93 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %94 = icmp ne i8 %93, 0
  %95 = icmp ne i8 %92, 0
  %or.cond22 = select i1 %94, i1 true, i1 %95
  br i1 %or.cond22, label %96, label %99

96:                                               ; preds = %90
  %97 = call zeroext i8 @_glewInit_GLX_EXT_texture_from_pixmap()
  %.not249 = icmp eq i8 %97, 0
  %98 = zext i1 %.not249 to i8
  store i8 %98, ptr @__GLXEW_EXT_texture_from_pixmap, align 1, !tbaa !5
  br label %99

99:                                               ; preds = %90, %96
  %100 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.27, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %100, ptr @__GLXEW_EXT_visual_info, align 1, !tbaa !5
  %101 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.28, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %101, ptr @__GLXEW_EXT_visual_rating, align 1, !tbaa !5
  %102 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.29, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %102, ptr @__GLXEW_INTEL_swap_event, align 1, !tbaa !5
  %103 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.30, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %103, ptr @__GLXEW_MESA_agp_offset, align 1, !tbaa !5
  %104 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %105 = icmp ne i8 %104, 0
  %106 = icmp ne i8 %103, 0
  %or.cond25 = select i1 %105, i1 true, i1 %106
  br i1 %or.cond25, label %107, label %110

107:                                              ; preds = %99
  %108 = call zeroext i8 @_glewInit_GLX_MESA_agp_offset()
  %.not250 = icmp eq i8 %108, 0
  %109 = zext i1 %.not250 to i8
  store i8 %109, ptr @__GLXEW_MESA_agp_offset, align 1, !tbaa !5
  br label %110

110:                                              ; preds = %99, %107
  %111 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.31, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %111, ptr @__GLXEW_MESA_copy_sub_buffer, align 1, !tbaa !5
  %112 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %113 = icmp ne i8 %112, 0
  %114 = icmp ne i8 %111, 0
  %or.cond28 = select i1 %113, i1 true, i1 %114
  br i1 %or.cond28, label %115, label %118

115:                                              ; preds = %110
  %116 = call zeroext i8 @_glewInit_GLX_MESA_copy_sub_buffer()
  %.not251 = icmp eq i8 %116, 0
  %117 = zext i1 %.not251 to i8
  store i8 %117, ptr @__GLXEW_MESA_copy_sub_buffer, align 1, !tbaa !5
  br label %118

118:                                              ; preds = %110, %115
  %119 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.32, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %119, ptr @__GLXEW_MESA_pixmap_colormap, align 1, !tbaa !5
  %120 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %121 = icmp ne i8 %120, 0
  %122 = icmp ne i8 %119, 0
  %or.cond31 = select i1 %121, i1 true, i1 %122
  br i1 %or.cond31, label %123, label %126

123:                                              ; preds = %118
  %124 = call zeroext i8 @_glewInit_GLX_MESA_pixmap_colormap()
  %.not252 = icmp eq i8 %124, 0
  %125 = zext i1 %.not252 to i8
  store i8 %125, ptr @__GLXEW_MESA_pixmap_colormap, align 1, !tbaa !5
  br label %126

126:                                              ; preds = %118, %123
  %127 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.33, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %127, ptr @__GLXEW_MESA_query_renderer, align 1, !tbaa !5
  %128 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %129 = icmp ne i8 %128, 0
  %130 = icmp ne i8 %127, 0
  %or.cond34 = select i1 %129, i1 true, i1 %130
  br i1 %or.cond34, label %131, label %134

131:                                              ; preds = %126
  %132 = call zeroext i8 @_glewInit_GLX_MESA_query_renderer()
  %.not253 = icmp eq i8 %132, 0
  %133 = zext i1 %.not253 to i8
  store i8 %133, ptr @__GLXEW_MESA_query_renderer, align 1, !tbaa !5
  br label %134

134:                                              ; preds = %126, %131
  %135 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.34, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %135, ptr @__GLXEW_MESA_release_buffers, align 1, !tbaa !5
  %136 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %137 = icmp ne i8 %136, 0
  %138 = icmp ne i8 %135, 0
  %or.cond37 = select i1 %137, i1 true, i1 %138
  br i1 %or.cond37, label %139, label %142

139:                                              ; preds = %134
  %140 = call zeroext i8 @_glewInit_GLX_MESA_release_buffers()
  %.not254 = icmp eq i8 %140, 0
  %141 = zext i1 %.not254 to i8
  store i8 %141, ptr @__GLXEW_MESA_release_buffers, align 1, !tbaa !5
  br label %142

142:                                              ; preds = %134, %139
  %143 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.35, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %143, ptr @__GLXEW_MESA_set_3dfx_mode, align 1, !tbaa !5
  %144 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %145 = icmp ne i8 %144, 0
  %146 = icmp ne i8 %143, 0
  %or.cond40 = select i1 %145, i1 true, i1 %146
  br i1 %or.cond40, label %147, label %150

147:                                              ; preds = %142
  %148 = call zeroext i8 @_glewInit_GLX_MESA_set_3dfx_mode()
  %.not255 = icmp eq i8 %148, 0
  %149 = zext i1 %.not255 to i8
  store i8 %149, ptr @__GLXEW_MESA_set_3dfx_mode, align 1, !tbaa !5
  br label %150

150:                                              ; preds = %142, %147
  %151 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.36, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %151, ptr @__GLXEW_MESA_swap_control, align 1, !tbaa !5
  %152 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %153 = icmp ne i8 %152, 0
  %154 = icmp ne i8 %151, 0
  %or.cond43 = select i1 %153, i1 true, i1 %154
  br i1 %or.cond43, label %155, label %158

155:                                              ; preds = %150
  %156 = call zeroext i8 @_glewInit_GLX_MESA_swap_control()
  %.not256 = icmp eq i8 %156, 0
  %157 = zext i1 %.not256 to i8
  store i8 %157, ptr @__GLXEW_MESA_swap_control, align 1, !tbaa !5
  br label %158

158:                                              ; preds = %150, %155
  %159 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.37, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %159, ptr @__GLXEW_NV_copy_buffer, align 1, !tbaa !5
  %160 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %161 = icmp ne i8 %160, 0
  %162 = icmp ne i8 %159, 0
  %or.cond46 = select i1 %161, i1 true, i1 %162
  br i1 %or.cond46, label %163, label %166

163:                                              ; preds = %158
  %164 = call zeroext i8 @_glewInit_GLX_NV_copy_buffer()
  %.not257 = icmp eq i8 %164, 0
  %165 = zext i1 %.not257 to i8
  store i8 %165, ptr @__GLXEW_NV_copy_buffer, align 1, !tbaa !5
  br label %166

166:                                              ; preds = %158, %163
  %167 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.38, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %167, ptr @__GLXEW_NV_copy_image, align 1, !tbaa !5
  %168 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %169 = icmp ne i8 %168, 0
  %170 = icmp ne i8 %167, 0
  %or.cond49 = select i1 %169, i1 true, i1 %170
  br i1 %or.cond49, label %171, label %174

171:                                              ; preds = %166
  %172 = call zeroext i8 @_glewInit_GLX_NV_copy_image()
  %.not258 = icmp eq i8 %172, 0
  %173 = zext i1 %.not258 to i8
  store i8 %173, ptr @__GLXEW_NV_copy_image, align 1, !tbaa !5
  br label %174

174:                                              ; preds = %166, %171
  %175 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.39, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %175, ptr @__GLXEW_NV_delay_before_swap, align 1, !tbaa !5
  %176 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %177 = icmp ne i8 %176, 0
  %178 = icmp ne i8 %175, 0
  %or.cond52 = select i1 %177, i1 true, i1 %178
  br i1 %or.cond52, label %179, label %182

179:                                              ; preds = %174
  %180 = call zeroext i8 @_glewInit_GLX_NV_delay_before_swap()
  %.not259 = icmp eq i8 %180, 0
  %181 = zext i1 %.not259 to i8
  store i8 %181, ptr @__GLXEW_NV_delay_before_swap, align 1, !tbaa !5
  br label %182

182:                                              ; preds = %174, %179
  %183 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.40, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %183, ptr @__GLXEW_NV_float_buffer, align 1, !tbaa !5
  %184 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.41, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %184, ptr @__GLXEW_NV_multisample_coverage, align 1, !tbaa !5
  %185 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.42, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %185, ptr @__GLXEW_NV_present_video, align 1, !tbaa !5
  %186 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %187 = icmp ne i8 %186, 0
  %188 = icmp ne i8 %185, 0
  %or.cond55 = select i1 %187, i1 true, i1 %188
  br i1 %or.cond55, label %189, label %192

189:                                              ; preds = %182
  %190 = call zeroext i8 @_glewInit_GLX_NV_present_video()
  %.not260 = icmp eq i8 %190, 0
  %191 = zext i1 %.not260 to i8
  store i8 %191, ptr @__GLXEW_NV_present_video, align 1, !tbaa !5
  br label %192

192:                                              ; preds = %182, %189
  %193 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.43, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %193, ptr @__GLXEW_NV_swap_group, align 1, !tbaa !5
  %194 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %195 = icmp ne i8 %194, 0
  %196 = icmp ne i8 %193, 0
  %or.cond58 = select i1 %195, i1 true, i1 %196
  br i1 %or.cond58, label %197, label %200

197:                                              ; preds = %192
  %198 = call zeroext i8 @_glewInit_GLX_NV_swap_group()
  %.not261 = icmp eq i8 %198, 0
  %199 = zext i1 %.not261 to i8
  store i8 %199, ptr @__GLXEW_NV_swap_group, align 1, !tbaa !5
  br label %200

200:                                              ; preds = %192, %197
  %201 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.44, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %201, ptr @__GLXEW_NV_vertex_array_range, align 1, !tbaa !5
  %202 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %203 = icmp ne i8 %202, 0
  %204 = icmp ne i8 %201, 0
  %or.cond61 = select i1 %203, i1 true, i1 %204
  br i1 %or.cond61, label %205, label %208

205:                                              ; preds = %200
  %206 = call zeroext i8 @_glewInit_GLX_NV_vertex_array_range()
  %.not262 = icmp eq i8 %206, 0
  %207 = zext i1 %.not262 to i8
  store i8 %207, ptr @__GLXEW_NV_vertex_array_range, align 1, !tbaa !5
  br label %208

208:                                              ; preds = %200, %205
  %209 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.45, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %209, ptr @__GLXEW_NV_video_capture, align 1, !tbaa !5
  %210 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %211 = icmp ne i8 %210, 0
  %212 = icmp ne i8 %209, 0
  %or.cond64 = select i1 %211, i1 true, i1 %212
  br i1 %or.cond64, label %213, label %216

213:                                              ; preds = %208
  %214 = call zeroext i8 @_glewInit_GLX_NV_video_capture()
  %.not263 = icmp eq i8 %214, 0
  %215 = zext i1 %.not263 to i8
  store i8 %215, ptr @__GLXEW_NV_video_capture, align 1, !tbaa !5
  br label %216

216:                                              ; preds = %208, %213
  %217 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.46, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %217, ptr @__GLXEW_NV_video_out, align 1, !tbaa !5
  %218 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %219 = icmp ne i8 %218, 0
  %220 = icmp ne i8 %217, 0
  %or.cond67 = select i1 %219, i1 true, i1 %220
  br i1 %or.cond67, label %221, label %224

221:                                              ; preds = %216
  %222 = call zeroext i8 @_glewInit_GLX_NV_video_out()
  %.not264 = icmp eq i8 %222, 0
  %223 = zext i1 %.not264 to i8
  store i8 %223, ptr @__GLXEW_NV_video_out, align 1, !tbaa !5
  br label %224

224:                                              ; preds = %216, %221
  %225 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.47, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %225, ptr @__GLXEW_OML_swap_method, align 1, !tbaa !5
  %226 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.48, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %226, ptr @__GLXEW_OML_sync_control, align 1, !tbaa !5
  %227 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %228 = icmp ne i8 %227, 0
  %229 = icmp ne i8 %226, 0
  %or.cond70 = select i1 %228, i1 true, i1 %229
  br i1 %or.cond70, label %230, label %233

230:                                              ; preds = %224
  %231 = call zeroext i8 @_glewInit_GLX_OML_sync_control()
  %.not265 = icmp eq i8 %231, 0
  %232 = zext i1 %.not265 to i8
  store i8 %232, ptr @__GLXEW_OML_sync_control, align 1, !tbaa !5
  br label %233

233:                                              ; preds = %224, %230
  %234 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.49, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %234, ptr @__GLXEW_SGIS_blended_overlay, align 1, !tbaa !5
  %235 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.50, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %235, ptr @__GLXEW_SGIS_color_range, align 1, !tbaa !5
  %236 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.51, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %236, ptr @__GLXEW_SGIS_multisample, align 1, !tbaa !5
  %237 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.52, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %237, ptr @__GLXEW_SGIS_shared_multisample, align 1, !tbaa !5
  %238 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.53, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %238, ptr @__GLXEW_SGIX_fbconfig, align 1, !tbaa !5
  %239 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %240 = icmp ne i8 %239, 0
  %241 = icmp ne i8 %238, 0
  %or.cond73 = select i1 %240, i1 true, i1 %241
  br i1 %or.cond73, label %242, label %245

242:                                              ; preds = %233
  %243 = call zeroext i8 @_glewInit_GLX_SGIX_fbconfig()
  %.not266 = icmp eq i8 %243, 0
  %244 = zext i1 %.not266 to i8
  store i8 %244, ptr @__GLXEW_SGIX_fbconfig, align 1, !tbaa !5
  br label %245

245:                                              ; preds = %233, %242
  %246 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.54, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %246, ptr @__GLXEW_SGIX_hyperpipe, align 1, !tbaa !5
  %247 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %248 = icmp ne i8 %247, 0
  %249 = icmp ne i8 %246, 0
  %or.cond76 = select i1 %248, i1 true, i1 %249
  br i1 %or.cond76, label %250, label %253

250:                                              ; preds = %245
  %251 = call zeroext i8 @_glewInit_GLX_SGIX_hyperpipe()
  %.not267 = icmp eq i8 %251, 0
  %252 = zext i1 %.not267 to i8
  store i8 %252, ptr @__GLXEW_SGIX_hyperpipe, align 1, !tbaa !5
  br label %253

253:                                              ; preds = %245, %250
  %254 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.55, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %254, ptr @__GLXEW_SGIX_pbuffer, align 1, !tbaa !5
  %255 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %256 = icmp ne i8 %255, 0
  %257 = icmp ne i8 %254, 0
  %or.cond79 = select i1 %256, i1 true, i1 %257
  br i1 %or.cond79, label %258, label %261

258:                                              ; preds = %253
  %259 = call zeroext i8 @_glewInit_GLX_SGIX_pbuffer()
  %.not268 = icmp eq i8 %259, 0
  %260 = zext i1 %.not268 to i8
  store i8 %260, ptr @__GLXEW_SGIX_pbuffer, align 1, !tbaa !5
  br label %261

261:                                              ; preds = %253, %258
  %262 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.56, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %262, ptr @__GLXEW_SGIX_swap_barrier, align 1, !tbaa !5
  %263 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %264 = icmp ne i8 %263, 0
  %265 = icmp ne i8 %262, 0
  %or.cond82 = select i1 %264, i1 true, i1 %265
  br i1 %or.cond82, label %266, label %269

266:                                              ; preds = %261
  %267 = call zeroext i8 @_glewInit_GLX_SGIX_swap_barrier()
  %.not269 = icmp eq i8 %267, 0
  %268 = zext i1 %.not269 to i8
  store i8 %268, ptr @__GLXEW_SGIX_swap_barrier, align 1, !tbaa !5
  br label %269

269:                                              ; preds = %261, %266
  %270 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.57, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %270, ptr @__GLXEW_SGIX_swap_group, align 1, !tbaa !5
  %271 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %272 = icmp ne i8 %271, 0
  %273 = icmp ne i8 %270, 0
  %or.cond85 = select i1 %272, i1 true, i1 %273
  br i1 %or.cond85, label %274, label %277

274:                                              ; preds = %269
  %275 = call zeroext i8 @_glewInit_GLX_SGIX_swap_group()
  %.not270 = icmp eq i8 %275, 0
  %276 = zext i1 %.not270 to i8
  store i8 %276, ptr @__GLXEW_SGIX_swap_group, align 1, !tbaa !5
  br label %277

277:                                              ; preds = %269, %274
  %278 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.58, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %278, ptr @__GLXEW_SGIX_video_resize, align 1, !tbaa !5
  %279 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %280 = icmp ne i8 %279, 0
  %281 = icmp ne i8 %278, 0
  %or.cond88 = select i1 %280, i1 true, i1 %281
  br i1 %or.cond88, label %282, label %285

282:                                              ; preds = %277
  %283 = call zeroext i8 @_glewInit_GLX_SGIX_video_resize()
  %.not271 = icmp eq i8 %283, 0
  %284 = zext i1 %.not271 to i8
  store i8 %284, ptr @__GLXEW_SGIX_video_resize, align 1, !tbaa !5
  br label %285

285:                                              ; preds = %277, %282
  %286 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.59, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %286, ptr @__GLXEW_SGIX_visual_select_group, align 1, !tbaa !5
  %287 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.60, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %287, ptr @__GLXEW_SGI_cushion, align 1, !tbaa !5
  %288 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %289 = icmp ne i8 %288, 0
  %290 = icmp ne i8 %287, 0
  %or.cond91 = select i1 %289, i1 true, i1 %290
  br i1 %or.cond91, label %291, label %294

291:                                              ; preds = %285
  %292 = call zeroext i8 @_glewInit_GLX_SGI_cushion()
  %.not272 = icmp eq i8 %292, 0
  %293 = zext i1 %.not272 to i8
  store i8 %293, ptr @__GLXEW_SGI_cushion, align 1, !tbaa !5
  br label %294

294:                                              ; preds = %285, %291
  %295 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.61, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %295, ptr @__GLXEW_SGI_make_current_read, align 1, !tbaa !5
  %296 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %297 = icmp ne i8 %296, 0
  %298 = icmp ne i8 %295, 0
  %or.cond94 = select i1 %297, i1 true, i1 %298
  br i1 %or.cond94, label %299, label %302

299:                                              ; preds = %294
  %300 = call zeroext i8 @_glewInit_GLX_SGI_make_current_read()
  %.not273 = icmp eq i8 %300, 0
  %301 = zext i1 %.not273 to i8
  store i8 %301, ptr @__GLXEW_SGI_make_current_read, align 1, !tbaa !5
  br label %302

302:                                              ; preds = %294, %299
  %303 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.62, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %303, ptr @__GLXEW_SGI_swap_control, align 1, !tbaa !5
  %304 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %305 = icmp ne i8 %304, 0
  %306 = icmp ne i8 %303, 0
  %or.cond97 = select i1 %305, i1 true, i1 %306
  br i1 %or.cond97, label %307, label %310

307:                                              ; preds = %302
  %308 = call zeroext i8 @_glewInit_GLX_SGI_swap_control()
  %.not274 = icmp eq i8 %308, 0
  %309 = zext i1 %.not274 to i8
  store i8 %309, ptr @__GLXEW_SGI_swap_control, align 1, !tbaa !5
  br label %310

310:                                              ; preds = %302, %307
  %311 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.63, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %311, ptr @__GLXEW_SGI_video_sync, align 1, !tbaa !5
  %312 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %313 = icmp ne i8 %312, 0
  %314 = icmp ne i8 %311, 0
  %or.cond100 = select i1 %313, i1 true, i1 %314
  br i1 %or.cond100, label %315, label %318

315:                                              ; preds = %310
  %316 = call zeroext i8 @_glewInit_GLX_SGI_video_sync()
  %.not275 = icmp eq i8 %316, 0
  %317 = zext i1 %.not275 to i8
  store i8 %317, ptr @__GLXEW_SGI_video_sync, align 1, !tbaa !5
  br label %318

318:                                              ; preds = %310, %315
  %319 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.64, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %319, ptr @__GLXEW_SUN_get_transparent_index, align 1, !tbaa !5
  %320 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %321 = icmp ne i8 %320, 0
  %322 = icmp ne i8 %319, 0
  %or.cond103 = select i1 %321, i1 true, i1 %322
  br i1 %or.cond103, label %323, label %326

323:                                              ; preds = %318
  %324 = call zeroext i8 @_glewInit_GLX_SUN_get_transparent_index()
  %.not276 = icmp eq i8 %324, 0
  %325 = zext i1 %.not276 to i8
  store i8 %325, ptr @__GLXEW_SUN_get_transparent_index, align 1, !tbaa !5
  br label %326

326:                                              ; preds = %318, %323
  %327 = call zeroext i8 @_glewSearchExtension(ptr noundef nonnull @.str.65, ptr noundef nonnull %spec.store.select, ptr noundef nonnull %23)
  store i8 %327, ptr @__GLXEW_SUN_video_resize, align 1, !tbaa !5
  %328 = load i8, ptr @glewExperimental, align 1, !tbaa !5
  %329 = icmp ne i8 %328, 0
  %330 = icmp ne i8 %327, 0
  %or.cond106 = select i1 %329, i1 true, i1 %330
  br i1 %or.cond106, label %331, label %334

331:                                              ; preds = %326
  %332 = call zeroext i8 @_glewInit_GLX_SUN_video_resize()
  %.not277 = icmp eq i8 %332, 0
  %333 = zext i1 %.not277 to i8
  store i8 %333, ptr @__GLXEW_SUN_video_resize, align 1, !tbaa !5
  br label %334

334:                                              ; preds = %331, %326, %12, %0
  %.0 = phi i32 [ 3, %0 ], [ 3, %12 ], [ 0, %326 ], [ 0, %331 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %1) #3
  ret i32 %.0
}

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_VERSION_1_2() local_unnamed_addr #1

declare i32 @glXQueryVersion(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_VERSION_1_3() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_AMD_gpu_association() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_ARB_create_context() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_ATI_render_texture() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_EXT_import_context() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_EXT_swap_control() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_EXT_texture_from_pixmap() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_MESA_agp_offset() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_MESA_copy_sub_buffer() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_MESA_pixmap_colormap() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_MESA_query_renderer() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_MESA_release_buffers() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_MESA_set_3dfx_mode() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_MESA_swap_control() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_copy_buffer() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_copy_image() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_delay_before_swap() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_present_video() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_swap_group() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_vertex_array_range() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_video_capture() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_NV_video_out() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_OML_sync_control() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGIX_fbconfig() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGIX_hyperpipe() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGIX_pbuffer() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGIX_swap_barrier() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGIX_swap_group() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGIX_video_resize() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGI_cushion() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGI_make_current_read() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGI_swap_control() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SGI_video_sync() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SUN_get_transparent_index() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i8 @_glewInit_GLX_SUN_video_resize() local_unnamed_addr #1

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"omnipotent char", !7, i64 0}
!7 = !{!"Simple C/C++ TBAA"}
!8 = !{!9, !9, i64 0}
!9 = !{!"any pointer", !6, i64 0}
!10 = !{!11, !11, i64 0}
!11 = !{!"int", !6, i64 0}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,SROAPass,SimplifyCFGPass,TailCallElimPass