; LLVM IR from Eukky/TRender :: lib/imgui/imgui_demo.ll (ZN5ImGui14ShowDemoWindowEPb)

; 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"

%struct.ImVec4 = type { float, float, float, float }
%struct.ImVec2 = type { float, float }
%struct.ImGuiTextFilter = type <{ [256 x i8], %class.ImVector.9, i32, [4 x i8] }>
%class.ImVector.9 = type { i32, i32, ptr }
%struct.ImColor = type { %struct.ImVec4 }
%struct.ImGuiListClipper = type { float, float, i32, i32, i32, i32 }
%struct.ImGuiStyle = type { float, %struct.ImVec2, float, float, %struct.ImVec2, %struct.ImVec2, float, float, float, float, %struct.ImVec2, float, float, %struct.ImVec2, %struct.ImVec2, %struct.ImVec2, float, float, float, float, float, float, %struct.ImVec2, %struct.ImVec2, %struct.ImVec2, float, i8, i8, float, [42 x %struct.ImVec4] }
%struct.ImGuiIO = type { i32, i32, %struct.ImVec2, float, float, ptr, ptr, float, float, float, [21 x i32], float, float, ptr, ptr, float, i8, ptr, %struct.ImVec2, %struct.ImVec2, %struct.ImVec2, i8, i8, ptr, ptr, ptr, ptr, ptr, ptr, %struct.ImVec2, [5 x i8], float, float, i8, i8, i8, i8, i8, [512 x i8], [17 x i16], [21 x float], i8, i8, i8, i8, i8, i8, i8, float, i32, i32, i32, %struct.ImVec2, %struct.ImVec2, [5 x %struct.ImVec2], [5 x float], [5 x i8], [5 x i8], [5 x i8], [5 x i8], [5 x float], [5 x float], [5 x %struct.ImVec2], [5 x float], [512 x float], [512 x float], [21 x float], [21 x float] }
%struct.ImFontAtlas = type <{ i32, [4 x i8], ptr, i32, i32, ptr, ptr, i32, i32, %struct.ImVec2, %struct.ImVec2, %class.ImVector.6, %class.ImVector.7, %class.ImVector.8, [1 x i32], [4 x i8] }>
%class.ImVector.6 = type { i32, i32, ptr }
%class.ImVector.7 = type { i32, i32, ptr }
%class.ImVector.8 = type { i32, i32, ptr }
%struct.ImGuiPayload = type <{ ptr, i32, i32, i32, i32, [33 x i8], i8, i8, [5 x i8] }>

@_ZZN5ImGui14ShowDemoWindowEPbE22show_app_main_menu_bar = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE16show_app_console = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE12show_app_log = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE15show_app_layout = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE24show_app_property_editor = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE18show_app_long_text = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE20show_app_auto_resize = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE27show_app_constrained_resize = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE23show_app_simple_overlay = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE22show_app_window_titles = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE25show_app_custom_rendering = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE16show_app_metrics = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE21show_app_style_editor = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14show_app_about = external hidden global i8, align 1
@.str.15 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [80 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE11no_titlebar = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE12no_scrollbar = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7no_menu = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7no_move = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9no_resize = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE11no_collapse = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8no_close = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE6no_nav = external hidden global i8, align 1
@.str.20 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [236 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7clicked = external hidden global i32, align 4
@.str.54 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [24 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5check = external hidden global i8, align 1
@.str.56 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE1e = external hidden global i32, align 4
@.str.57 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7counter = external hidden global i32, align 4
@.str.61 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [21 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3arr = external hidden global [7 x float], align 16
@.str.68 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [6 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.items = external hidden unnamed_addr constant [14 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE12item_current = external hidden global i32, align 4
@.str.85 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [128 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4str0 = external hidden global [128 x i8], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE2i0 = external hidden global i32, align 4
@.str.87 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [184 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [134 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f0 = external hidden global float, align 4
@.str.91 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2d0 = external hidden global double, align 8
@.str.93 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f1 = external hidden global float, align 4
@.str.95 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [87 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5vec4a = external hidden global [4 x float], align 16
@.str.98 = external hidden unnamed_addr constant [13 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2i1 = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE2i2 = external hidden global i32, align 4
@.str.99 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f1_0 = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE2f2 = external hidden global float, align 4
@.str.103 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2i1_0 = external hidden global i32, align 4
@.str.106 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [27 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f1_1 = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE2f2_0 = external hidden global float, align 4
@.str.108 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5angle = external hidden global float, align 4
@.str.112 = external hidden unnamed_addr constant [13 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4col1 = external hidden global [3 x float], align 4
@_ZZN5ImGui14ShowDemoWindowEPbE4col2 = external hidden global [4 x float], align 16
@.str.113 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [155 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [7 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.listbox_items = external hidden unnamed_addr constant [9 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE20listbox_item_current = external hidden global i32, align 4
@.str.125 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [140 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position = external hidden global i8, align 1
@.str.133 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [7 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask = external hidden global i32, align 4
@.str.135 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [19 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14closable_group = external hidden global i8, align 1
@.str.139 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [180 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width = external hidden global float, align 4
@.str.157 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [151 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [206 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [28 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3buf = external hidden global [32 x i8], align 16
@.str.167 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [233 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [32 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count = external hidden global i32, align 4
@.str.174 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5flags = external hidden global i32, align 4
@.str.176 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [26 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.items.179 = external hidden unnamed_addr constant [14 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0 = external hidden global ptr, align 8
@_ZGVZN5ImGui14ShowDemoWindowEPbE12item_current_0 = external hidden global i64, align 8
@.str.180 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14item_current_2 = external hidden global i32, align 4
@.str.181 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [27 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14item_current_3 = external hidden global i32, align 4
@.str.183 = external hidden unnamed_addr constant [16 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14item_current_4 = external hidden global i32, align 4
@.str.184 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [12 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9selection = external hidden global [5 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [34 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected = external hidden global i32, align 4
@.str.192 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [46 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9selection_0 = external hidden global [5 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [39 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected_0 = external hidden global [3 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [11 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected_1 = external hidden global [16 x i8], align 16
@.str.202 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected_2 = external hidden global [16 x i8], align 16
@.str.204 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [20 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf1 = external hidden global [64 x i8], align 16
@.str.206 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf2 = external hidden global [64 x i8], align 16
@.str.207 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf3 = external hidden global [64 x i8], align 16
@.str.208 = external hidden unnamed_addr constant [12 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf4 = external hidden global [64 x i8], align 16
@.str.209 = external hidden unnamed_addr constant [10 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf5 = external hidden global [64 x i8], align 16
@.str.210 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf6 = external hidden global [64 x i8], align 16
@.str.211 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.212 = external hidden unnamed_addr constant [15 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7bufpass = external hidden global [64 x i8], align 16
@.str.213 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [22 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9read_only = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4text = external hidden global [16384 x i8], align 16
@.str.217 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7animate = external hidden global i8, align 1
@.str.220 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3arr_0 = external hidden global [7 x float], align 16
@.str.221 = external hidden unnamed_addr constant [12 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE6values = external hidden global [90 x float], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE13values_offset = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE5phase = external hidden global float, align 4
@.str.222 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [10 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9func_type = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE13display_count = external hidden global i32, align 4
@.str.225 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [13 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8progress = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir = external hidden global float, align 4
@.str.228 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [21 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5color = external hidden global %struct.ImVec4, align 4
@_ZGVZN5ImGui14ShowDemoWindowEPbE5color = external hidden global i64, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE13alpha_preview = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE18alpha_half_preview = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE13drag_and_drop = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE12options_menu = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3hdr = external hidden global i8, align 1
@.str.231 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.240 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.241 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.242 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.243 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.245 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [215 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.248 = external hidden unnamed_addr constant [39 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE20saved_palette_inited = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette = external hidden global [32 x %struct.ImVec4], align 16
@_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette = external hidden global i64, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE12backup_color = external hidden global %struct.ImVec4, align 4
@_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color = external hidden global i64, align 8
@.str.249 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.250 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.251 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.252 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.253 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.254 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.255 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.256 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.257 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.258 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.259 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.260 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.261 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.262 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.263 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5alpha = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9alpha_bar = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE12side_preview = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9ref_color = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE11ref_color_v = external hidden global %struct.ImVec4, align 4
@_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v = external hidden global i64, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE11picker_mode = external hidden global i32, align 4
@.str.264 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.265 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.266 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.267 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.268 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.269 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.270 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.271 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.272 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.273 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.274 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.275 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.276 = external hidden unnamed_addr constant [340 x i8], align 1
@.str.277 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.278 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.279 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5begin = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE3end = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE7begin_i = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE5end_i = external hidden global i32, align 4
@.str.280 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.281 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.282 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.283 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.284 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.285 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.286 = external hidden unnamed_addr constant [11 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5s32_v = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE5u32_v = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE5s64_v = external hidden global i64, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE5u64_v = external hidden global i64, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE5f32_v = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE5f64_v = external hidden global double, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp = external hidden global i8, align 1
@.str.287 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.288 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.289 = external hidden unnamed_addr constant [171 x i8], align 1
@.str.290 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.291 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.292 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.293 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.294 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.295 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.296 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.297 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.298 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.299 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.300 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.301 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.302 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.303 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.304 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.305 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.306 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.307 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.308 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.309 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.310 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.311 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.312 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.313 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.314 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.315 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.316 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.317 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.318 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.319 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.320 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.321 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.322 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.323 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.324 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.325 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step = external hidden global i8, align 1
@.str.326 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.327 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.328 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.329 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.330 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.331 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.332 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.333 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.334 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.335 = external hidden unnamed_addr constant [24 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5vec4f = external hidden global [4 x float], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE5vec4i = external hidden global [4 x i32], align 16
@.str.336 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.337 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.338 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.339 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.340 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.341 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.342 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.343 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.344 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.345 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.346 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.347 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.348 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.349 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.350 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.351 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.352 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.353 = external hidden unnamed_addr constant [17 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9int_value = external hidden global i32, align 4
@.str.354 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE6values_0 = external hidden global [7 x float], align 16
@.str.355 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.356 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.357 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.358 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7values2 = external hidden global [4 x float], align 16
@.str.359 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.360 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.361 = external hidden unnamed_addr constant [41 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9item_type = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE1b = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5col4f = external hidden global [4 x float], align 16
@.str.362 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.363 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.364 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.365 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.366 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.367 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.368 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.369 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.370 = external hidden unnamed_addr constant [17 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.items.371 = external hidden unnamed_addr constant [4 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE7current = external hidden global i32, align 4
@.str.372 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.373 = external hidden unnamed_addr constant [329 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window = external hidden global i8, align 1
@.str.374 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.375 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.376 = external hidden unnamed_addr constant [175 x i8], align 1
@.str.377 = external hidden unnamed_addr constant [274 x i8], align 1
@.str.378 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.379 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.380 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.381 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE19disable_mouse_wheel = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE12disable_menu = external hidden global i8, align 1
@.str.382 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.383 = external hidden unnamed_addr constant [13 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4line = external hidden global i32, align 4
@.str.384 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.385 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.386 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.387 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.388 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.389 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.390 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE1f = external hidden global float, align 4
@.str.391 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.392 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.393 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.394 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.395 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.396 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.397 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.398 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.399 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.400 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.401 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.402 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.403 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.404 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.405 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.406 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.407 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.408 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.409 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.410 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.411 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.412 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.413 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.414 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.415 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.416 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.417 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2c1 = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2c2 = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2c3 = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2c4 = external hidden global i8, align 1
@.str.418 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.419 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.420 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.421 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f0_0 = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE2f1_2 = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE2f2_1 = external hidden global float, align 4
@__const._ZN5ImGui14ShowDemoWindowEPb.items.422 = external hidden unnamed_addr constant [4 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE4item = external hidden global i32, align 4
@.str.423 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.424 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.425 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.426 = external hidden unnamed_addr constant [7 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9selection_1 = external hidden global [4 x i32], align 16
@.str.427 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.428 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.429 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.430 = external hidden unnamed_addr constant [206 x i8], align 1
@.str.431 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.432 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.433 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.434 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.435 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.436 = external hidden unnamed_addr constant [20 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.values = external hidden unnamed_addr constant [5 x float], align 16
@.str.437 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.438 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.439 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.440 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.441 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.442 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.443 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.444 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.445 = external hidden unnamed_addr constant [211 x i8], align 1
@.str.446 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.447 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.448 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.449 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.450 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.451 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.452 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.453 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.454 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.455 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.456 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.457 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.458 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.459 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.460 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.461 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.462 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.463 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.464 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.465 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.466 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.467 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.468 = external hidden unnamed_addr constant [76 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5track = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE10track_line = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE12scroll_to_px = external hidden global i32, align 4
@.str.469 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.470 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.471 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.472 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.473 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.474 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.475 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.476 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.477 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.478 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.479 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.480 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.481 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.482 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.483 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.484 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.485 = external hidden unnamed_addr constant [104 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5lines = external hidden global i32, align 4
@.str.486 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.487 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.488 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.489 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.490 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.491 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.492 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.493 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.494 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4size = external hidden global %struct.ImVec2, align 4
@_ZGVZN5ImGui14ShowDemoWindowEPbE4size = external hidden global i64, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE6offset = external hidden global %struct.ImVec2, align 4
@_ZGVZN5ImGui14ShowDemoWindowEPbE6offset = external hidden global i64, align 8
@.str.495 = external hidden unnamed_addr constant [266 x i8], align 1
@.str.496 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.497 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.498 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.499 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.500 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.501 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.502 = external hidden unnamed_addr constant [126 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish = external hidden global i32, align 4
@__const._ZN5ImGui14ShowDemoWindowEPb.names = external hidden unnamed_addr constant [5 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE7toggles = external hidden global [5 x i8], align 1
@.str.508 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.509 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.510 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.511 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.512 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.513 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.514 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.515 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.516 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.517 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.518 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.519 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.520 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.521 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.522 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5value = external hidden global float, align 4
@.str.523 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.524 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.525 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.526 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.527 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4name = external hidden global [32 x i8], align 16
@.str.528 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.529 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.530 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.531 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.532 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.533 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.534 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.535 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.536 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.537 = external hidden unnamed_addr constant [78 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE21dont_ask_me_next_time = external hidden global i8, align 1
@.str.538 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.539 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.540 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.541 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.542 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.543 = external hidden unnamed_addr constant [94 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4item_0 = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE5color_0 = external hidden global [4 x float], align 16
@.str.544 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.545 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.546 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.547 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.548 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.549 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.550 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.551 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.552 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.553 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.554 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.555 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.556 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.557 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.558 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.559 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.560 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.561 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.562 = external hidden unnamed_addr constant [8 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.names.566 = external hidden unnamed_addr constant [3 x ptr], align 16
@__const._ZN5ImGui14ShowDemoWindowEPb.paths = external hidden unnamed_addr constant [3 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE8selected_3 = external hidden global i32, align 4
@.str.570 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.571 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.572 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.573 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.574 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3foo = external hidden global float, align 4
@.str.575 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.576 = external hidden unnamed_addr constant [20 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3bar = external hidden global float, align 4
@.str.577 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.578 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.579 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.580 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.581 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.582 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.583 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.584 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.585 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.586 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.587 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9h_borders = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9v_borders = external hidden global i8, align 1
@.str.588 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.589 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.590 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.591 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.592 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.593 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.594 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.595 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.596 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.597 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.598 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.599 = external hidden unnamed_addr constant [10 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE6filter = external hidden global %struct.ImGuiTextFilter, align 8
@_ZGVZN5ImGui14ShowDemoWindowEPbE6filter = external hidden global i64, align 8
@__dso_handle = external hidden global i8
@.str.600 = external hidden unnamed_addr constant [183 x i8], align 1
@.str.601 = external hidden unnamed_addr constant [18 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.lines = external hidden unnamed_addr constant [8 x ptr], align 16
@.str.610 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.611 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.612 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.613 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.614 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.615 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.616 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.617 = external hidden unnamed_addr constant [354 x i8], align 1
@.str.618 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.619 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.620 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.621 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.622 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.623 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.624 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.625 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.626 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.627 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.628 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.629 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.630 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.631 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.632 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.633 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.634 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.635 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.636 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.637 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.638 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.639 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.640 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.641 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.642 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.643 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.644 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.645 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.646 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.647 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.648 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.649 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.650 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.651 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.652 = external hidden unnamed_addr constant [61 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3buf_0 = external hidden global [32 x i8], align 16
@.str.653 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.654 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.655 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.656 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.657 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.658 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.659 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.660 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.661 = external hidden unnamed_addr constant [11 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3buf_1 = external hidden global [128 x i8], align 16
@.str.662 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.663 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.664 = external hidden unnamed_addr constant [24 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f3 = external hidden global [3 x float], align 4
@.str.665 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.666 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.667 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.668 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.669 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.670 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.671 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.672 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.673 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.674 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.675 = external hidden unnamed_addr constant [14 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names = external hidden unnamed_addr constant [8 x ptr], align 16
@.str.684 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.685 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.686 = external hidden unnamed_addr constant [242 x i8], align 1
@.str.687 = external hidden unnamed_addr constant [20 x i8], align 1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5ImGui13ShowUserGuideEv() #0

declare void @_ZN5ImGui10BulletTextEPKcz(ptr noundef, ...) #1

declare noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv() #1

declare void @_ZN5ImGui6IndentEf(float noundef) #1

declare void @_ZN5ImGui8UnindentEf(float noundef) #1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN5ImGui14ShowDemoWindowEPb(ptr noundef %0) #2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca i32, align 4
  %4 = alloca %struct.ImVec2, align 4
  %5 = alloca i32, align 4
  %6 = alloca %struct.ImVec2, align 4
  %7 = alloca i32, align 4
  %8 = alloca %struct.ImVec4, align 4
  %9 = alloca %struct.ImColor, align 4
  %10 = alloca %struct.ImVec4, align 4
  %11 = alloca %struct.ImColor, align 4
  %12 = alloca %struct.ImVec4, align 4
  %13 = alloca %struct.ImColor, align 4
  %14 = alloca %struct.ImVec2, align 4
  %15 = alloca float, align 4
  %16 = alloca %struct.ImVec2, align 4
  %17 = alloca [14 x ptr], align 16
  %18 = alloca [9 x ptr], align 16
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i8, align 1
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca %struct.ImVec4, align 4
  %27 = alloca %struct.ImVec4, align 4
  %28 = alloca %struct.ImVec2, align 4
  %29 = alloca %struct.ImVec2, align 4
  %30 = alloca %struct.ImVec2, align 4
  %31 = alloca %struct.ImVec2, align 4
  %32 = alloca %struct.ImVec2, align 4
  %33 = alloca %struct.ImVec2, align 4
  %34 = alloca %struct.ImVec2, align 4
  %35 = alloca %struct.ImVec2, align 4
  %36 = alloca %struct.ImVec2, align 4
  %37 = alloca %struct.ImVec2, align 4
  %38 = alloca %struct.ImVec2, align 4
  %39 = alloca %struct.ImVec2, align 4
  %40 = alloca ptr, align 8
  %41 = alloca ptr, align 8
  %42 = alloca float, align 4
  %43 = alloca float, align 4
  %44 = alloca %struct.ImVec2, align 4
  %45 = alloca %struct.ImVec2, align 4
  %46 = alloca %struct.ImVec2, align 4
  %47 = alloca %struct.ImVec2, align 4
  %48 = alloca %struct.ImVec4, align 4
  %49 = alloca %struct.ImColor, align 4
  %50 = alloca %struct.ImVec4, align 4
  %51 = alloca %struct.ImColor, align 4
  %52 = alloca float, align 4
  %53 = alloca float, align 4
  %54 = alloca float, align 4
  %55 = alloca float, align 4
  %56 = alloca %struct.ImVec2, align 4
  %57 = alloca %struct.ImVec2, align 4
  %58 = alloca %struct.ImVec2, align 4
  %59 = alloca %struct.ImVec4, align 4
  %60 = alloca %struct.ImColor, align 4
  %61 = alloca %struct.ImVec4, align 4
  %62 = alloca %struct.ImColor, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca %struct.ImVec2, align 4
  %66 = alloca %struct.ImVec2, align 4
  %67 = alloca %struct.ImVec2, align 4
  %68 = alloca %struct.ImVec4, align 4
  %69 = alloca %struct.ImColor, align 4
  %70 = alloca %struct.ImVec4, align 4
  %71 = alloca [14 x ptr], align 16
  %72 = alloca i32, align 4
  %73 = alloca i8, align 1
  %74 = alloca %struct.ImVec2, align 4
  %75 = alloca %struct.ImVec2, align 4
  %76 = alloca %struct.ImVec2, align 4
  %77 = alloca %struct.ImVec2, align 4
  %78 = alloca %struct.ImVec2, align 4
  %79 = alloca i32, align 4
  %80 = alloca [32 x i8], align 16
  %81 = alloca %struct.ImVec2, align 4
  %82 = alloca i32, align 4
  %83 = alloca [32 x i8], align 16
  %84 = alloca %struct.ImVec2, align 4
  %85 = alloca %struct.ImVec2, align 4
  %86 = alloca %struct.ImVec2, align 4
  %87 = alloca %struct.ImVec2, align 4
  %88 = alloca i32, align 4
  %89 = alloca [32 x i8], align 16
  %90 = alloca %struct.ImVec2, align 4
  %91 = alloca i32, align 4
  %92 = alloca %struct.ImVec2, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca %struct.ImVec2, align 4
  %96 = alloca %struct.ImVec2, align 4
  %97 = alloca %struct.ImVec2, align 4
  %98 = alloca %struct.ImVec2, align 4
  %99 = alloca %struct.ImVec2, align 4
  %100 = alloca ptr, align 8
  %101 = alloca %struct.ImVec2, align 4
  %102 = alloca %struct.ImVec2, align 4
  %103 = alloca %struct.ImVec2, align 4
  %104 = alloca float, align 4
  %105 = alloca [32 x i8], align 16
  %106 = alloca %struct.ImVec2, align 4
  %107 = alloca %struct.ImColor, align 4
  %108 = alloca ptr, align 8
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i8, align 1
  %113 = alloca %struct.ImVec2, align 4
  %114 = alloca %struct.ImVec2, align 4
  %115 = alloca %struct.ImVec2, align 4
  %116 = alloca %struct.ImVec2, align 4
  %117 = alloca i32, align 4
  %118 = alloca %struct.ImVec2, align 4
  %119 = alloca %struct.ImVec4, align 4
  %120 = alloca ptr, align 8
  %121 = alloca ptr, align 8
  %122 = alloca %struct.ImVec2, align 4
  %123 = alloca i32, align 4
  %124 = alloca %struct.ImVec2, align 4
  %125 = alloca %struct.ImVec2, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca i64, align 8
  %141 = alloca i64, align 8
  %142 = alloca i64, align 8
  %143 = alloca i64, align 8
  %144 = alloca i64, align 8
  %145 = alloca i64, align 8
  %146 = alloca i64, align 8
  %147 = alloca i64, align 8
  %148 = alloca i64, align 8
  %149 = alloca i64, align 8
  %150 = alloca i64, align 8
  %151 = alloca i64, align 8
  %152 = alloca i64, align 8
  %153 = alloca i64, align 8
  %154 = alloca float, align 4
  %155 = alloca float, align 4
  %156 = alloca float, align 4
  %157 = alloca float, align 4
  %158 = alloca double, align 8
  %159 = alloca double, align 8
  %160 = alloca double, align 8
  %161 = alloca double, align 8
  %162 = alloca float, align 4
  %163 = alloca float, align 4
  %164 = alloca %struct.ImVec2, align 4
  %165 = alloca %struct.ImVec2, align 4
  %166 = alloca i32, align 4
  %167 = alloca %struct.ImVec4, align 4
  %168 = alloca %struct.ImColor, align 4
  %169 = alloca %struct.ImVec4, align 4
  %170 = alloca %struct.ImColor, align 4
  %171 = alloca %struct.ImVec4, align 4
  %172 = alloca %struct.ImColor, align 4
  %173 = alloca %struct.ImVec4, align 4
  %174 = alloca %struct.ImColor, align 4
  %175 = alloca %struct.ImVec2, align 4
  %176 = alloca i32, align 4
  %177 = alloca %struct.ImVec2, align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca %struct.ImVec2, align 4
  %182 = alloca i8, align 1
  %183 = alloca %struct.ImVec2, align 4
  %184 = alloca [4 x ptr], align 16
  %185 = alloca %struct.ImVec2, align 4
  %186 = alloca %struct.ImVec2, align 4
  %187 = alloca i8, align 1
  %188 = alloca %struct.ImVec2, align 4
  %189 = alloca %struct.ImVec2, align 4
  %190 = alloca i32, align 4
  %191 = alloca %struct.ImVec2, align 4
  %192 = alloca i32, align 4
  %193 = alloca [32 x i8], align 16
  %194 = alloca %struct.ImVec2, align 4
  %195 = alloca %struct.ImVec4, align 4
  %196 = alloca %struct.ImVec4, align 4
  %197 = alloca %struct.ImVec2, align 4
  %198 = alloca %struct.ImVec2, align 4
  %199 = alloca %struct.ImVec2, align 4
  %200 = alloca [4 x ptr], align 16
  %201 = alloca i32, align 4
  %202 = alloca %struct.ImVec2, align 4
  %203 = alloca %struct.ImVec2, align 4
  %204 = alloca %struct.ImVec2, align 4
  %205 = alloca %struct.ImVec2, align 4
  %206 = alloca %struct.ImVec2, align 4
  %207 = alloca %struct.ImVec2, align 4
  %208 = alloca %struct.ImVec2, align 4
  %209 = alloca [5 x float], align 16
  %210 = alloca %struct.ImVec2, align 4
  %211 = alloca %struct.ImVec2, align 4
  %212 = alloca %struct.ImVec2, align 4
  %213 = alloca %struct.ImVec2, align 4
  %214 = alloca %struct.ImVec2, align 4
  %215 = alloca %struct.ImVec2, align 4
  %216 = alloca %struct.ImVec2, align 4
  %217 = alloca %struct.ImVec2, align 4
  %218 = alloca %struct.ImVec2, align 4
  %219 = alloca %struct.ImVec2, align 4
  %220 = alloca float, align 4
  %221 = alloca %struct.ImVec2, align 4
  %222 = alloca i32, align 4
  %223 = alloca i8, align 1
  %224 = alloca %struct.ImVec2, align 4
  %225 = alloca i32, align 4
  %226 = alloca %struct.ImVec2, align 4
  %227 = alloca %struct.ImVec2, align 4
  %228 = alloca i8, align 1
  %229 = alloca %struct.ImVec2, align 4
  %230 = alloca i32, align 4
  %231 = alloca %struct.ImVec2, align 4
  %232 = alloca %struct.ImVec2, align 4
  %233 = alloca i32, align 4
  %234 = alloca %struct.ImVec4, align 4
  %235 = alloca %struct.ImColor, align 4
  %236 = alloca float, align 4
  %237 = alloca float, align 4
  %238 = alloca %struct.ImVec2, align 4
  %239 = alloca %struct.ImVec2, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca i32, align 4
  %243 = alloca [16 x i8], align 16
  %244 = alloca ptr, align 8
  %245 = alloca float, align 4
  %246 = alloca %struct.ImVec4, align 4
  %247 = alloca %struct.ImColor, align 4
  %248 = alloca %struct.ImVec4, align 4
  %249 = alloca %struct.ImColor, align 4
  %250 = alloca %struct.ImVec4, align 4
  %251 = alloca %struct.ImColor, align 4
  %252 = alloca %struct.ImVec2, align 4
  %253 = alloca float, align 4
  %254 = alloca float, align 4
  %255 = alloca float, align 4
  %256 = alloca %struct.ImVec2, align 4
  %257 = alloca %struct.ImVec2, align 4
  %258 = alloca %struct.ImVec4, align 4
  %259 = alloca %struct.ImVec2, align 4
  %260 = alloca %struct.ImVec2, align 4
  %261 = alloca [5 x ptr], align 16
  %262 = alloca %struct.ImVec2, align 4
  %263 = alloca i32, align 4
  %264 = alloca %struct.ImVec2, align 4
  %265 = alloca %struct.ImVec2, align 4
  %266 = alloca i32, align 4
  %267 = alloca %struct.ImVec2, align 4
  %268 = alloca i32, align 4
  %269 = alloca %struct.ImVec2, align 4
  %270 = alloca %struct.ImVec2, align 4
  %271 = alloca %struct.ImVec2, align 4
  %272 = alloca [64 x i8], align 16
  %273 = alloca %struct.ImVec2, align 4
  %274 = alloca %struct.ImVec2, align 4
  %275 = alloca %struct.ImVec2, align 4
  %276 = alloca %struct.ImVec2, align 4
  %277 = alloca %struct.ImVec2, align 4
  %278 = alloca %struct.ImVec2, align 4
  %279 = alloca %struct.ImVec2, align 4
  %280 = alloca %struct.ImVec2, align 4
  %281 = alloca %struct.ImVec2, align 4
  %282 = alloca %struct.ImVec2, align 4
  %283 = alloca i32, align 4
  %284 = alloca [32 x i8], align 16
  %285 = alloca %struct.ImVec2, align 4
  %286 = alloca [3 x ptr], align 16
  %287 = alloca [3 x ptr], align 16
  %288 = alloca i32, align 4
  %289 = alloca [32 x i8], align 16
  %290 = alloca %struct.ImVec2, align 4
  %291 = alloca i8, align 1
  %292 = alloca %struct.ImVec2, align 4
  %293 = alloca %struct.ImVec2, align 4
  %294 = alloca %struct.ImVec2, align 4
  %295 = alloca i32, align 4
  %296 = alloca %struct.ImVec2, align 4
  %297 = alloca %struct.ImVec2, align 4
  %298 = alloca i32, align 4
  %299 = alloca %struct.ImGuiListClipper, align 4
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca i8, align 1
  %303 = alloca [8 x ptr], align 16
  %304 = alloca i32, align 4
  %305 = alloca ptr, align 8
  %306 = alloca i32, align 4
  %307 = alloca i32, align 4
  %308 = alloca i32, align 4
  %309 = alloca i32, align 4
  %310 = alloca i32, align 4
  %311 = alloca i32, align 4
  %312 = alloca i32, align 4
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca %struct.ImVec2, align 4
  %317 = alloca %struct.ImVec2, align 4
  %318 = alloca i8, align 1
  %319 = alloca %struct.ImVec2, align 4
  %320 = alloca i8, align 1
  %321 = alloca %struct.ImVec2, align 4
  %322 = alloca i8, align 1
  %323 = alloca %struct.ImVec2, align 4
  %324 = alloca i32, align 4
  %325 = alloca i32, align 4
  %326 = alloca %struct.ImVec2, align 4
  %327 = alloca %struct.ImVec2, align 4
  %328 = alloca %struct.ImVec2, align 4
  %329 = alloca i32, align 4
  %330 = alloca %struct.ImVec2, align 4
  %331 = alloca ptr, align 8
  %332 = alloca %struct.ImVec2, align 4
  %333 = alloca %struct.ImVec2, align 4
  %334 = alloca %struct.ImVec2, align 4
  %335 = alloca [8 x ptr], align 16
  %336 = alloca i32, align 4
  %337 = alloca [32 x i8], align 16
  %338 = alloca %struct.ImVec2, align 4
  store ptr %0, ptr %2, align 8, !tbaa !5
  %339 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_main_menu_bar, align 1, !tbaa !9, !range !11, !noundef !12
  %340 = trunc i8 %339 to i1
  br i1 %340, label %341, label %342

341:                                              ; preds = %1
  call void @_ZL25ShowExampleAppMainMenuBarv()
  br label %342

342:                                              ; preds = %341, %1
  %343 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_console, align 1, !tbaa !9, !range !11, !noundef !12
  %344 = trunc i8 %343 to i1
  br i1 %344, label %345, label %346

345:                                              ; preds = %342
  call void @_ZL21ShowExampleAppConsolePb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_console)
  br label %346

346:                                              ; preds = %345, %342
  %347 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12show_app_log, align 1, !tbaa !9, !range !11, !noundef !12
  %348 = trunc i8 %347 to i1
  br i1 %348, label %349, label %350

349:                                              ; preds = %346
  call void @_ZL17ShowExampleAppLogPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12show_app_log)
  br label %350

350:                                              ; preds = %349, %346
  %351 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE15show_app_layout, align 1, !tbaa !9, !range !11, !noundef !12
  %352 = trunc i8 %351 to i1
  br i1 %352, label %353, label %354

353:                                              ; preds = %350
  call void @_ZL20ShowExampleAppLayoutPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE15show_app_layout)
  br label %354

354:                                              ; preds = %353, %350
  %355 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE24show_app_property_editor, align 1, !tbaa !9, !range !11, !noundef !12
  %356 = trunc i8 %355 to i1
  br i1 %356, label %357, label %358

357:                                              ; preds = %354
  call void @_ZL28ShowExampleAppPropertyEditorPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE24show_app_property_editor)
  br label %358

358:                                              ; preds = %357, %354
  %359 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE18show_app_long_text, align 1, !tbaa !9, !range !11, !noundef !12
  %360 = trunc i8 %359 to i1
  br i1 %360, label %361, label %362

361:                                              ; preds = %358
  call void @_ZL22ShowExampleAppLongTextPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE18show_app_long_text)
  br label %362

362:                                              ; preds = %361, %358
  %363 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE20show_app_auto_resize, align 1, !tbaa !9, !range !11, !noundef !12
  %364 = trunc i8 %363 to i1
  br i1 %364, label %365, label %366

365:                                              ; preds = %362
  call void @_ZL24ShowExampleAppAutoResizePb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE20show_app_auto_resize)
  br label %366

366:                                              ; preds = %365, %362
  %367 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE27show_app_constrained_resize, align 1, !tbaa !9, !range !11, !noundef !12
  %368 = trunc i8 %367 to i1
  br i1 %368, label %369, label %370

369:                                              ; preds = %366
  call void @_ZL31ShowExampleAppConstrainedResizePb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE27show_app_constrained_resize)
  br label %370

370:                                              ; preds = %369, %366
  %371 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE23show_app_simple_overlay, align 1, !tbaa !9, !range !11, !noundef !12
  %372 = trunc i8 %371 to i1
  br i1 %372, label %373, label %374

373:                                              ; preds = %370
  call void @_ZL27ShowExampleAppSimpleOverlayPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE23show_app_simple_overlay)
  br label %374

374:                                              ; preds = %373, %370
  %375 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_window_titles, align 1, !tbaa !9, !range !11, !noundef !12
  %376 = trunc i8 %375 to i1
  br i1 %376, label %377, label %378

377:                                              ; preds = %374
  call void @_ZL26ShowExampleAppWindowTitlesPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_window_titles)
  br label %378

378:                                              ; preds = %377, %374
  %379 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE25show_app_custom_rendering, align 1, !tbaa !9, !range !11, !noundef !12
  %380 = trunc i8 %379 to i1
  br i1 %380, label %381, label %382

381:                                              ; preds = %378
  call void @_ZL29ShowExampleAppCustomRenderingPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE25show_app_custom_rendering)
  br label %382

382:                                              ; preds = %381, %378
  %383 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_metrics, align 1, !tbaa !9, !range !11, !noundef !12
  %384 = trunc i8 %383 to i1
  br i1 %384, label %385, label %386

385:                                              ; preds = %382
  call void @_ZN5ImGui17ShowMetricsWindowEPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_metrics)
  br label %386

386:                                              ; preds = %385, %382
  %387 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE21show_app_style_editor, align 1, !tbaa !9, !range !11, !noundef !12
  %388 = trunc i8 %387 to i1
  br i1 %388, label %389, label %391

389:                                              ; preds = %386
  %390 = call noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef @.str.15, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE21show_app_style_editor, i32 noundef 0)
  call void @_ZN5ImGui15ShowStyleEditorEP10ImGuiStyle(ptr noundef null)
  call void @_ZN5ImGui3EndEv()
  br label %391

391:                                              ; preds = %389, %386
  %392 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14show_app_about, align 1, !tbaa !9, !range !11, !noundef !12
  %393 = trunc i8 %392 to i1
  br i1 %393, label %394, label %397

394:                                              ; preds = %391
  %395 = call noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef @.str.16, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE14show_app_about, i32 noundef 64)
  %396 = call noundef ptr @_ZN5ImGui10GetVersionEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.17, ptr noundef %396)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.18)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.19)
  call void @_ZN5ImGui3EndEv()
  br label %397

397:                                              ; preds = %394, %391
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #8
  store i32 0, ptr %3, align 4, !tbaa !13
  %398 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11no_titlebar, align 1, !tbaa !9, !range !11, !noundef !12
  %399 = trunc i8 %398 to i1
  br i1 %399, label %400, label %403

400:                                              ; preds = %397
  %401 = load i32, ptr %3, align 4, !tbaa !13
  %402 = or i32 %401, 1
  store i32 %402, ptr %3, align 4, !tbaa !13
  br label %403

403:                                              ; preds = %400, %397
  %404 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12no_scrollbar, align 1, !tbaa !9, !range !11, !noundef !12
  %405 = trunc i8 %404 to i1
  br i1 %405, label %406, label %409

406:                                              ; preds = %403
  %407 = load i32, ptr %3, align 4, !tbaa !13
  %408 = or i32 %407, 8
  store i32 %408, ptr %3, align 4, !tbaa !13
  br label %409

409:                                              ; preds = %406, %403
  %410 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7no_menu, align 1, !tbaa !9, !range !11, !noundef !12
  %411 = trunc i8 %410 to i1
  br i1 %411, label %415, label %412

412:                                              ; preds = %409
  %413 = load i32, ptr %3, align 4, !tbaa !13
  %414 = or i32 %413, 1024
  store i32 %414, ptr %3, align 4, !tbaa !13
  br label %415

415:                                              ; preds = %412, %409
  %416 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7no_move, align 1, !tbaa !9, !range !11, !noundef !12
  %417 = trunc i8 %416 to i1
  br i1 %417, label %418, label %421

418:                                              ; preds = %415
  %419 = load i32, ptr %3, align 4, !tbaa !13
  %420 = or i32 %419, 4
  store i32 %420, ptr %3, align 4, !tbaa !13
  br label %421

421:                                              ; preds = %418, %415
  %422 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9no_resize, align 1, !tbaa !9, !range !11, !noundef !12
  %423 = trunc i8 %422 to i1
  br i1 %423, label %424, label %427

424:                                              ; preds = %421
  %425 = load i32, ptr %3, align 4, !tbaa !13
  %426 = or i32 %425, 2
  store i32 %426, ptr %3, align 4, !tbaa !13
  br label %427

427:                                              ; preds = %424, %421
  %428 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11no_collapse, align 1, !tbaa !9, !range !11, !noundef !12
  %429 = trunc i8 %428 to i1
  br i1 %429, label %430, label %433

430:                                              ; preds = %427
  %431 = load i32, ptr %3, align 4, !tbaa !13
  %432 = or i32 %431, 32
  store i32 %432, ptr %3, align 4, !tbaa !13
  br label %433

433:                                              ; preds = %430, %427
  %434 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6no_nav, align 1, !tbaa !9, !range !11, !noundef !12
  %435 = trunc i8 %434 to i1
  br i1 %435, label %436, label %439

436:                                              ; preds = %433
  %437 = load i32, ptr %3, align 4, !tbaa !13
  %438 = or i32 %437, 786432
  store i32 %438, ptr %3, align 4, !tbaa !13
  br label %439

439:                                              ; preds = %436, %433
  %440 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8no_close, align 1, !tbaa !9, !range !11, !noundef !12
  %441 = trunc i8 %440 to i1
  br i1 %441, label %442, label %443

442:                                              ; preds = %439
  store ptr null, ptr %2, align 8, !tbaa !5
  br label %443

443:                                              ; preds = %442, %439
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %4, float noundef 5.500000e+02, float noundef 6.800000e+02)
  call void @_ZN5ImGui17SetNextWindowSizeERK6ImVec2i(ptr noundef nonnull align 4 dereferenceable(8) %4, i32 noundef 4)
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #8
  %444 = load ptr, ptr %2, align 8, !tbaa !5
  %445 = load i32, ptr %3, align 4, !tbaa !13
  %446 = call noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef @.str.20, ptr noundef %444, i32 noundef %445)
  br i1 %446, label %448, label %447

447:                                              ; preds = %443
  call void @_ZN5ImGui3EndEv()
  store i32 1, ptr %5, align 4
  br label %3516

448:                                              ; preds = %443
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.21, ptr noundef @.str.22)
  %449 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %450 = fmul float %449, -1.200000e+01
  call void @_ZN5ImGui13PushItemWidthEf(float noundef %450)
  %451 = call noundef zeroext i1 @_ZN5ImGui12BeginMenuBarEv()
  br i1 %451, label %452, label %476

452:                                              ; preds = %448
  %453 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef @.str.23, i1 noundef zeroext true)
  br i1 %453, label %454, label %455

454:                                              ; preds = %452
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui7EndMenuEv()
  br label %455

455:                                              ; preds = %454, %452
  %456 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef @.str.24, i1 noundef zeroext true)
  br i1 %456, label %457, label %469

457:                                              ; preds = %455
  %458 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.25, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_main_menu_bar, i1 noundef zeroext true)
  %459 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.26, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_console, i1 noundef zeroext true)
  %460 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.27, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12show_app_log, i1 noundef zeroext true)
  %461 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.28, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE15show_app_layout, i1 noundef zeroext true)
  %462 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.29, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE24show_app_property_editor, i1 noundef zeroext true)
  %463 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.30, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE18show_app_long_text, i1 noundef zeroext true)
  %464 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.31, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE20show_app_auto_resize, i1 noundef zeroext true)
  %465 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.32, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE27show_app_constrained_resize, i1 noundef zeroext true)
  %466 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.33, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE23show_app_simple_overlay, i1 noundef zeroext true)
  %467 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.34, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_window_titles, i1 noundef zeroext true)
  %468 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.35, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE25show_app_custom_rendering, i1 noundef zeroext true)
  call void @_ZN5ImGui7EndMenuEv()
  br label %469

469:                                              ; preds = %457, %455
  %470 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef @.str.36, i1 noundef zeroext true)
  br i1 %470, label %471, label %475

471:                                              ; preds = %469
  %472 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.37, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_metrics, i1 noundef zeroext true)
  %473 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.15, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE21show_app_style_editor, i1 noundef zeroext true)
  %474 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.16, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE14show_app_about, i1 noundef zeroext true)
  call void @_ZN5ImGui7EndMenuEv()
  br label %475

475:                                              ; preds = %471, %469
  call void @_ZN5ImGui10EndMenuBarEv()
  br label %476

476:                                              ; preds = %475, %448
  call void @_ZN5ImGui7SpacingEv()
  %477 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.36, i32 noundef 0)
  br i1 %477, label %478, label %479

478:                                              ; preds = %476
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.38)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.39)
  call void @_ZN5ImGui13ShowUserGuideEv()
  br label %479

479:                                              ; preds = %478, %476
  %480 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.40, i32 noundef 0)
  br i1 %480, label %481, label %496

481:                                              ; preds = %479
  %482 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.41, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE11no_titlebar)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %483 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.42, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12no_scrollbar)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  %484 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.43, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE7no_menu)
  %485 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.44, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE7no_move)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %486 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.45, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9no_resize)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  %487 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.46, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE11no_collapse)
  %488 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.47, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE8no_close)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %489 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.48, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE6no_nav)
  %490 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.49)
  br i1 %490, label %491, label %492

491:                                              ; preds = %481
  call void @_ZN5ImGui15ShowStyleEditorEP10ImGuiStyle(ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  br label %492

492:                                              ; preds = %491, %481
  %493 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.50)
  br i1 %493, label %494, label %495

494:                                              ; preds = %492
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.51)
  call void @_ZN5ImGui10LogButtonsEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %495

495:                                              ; preds = %494, %492
  br label %496

496:                                              ; preds = %495, %479
  %497 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.52, i32 noundef 0)
  br i1 %497, label %498, label %2103

498:                                              ; preds = %496
  %499 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.53)
  br i1 %499, label %500, label %615

500:                                              ; preds = %498
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %6, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %501 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.54, ptr noundef nonnull align 4 dereferenceable(8) %6)
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #8
  br i1 %501, label %502, label %505

502:                                              ; preds = %500
  %503 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7clicked, align 4, !tbaa !13
  %504 = add nsw i32 %503, 1
  store i32 %504, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7clicked, align 4, !tbaa !13
  br label %505

505:                                              ; preds = %502, %500
  %506 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7clicked, align 4, !tbaa !13
  %507 = and i32 %506, 1
  %508 = icmp ne i32 %507, 0
  br i1 %508, label %509, label %510

509:                                              ; preds = %505
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.55)
  br label %510

510:                                              ; preds = %509, %505
  %511 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.56, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5check)
  %512 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.57, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1e, i32 noundef 0)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %513 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.58, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1e, i32 noundef 1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %514 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.59, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1e, i32 noundef 2)
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #8
  store i32 0, ptr %7, align 4, !tbaa !13
  br label %515

515:                                              ; preds = %568, %510
  %516 = load i32, ptr %7, align 4, !tbaa !13
  %517 = icmp slt i32 %516, 7
  br i1 %517, label %519, label %518

518:                                              ; preds = %515
  store i32 2, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #8
  br label %571

519:                                              ; preds = %515
  %520 = load i32, ptr %7, align 4, !tbaa !13
  %521 = icmp sgt i32 %520, 0
  br i1 %521, label %522, label %523

522:                                              ; preds = %519
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %523

523:                                              ; preds = %522, %519
  %524 = load i32, ptr %7, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %524)
  call void @llvm.lifetime.start.p0(i64 16, ptr %8) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %9) #8
  %525 = load i32, ptr %7, align 4, !tbaa !13
  %526 = sitofp i32 %525 to float
  %527 = fdiv float %526, 7.000000e+00
  %528 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %527, float noundef 0x3FE3333340000000, float noundef 0x3FE3333340000000, float noundef 1.000000e+00)
  %529 = getelementptr inbounds %struct.ImColor, ptr %9, i32 0, i32 0
  %530 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %529, i32 0, i32 0
  %531 = extractvalue { <2 x float>, <2 x float> } %528, 0
  store <2 x float> %531, ptr %530, align 4
  %532 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %529, i32 0, i32 1
  %533 = extractvalue { <2 x float>, <2 x float> } %528, 1
  store <2 x float> %533, ptr %532, align 4
  %534 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %9)
  %535 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %8, i32 0, i32 0
  %536 = extractvalue { <2 x float>, <2 x float> } %534, 0
  store <2 x float> %536, ptr %535, align 4
  %537 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %8, i32 0, i32 1
  %538 = extractvalue { <2 x float>, <2 x float> } %534, 1
  store <2 x float> %538, ptr %537, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 21, ptr noundef nonnull align 4 dereferenceable(16) %8)
  call void @llvm.lifetime.end.p0(i64 16, ptr %9) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %8) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %10) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %11) #8
  %539 = load i32, ptr %7, align 4, !tbaa !13
  %540 = sitofp i32 %539 to float
  %541 = fdiv float %540, 7.000000e+00
  %542 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %541, float noundef 0x3FE6666660000000, float noundef 0x3FE6666660000000, float noundef 1.000000e+00)
  %543 = getelementptr inbounds %struct.ImColor, ptr %11, i32 0, i32 0
  %544 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %543, i32 0, i32 0
  %545 = extractvalue { <2 x float>, <2 x float> } %542, 0
  store <2 x float> %545, ptr %544, align 4
  %546 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %543, i32 0, i32 1
  %547 = extractvalue { <2 x float>, <2 x float> } %542, 1
  store <2 x float> %547, ptr %546, align 4
  %548 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %11)
  %549 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %10, i32 0, i32 0
  %550 = extractvalue { <2 x float>, <2 x float> } %548, 0
  store <2 x float> %550, ptr %549, align 4
  %551 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %10, i32 0, i32 1
  %552 = extractvalue { <2 x float>, <2 x float> } %548, 1
  store <2 x float> %552, ptr %551, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 22, ptr noundef nonnull align 4 dereferenceable(16) %10)
  call void @llvm.lifetime.end.p0(i64 16, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %10) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %13) #8
  %553 = load i32, ptr %7, align 4, !tbaa !13
  %554 = sitofp i32 %553 to float
  %555 = fdiv float %554, 7.000000e+00
  %556 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %555, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, float noundef 1.000000e+00)
  %557 = getelementptr inbounds %struct.ImColor, ptr %13, i32 0, i32 0
  %558 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %557, i32 0, i32 0
  %559 = extractvalue { <2 x float>, <2 x float> } %556, 0
  store <2 x float> %559, ptr %558, align 4
  %560 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %557, i32 0, i32 1
  %561 = extractvalue { <2 x float>, <2 x float> } %556, 1
  store <2 x float> %561, ptr %560, align 4
  %562 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %13)
  %563 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %12, i32 0, i32 0
  %564 = extractvalue { <2 x float>, <2 x float> } %562, 0
  store <2 x float> %564, ptr %563, align 4
  %565 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %12, i32 0, i32 1
  %566 = extractvalue { <2 x float>, <2 x float> } %562, 1
  store <2 x float> %566, ptr %565, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 23, ptr noundef nonnull align 4 dereferenceable(16) %12)
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %14, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %567 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.60, ptr noundef nonnull align 4 dereferenceable(8) %14)
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 3)
  call void @_ZN5ImGui5PopIDEv()
  br label %568

568:                                              ; preds = %523
  %569 = load i32, ptr %7, align 4, !tbaa !13
  %570 = add nsw i32 %569, 1
  store i32 %570, ptr %7, align 4, !tbaa !13
  br label %515, !llvm.loop !15

571:                                              ; preds = %518
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #8
  %572 = call noundef nonnull align 4 dereferenceable(824) ptr @_ZN5ImGui8GetStyleEv()
  %573 = getelementptr inbounds %struct.ImGuiStyle, ptr %572, i32 0, i32 14
  %574 = getelementptr inbounds %struct.ImVec2, ptr %573, i32 0, i32 0
  %575 = load float, ptr %574, align 4, !tbaa !17
  store float %575, ptr %15, align 4, !tbaa !21
  call void @_ZN5ImGui16PushButtonRepeatEb(i1 noundef zeroext true)
  %576 = call noundef zeroext i1 @_ZN5ImGui11ArrowButtonEPKci(ptr noundef @.str.61, i32 noundef 0)
  br i1 %576, label %577, label %580

577:                                              ; preds = %571
  %578 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !13
  %579 = add nsw i32 %578, -1
  store i32 %579, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !13
  br label %580

580:                                              ; preds = %577, %571
  %581 = load float, ptr %15, align 4, !tbaa !21
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %581)
  %582 = call noundef zeroext i1 @_ZN5ImGui11ArrowButtonEPKci(ptr noundef @.str.62, i32 noundef 1)
  br i1 %582, label %583, label %586

583:                                              ; preds = %580
  %584 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !13
  %585 = add nsw i32 %584, 1
  store i32 %585, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !13
  br label %586

586:                                              ; preds = %583, %580
  call void @_ZN5ImGui15PopButtonRepeatEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %587 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.63, i32 noundef %587)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.64)
  %588 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %588, label %589, label %590

589:                                              ; preds = %586
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef @.str.65)
  br label %590

590:                                              ; preds = %589, %586
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.66)
  %591 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %591, label %592, label %594

592:                                              ; preds = %590
  call void @_ZN5ImGui12BeginTooltipEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.67)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %16, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %593 = load <2 x float>, ptr %16, align 4
  call void @_ZN5ImGui9PlotLinesEPKcPKfiiS1_ff6ImVec2i(ptr noundef @.str.68, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3arr, i32 noundef 7, i32 noundef 0, ptr noundef null, float noundef 0x47EFFFFFE0000000, float noundef 0x47EFFFFFE0000000, <2 x float> %593, i32 noundef 4)
  call void @_ZN5ImGui10EndTooltipEv()
  br label %594

594:                                              ; preds = %592, %590
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ptr, ...) @_ZN5ImGui9LabelTextEPKcS1_z(ptr noundef @.str.69, ptr noundef @.str.70)
  call void @llvm.lifetime.start.p0(i64 112, ptr %17) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %17, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.items, i64 112, i1 false)
  %595 = getelementptr inbounds [14 x ptr], ptr %17, i64 0, i64 0
  %596 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef @.str.85, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12item_current, ptr noundef %595, i32 noundef 14, i32 noundef -1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.86)
  call void @llvm.lifetime.end.p0(i64 112, ptr %17) #8
  %597 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.87, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4str0, i64 noundef 128, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.88)
  %598 = call noundef zeroext i1 @_ZN5ImGui8InputIntEPKcPiiii(ptr noundef @.str.89, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2i0, i32 noundef 1, i32 noundef 100, i32 noundef 0)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.90)
  %599 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef @.str.91, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f0, float noundef 0x3F847AE140000000, float noundef 1.000000e+00, ptr noundef @.str.92, i32 noundef 0)
  %600 = call noundef zeroext i1 @_ZN5ImGui11InputDoubleEPKcPdddS1_i(ptr noundef @.str.93, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2d0, double noundef 0x3F847AE140000000, double noundef 1.000000e+00, ptr noundef @.str.94, i32 noundef 0)
  %601 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef @.str.95, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f1, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.96, i32 noundef 0)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.97)
  %602 = call noundef zeroext i1 @_ZN5ImGui11InputFloat3EPKcPfS1_i(ptr noundef @.str.98, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4a, ptr noundef @.str.92, i32 noundef 0)
  %603 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef @.str.99, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2i1, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 0, ptr noundef @.str.63)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.100)
  %604 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef @.str.101, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2i2, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 100, ptr noundef @.str.102)
  %605 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.103, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f1_0, float noundef 0x3F747AE140000000, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  %606 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.104, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f2, float noundef 0x3F1A36E2E0000000, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.105, float noundef 1.000000e+00)
  %607 = call noundef zeroext i1 @_ZN5ImGui9SliderIntEPKcPiiiS1_(ptr noundef @.str.106, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2i1_0, i32 noundef -1, i32 noundef 3, ptr noundef @.str.63)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.107)
  %608 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef @.str.108, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f1_1, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.109, float noundef 1.000000e+00)
  %609 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef @.str.110, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f2_0, float noundef -1.000000e+01, float noundef 1.000000e+01, ptr noundef @.str.111, float noundef 2.000000e+00)
  %610 = call noundef zeroext i1 @_ZN5ImGui11SliderAngleEPKcPfff(ptr noundef @.str.112, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5angle, float noundef -3.600000e+02, float noundef 3.600000e+02)
  %611 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit3EPKcPfi(ptr noundef @.str.113, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4col1, i32 noundef 0)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.114)
  %612 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.115, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4col2, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 72, ptr %18) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %18, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.listbox_items, i64 72, i1 false)
  %613 = getelementptr inbounds [9 x ptr], ptr %18, i64 0, i64 0
  %614 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef @.str.125, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE20listbox_item_current, ptr noundef %613, i32 noundef 9, i32 noundef 4)
  call void @llvm.lifetime.end.p0(i64 72, ptr %18) #8
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #8
  br label %615

615:                                              ; preds = %594, %498
  %616 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.126)
  br i1 %616, label %617, label %722

617:                                              ; preds = %615
  %618 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.127)
  br i1 %618, label %619, label %639

619:                                              ; preds = %617
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #8
  store i32 0, ptr %19, align 4, !tbaa !13
  br label %620

620:                                              ; preds = %635, %619
  %621 = load i32, ptr %19, align 4, !tbaa !13
  %622 = icmp slt i32 %621, 5
  br i1 %622, label %624, label %623

623:                                              ; preds = %620
  store i32 5, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #8
  br label %638

624:                                              ; preds = %620
  %625 = load i32, ptr %19, align 4, !tbaa !13
  %626 = sext i32 %625 to i64
  %627 = inttoptr i64 %626 to ptr
  %628 = load i32, ptr %19, align 4, !tbaa !13
  %629 = call noundef zeroext i1 (ptr, ptr, ...) @_ZN5ImGui8TreeNodeEPKvPKcz(ptr noundef %627, ptr noundef @.str.128, i32 noundef %628)
  br i1 %629, label %630, label %634

630:                                              ; preds = %624
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.129)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %631 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.130)
  br i1 %631, label %632, label %633

632:                                              ; preds = %630
  br label %633

633:                                              ; preds = %632, %630
  call void @_ZN5ImGui7TreePopEv()
  br label %634

634:                                              ; preds = %633, %624
  br label %635

635:                                              ; preds = %634
  %636 = load i32, ptr %19, align 4, !tbaa !13
  %637 = add nsw i32 %636, 1
  store i32 %637, ptr %19, align 4, !tbaa !13
  br label %620, !llvm.loop !22

638:                                              ; preds = %623
  call void @_ZN5ImGui7TreePopEv()
  br label %639

639:                                              ; preds = %638, %617
  %640 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.131)
  br i1 %640, label %641, label %721

641:                                              ; preds = %639
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.132)
  %642 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.133, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.134)
  %643 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position, align 1, !tbaa !9, !range !11, !noundef !12
  %644 = trunc i8 %643 to i1
  br i1 %644, label %645, label %647

645:                                              ; preds = %641
  %646 = call noundef float @_ZN5ImGui25GetTreeNodeToLabelSpacingEv()
  call void @_ZN5ImGui8UnindentEf(float noundef %646)
  br label %647

647:                                              ; preds = %645, %641
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #8
  store i32 -1, ptr %20, align 4, !tbaa !13
  %648 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %649 = fmul float %648, 3.000000e+00
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 15, float noundef %649)
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #8
  store i32 0, ptr %21, align 4, !tbaa !13
  br label %650

650:                                              ; preds = %695, %647
  %651 = load i32, ptr %21, align 4, !tbaa !13
  %652 = icmp slt i32 %651, 6
  br i1 %652, label %654, label %653

653:                                              ; preds = %650
  store i32 8, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #8
  br label %698

654:                                              ; preds = %650
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #8
  %655 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !13
  %656 = load i32, ptr %21, align 4, !tbaa !13
  %657 = shl i32 1, %656
  %658 = and i32 %655, %657
  %659 = icmp ne i32 %658, 0
  %660 = zext i1 %659 to i64
  %661 = select i1 %659, i32 1, i32 0
  %662 = or i32 192, %661
  store i32 %662, ptr %22, align 4, !tbaa !13
  %663 = load i32, ptr %21, align 4, !tbaa !13
  %664 = icmp slt i32 %663, 3
  br i1 %664, label %665, label %681

665:                                              ; preds = %654
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #8
  %666 = load i32, ptr %21, align 4, !tbaa !13
  %667 = sext i32 %666 to i64
  %668 = inttoptr i64 %667 to ptr
  %669 = load i32, ptr %22, align 4, !tbaa !13
  %670 = load i32, ptr %21, align 4, !tbaa !13
  %671 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef %668, i32 noundef %669, ptr noundef @.str.135, i32 noundef %670)
  %672 = zext i1 %671 to i8
  store i8 %672, ptr %23, align 1, !tbaa !9
  %673 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  br i1 %673, label %674, label %676

674:                                              ; preds = %665
  %675 = load i32, ptr %21, align 4, !tbaa !13
  store i32 %675, ptr %20, align 4, !tbaa !13
  br label %676

676:                                              ; preds = %674, %665
  %677 = load i8, ptr %23, align 1, !tbaa !9, !range !11, !noundef !12
  %678 = trunc i8 %677 to i1
  br i1 %678, label %679, label %680

679:                                              ; preds = %676
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.136)
  call void @_ZN5ImGui7TreePopEv()
  br label %680

680:                                              ; preds = %679, %676
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #8
  br label %694

681:                                              ; preds = %654
  %682 = load i32, ptr %22, align 4, !tbaa !13
  %683 = or i32 %682, 264
  store i32 %683, ptr %22, align 4, !tbaa !13
  %684 = load i32, ptr %21, align 4, !tbaa !13
  %685 = sext i32 %684 to i64
  %686 = inttoptr i64 %685 to ptr
  %687 = load i32, ptr %22, align 4, !tbaa !13
  %688 = load i32, ptr %21, align 4, !tbaa !13
  %689 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef %686, i32 noundef %687, ptr noundef @.str.137, i32 noundef %688)
  %690 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  br i1 %690, label %691, label %693

691:                                              ; preds = %681
  %692 = load i32, ptr %21, align 4, !tbaa !13
  store i32 %692, ptr %20, align 4, !tbaa !13
  br label %693

693:                                              ; preds = %691, %681
  br label %694

694:                                              ; preds = %693, %680
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #8
  br label %695

695:                                              ; preds = %694
  %696 = load i32, ptr %21, align 4, !tbaa !13
  %697 = add nsw i32 %696, 1
  store i32 %697, ptr %21, align 4, !tbaa !13
  br label %650, !llvm.loop !23

698:                                              ; preds = %653
  %699 = load i32, ptr %20, align 4, !tbaa !13
  %700 = icmp ne i32 %699, -1
  br i1 %700, label %701, label %715

701:                                              ; preds = %698
  %702 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %703 = getelementptr inbounds %struct.ImGuiIO, ptr %702, i32 0, i32 34
  %704 = load i8, ptr %703, align 1, !tbaa !24, !range !11, !noundef !12
  %705 = trunc i8 %704 to i1
  br i1 %705, label %706, label %711

706:                                              ; preds = %701
  %707 = load i32, ptr %20, align 4, !tbaa !13
  %708 = shl i32 1, %707
  %709 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !13
  %710 = xor i32 %709, %708
  store i32 %710, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !13
  br label %714

711:                                              ; preds = %701
  %712 = load i32, ptr %20, align 4, !tbaa !13
  %713 = shl i32 1, %712
  store i32 %713, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !13
  br label %714

714:                                              ; preds = %711, %706
  br label %715

715:                                              ; preds = %714, %698
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  %716 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position, align 1, !tbaa !9, !range !11, !noundef !12
  %717 = trunc i8 %716 to i1
  br i1 %717, label %718, label %720

718:                                              ; preds = %715
  %719 = call noundef float @_ZN5ImGui25GetTreeNodeToLabelSpacingEv()
  call void @_ZN5ImGui6IndentEf(float noundef %719)
  br label %720

720:                                              ; preds = %718, %715
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #8
  br label %721

721:                                              ; preds = %720, %639
  call void @_ZN5ImGui7TreePopEv()
  br label %722

722:                                              ; preds = %721, %615
  %723 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.138)
  br i1 %723, label %724, label %756

724:                                              ; preds = %722
  %725 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.139, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE14closable_group)
  %726 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.140, i32 noundef 0)
  br i1 %726, label %727, label %740

727:                                              ; preds = %724
  %728 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %729 = zext i1 %728 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.141, i32 noundef %729)
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #8
  store i32 0, ptr %24, align 4, !tbaa !13
  br label %730

730:                                              ; preds = %736, %727
  %731 = load i32, ptr %24, align 4, !tbaa !13
  %732 = icmp slt i32 %731, 5
  br i1 %732, label %734, label %733

733:                                              ; preds = %730
  store i32 11, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #8
  br label %739

734:                                              ; preds = %730
  %735 = load i32, ptr %24, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.142, i32 noundef %735)
  br label %736

736:                                              ; preds = %734
  %737 = load i32, ptr %24, align 4, !tbaa !13
  %738 = add nsw i32 %737, 1
  store i32 %738, ptr %24, align 4, !tbaa !13
  br label %730, !llvm.loop !26

739:                                              ; preds = %733
  br label %740

740:                                              ; preds = %739, %724
  %741 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKcPbi(ptr noundef @.str.143, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE14closable_group, i32 noundef 0)
  br i1 %741, label %742, label %755

742:                                              ; preds = %740
  %743 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %744 = zext i1 %743 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.141, i32 noundef %744)
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #8
  store i32 0, ptr %25, align 4, !tbaa !13
  br label %745

745:                                              ; preds = %751, %742
  %746 = load i32, ptr %25, align 4, !tbaa !13
  %747 = icmp slt i32 %746, 5
  br i1 %747, label %749, label %748

748:                                              ; preds = %745
  store i32 14, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #8
  br label %754

749:                                              ; preds = %745
  %750 = load i32, ptr %25, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.144, i32 noundef %750)
  br label %751

751:                                              ; preds = %749
  %752 = load i32, ptr %25, align 4, !tbaa !13
  %753 = add nsw i32 %752, 1
  store i32 %753, ptr %25, align 4, !tbaa !13
  br label %745, !llvm.loop !27

754:                                              ; preds = %748
  br label %755

755:                                              ; preds = %754, %740
  call void @_ZN5ImGui7TreePopEv()
  br label %756

756:                                              ; preds = %755, %722
  %757 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.145)
  br i1 %757, label %758, label %760

758:                                              ; preds = %756
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.146)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.147)
  call void @_ZN5ImGui6BulletEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.148)
  call void @_ZN5ImGui6BulletEv()
  %759 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.54)
  call void @_ZN5ImGui7TreePopEv()
  br label %760

760:                                              ; preds = %758, %756
  %761 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.149)
  br i1 %761, label %762, label %826

762:                                              ; preds = %760
  %763 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.150)
  br i1 %763, label %764, label %765

764:                                              ; preds = %762
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #8
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %26, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00, float noundef 1.000000e+00)
  call void (ptr, ptr, ...) @_ZN5ImGui11TextColoredERK6ImVec4PKcz(ptr noundef nonnull align 4 dereferenceable(16) %26, ptr noundef @.str.151)
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #8
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %27, float noundef 1.000000e+00, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
  call void (ptr, ptr, ...) @_ZN5ImGui11TextColoredERK6ImVec4PKcz(ptr noundef nonnull align 4 dereferenceable(16) %27, ptr noundef @.str.152)
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #8
  call void (ptr, ...) @_ZN5ImGui12TextDisabledEPKcz(ptr noundef @.str.153)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.154)
  call void @_ZN5ImGui7TreePopEv()
  br label %765

765:                                              ; preds = %764, %762
  %766 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.155)
  br i1 %766, label %767, label %821

767:                                              ; preds = %765
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.156)
  call void @_ZN5ImGui7SpacingEv()
  %768 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef @.str.157, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, float noundef -2.000000e+01, float noundef 6.000000e+02, ptr noundef @.str.158, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.159)
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #8
  %769 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  store <2 x float> %769, ptr %28, align 4
  %770 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #8
  %771 = getelementptr inbounds %struct.ImVec2, ptr %28, i32 0, i32 0
  %772 = load float, ptr %771, align 4, !tbaa !28
  %773 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !21
  %774 = fadd float %772, %773
  %775 = getelementptr inbounds %struct.ImVec2, ptr %28, i32 0, i32 1
  %776 = load float, ptr %775, align 4, !tbaa !29
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %29, float noundef %774, float noundef %776)
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #8
  %777 = getelementptr inbounds %struct.ImVec2, ptr %28, i32 0, i32 0
  %778 = load float, ptr %777, align 4, !tbaa !28
  %779 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !21
  %780 = fadd float %778, %779
  %781 = fadd float %780, 1.000000e+01
  %782 = getelementptr inbounds %struct.ImVec2, ptr %28, i32 0, i32 1
  %783 = load float, ptr %782, align 4, !tbaa !29
  %784 = call noundef float @_ZN5ImGui17GetTextLineHeightEv()
  %785 = fadd float %783, %784
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %30, float noundef %781, float noundef %785)
  call void @_ZN10ImDrawList13AddRectFilledERK6ImVec2S2_jfi(ptr noundef nonnull align 8 dereferenceable(168) %770, ptr noundef nonnull align 4 dereferenceable(8) %29, ptr noundef nonnull align 4 dereferenceable(8) %30, i32 noundef -65281, float noundef 0.000000e+00, i32 noundef 15)
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #8
  %786 = call <2 x float> @_ZN5ImGui12GetCursorPosEv()
  store <2 x float> %786, ptr %31, align 4
  %787 = getelementptr inbounds %struct.ImVec2, ptr %31, i32 0, i32 0
  %788 = load float, ptr %787, align 4, !tbaa !28
  %789 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !21
  %790 = fadd float %788, %789
  call void @_ZN5ImGui15PushTextWrapPosEf(float noundef %790)
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  %791 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !21
  %792 = fpext float %791 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.160, double noundef %792)
  %793 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #8
  %794 = call <2 x float> @_ZN5ImGui14GetItemRectMinEv()
  store <2 x float> %794, ptr %32, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #8
  %795 = call <2 x float> @_ZN5ImGui14GetItemRectMaxEv()
  store <2 x float> %795, ptr %33, align 4
  call void @_ZN10ImDrawList7AddRectERK6ImVec2S2_jfif(ptr noundef nonnull align 8 dereferenceable(168) %793, ptr noundef nonnull align 4 dereferenceable(8) %32, ptr noundef nonnull align 4 dereferenceable(8) %33, i32 noundef -16711681, float noundef 0.000000e+00, i32 noundef 15, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #8
  call void @_ZN5ImGui14PopTextWrapPosEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.161)
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #8
  %796 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  store <2 x float> %796, ptr %34, align 4
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %28, ptr align 4 %34, i64 8, i1 false), !tbaa.struct !30
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #8
  %797 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #8
  %798 = getelementptr inbounds %struct.ImVec2, ptr %28, i32 0, i32 0
  %799 = load float, ptr %798, align 4, !tbaa !28
  %800 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !21
  %801 = fadd float %799, %800
  %802 = getelementptr inbounds %struct.ImVec2, ptr %28, i32 0, i32 1
  %803 = load float, ptr %802, align 4, !tbaa !29
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %35, float noundef %801, float noundef %803)
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #8
  %804 = getelementptr inbounds %struct.ImVec2, ptr %28, i32 0, i32 0
  %805 = load float, ptr %804, align 4, !tbaa !28
  %806 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !21
  %807 = fadd float %805, %806
  %808 = fadd float %807, 1.000000e+01
  %809 = getelementptr inbounds %struct.ImVec2, ptr %28, i32 0, i32 1
  %810 = load float, ptr %809, align 4, !tbaa !29
  %811 = call noundef float @_ZN5ImGui17GetTextLineHeightEv()
  %812 = fadd float %810, %811
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %36, float noundef %808, float noundef %812)
  call void @_ZN10ImDrawList13AddRectFilledERK6ImVec2S2_jfi(ptr noundef nonnull align 8 dereferenceable(168) %797, ptr noundef nonnull align 4 dereferenceable(8) %35, ptr noundef nonnull align 4 dereferenceable(8) %36, i32 noundef -65281, float noundef 0.000000e+00, i32 noundef 15)
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #8
  %813 = call <2 x float> @_ZN5ImGui12GetCursorPosEv()
  store <2 x float> %813, ptr %37, align 4
  %814 = getelementptr inbounds %struct.ImVec2, ptr %37, i32 0, i32 0
  %815 = load float, ptr %814, align 4, !tbaa !28
  %816 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !21
  %817 = fadd float %815, %816
  call void @_ZN5ImGui15PushTextWrapPosEf(float noundef %817)
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.162)
  %818 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #8
  %819 = call <2 x float> @_ZN5ImGui14GetItemRectMinEv()
  store <2 x float> %819, ptr %38, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #8
  %820 = call <2 x float> @_ZN5ImGui14GetItemRectMaxEv()
  store <2 x float> %820, ptr %39, align 4
  call void @_ZN10ImDrawList7AddRectERK6ImVec2S2_jfif(ptr noundef nonnull align 8 dereferenceable(168) %818, ptr noundef nonnull align 4 dereferenceable(8) %38, ptr noundef nonnull align 4 dereferenceable(8) %39, i32 noundef -16711681, float noundef 0.000000e+00, i32 noundef 15, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  call void @_ZN5ImGui14PopTextWrapPosEv()
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  br label %821

821:                                              ; preds = %767, %765
  %822 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.163)
  br i1 %822, label %823, label %825

823:                                              ; preds = %821
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.164)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.165)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.166)
  %824 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.167, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  br label %825

825:                                              ; preds = %823, %821
  call void @_ZN5ImGui7TreePopEv()
  br label %826

826:                                              ; preds = %825, %760
  %827 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.168)
  br i1 %827, label %828, label %992

828:                                              ; preds = %826
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #8
  %829 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  store ptr %829, ptr %40, align 8, !tbaa !5
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.169)
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #8
  %830 = load ptr, ptr %40, align 8, !tbaa !5
  %831 = getelementptr inbounds %struct.ImGuiIO, ptr %830, i32 0, i32 14
  %832 = load ptr, ptr %831, align 8, !tbaa !31
  %833 = getelementptr inbounds %struct.ImFontAtlas, ptr %832, i32 0, i32 2
  %834 = load ptr, ptr %833, align 8, !tbaa !32
  store ptr %834, ptr %41, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #8
  %835 = load ptr, ptr %40, align 8, !tbaa !5
  %836 = getelementptr inbounds %struct.ImGuiIO, ptr %835, i32 0, i32 14
  %837 = load ptr, ptr %836, align 8, !tbaa !31
  %838 = getelementptr inbounds %struct.ImFontAtlas, ptr %837, i32 0, i32 7
  %839 = load i32, ptr %838, align 8, !tbaa !37
  %840 = sitofp i32 %839 to float
  store float %840, ptr %42, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #8
  %841 = load ptr, ptr %40, align 8, !tbaa !5
  %842 = getelementptr inbounds %struct.ImGuiIO, ptr %841, i32 0, i32 14
  %843 = load ptr, ptr %842, align 8, !tbaa !31
  %844 = getelementptr inbounds %struct.ImFontAtlas, ptr %843, i32 0, i32 8
  %845 = load i32, ptr %844, align 4, !tbaa !38
  %846 = sitofp i32 %845 to float
  store float %846, ptr %43, align 4, !tbaa !21
  %847 = load float, ptr %42, align 4, !tbaa !21
  %848 = fpext float %847 to double
  %849 = load float, ptr %43, align 4, !tbaa !21
  %850 = fpext float %849 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.170, double noundef %848, double noundef %850)
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #8
  %851 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  store <2 x float> %851, ptr %44, align 4
  %852 = load ptr, ptr %41, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #8
  %853 = load float, ptr %42, align 4, !tbaa !21
  %854 = load float, ptr %43, align 4, !tbaa !21
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef %853, float noundef %854)
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %46, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %47, float noundef 1.000000e+00, float noundef 1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #8
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %49, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 255)
  %855 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %49)
  %856 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %48, i32 0, i32 0
  %857 = extractvalue { <2 x float>, <2 x float> } %855, 0
  store <2 x float> %857, ptr %856, align 4
  %858 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %48, i32 0, i32 1
  %859 = extractvalue { <2 x float>, <2 x float> } %855, 1
  store <2 x float> %859, ptr %858, align 4
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #8
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %51, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 128)
  %860 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %51)
  %861 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %50, i32 0, i32 0
  %862 = extractvalue { <2 x float>, <2 x float> } %860, 0
  store <2 x float> %862, ptr %861, align 4
  %863 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %50, i32 0, i32 1
  %864 = extractvalue { <2 x float>, <2 x float> } %860, 1
  store <2 x float> %864, ptr %863, align 4
  call void @_ZN5ImGui5ImageEPvRK6ImVec2S3_S3_RK6ImVec4S6_(ptr noundef %852, ptr noundef nonnull align 4 dereferenceable(8) %45, ptr noundef nonnull align 4 dereferenceable(8) %46, ptr noundef nonnull align 4 dereferenceable(8) %47, ptr noundef nonnull align 4 dereferenceable(16) %48, ptr noundef nonnull align 4 dereferenceable(16) %50)
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #8
  %865 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %865, label %866, label %962

866:                                              ; preds = %828
  call void @_ZN5ImGui12BeginTooltipEv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #8
  store float 3.200000e+01, ptr %52, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #8
  %867 = load ptr, ptr %40, align 8, !tbaa !5
  %868 = getelementptr inbounds %struct.ImGuiIO, ptr %867, i32 0, i32 29
  %869 = getelementptr inbounds %struct.ImVec2, ptr %868, i32 0, i32 0
  %870 = load float, ptr %869, align 8, !tbaa !39
  %871 = getelementptr inbounds %struct.ImVec2, ptr %44, i32 0, i32 0
  %872 = load float, ptr %871, align 4, !tbaa !28
  %873 = fsub float %870, %872
  %874 = load float, ptr %52, align 4, !tbaa !21
  %875 = fneg float %874
  %876 = call float @llvm.fmuladd.f32(float %875, float 5.000000e-01, float %873)
  store float %876, ptr %53, align 4, !tbaa !21
  %877 = load float, ptr %53, align 4, !tbaa !21
  %878 = fcmp olt float %877, 0.000000e+00
  br i1 %878, label %879, label %880

879:                                              ; preds = %866
  store float 0.000000e+00, ptr %53, align 4, !tbaa !21
  br label %891

880:                                              ; preds = %866
  %881 = load float, ptr %53, align 4, !tbaa !21
  %882 = load float, ptr %42, align 4, !tbaa !21
  %883 = load float, ptr %52, align 4, !tbaa !21
  %884 = fsub float %882, %883
  %885 = fcmp ogt float %881, %884
  br i1 %885, label %886, label %890

886:                                              ; preds = %880
  %887 = load float, ptr %42, align 4, !tbaa !21
  %888 = load float, ptr %52, align 4, !tbaa !21
  %889 = fsub float %887, %888
  store float %889, ptr %53, align 4, !tbaa !21
  br label %890

890:                                              ; preds = %886, %880
  br label %891

891:                                              ; preds = %890, %879
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #8
  %892 = load ptr, ptr %40, align 8, !tbaa !5
  %893 = getelementptr inbounds %struct.ImGuiIO, ptr %892, i32 0, i32 29
  %894 = getelementptr inbounds %struct.ImVec2, ptr %893, i32 0, i32 1
  %895 = load float, ptr %894, align 4, !tbaa !40
  %896 = getelementptr inbounds %struct.ImVec2, ptr %44, i32 0, i32 1
  %897 = load float, ptr %896, align 4, !tbaa !29
  %898 = fsub float %895, %897
  %899 = load float, ptr %52, align 4, !tbaa !21
  %900 = fneg float %899
  %901 = call float @llvm.fmuladd.f32(float %900, float 5.000000e-01, float %898)
  store float %901, ptr %54, align 4, !tbaa !21
  %902 = load float, ptr %54, align 4, !tbaa !21
  %903 = fcmp olt float %902, 0.000000e+00
  br i1 %903, label %904, label %905

904:                                              ; preds = %891
  store float 0.000000e+00, ptr %54, align 4, !tbaa !21
  br label %916

905:                                              ; preds = %891
  %906 = load float, ptr %54, align 4, !tbaa !21
  %907 = load float, ptr %43, align 4, !tbaa !21
  %908 = load float, ptr %52, align 4, !tbaa !21
  %909 = fsub float %907, %908
  %910 = fcmp ogt float %906, %909
  br i1 %910, label %911, label %915

911:                                              ; preds = %905
  %912 = load float, ptr %43, align 4, !tbaa !21
  %913 = load float, ptr %52, align 4, !tbaa !21
  %914 = fsub float %912, %913
  store float %914, ptr %54, align 4, !tbaa !21
  br label %915

915:                                              ; preds = %911, %905
  br label %916

916:                                              ; preds = %915, %904
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #8
  store float 4.000000e+00, ptr %55, align 4, !tbaa !21
  %917 = load float, ptr %53, align 4, !tbaa !21
  %918 = fpext float %917 to double
  %919 = load float, ptr %54, align 4, !tbaa !21
  %920 = fpext float %919 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.171, double noundef %918, double noundef %920)
  %921 = load float, ptr %53, align 4, !tbaa !21
  %922 = load float, ptr %52, align 4, !tbaa !21
  %923 = fadd float %921, %922
  %924 = fpext float %923 to double
  %925 = load float, ptr %54, align 4, !tbaa !21
  %926 = load float, ptr %52, align 4, !tbaa !21
  %927 = fadd float %925, %926
  %928 = fpext float %927 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.172, double noundef %924, double noundef %928)
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #8
  %929 = load float, ptr %53, align 4, !tbaa !21
  %930 = load float, ptr %42, align 4, !tbaa !21
  %931 = fdiv float %929, %930
  %932 = load float, ptr %54, align 4, !tbaa !21
  %933 = load float, ptr %43, align 4, !tbaa !21
  %934 = fdiv float %932, %933
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %56, float noundef %931, float noundef %934)
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #8
  %935 = load float, ptr %53, align 4, !tbaa !21
  %936 = load float, ptr %52, align 4, !tbaa !21
  %937 = fadd float %935, %936
  %938 = load float, ptr %42, align 4, !tbaa !21
  %939 = fdiv float %937, %938
  %940 = load float, ptr %54, align 4, !tbaa !21
  %941 = load float, ptr %52, align 4, !tbaa !21
  %942 = fadd float %940, %941
  %943 = load float, ptr %43, align 4, !tbaa !21
  %944 = fdiv float %942, %943
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %57, float noundef %939, float noundef %944)
  %945 = load ptr, ptr %41, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #8
  %946 = load float, ptr %52, align 4, !tbaa !21
  %947 = load float, ptr %55, align 4, !tbaa !21
  %948 = fmul float %946, %947
  %949 = load float, ptr %52, align 4, !tbaa !21
  %950 = load float, ptr %55, align 4, !tbaa !21
  %951 = fmul float %949, %950
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef %948, float noundef %951)
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #8
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %60, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 255)
  %952 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %60)
  %953 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %59, i32 0, i32 0
  %954 = extractvalue { <2 x float>, <2 x float> } %952, 0
  store <2 x float> %954, ptr %953, align 4
  %955 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %59, i32 0, i32 1
  %956 = extractvalue { <2 x float>, <2 x float> } %952, 1
  store <2 x float> %956, ptr %955, align 4
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #8
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %62, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 128)
  %957 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %62)
  %958 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %61, i32 0, i32 0
  %959 = extractvalue { <2 x float>, <2 x float> } %957, 0
  store <2 x float> %959, ptr %958, align 4
  %960 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %61, i32 0, i32 1
  %961 = extractvalue { <2 x float>, <2 x float> } %957, 1
  store <2 x float> %961, ptr %960, align 4
  call void @_ZN5ImGui5ImageEPvRK6ImVec2S3_S3_RK6ImVec4S6_(ptr noundef %945, ptr noundef nonnull align 4 dereferenceable(8) %58, ptr noundef nonnull align 4 dereferenceable(8) %56, ptr noundef nonnull align 4 dereferenceable(8) %57, ptr noundef nonnull align 4 dereferenceable(16) %59, ptr noundef nonnull align 4 dereferenceable(16) %61)
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %61) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #8
  call void @_ZN5ImGui10EndTooltipEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #8
  br label %962

962:                                              ; preds = %916, %828
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.173)
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #8
  store i32 0, ptr %63, align 4, !tbaa !13
  br label %963

963:                                              ; preds = %987, %962
  %964 = load i32, ptr %63, align 4, !tbaa !13
  %965 = icmp slt i32 %964, 8
  br i1 %965, label %967, label %966

966:                                              ; preds = %963
  store i32 17, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #8
  br label %990

967:                                              ; preds = %963
  %968 = load i32, ptr %63, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %968)
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #8
  %969 = load i32, ptr %63, align 4, !tbaa !13
  %970 = add nsw i32 -1, %969
  store i32 %970, ptr %64, align 4, !tbaa !13
  %971 = load ptr, ptr %41, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %65, float noundef 3.200000e+01, float noundef 3.200000e+01)
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %66, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #8
  %972 = load float, ptr %42, align 4, !tbaa !21
  %973 = fdiv float 3.200000e+01, %972
  %974 = load float, ptr %43, align 4, !tbaa !21
  %975 = fdiv float 3.200000e+01, %974
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %67, float noundef %973, float noundef %975)
  %976 = load i32, ptr %64, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #8
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %69, i32 noundef 0, i32 noundef 0, i32 noundef 0, i32 noundef 255)
  %977 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %69)
  %978 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %68, i32 0, i32 0
  %979 = extractvalue { <2 x float>, <2 x float> } %977, 0
  store <2 x float> %979, ptr %978, align 4
  %980 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %68, i32 0, i32 1
  %981 = extractvalue { <2 x float>, <2 x float> } %977, 1
  store <2 x float> %981, ptr %980, align 4
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #8
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %70, float noundef 1.000000e+00, float noundef 1.000000e+00, float noundef 1.000000e+00, float noundef 1.000000e+00)
  %982 = call noundef zeroext i1 @_ZN5ImGui11ImageButtonEPvRK6ImVec2S3_S3_iRK6ImVec4S6_(ptr noundef %971, ptr noundef nonnull align 4 dereferenceable(8) %65, ptr noundef nonnull align 4 dereferenceable(8) %66, ptr noundef nonnull align 4 dereferenceable(8) %67, i32 noundef %976, ptr noundef nonnull align 4 dereferenceable(16) %68, ptr noundef nonnull align 4 dereferenceable(16) %70)
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #8
  br i1 %982, label %983, label %986

983:                                              ; preds = %967
  %984 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count, align 4, !tbaa !13
  %985 = add nsw i32 %984, 1
  store i32 %985, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count, align 4, !tbaa !13
  br label %986

986:                                              ; preds = %983, %967
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #8
  br label %987

987:                                              ; preds = %986
  %988 = load i32, ptr %63, align 4, !tbaa !13
  %989 = add nsw i32 %988, 1
  store i32 %989, ptr %63, align 4, !tbaa !13
  br label %963, !llvm.loop !41

990:                                              ; preds = %966
  call void @_ZN5ImGui7NewLineEv()
  %991 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.174, i32 noundef %991)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  br label %992

992:                                              ; preds = %990, %826
  %993 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.175)
  br i1 %993, label %994, label %1058

994:                                              ; preds = %992
  %995 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.176, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5flags, i32 noundef 1)
  %996 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.177, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5flags, i32 noundef 32)
  br i1 %996, label %997, label %1000

997:                                              ; preds = %994
  %998 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !13
  %999 = and i32 %998, -65
  store i32 %999, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !13
  br label %1000

1000:                                             ; preds = %997, %994
  %1001 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.178, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5flags, i32 noundef 64)
  br i1 %1001, label %1002, label %1005

1002:                                             ; preds = %1000
  %1003 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !13
  %1004 = and i32 %1003, -33
  store i32 %1004, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !13
  br label %1005

1005:                                             ; preds = %1002, %1000
  call void @llvm.lifetime.start.p0(i64 112, ptr %71) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %71, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.items.179, i64 112, i1 false)
  %1006 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12item_current_0 acquire, align 8
  %1007 = icmp eq i8 %1006, 0
  br i1 %1007, label %1008, label %1014, !prof !42

1008:                                             ; preds = %1005
  %1009 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12item_current_0) #8
  %1010 = icmp ne i32 %1009, 0
  br i1 %1010, label %1011, label %1014

1011:                                             ; preds = %1008
  %1012 = getelementptr inbounds [14 x ptr], ptr %71, i64 0, i64 0
  %1013 = load ptr, ptr %1012, align 16, !tbaa !5
  store ptr %1013, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !5
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12item_current_0) #8
  br label %1014

1014:                                             ; preds = %1011, %1008, %1005
  %1015 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !5
  %1016 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !13
  %1017 = call noundef zeroext i1 @_ZN5ImGui10BeginComboEPKcS1_i(ptr noundef @.str.180, ptr noundef %1015, i32 noundef %1016)
  br i1 %1017, label %1018, label %1052

1018:                                             ; preds = %1014
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #8
  store i32 0, ptr %72, align 4, !tbaa !13
  br label %1019

1019:                                             ; preds = %1048, %1018
  %1020 = load i32, ptr %72, align 4, !tbaa !13
  %1021 = icmp slt i32 %1020, 14
  br i1 %1021, label %1023, label %1022

1022:                                             ; preds = %1019
  store i32 20, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #8
  br label %1051

1023:                                             ; preds = %1019
  call void @llvm.lifetime.start.p0(i64 1, ptr %73) #8
  %1024 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !5
  %1025 = load i32, ptr %72, align 4, !tbaa !13
  %1026 = sext i32 %1025 to i64
  %1027 = getelementptr inbounds [14 x ptr], ptr %71, i64 0, i64 %1026
  %1028 = load ptr, ptr %1027, align 8, !tbaa !5
  %1029 = icmp eq ptr %1024, %1028
  %1030 = zext i1 %1029 to i8
  store i8 %1030, ptr %73, align 1, !tbaa !9
  %1031 = load i32, ptr %72, align 4, !tbaa !13
  %1032 = sext i32 %1031 to i64
  %1033 = getelementptr inbounds [14 x ptr], ptr %71, i64 0, i64 %1032
  %1034 = load ptr, ptr %1033, align 8, !tbaa !5
  %1035 = load i8, ptr %73, align 1, !tbaa !9, !range !11, !noundef !12
  %1036 = trunc i8 %1035 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %74, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1037 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %1034, i1 noundef zeroext %1036, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %74)
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #8
  br i1 %1037, label %1038, label %1043

1038:                                             ; preds = %1023
  %1039 = load i32, ptr %72, align 4, !tbaa !13
  %1040 = sext i32 %1039 to i64
  %1041 = getelementptr inbounds [14 x ptr], ptr %71, i64 0, i64 %1040
  %1042 = load ptr, ptr %1041, align 8, !tbaa !5
  store ptr %1042, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !5
  br label %1043

1043:                                             ; preds = %1038, %1023
  %1044 = load i8, ptr %73, align 1, !tbaa !9, !range !11, !noundef !12
  %1045 = trunc i8 %1044 to i1
  br i1 %1045, label %1046, label %1047

1046:                                             ; preds = %1043
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %1047

1047:                                             ; preds = %1046, %1043
  call void @llvm.lifetime.end.p0(i64 1, ptr %73) #8
  br label %1048

1048:                                             ; preds = %1047
  %1049 = load i32, ptr %72, align 4, !tbaa !13
  %1050 = add nsw i32 %1049, 1
  store i32 %1050, ptr %72, align 4, !tbaa !13
  br label %1019, !llvm.loop !43

1051:                                             ; preds = %1022
  call void @_ZN5ImGui8EndComboEv()
  br label %1052

1052:                                             ; preds = %1051, %1014
  %1053 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef @.str.181, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE14item_current_2, ptr noundef @.str.182, i32 noundef -1)
  %1054 = getelementptr inbounds [14 x ptr], ptr %71, i64 0, i64 0
  %1055 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef @.str.183, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE14item_current_3, ptr noundef %1054, i32 noundef 14, i32 noundef -1)
  %1056 = getelementptr inbounds [14 x ptr], ptr %71, i64 0, i64 0
  %1057 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPFbPviPS1_ES3_ii(ptr noundef @.str.184, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE14item_current_4, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbEN10FuncHolder10ItemGetterEPviPPKc, ptr noundef %1056, i32 noundef 14, i32 noundef -1)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 112, ptr %71) #8
  br label %1058

1058:                                             ; preds = %1052, %992
  %1059 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.185)
  br i1 %1059, label %1060, label %1253

1060:                                             ; preds = %1058
  %1061 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.53)
  br i1 %1061, label %1062, label %1078

1062:                                             ; preds = %1060
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %75, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1063 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef @.str.186, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %75)
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %76, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1064 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef @.str.187, ptr noundef getelementptr inbounds ([5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 0, i64 1), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %76)
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #8
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.188)
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %77, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1065 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef @.str.189, ptr noundef getelementptr inbounds ([5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 0, i64 3), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %77)
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #8
  %1066 = load i8, ptr getelementptr inbounds ([5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 0, i64 4), align 1, !tbaa !9, !range !11, !noundef !12
  %1067 = trunc i8 %1066 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %78, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1068 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef @.str.190, i1 noundef zeroext %1067, i32 noundef 4, ptr noundef nonnull align 4 dereferenceable(8) %78)
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #8
  br i1 %1068, label %1069, label %1077

1069:                                             ; preds = %1062
  %1070 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef 0)
  br i1 %1070, label %1071, label %1076

1071:                                             ; preds = %1069
  %1072 = load i8, ptr getelementptr inbounds ([5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 0, i64 4), align 1, !tbaa !9, !range !11, !noundef !12
  %1073 = trunc i8 %1072 to i1
  %1074 = xor i1 %1073, true
  %1075 = zext i1 %1074 to i8
  store i8 %1075, ptr getelementptr inbounds ([5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 0, i64 4), align 1, !tbaa !9
  br label %1076

1076:                                             ; preds = %1071, %1069
  br label %1077

1077:                                             ; preds = %1076, %1062
  call void @_ZN5ImGui7TreePopEv()
  br label %1078

1078:                                             ; preds = %1077, %1060
  %1079 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.191)
  br i1 %1079, label %1080, label %1101

1080:                                             ; preds = %1078
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #8
  store i32 0, ptr %79, align 4, !tbaa !13
  br label %1081

1081:                                             ; preds = %1097, %1080
  %1082 = load i32, ptr %79, align 4, !tbaa !13
  %1083 = icmp slt i32 %1082, 5
  br i1 %1083, label %1085, label %1084

1084:                                             ; preds = %1081
  store i32 23, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #8
  br label %1100

1085:                                             ; preds = %1081
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #8
  %1086 = getelementptr inbounds [32 x i8], ptr %80, i64 0, i64 0
  %1087 = load i32, ptr %79, align 4, !tbaa !13
  %1088 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %1086, ptr noundef @.str.192, i32 noundef %1087) #8
  %1089 = getelementptr inbounds [32 x i8], ptr %80, i64 0, i64 0
  %1090 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !13
  %1091 = load i32, ptr %79, align 4, !tbaa !13
  %1092 = icmp eq i32 %1090, %1091
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %81, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1093 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %1089, i1 noundef zeroext %1092, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %81)
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #8
  br i1 %1093, label %1094, label %1096

1094:                                             ; preds = %1085
  %1095 = load i32, ptr %79, align 4, !tbaa !13
  store i32 %1095, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !13
  br label %1096

1096:                                             ; preds = %1094, %1085
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #8
  br label %1097

1097:                                             ; preds = %1096
  %1098 = load i32, ptr %79, align 4, !tbaa !13
  %1099 = add nsw i32 %1098, 1
  store i32 %1099, ptr %79, align 4, !tbaa !13
  br label %1081, !llvm.loop !44

1100:                                             ; preds = %1084
  call void @_ZN5ImGui7TreePopEv()
  br label %1101

1101:                                             ; preds = %1100, %1078
  %1102 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.193)
  br i1 %1102, label %1103, label %1140

1103:                                             ; preds = %1101
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.194)
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #8
  store i32 0, ptr %82, align 4, !tbaa !13
  br label %1104

1104:                                             ; preds = %1136, %1103
  %1105 = load i32, ptr %82, align 4, !tbaa !13
  %1106 = icmp slt i32 %1105, 5
  br i1 %1106, label %1108, label %1107

1107:                                             ; preds = %1104
  store i32 26, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #8
  br label %1139

1108:                                             ; preds = %1104
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #8
  %1109 = getelementptr inbounds [32 x i8], ptr %83, i64 0, i64 0
  %1110 = load i32, ptr %82, align 4, !tbaa !13
  %1111 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %1109, ptr noundef @.str.192, i32 noundef %1110) #8
  %1112 = getelementptr inbounds [32 x i8], ptr %83, i64 0, i64 0
  %1113 = load i32, ptr %82, align 4, !tbaa !13
  %1114 = sext i32 %1113 to i64
  %1115 = getelementptr inbounds [5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 0, i64 %1114
  %1116 = load i8, ptr %1115, align 1, !tbaa !9, !range !11, !noundef !12
  %1117 = trunc i8 %1116 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %84, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1118 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %1112, i1 noundef zeroext %1117, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %84)
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #8
  br i1 %1118, label %1119, label %1135

1119:                                             ; preds = %1108
  %1120 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %1121 = getelementptr inbounds %struct.ImGuiIO, ptr %1120, i32 0, i32 34
  %1122 = load i8, ptr %1121, align 1, !tbaa !24, !range !11, !noundef !12
  %1123 = trunc i8 %1122 to i1
  br i1 %1123, label %1125, label %1124

1124:                                             ; preds = %1119
  call void @llvm.memset.p0.i64(ptr align 1 @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i8 0, i64 5, i1 false)
  br label %1125

1125:                                             ; preds = %1124, %1119
  %1126 = load i32, ptr %82, align 4, !tbaa !13
  %1127 = sext i32 %1126 to i64
  %1128 = getelementptr inbounds [5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 0, i64 %1127
  %1129 = load i8, ptr %1128, align 1, !tbaa !9, !range !11, !noundef !12
  %1130 = trunc i8 %1129 to i1
  %1131 = zext i1 %1130 to i32
  %1132 = xor i32 %1131, 1
  %1133 = icmp ne i32 %1132, 0
  %1134 = zext i1 %1133 to i8
  store i8 %1134, ptr %1128, align 1, !tbaa !9
  br label %1135

1135:                                             ; preds = %1125, %1108
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #8
  br label %1136

1136:                                             ; preds = %1135
  %1137 = load i32, ptr %82, align 4, !tbaa !13
  %1138 = add nsw i32 %1137, 1
  store i32 %1138, ptr %82, align 4, !tbaa !13
  br label %1104, !llvm.loop !45

1139:                                             ; preds = %1107
  call void @_ZN5ImGui7TreePopEv()
  br label %1140

1140:                                             ; preds = %1139, %1101
  %1141 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.195)
  br i1 %1141, label %1142, label %1146

1142:                                             ; preds = %1140
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %85, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1143 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef @.str.196, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE8selected_0, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %85)
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #8
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.197)
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %86, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1144 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef @.str.198, ptr noundef getelementptr inbounds ([3 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_0, i64 0, i64 1), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %86)
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #8
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.199)
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %87, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1145 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef @.str.200, ptr noundef getelementptr inbounds ([3 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_0, i64 0, i64 2), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %87)
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #8
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.197)
  call void @_ZN5ImGui7TreePopEv()
  br label %1146

1146:                                             ; preds = %1142, %1140
  %1147 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.201)
  br i1 %1147, label %1148, label %1168

1148:                                             ; preds = %1146
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 3, ptr noundef null, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #8
  store i32 0, ptr %88, align 4, !tbaa !13
  br label %1149

1149:                                             ; preds = %1164, %1148
  %1150 = load i32, ptr %88, align 4, !tbaa !13
  %1151 = icmp slt i32 %1150, 16
  br i1 %1151, label %1153, label %1152

1152:                                             ; preds = %1149
  store i32 29, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #8
  br label %1167

1153:                                             ; preds = %1149
  call void @llvm.lifetime.start.p0(i64 32, ptr %89) #8
  %1154 = getelementptr inbounds [32 x i8], ptr %89, i64 0, i64 0
  %1155 = load i32, ptr %88, align 4, !tbaa !13
  %1156 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %1154, ptr noundef @.str.202, i32 noundef %1155) #8
  %1157 = getelementptr inbounds [32 x i8], ptr %89, i64 0, i64 0
  %1158 = load i32, ptr %88, align 4, !tbaa !13
  %1159 = sext i32 %1158 to i64
  %1160 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 0, i64 %1159
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %90, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1161 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef %1157, ptr noundef %1160, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %90)
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #8
  br i1 %1161, label %1162, label %1163

1162:                                             ; preds = %1153
  br label %1163

1163:                                             ; preds = %1162, %1153
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #8
  br label %1164

1164:                                             ; preds = %1163
  %1165 = load i32, ptr %88, align 4, !tbaa !13
  %1166 = add nsw i32 %1165, 1
  store i32 %1166, ptr %88, align 4, !tbaa !13
  br label %1149, !llvm.loop !46

1167:                                             ; preds = %1152
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui7TreePopEv()
  br label %1168

1168:                                             ; preds = %1167, %1146
  %1169 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.203)
  br i1 %1169, label %1170, label %1252

1170:                                             ; preds = %1168
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #8
  store i32 0, ptr %91, align 4, !tbaa !13
  br label %1171

1171:                                             ; preds = %1248, %1170
  %1172 = load i32, ptr %91, align 4, !tbaa !13
  %1173 = icmp slt i32 %1172, 16
  br i1 %1173, label %1175, label %1174

1174:                                             ; preds = %1171
  store i32 32, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #8
  br label %1251

1175:                                             ; preds = %1171
  %1176 = load i32, ptr %91, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1176)
  %1177 = load i32, ptr %91, align 4, !tbaa !13
  %1178 = sext i32 %1177 to i64
  %1179 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1178
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %92, float noundef 5.000000e+01, float noundef 5.000000e+01)
  %1180 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef @.str.204, ptr noundef %1179, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %92)
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #8
  br i1 %1180, label %1181, label %1242

1181:                                             ; preds = %1175
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #8
  %1182 = load i32, ptr %91, align 4, !tbaa !13
  %1183 = srem i32 %1182, 4
  store i32 %1183, ptr %93, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #8
  %1184 = load i32, ptr %91, align 4, !tbaa !13
  %1185 = sdiv i32 %1184, 4
  store i32 %1185, ptr %94, align 4, !tbaa !13
  %1186 = load i32, ptr %93, align 4, !tbaa !13
  %1187 = icmp sgt i32 %1186, 0
  br i1 %1187, label %1188, label %1199

1188:                                             ; preds = %1181
  %1189 = load i32, ptr %91, align 4, !tbaa !13
  %1190 = sub nsw i32 %1189, 1
  %1191 = sext i32 %1190 to i64
  %1192 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1191
  %1193 = load i8, ptr %1192, align 1, !tbaa !9, !range !11, !noundef !12
  %1194 = trunc i8 %1193 to i1
  %1195 = zext i1 %1194 to i32
  %1196 = xor i32 %1195, 1
  %1197 = icmp ne i32 %1196, 0
  %1198 = zext i1 %1197 to i8
  store i8 %1198, ptr %1192, align 1, !tbaa !9
  br label %1199

1199:                                             ; preds = %1188, %1181
  %1200 = load i32, ptr %93, align 4, !tbaa !13
  %1201 = icmp slt i32 %1200, 3
  br i1 %1201, label %1202, label %1213

1202:                                             ; preds = %1199
  %1203 = load i32, ptr %91, align 4, !tbaa !13
  %1204 = add nsw i32 %1203, 1
  %1205 = sext i32 %1204 to i64
  %1206 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1205
  %1207 = load i8, ptr %1206, align 1, !tbaa !9, !range !11, !noundef !12
  %1208 = trunc i8 %1207 to i1
  %1209 = zext i1 %1208 to i32
  %1210 = xor i32 %1209, 1
  %1211 = icmp ne i32 %1210, 0
  %1212 = zext i1 %1211 to i8
  store i8 %1212, ptr %1206, align 1, !tbaa !9
  br label %1213

1213:                                             ; preds = %1202, %1199
  %1214 = load i32, ptr %94, align 4, !tbaa !13
  %1215 = icmp sgt i32 %1214, 0
  br i1 %1215, label %1216, label %1227

1216:                                             ; preds = %1213
  %1217 = load i32, ptr %91, align 4, !tbaa !13
  %1218 = sub nsw i32 %1217, 4
  %1219 = sext i32 %1218 to i64
  %1220 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1219
  %1221 = load i8, ptr %1220, align 1, !tbaa !9, !range !11, !noundef !12
  %1222 = trunc i8 %1221 to i1
  %1223 = zext i1 %1222 to i32
  %1224 = xor i32 %1223, 1
  %1225 = icmp ne i32 %1224, 0
  %1226 = zext i1 %1225 to i8
  store i8 %1226, ptr %1220, align 1, !tbaa !9
  br label %1227

1227:                                             ; preds = %1216, %1213
  %1228 = load i32, ptr %94, align 4, !tbaa !13
  %1229 = icmp slt i32 %1228, 3
  br i1 %1229, label %1230, label %1241

1230:                                             ; preds = %1227
  %1231 = load i32, ptr %91, align 4, !tbaa !13
  %1232 = add nsw i32 %1231, 4
  %1233 = sext i32 %1232 to i64
  %1234 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1233
  %1235 = load i8, ptr %1234, align 1, !tbaa !9, !range !11, !noundef !12
  %1236 = trunc i8 %1235 to i1
  %1237 = zext i1 %1236 to i32
  %1238 = xor i32 %1237, 1
  %1239 = icmp ne i32 %1238, 0
  %1240 = zext i1 %1239 to i8
  store i8 %1240, ptr %1234, align 1, !tbaa !9
  br label %1241

1241:                                             ; preds = %1230, %1227
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #8
  br label %1242

1242:                                             ; preds = %1241, %1175
  %1243 = load i32, ptr %91, align 4, !tbaa !13
  %1244 = srem i32 %1243, 4
  %1245 = icmp slt i32 %1244, 3
  br i1 %1245, label %1246, label %1247

1246:                                             ; preds = %1242
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %1247

1247:                                             ; preds = %1246, %1242
  call void @_ZN5ImGui5PopIDEv()
  br label %1248

1248:                                             ; preds = %1247
  %1249 = load i32, ptr %91, align 4, !tbaa !13
  %1250 = add nsw i32 %1249, 1
  store i32 %1250, ptr %91, align 4, !tbaa !13
  br label %1171, !llvm.loop !47

1251:                                             ; preds = %1174
  call void @_ZN5ImGui7TreePopEv()
  br label %1252

1252:                                             ; preds = %1251, %1168
  call void @_ZN5ImGui7TreePopEv()
  br label %1253

1253:                                             ; preds = %1252, %1058
  %1254 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.205)
  br i1 %1254, label %1255, label %1264

1255:                                             ; preds = %1253
  %1256 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.206, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4buf1, i64 noundef 64, i32 noundef 0, ptr noundef null, ptr noundef null)
  %1257 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.207, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4buf2, i64 noundef 64, i32 noundef 1, ptr noundef null, ptr noundef null)
  %1258 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.208, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4buf3, i64 noundef 64, i32 noundef 6, ptr noundef null, ptr noundef null)
  %1259 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.209, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4buf4, i64 noundef 64, i32 noundef 4, ptr noundef null, ptr noundef null)
  %1260 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.210, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4buf5, i64 noundef 64, i32 noundef 8, ptr noundef null, ptr noundef null)
  %1261 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.211, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4buf6, i64 noundef 64, i32 noundef 512, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbEN11TextFilters18FilterImGuiLettersEP25ImGuiTextEditCallbackData, ptr noundef null)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.212)
  %1262 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.213, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE7bufpass, i64 noundef 64, i32 noundef 32776, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.214)
  %1263 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.215, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE7bufpass, i64 noundef 64, i32 noundef 8, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  br label %1264

1264:                                             ; preds = %1255, %1253
  %1265 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.216)
  br i1 %1265, label %1266, label %1276

1266:                                             ; preds = %1264
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %95, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef 10, ptr noundef nonnull align 4 dereferenceable(8) %95)
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #8
  %1267 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.217, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9read_only)
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #8
  %1268 = call noundef float @_ZN5ImGui17GetTextLineHeightEv()
  %1269 = fmul float %1268, 1.600000e+01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %96, float noundef -1.000000e+00, float noundef %1269)
  %1270 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9read_only, align 1, !tbaa !9, !range !11, !noundef !12
  %1271 = trunc i8 %1270 to i1
  %1272 = zext i1 %1271 to i64
  %1273 = select i1 %1271, i32 16384, i32 0
  %1274 = or i32 1024, %1273
  %1275 = call noundef zeroext i1 @_ZN5ImGui18InputTextMultilineEPKcPcmRK6ImVec2iPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.218, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4text, i64 noundef 16384, ptr noundef nonnull align 4 dereferenceable(8) %96, i32 noundef %1274, ptr noundef null, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #8
  call void @_ZN5ImGui7TreePopEv()
  br label %1276

1276:                                             ; preds = %1266, %1264
  %1277 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.219)
  br i1 %1277, label %1278, label %1374

1278:                                             ; preds = %1276
  %1279 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.220, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE7animate)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %97, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1280 = load <2 x float>, ptr %97, align 4
  call void @_ZN5ImGui9PlotLinesEPKcPKfiiS1_ff6ImVec2i(ptr noundef @.str.221, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3arr_0, i32 noundef 7, i32 noundef 0, ptr noundef null, float noundef 0x47EFFFFFE0000000, float noundef 0x47EFFFFFE0000000, <2 x float> %1280, i32 noundef 4)
  %1281 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7animate, align 1, !tbaa !9, !range !11, !noundef !12
  %1282 = trunc i8 %1281 to i1
  br i1 %1282, label %1283, label %1286

1283:                                             ; preds = %1278
  %1284 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 4, !tbaa !21
  %1285 = fcmp oeq float %1284, 0.000000e+00
  br i1 %1285, label %1286, label %1288

1286:                                             ; preds = %1283, %1278
  %1287 = call noundef float @_ZN5ImGui7GetTimeEv()
  store float %1287, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 4, !tbaa !21
  br label %1288

1288:                                             ; preds = %1286, %1283
  br label %1289

1289:                                             ; preds = %1293, %1288
  %1290 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 4, !tbaa !21
  %1291 = call noundef float @_ZN5ImGui7GetTimeEv()
  %1292 = fcmp olt float %1290, %1291
  br i1 %1292, label %1293, label %1308

1293:                                             ; preds = %1289
  %1294 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5phase, align 4, !tbaa !21
  %1295 = call float @cosf(float noundef %1294) #8
  %1296 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !13
  %1297 = sext i32 %1296 to i64
  %1298 = getelementptr inbounds [90 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values, i64 0, i64 %1297
  store float %1295, ptr %1298, align 4, !tbaa !21
  %1299 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !13
  %1300 = add nsw i32 %1299, 1
  %1301 = srem i32 %1300, 90
  store i32 %1301, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !13
  %1302 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !13
  %1303 = sitofp i32 %1302 to float
  %1304 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5phase, align 4, !tbaa !21
  %1305 = call float @llvm.fmuladd.f32(float 0x3FB99999A0000000, float %1303, float %1304)
  store float %1305, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5phase, align 4, !tbaa !21
  %1306 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 4, !tbaa !21
  %1307 = fadd float %1306, 0x3F91111120000000
  store float %1307, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 4, !tbaa !21
  br label %1289, !llvm.loop !48

1308:                                             ; preds = %1289
  %1309 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %98, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1310 = load <2 x float>, ptr %98, align 4
  call void @_ZN5ImGui9PlotLinesEPKcPKfiiS1_ff6ImVec2i(ptr noundef @.str.222, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE6values, i32 noundef 90, i32 noundef %1309, ptr noundef @.str.223, float noundef -1.000000e+00, float noundef 1.000000e+00, <2 x float> %1310, i32 noundef 4)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %99, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1311 = load <2 x float>, ptr %99, align 4
  call void @_ZN5ImGui13PlotHistogramEPKcPKfiiS1_ff6ImVec2i(ptr noundef @.str.224, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3arr_0, i32 noundef 7, i32 noundef 0, ptr noundef null, float noundef 0.000000e+00, float noundef 1.000000e+00, <2 x float> %1311, i32 noundef 4)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 1.000000e+02)
  %1312 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef @.str.225, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9func_type, ptr noundef @.str.226, i32 noundef -1)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1313 = call noundef zeroext i1 @_ZN5ImGui9SliderIntEPKcPiiiS1_(ptr noundef @.str.227, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE13display_count, i32 noundef 1, i32 noundef 400, ptr noundef @.str.63)
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #8
  %1314 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9func_type, align 4, !tbaa !13
  %1315 = icmp eq i32 %1314, 0
  br i1 %1315, label %1316, label %1317

1316:                                             ; preds = %1308
  br label %1318

1317:                                             ; preds = %1308
  br label %1318

1318:                                             ; preds = %1317, %1316
  %1319 = phi ptr [ @_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SinEPvi, %1316 ], [ @_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SawEPvi, %1317 ]
  store ptr %1319, ptr %100, align 8, !tbaa !5
  %1320 = load ptr, ptr %100, align 8, !tbaa !5
  %1321 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13display_count, align 4, !tbaa !13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %101, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1322 = load <2 x float>, ptr %101, align 4
  call void @_ZN5ImGui9PlotLinesEPKcPFfPviES2_iiS1_ff6ImVec2(ptr noundef @.str.222, ptr noundef %1320, ptr noundef null, i32 noundef %1321, i32 noundef 0, ptr noundef null, float noundef -1.000000e+00, float noundef 1.000000e+00, <2 x float> %1322)
  %1323 = load ptr, ptr %100, align 8, !tbaa !5
  %1324 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13display_count, align 4, !tbaa !13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %102, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1325 = load <2 x float>, ptr %102, align 4
  call void @_ZN5ImGui13PlotHistogramEPKcPFfPviES2_iiS1_ff6ImVec2(ptr noundef @.str.224, ptr noundef %1323, ptr noundef null, i32 noundef %1324, i32 noundef 0, ptr noundef null, float noundef -1.000000e+00, float noundef 1.000000e+00, <2 x float> %1325)
  call void @_ZN5ImGui9SeparatorEv()
  %1326 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7animate, align 1, !tbaa !9, !range !11, !noundef !12
  %1327 = trunc i8 %1326 to i1
  br i1 %1327, label %1328, label %1348

1328:                                             ; preds = %1318
  %1329 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !21
  %1330 = fmul float %1329, 0x3FD99999A0000000
  %1331 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %1332 = getelementptr inbounds %struct.ImGuiIO, ptr %1331, i32 0, i32 3
  %1333 = load float, ptr %1332, align 8, !tbaa !49
  %1334 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !21
  %1335 = call float @llvm.fmuladd.f32(float %1330, float %1333, float %1334)
  store float %1335, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !21
  %1336 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !21
  %1337 = fcmp oge float %1336, 0x3FF19999A0000000
  br i1 %1337, label %1338, label %1341

1338:                                             ; preds = %1328
  store float 0x3FF19999A0000000, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !21
  %1339 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !21
  %1340 = fmul float %1339, -1.000000e+00
  store float %1340, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !21
  br label %1341

1341:                                             ; preds = %1338, %1328
  %1342 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !21
  %1343 = fcmp ole float %1342, 0xBFB99999A0000000
  br i1 %1343, label %1344, label %1347

1344:                                             ; preds = %1341
  store float 0xBFB99999A0000000, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !21
  %1345 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !21
  %1346 = fmul float %1345, -1.000000e+00
  store float %1346, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !21
  br label %1347

1347:                                             ; preds = %1344, %1341
  br label %1348

1348:                                             ; preds = %1347, %1318
  %1349 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %103, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @_ZN5ImGui11ProgressBarEfRK6ImVec2PKc(float noundef %1349, ptr noundef nonnull align 4 dereferenceable(8) %103, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #8
  %1350 = call noundef nonnull align 4 dereferenceable(824) ptr @_ZN5ImGui8GetStyleEv()
  %1351 = getelementptr inbounds %struct.ImGuiStyle, ptr %1350, i32 0, i32 14
  %1352 = getelementptr inbounds %struct.ImVec2, ptr %1351, i32 0, i32 0
  %1353 = load float, ptr %1352, align 4, !tbaa !17
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %1353)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.228)
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #8
  %1354 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !21
  %1355 = fcmp olt float %1354, 0.000000e+00
  br i1 %1355, label %1356, label %1357

1356:                                             ; preds = %1348
  br label %1365

1357:                                             ; preds = %1348
  %1358 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !21
  %1359 = fcmp ogt float %1358, 1.000000e+00
  br i1 %1359, label %1360, label %1361

1360:                                             ; preds = %1357
  br label %1363

1361:                                             ; preds = %1357
  %1362 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !21
  br label %1363

1363:                                             ; preds = %1361, %1360
  %1364 = phi float [ 1.000000e+00, %1360 ], [ %1362, %1361 ]
  br label %1365

1365:                                             ; preds = %1363, %1356
  %1366 = phi float [ 0.000000e+00, %1356 ], [ %1364, %1363 ]
  store float %1366, ptr %104, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 32, ptr %105) #8
  %1367 = getelementptr inbounds [32 x i8], ptr %105, i64 0, i64 0
  %1368 = load float, ptr %104, align 4, !tbaa !21
  %1369 = fmul float %1368, 1.753000e+03
  %1370 = fptosi float %1369 to i32
  %1371 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %1367, ptr noundef @.str.229, i32 noundef %1370, i32 noundef 1753) #8
  %1372 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 8, ptr %106) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %106, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1373 = getelementptr inbounds [32 x i8], ptr %105, i64 0, i64 0
  call void @_ZN5ImGui11ProgressBarEfRK6ImVec2PKc(float noundef %1372, ptr noundef nonnull align 4 dereferenceable(8) %106, ptr noundef %1373)
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #8
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr %105) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #8
  br label %1374

1374:                                             ; preds = %1365, %1276
  %1375 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.230)
  br i1 %1375, label %1376, label %1691

1376:                                             ; preds = %1374
  %1377 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE5color acquire, align 8
  %1378 = icmp eq i8 %1377, 0
  br i1 %1378, label %1379, label %1388, !prof !42

1379:                                             ; preds = %1376
  %1380 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE5color) #8
  %1381 = icmp ne i32 %1380, 0
  br i1 %1381, label %1382, label %1388

1382:                                             ; preds = %1379
  call void @llvm.lifetime.start.p0(i64 16, ptr %107) #8
  invoke void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %107, i32 noundef 114, i32 noundef 144, i32 noundef 154, i32 noundef 200)
          to label %1383 unwind label %1450

1383:                                             ; preds = %1382
  %1384 = invoke { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %107)
          to label %1385 unwind label %1450

1385:                                             ; preds = %1383
  %1386 = extractvalue { <2 x float>, <2 x float> } %1384, 0
  store <2 x float> %1386, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5color, align 4
  %1387 = extractvalue { <2 x float>, <2 x float> } %1384, 1
  store <2 x float> %1387, ptr getelementptr inbounds ({ <2 x float>, <2 x float> }, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 0, i32 1), align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %107) #8
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE5color) #8
  br label %1388

1388:                                             ; preds = %1385, %1379, %1376
  %1389 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.231, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE13alpha_preview)
  %1390 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.232, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE18alpha_half_preview)
  %1391 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.233, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE13drag_and_drop)
  %1392 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.234, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12options_menu)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.235)
  %1393 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.236, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3hdr)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.237)
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #8
  %1394 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE3hdr, align 1, !tbaa !9, !range !11, !noundef !12
  %1395 = trunc i8 %1394 to i1
  %1396 = zext i1 %1395 to i64
  %1397 = select i1 %1395, i32 524288, i32 0
  %1398 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13drag_and_drop, align 1, !tbaa !9, !range !11, !noundef !12
  %1399 = trunc i8 %1398 to i1
  %1400 = zext i1 %1399 to i64
  %1401 = select i1 %1399, i32 0, i32 512
  %1402 = or i32 %1397, %1401
  %1403 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE18alpha_half_preview, align 1, !tbaa !9, !range !11, !noundef !12
  %1404 = trunc i8 %1403 to i1
  br i1 %1404, label %1405, label %1406

1405:                                             ; preds = %1388
  br label %1411

1406:                                             ; preds = %1388
  %1407 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13alpha_preview, align 1, !tbaa !9, !range !11, !noundef !12
  %1408 = trunc i8 %1407 to i1
  %1409 = zext i1 %1408 to i64
  %1410 = select i1 %1408, i32 131072, i32 0
  br label %1411

1411:                                             ; preds = %1406, %1405
  %1412 = phi i32 [ 262144, %1405 ], [ %1410, %1406 ]
  %1413 = or i32 %1402, %1412
  %1414 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12options_menu, align 1, !tbaa !9, !range !11, !noundef !12
  %1415 = trunc i8 %1414 to i1
  %1416 = zext i1 %1415 to i64
  %1417 = select i1 %1415, i32 0, i32 8
  %1418 = or i32 %1413, %1417
  store i32 %1418, ptr %110, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.238)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.239)
  %1419 = load i32, ptr %110, align 4, !tbaa !13
  %1420 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit3EPKcPfi(ptr noundef @.str.240, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1419)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.241)
  %1421 = load i32, ptr %110, align 4, !tbaa !13
  %1422 = or i32 2097152, %1421
  %1423 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.242, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1422)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.243)
  %1424 = load i32, ptr %110, align 4, !tbaa !13
  %1425 = or i32 16777216, %1424
  %1426 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.244, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1425)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.245)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.246)
  %1427 = load i32, ptr %110, align 4, !tbaa !13
  %1428 = or i32 160, %1427
  %1429 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.247, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1428)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.248)
  %1430 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette acquire, align 8
  %1431 = icmp eq i8 %1430, 0
  br i1 %1431, label %1432, label %1442, !prof !42

1432:                                             ; preds = %1411
  %1433 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette) #8
  %1434 = icmp ne i32 %1433, 0
  br i1 %1434, label %1435, label %1442

1435:                                             ; preds = %1432
  br label %1436

1436:                                             ; preds = %1438, %1435
  %1437 = phi ptr [ @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, %1435 ], [ %1439, %1438 ]
  invoke void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) %1437)
          to label %1438 unwind label %1454

1438:                                             ; preds = %1436
  %1439 = getelementptr inbounds %struct.ImVec4, ptr %1437, i64 1
  %1440 = icmp eq ptr %1439, getelementptr inbounds (%struct.ImVec4, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 32)
  br i1 %1440, label %1441, label %1436

1441:                                             ; preds = %1438
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette) #8
  br label %1442

1442:                                             ; preds = %1441, %1432, %1411
  %1443 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE20saved_palette_inited, align 1, !tbaa !9, !range !11, !noundef !12
  %1444 = trunc i8 %1443 to i1
  br i1 %1444, label %1482, label %1445

1445:                                             ; preds = %1442
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #8
  store i32 0, ptr %111, align 4, !tbaa !13
  br label %1446

1446:                                             ; preds = %1478, %1445
  %1447 = load i32, ptr %111, align 4, !tbaa !13
  %1448 = icmp slt i32 %1447, 32
  br i1 %1448, label %1458, label %1449

1449:                                             ; preds = %1446
  store i32 37, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #8
  br label %1481

1450:                                             ; preds = %1383, %1382
  %1451 = landingpad { ptr, i32 }
          cleanup
  %1452 = extractvalue { ptr, i32 } %1451, 0
  store ptr %1452, ptr %108, align 8
  %1453 = extractvalue { ptr, i32 } %1451, 1
  store i32 %1453, ptr %109, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %107) #8
  call void @__cxa_guard_abort(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE5color) #8
  br label %3519

1454:                                             ; preds = %1436
  %1455 = landingpad { ptr, i32 }
          cleanup
  %1456 = extractvalue { ptr, i32 } %1455, 0
  store ptr %1456, ptr %108, align 8
  %1457 = extractvalue { ptr, i32 } %1455, 1
  store i32 %1457, ptr %109, align 4
  call void @__cxa_guard_abort(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette) #8
  br label %1690

1458:                                             ; preds = %1446
  %1459 = load i32, ptr %111, align 4, !tbaa !13
  %1460 = sitofp i32 %1459 to float
  %1461 = fdiv float %1460, 3.100000e+01
  %1462 = load i32, ptr %111, align 4, !tbaa !13
  %1463 = sext i32 %1462 to i64
  %1464 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1463
  %1465 = getelementptr inbounds %struct.ImVec4, ptr %1464, i32 0, i32 0
  %1466 = load i32, ptr %111, align 4, !tbaa !13
  %1467 = sext i32 %1466 to i64
  %1468 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1467
  %1469 = getelementptr inbounds %struct.ImVec4, ptr %1468, i32 0, i32 1
  %1470 = load i32, ptr %111, align 4, !tbaa !13
  %1471 = sext i32 %1470 to i64
  %1472 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1471
  %1473 = getelementptr inbounds %struct.ImVec4, ptr %1472, i32 0, i32 2
  call void @_ZN5ImGui20ColorConvertHSVtoRGBEfffRfS0_S0_(float noundef %1461, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, ptr noundef nonnull align 4 dereferenceable(4) %1465, ptr noundef nonnull align 4 dereferenceable(4) %1469, ptr noundef nonnull align 4 dereferenceable(4) %1473)
  %1474 = load i32, ptr %111, align 4, !tbaa !13
  %1475 = sext i32 %1474 to i64
  %1476 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1475
  %1477 = getelementptr inbounds %struct.ImVec4, ptr %1476, i32 0, i32 3
  store float 1.000000e+00, ptr %1477, align 4, !tbaa !50
  br label %1478

1478:                                             ; preds = %1458
  %1479 = load i32, ptr %111, align 4, !tbaa !13
  %1480 = add nsw i32 %1479, 1
  store i32 %1480, ptr %111, align 4, !tbaa !13
  br label %1446, !llvm.loop !52

1481:                                             ; preds = %1449
  br label %1482

1482:                                             ; preds = %1481, %1442
  store i8 1, ptr @_ZZN5ImGui14ShowDemoWindowEPbE20saved_palette_inited, align 1, !tbaa !9
  %1483 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color acquire, align 8
  %1484 = icmp eq i8 %1483, 0
  br i1 %1484, label %1485, label %1490, !prof !42

1485:                                             ; preds = %1482
  %1486 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color) #8
  %1487 = icmp ne i32 %1486, 0
  br i1 %1487, label %1488, label %1490

1488:                                             ; preds = %1485
  invoke void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE12backup_color)
          to label %1489 unwind label %1506

1489:                                             ; preds = %1488
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color) #8
  br label %1490

1490:                                             ; preds = %1489, %1485, %1482
  call void @llvm.lifetime.start.p0(i64 1, ptr %112) #8
  %1491 = load i32, ptr %110, align 4, !tbaa !13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %113, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1492 = load <2 x float>, ptr %113, align 4
  %1493 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef @.str.249, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1491, <2 x float> %1492)
  %1494 = zext i1 %1493 to i8
  store i8 %1494, ptr %112, align 1, !tbaa !9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %114, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1495 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.250, ptr noundef nonnull align 4 dereferenceable(8) %114)
  %1496 = zext i1 %1495 to i32
  %1497 = load i8, ptr %112, align 1, !tbaa !9, !range !11, !noundef !12
  %1498 = trunc i8 %1497 to i1
  %1499 = zext i1 %1498 to i32
  %1500 = or i32 %1499, %1496
  %1501 = icmp ne i32 %1500, 0
  %1502 = zext i1 %1501 to i8
  store i8 %1502, ptr %112, align 1, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #8
  %1503 = load i8, ptr %112, align 1, !tbaa !9, !range !11, !noundef !12
  %1504 = trunc i8 %1503 to i1
  br i1 %1504, label %1505, label %1510

1505:                                             ; preds = %1490
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.251)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 @_ZZN5ImGui14ShowDemoWindowEPbE12backup_color, ptr align 4 @_ZZN5ImGui14ShowDemoWindowEPbE5color, i64 16, i1 false), !tbaa.struct !53
  br label %1510

1506:                                             ; preds = %1488
  %1507 = landingpad { ptr, i32 }
          cleanup
  %1508 = extractvalue { ptr, i32 } %1507, 0
  store ptr %1508, ptr %108, align 8
  %1509 = extractvalue { ptr, i32 } %1507, 1
  store i32 %1509, ptr %109, align 4
  call void @__cxa_guard_abort(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color) #8
  br label %1690

1510:                                             ; preds = %1505, %1490
  %1511 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef @.str.251, i32 noundef 0)
  br i1 %1511, label %1512, label %1590

1512:                                             ; preds = %1510
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.252)
  call void @_ZN5ImGui9SeparatorEv()
  %1513 = load i32, ptr %110, align 4, !tbaa !13
  %1514 = or i32 %1513, 256
  %1515 = or i32 %1514, 16
  %1516 = call noundef zeroext i1 @_ZN5ImGui12ColorPicker4EPKcPfiPKf(ptr noundef @.str.253, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1515, ptr noundef null)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui10BeginGroupEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.254)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %115, float noundef 6.000000e+01, float noundef 4.000000e+01)
  %1517 = load <2 x float>, ptr %115, align 4
  %1518 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef @.str.255, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef 262148, <2 x float> %1517)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.256)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %116, float noundef 6.000000e+01, float noundef 4.000000e+01)
  %1519 = load <2 x float>, ptr %116, align 4
  %1520 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef @.str.257, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE12backup_color, i32 noundef 262148, <2 x float> %1519)
  br i1 %1520, label %1521, label %1522

1521:                                             ; preds = %1512
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 @_ZZN5ImGui14ShowDemoWindowEPbE5color, ptr align 4 @_ZZN5ImGui14ShowDemoWindowEPbE12backup_color, i64 16, i1 false), !tbaa.struct !53
  br label %1522

1522:                                             ; preds = %1521, %1512
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.250)
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #8
  store i32 0, ptr %117, align 4, !tbaa !13
  br label %1523

1523:                                             ; preds = %1586, %1522
  %1524 = load i32, ptr %117, align 4, !tbaa !13
  %1525 = icmp slt i32 %1524, 32
  br i1 %1525, label %1527, label %1526

1526:                                             ; preds = %1523
  store i32 40, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #8
  br label %1589

1527:                                             ; preds = %1523
  %1528 = load i32, ptr %117, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1528)
  %1529 = load i32, ptr %117, align 4, !tbaa !13
  %1530 = srem i32 %1529, 8
  %1531 = icmp ne i32 %1530, 0
  br i1 %1531, label %1532, label %1537

1532:                                             ; preds = %1527
  %1533 = call noundef nonnull align 4 dereferenceable(824) ptr @_ZN5ImGui8GetStyleEv()
  %1534 = getelementptr inbounds %struct.ImGuiStyle, ptr %1533, i32 0, i32 13
  %1535 = getelementptr inbounds %struct.ImVec2, ptr %1534, i32 0, i32 1
  %1536 = load float, ptr %1535, align 4, !tbaa !54
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %1536)
  br label %1537

1537:                                             ; preds = %1532, %1527
  %1538 = load i32, ptr %117, align 4, !tbaa !13
  %1539 = sext i32 %1538 to i64
  %1540 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1539
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %118, float noundef 2.000000e+01, float noundef 2.000000e+01)
  %1541 = load <2 x float>, ptr %118, align 4
  %1542 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef @.str.258, ptr noundef nonnull align 4 dereferenceable(16) %1540, i32 noundef 70, <2 x float> %1541)
  br i1 %1542, label %1543, label %1560

1543:                                             ; preds = %1537
  call void @llvm.lifetime.start.p0(i64 16, ptr %119) #8
  %1544 = load i32, ptr %117, align 4, !tbaa !13
  %1545 = sext i32 %1544 to i64
  %1546 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1545
  %1547 = getelementptr inbounds %struct.ImVec4, ptr %1546, i32 0, i32 0
  %1548 = load float, ptr %1547, align 16, !tbaa !55
  %1549 = load i32, ptr %117, align 4, !tbaa !13
  %1550 = sext i32 %1549 to i64
  %1551 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1550
  %1552 = getelementptr inbounds %struct.ImVec4, ptr %1551, i32 0, i32 1
  %1553 = load float, ptr %1552, align 4, !tbaa !56
  %1554 = load i32, ptr %117, align 4, !tbaa !13
  %1555 = sext i32 %1554 to i64
  %1556 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1555
  %1557 = getelementptr inbounds %struct.ImVec4, ptr %1556, i32 0, i32 2
  %1558 = load float, ptr %1557, align 8, !tbaa !57
  %1559 = load float, ptr getelementptr inbounds (%struct.ImVec4, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 0, i32 3), align 4, !tbaa !50
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %119, float noundef %1548, float noundef %1553, float noundef %1558, float noundef %1559)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 @_ZZN5ImGui14ShowDemoWindowEPbE5color, ptr align 4 %119, i64 16, i1 false), !tbaa.struct !53
  call void @llvm.lifetime.end.p0(i64 16, ptr %119) #8
  br label %1560

1560:                                             ; preds = %1543, %1537
  %1561 = call noundef zeroext i1 @_ZN5ImGui19BeginDragDropTargetEv()
  br i1 %1561, label %1562, label %1585

1562:                                             ; preds = %1560
  call void @llvm.lifetime.start.p0(i64 8, ptr %120) #8
  %1563 = call noundef ptr @_ZN5ImGui21AcceptDragDropPayloadEPKci(ptr noundef @.str.259, i32 noundef 0)
  store ptr %1563, ptr %120, align 8, !tbaa !5
  %1564 = load ptr, ptr %120, align 8, !tbaa !5
  %1565 = icmp ne ptr %1564, null
  br i1 %1565, label %1566, label %1573

1566:                                             ; preds = %1562
  %1567 = load i32, ptr %117, align 4, !tbaa !13
  %1568 = sext i32 %1567 to i64
  %1569 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1568
  %1570 = load ptr, ptr %120, align 8, !tbaa !5
  %1571 = getelementptr inbounds %struct.ImGuiPayload, ptr %1570, i32 0, i32 0
  %1572 = load ptr, ptr %1571, align 8, !tbaa !58
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %1569, ptr align 1 %1572, i64 12, i1 false)
  br label %1573

1573:                                             ; preds = %1566, %1562
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %121) #8
  %1574 = call noundef ptr @_ZN5ImGui21AcceptDragDropPayloadEPKci(ptr noundef @.str.260, i32 noundef 0)
  store ptr %1574, ptr %121, align 8, !tbaa !5
  %1575 = load ptr, ptr %121, align 8, !tbaa !5
  %1576 = icmp ne ptr %1575, null
  br i1 %1576, label %1577, label %1584

1577:                                             ; preds = %1573
  %1578 = load i32, ptr %117, align 4, !tbaa !13
  %1579 = sext i32 %1578 to i64
  %1580 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1579
  %1581 = load ptr, ptr %121, align 8, !tbaa !5
  %1582 = getelementptr inbounds %struct.ImGuiPayload, ptr %1581, i32 0, i32 0
  %1583 = load ptr, ptr %1582, align 8, !tbaa !58
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %1580, ptr align 1 %1583, i64 16, i1 false)
  br label %1584

1584:                                             ; preds = %1577, %1573
  call void @llvm.lifetime.end.p0(i64 8, ptr %121) #8
  call void @_ZN5ImGui17EndDragDropTargetEv()
  br label %1585

1585:                                             ; preds = %1584, %1560
  call void @_ZN5ImGui5PopIDEv()
  br label %1586

1586:                                             ; preds = %1585
  %1587 = load i32, ptr %117, align 4, !tbaa !13
  %1588 = add nsw i32 %1587, 1
  store i32 %1588, ptr %117, align 4, !tbaa !13
  br label %1523, !llvm.loop !60

1589:                                             ; preds = %1526
  call void @_ZN5ImGui8EndGroupEv()
  call void @_ZN5ImGui8EndPopupEv()
  br label %1590

1590:                                             ; preds = %1589, %1510
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.261)
  %1591 = load i32, ptr %110, align 4, !tbaa !13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %122, float noundef 8.000000e+01, float noundef 8.000000e+01)
  %1592 = load <2 x float>, ptr %122, align 4
  %1593 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef @.str.262, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1591, <2 x float> %1592)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.263)
  %1594 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v acquire, align 8
  %1595 = icmp eq i8 %1594, 0
  br i1 %1595, label %1596, label %1601, !prof !42

1596:                                             ; preds = %1590
  %1597 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v) #8
  %1598 = icmp ne i32 %1597, 0
  br i1 %1598, label %1599, label %1601

1599:                                             ; preds = %1596
  invoke void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE11ref_color_v, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00, float noundef 5.000000e-01)
          to label %1600 unwind label %1615

1600:                                             ; preds = %1599
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v) #8
  br label %1601

1601:                                             ; preds = %1600, %1596, %1590
  %1602 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.264, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5alpha)
  %1603 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.265, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9alpha_bar)
  %1604 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.266, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12side_preview)
  %1605 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12side_preview, align 1, !tbaa !9, !range !11, !noundef !12
  %1606 = trunc i8 %1605 to i1
  br i1 %1606, label %1607, label %1620

1607:                                             ; preds = %1601
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1608 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.267, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9ref_color)
  %1609 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9ref_color, align 1, !tbaa !9, !range !11, !noundef !12
  %1610 = trunc i8 %1609 to i1
  br i1 %1610, label %1611, label %1619

1611:                                             ; preds = %1607
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1612 = load i32, ptr %110, align 4, !tbaa !13
  %1613 = or i32 32, %1612
  %1614 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.268, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE11ref_color_v, i32 noundef %1613)
  br label %1619

1615:                                             ; preds = %1599
  %1616 = landingpad { ptr, i32 }
          cleanup
  %1617 = extractvalue { ptr, i32 } %1616, 0
  store ptr %1617, ptr %108, align 8
  %1618 = extractvalue { ptr, i32 } %1616, 1
  store i32 %1618, ptr %109, align 4
  call void @__cxa_guard_abort(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #8
  br label %1690

1619:                                             ; preds = %1611, %1607
  br label %1620

1620:                                             ; preds = %1619, %1601
  %1621 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef @.str.269, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode, ptr noundef @.str.270, i32 noundef -1)
  %1622 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef @.str.271, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE11picker_mode, ptr noundef @.str.272, i32 noundef -1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.273)
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #8
  %1623 = load i32, ptr %110, align 4, !tbaa !13
  store i32 %1623, ptr %123, align 4, !tbaa !13
  %1624 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5alpha, align 1, !tbaa !9, !range !11, !noundef !12
  %1625 = trunc i8 %1624 to i1
  br i1 %1625, label %1629, label %1626

1626:                                             ; preds = %1620
  %1627 = load i32, ptr %123, align 4, !tbaa !13
  %1628 = or i32 %1627, 2
  store i32 %1628, ptr %123, align 4, !tbaa !13
  br label %1629

1629:                                             ; preds = %1626, %1620
  %1630 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9alpha_bar, align 1, !tbaa !9, !range !11, !noundef !12
  %1631 = trunc i8 %1630 to i1
  br i1 %1631, label %1632, label %1635

1632:                                             ; preds = %1629
  %1633 = load i32, ptr %123, align 4, !tbaa !13
  %1634 = or i32 %1633, 65536
  store i32 %1634, ptr %123, align 4, !tbaa !13
  br label %1635

1635:                                             ; preds = %1632, %1629
  %1636 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12side_preview, align 1, !tbaa !9, !range !11, !noundef !12
  %1637 = trunc i8 %1636 to i1
  br i1 %1637, label %1641, label %1638

1638:                                             ; preds = %1635
  %1639 = load i32, ptr %123, align 4, !tbaa !13
  %1640 = or i32 %1639, 256
  store i32 %1640, ptr %123, align 4, !tbaa !13
  br label %1641

1641:                                             ; preds = %1638, %1635
  %1642 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11picker_mode, align 4, !tbaa !13
  %1643 = icmp eq i32 %1642, 1
  br i1 %1643, label %1644, label %1647

1644:                                             ; preds = %1641
  %1645 = load i32, ptr %123, align 4, !tbaa !13
  %1646 = or i32 %1645, 33554432
  store i32 %1646, ptr %123, align 4, !tbaa !13
  br label %1647

1647:                                             ; preds = %1644, %1641
  %1648 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11picker_mode, align 4, !tbaa !13
  %1649 = icmp eq i32 %1648, 2
  br i1 %1649, label %1650, label %1653

1650:                                             ; preds = %1647
  %1651 = load i32, ptr %123, align 4, !tbaa !13
  %1652 = or i32 %1651, 67108864
  store i32 %1652, ptr %123, align 4, !tbaa !13
  br label %1653

1653:                                             ; preds = %1650, %1647
  %1654 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode, align 4, !tbaa !13
  %1655 = icmp eq i32 %1654, 1
  br i1 %1655, label %1656, label %1659

1656:                                             ; preds = %1653
  %1657 = load i32, ptr %123, align 4, !tbaa !13
  %1658 = or i32 %1657, 32
  store i32 %1658, ptr %123, align 4, !tbaa !13
  br label %1659

1659:                                             ; preds = %1656, %1653
  %1660 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode, align 4, !tbaa !13
  %1661 = icmp eq i32 %1660, 2
  br i1 %1661, label %1662, label %1665

1662:                                             ; preds = %1659
  %1663 = load i32, ptr %123, align 4, !tbaa !13
  %1664 = or i32 %1663, 1048576
  store i32 %1664, ptr %123, align 4, !tbaa !13
  br label %1665

1665:                                             ; preds = %1662, %1659
  %1666 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode, align 4, !tbaa !13
  %1667 = icmp eq i32 %1666, 3
  br i1 %1667, label %1668, label %1671

1668:                                             ; preds = %1665
  %1669 = load i32, ptr %123, align 4, !tbaa !13
  %1670 = or i32 %1669, 2097152
  store i32 %1670, ptr %123, align 4, !tbaa !13
  br label %1671

1671:                                             ; preds = %1668, %1665
  %1672 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode, align 4, !tbaa !13
  %1673 = icmp eq i32 %1672, 4
  br i1 %1673, label %1674, label %1677

1674:                                             ; preds = %1671
  %1675 = load i32, ptr %123, align 4, !tbaa !13
  %1676 = or i32 %1675, 4194304
  store i32 %1676, ptr %123, align 4, !tbaa !13
  br label %1677

1677:                                             ; preds = %1674, %1671
  %1678 = load i32, ptr %123, align 4, !tbaa !13
  %1679 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9ref_color, align 1, !tbaa !9, !range !11, !noundef !12
  %1680 = trunc i8 %1679 to i1
  %1681 = zext i1 %1680 to i64
  %1682 = select i1 %1680, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11ref_color_v, ptr null
  %1683 = call noundef zeroext i1 @_ZN5ImGui12ColorPicker4EPKcPfiPKf(ptr noundef @.str.274, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1678, ptr noundef %1682)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.275)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.276)
  call void @llvm.lifetime.start.p0(i64 8, ptr %124) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %124, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1684 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.277, ptr noundef nonnull align 4 dereferenceable(8) %124)
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #8
  br i1 %1684, label %1685, label %1686

1685:                                             ; preds = %1677
  call void @_ZN5ImGui19SetColorEditOptionsEi(i32 noundef 44040192)
  br label %1686

1686:                                             ; preds = %1685, %1677
  call void @llvm.lifetime.start.p0(i64 8, ptr %125) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %125, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1687 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.278, ptr noundef nonnull align 4 dereferenceable(8) %125)
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #8
  br i1 %1687, label %1688, label %1689

1688:                                             ; preds = %1686
  call void @_ZN5ImGui19SetColorEditOptionsEi(i32 noundef 84410368)
  br label %1689

1689:                                             ; preds = %1688, %1686
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #8
  br label %1691

1690:                                             ; preds = %1615, %1506, %1454
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #8
  br label %3519

1691:                                             ; preds = %1689, %1374
  %1692 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.279)
  br i1 %1692, label %1693, label %1696

1693:                                             ; preds = %1691
  %1694 = call noundef zeroext i1 @_ZN5ImGui15DragFloatRange2EPKcPfS2_fffS1_S1_f(ptr noundef @.str.280, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5begin, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3end, float noundef 2.500000e-01, float noundef 0.000000e+00, float noundef 1.000000e+02, ptr noundef @.str.281, ptr noundef @.str.282, float noundef 1.000000e+00)
  %1695 = call noundef zeroext i1 @_ZN5ImGui13DragIntRange2EPKcPiS2_fiiS1_S1_(ptr noundef @.str.283, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE7begin_i, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5end_i, float noundef 5.000000e+00, i32 noundef 0, i32 noundef 0, ptr noundef @.str.284, ptr noundef @.str.285)
  call void @_ZN5ImGui7TreePopEv()
  br label %1696

1696:                                             ; preds = %1693, %1691
  %1697 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.286)
  br i1 %1697, label %1698, label %1831

1698:                                             ; preds = %1696
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #8
  store i32 0, ptr %126, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #8
  store i32 1, ptr %127, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #8
  store i32 50, ptr %128, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #8
  store i32 -1073741824, ptr %129, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #8
  store i32 1073741823, ptr %130, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #8
  store i32 1073741723, ptr %131, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #8
  store i32 1073741823, ptr %132, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #8
  store i32 0, ptr %133, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #8
  store i32 1, ptr %134, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #8
  store i32 50, ptr %135, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #8
  store i32 0, ptr %136, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #8
  store i32 2147483647, ptr %137, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #8
  store i32 2147483547, ptr %138, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #8
  store i32 2147483647, ptr %139, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr %140) #8
  store i64 0, ptr %140, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %141) #8
  store i64 1, ptr %141, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %142) #8
  store i64 50, ptr %142, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %143) #8
  store i64 -4611686018427387904, ptr %143, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %144) #8
  store i64 4611686018427387903, ptr %144, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %145) #8
  store i64 4611686018427387803, ptr %145, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %146) #8
  store i64 4611686018427387903, ptr %146, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %147) #8
  store i64 0, ptr %147, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %148) #8
  store i64 1, ptr %148, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %149) #8
  store i64 50, ptr %149, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %150) #8
  store i64 0, ptr %150, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %151) #8
  store i64 9223372036854775807, ptr %151, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %152) #8
  store i64 9223372036854775707, ptr %152, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %153) #8
  store i64 9223372036854775807, ptr %153, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #8
  store float 0.000000e+00, ptr %154, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #8
  store float 1.000000e+00, ptr %155, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #8
  store float -1.000000e+10, ptr %156, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #8
  store float 1.000000e+10, ptr %157, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 8, ptr %158) #8
  store double 0.000000e+00, ptr %158, align 8, !tbaa !63
  call void @llvm.lifetime.start.p0(i64 8, ptr %159) #8
  store double 1.000000e+00, ptr %159, align 8, !tbaa !63
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #8
  store double -1.000000e+15, ptr %160, align 8, !tbaa !63
  call void @llvm.lifetime.start.p0(i64 8, ptr %161) #8
  store double 1.000000e+15, ptr %161, align 8, !tbaa !63
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #8
  store float 0x3FC99999A0000000, ptr %162, align 4, !tbaa !21
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.287)
  %1699 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.288, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.289)
  %1700 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1701 = trunc i8 %1700 to i1
  br i1 %1701, label %1702, label %1703

1702:                                             ; preds = %1698
  br label %1704

1703:                                             ; preds = %1698
  br label %1704

1704:                                             ; preds = %1703, %1702
  %1705 = phi ptr [ %126, %1702 ], [ null, %1703 ]
  %1706 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1707 = trunc i8 %1706 to i1
  br i1 %1707, label %1708, label %1709

1708:                                             ; preds = %1704
  br label %1710

1709:                                             ; preds = %1704
  br label %1710

1710:                                             ; preds = %1709, %1708
  %1711 = phi ptr [ %128, %1708 ], [ null, %1709 ]
  %1712 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.290, i32 noundef 0, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, float noundef 0x3FC99999A0000000, ptr noundef %1705, ptr noundef %1711, ptr noundef null, float noundef 1.000000e+00)
  %1713 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1714 = trunc i8 %1713 to i1
  br i1 %1714, label %1715, label %1716

1715:                                             ; preds = %1710
  br label %1717

1716:                                             ; preds = %1710
  br label %1717

1717:                                             ; preds = %1716, %1715
  %1718 = phi ptr [ %133, %1715 ], [ null, %1716 ]
  %1719 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1720 = trunc i8 %1719 to i1
  br i1 %1720, label %1721, label %1722

1721:                                             ; preds = %1717
  br label %1723

1722:                                             ; preds = %1717
  br label %1723

1723:                                             ; preds = %1722, %1721
  %1724 = phi ptr [ %135, %1721 ], [ null, %1722 ]
  %1725 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.291, i32 noundef 1, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, float noundef 0x3FC99999A0000000, ptr noundef %1718, ptr noundef %1724, ptr noundef @.str.292, float noundef 1.000000e+00)
  %1726 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1727 = trunc i8 %1726 to i1
  br i1 %1727, label %1728, label %1729

1728:                                             ; preds = %1723
  br label %1730

1729:                                             ; preds = %1723
  br label %1730

1730:                                             ; preds = %1729, %1728
  %1731 = phi ptr [ %140, %1728 ], [ null, %1729 ]
  %1732 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1733 = trunc i8 %1732 to i1
  br i1 %1733, label %1734, label %1735

1734:                                             ; preds = %1730
  br label %1736

1735:                                             ; preds = %1730
  br label %1736

1736:                                             ; preds = %1735, %1734
  %1737 = phi ptr [ %142, %1734 ], [ null, %1735 ]
  %1738 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.293, i32 noundef 2, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, float noundef 0x3FC99999A0000000, ptr noundef %1731, ptr noundef %1737, ptr noundef null, float noundef 1.000000e+00)
  %1739 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1740 = trunc i8 %1739 to i1
  br i1 %1740, label %1741, label %1742

1741:                                             ; preds = %1736
  br label %1743

1742:                                             ; preds = %1736
  br label %1743

1743:                                             ; preds = %1742, %1741
  %1744 = phi ptr [ %147, %1741 ], [ null, %1742 ]
  %1745 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1746 = trunc i8 %1745 to i1
  br i1 %1746, label %1747, label %1748

1747:                                             ; preds = %1743
  br label %1749

1748:                                             ; preds = %1743
  br label %1749

1749:                                             ; preds = %1748, %1747
  %1750 = phi ptr [ %149, %1747 ], [ null, %1748 ]
  %1751 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.294, i32 noundef 3, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, float noundef 0x3FC99999A0000000, ptr noundef %1744, ptr noundef %1750, ptr noundef null, float noundef 1.000000e+00)
  %1752 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.103, i32 noundef 4, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, float noundef 0x3F747AE140000000, ptr noundef %154, ptr noundef %155, ptr noundef @.str.295, float noundef 1.000000e+00)
  %1753 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.296, i32 noundef 4, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, float noundef 0x3F747AE140000000, ptr noundef %154, ptr noundef %155, ptr noundef @.str.295, float noundef 2.000000e+00)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.297)
  %1754 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.298, i32 noundef 5, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, float noundef 0x3F40624DE0000000, ptr noundef %158, ptr noundef null, ptr noundef @.str.299, float noundef 1.000000e+00)
  %1755 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.300, i32 noundef 5, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, float noundef 0x3F40624DE0000000, ptr noundef %158, ptr noundef %159, ptr noundef @.str.301, float noundef 2.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.302)
  %1756 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.303, i32 noundef 0, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef %126, ptr noundef %128, ptr noundef @.str.63, float noundef 1.000000e+00)
  %1757 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.304, i32 noundef 0, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef %131, ptr noundef %132, ptr noundef @.str.63, float noundef 1.000000e+00)
  %1758 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.305, i32 noundef 0, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef %129, ptr noundef %130, ptr noundef @.str.63, float noundef 1.000000e+00)
  %1759 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.306, i32 noundef 1, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef %133, ptr noundef %135, ptr noundef @.str.307, float noundef 1.000000e+00)
  %1760 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.308, i32 noundef 1, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef %138, ptr noundef %139, ptr noundef @.str.307, float noundef 1.000000e+00)
  %1761 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.309, i32 noundef 1, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef %136, ptr noundef %137, ptr noundef @.str.307, float noundef 1.000000e+00)
  %1762 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.310, i32 noundef 2, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef %140, ptr noundef %142, ptr noundef @.str.311, float noundef 1.000000e+00)
  %1763 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.312, i32 noundef 2, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef %145, ptr noundef %146, ptr noundef @.str.311, float noundef 1.000000e+00)
  %1764 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.313, i32 noundef 2, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef %143, ptr noundef %144, ptr noundef @.str.311, float noundef 1.000000e+00)
  %1765 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.314, i32 noundef 3, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef %147, ptr noundef %149, ptr noundef @.str.315, float noundef 1.000000e+00)
  %1766 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.316, i32 noundef 3, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef %152, ptr noundef %153, ptr noundef @.str.315, float noundef 1.000000e+00)
  %1767 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.317, i32 noundef 3, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef %150, ptr noundef %151, ptr noundef @.str.315, float noundef 1.000000e+00)
  %1768 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.318, i32 noundef 4, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef %154, ptr noundef %155, ptr noundef null, float noundef 1.000000e+00)
  %1769 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.319, i32 noundef 4, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef %154, ptr noundef %155, ptr noundef @.str.320, float noundef 2.000000e+00)
  %1770 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.321, i32 noundef 4, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef %156, ptr noundef %157, ptr noundef @.str.96, float noundef 1.000000e+00)
  %1771 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.322, i32 noundef 5, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef %158, ptr noundef %159, ptr noundef @.str.299, float noundef 1.000000e+00)
  %1772 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.323, i32 noundef 5, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef %158, ptr noundef %159, ptr noundef @.str.320, float noundef 2.000000e+00)
  %1773 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.324, i32 noundef 5, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef %160, ptr noundef %161, ptr noundef @.str.325, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.326)
  %1774 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.327, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step)
  %1775 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1776 = trunc i8 %1775 to i1
  br i1 %1776, label %1777, label %1778

1777:                                             ; preds = %1749
  br label %1779

1778:                                             ; preds = %1749
  br label %1779

1779:                                             ; preds = %1778, %1777
  %1780 = phi ptr [ %127, %1777 ], [ null, %1778 ]
  %1781 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.328, i32 noundef 0, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef %1780, ptr noundef null, ptr noundef @.str.63, i32 noundef 0)
  %1782 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1783 = trunc i8 %1782 to i1
  br i1 %1783, label %1784, label %1785

1784:                                             ; preds = %1779
  br label %1786

1785:                                             ; preds = %1779
  br label %1786

1786:                                             ; preds = %1785, %1784
  %1787 = phi ptr [ %127, %1784 ], [ null, %1785 ]
  %1788 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.329, i32 noundef 0, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef %1787, ptr noundef null, ptr noundef @.str.330, i32 noundef 2)
  %1789 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1790 = trunc i8 %1789 to i1
  br i1 %1790, label %1791, label %1792

1791:                                             ; preds = %1786
  br label %1793

1792:                                             ; preds = %1786
  br label %1793

1793:                                             ; preds = %1792, %1791
  %1794 = phi ptr [ %134, %1791 ], [ null, %1792 ]
  %1795 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.331, i32 noundef 1, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef %1794, ptr noundef null, ptr noundef @.str.307, i32 noundef 0)
  %1796 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1797 = trunc i8 %1796 to i1
  br i1 %1797, label %1798, label %1799

1798:                                             ; preds = %1793
  br label %1800

1799:                                             ; preds = %1793
  br label %1800

1800:                                             ; preds = %1799, %1798
  %1801 = phi ptr [ %134, %1798 ], [ null, %1799 ]
  %1802 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.332, i32 noundef 1, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef %1801, ptr noundef null, ptr noundef @.str.330, i32 noundef 2)
  %1803 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1804 = trunc i8 %1803 to i1
  br i1 %1804, label %1805, label %1806

1805:                                             ; preds = %1800
  br label %1807

1806:                                             ; preds = %1800
  br label %1807

1807:                                             ; preds = %1806, %1805
  %1808 = phi ptr [ %141, %1805 ], [ null, %1806 ]
  %1809 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.333, i32 noundef 2, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef %1808, ptr noundef null, ptr noundef null, i32 noundef 0)
  %1810 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1811 = trunc i8 %1810 to i1
  br i1 %1811, label %1812, label %1813

1812:                                             ; preds = %1807
  br label %1814

1813:                                             ; preds = %1807
  br label %1814

1814:                                             ; preds = %1813, %1812
  %1815 = phi ptr [ %148, %1812 ], [ null, %1813 ]
  %1816 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.334, i32 noundef 3, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef %1815, ptr noundef null, ptr noundef null, i32 noundef 0)
  %1817 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1818 = trunc i8 %1817 to i1
  br i1 %1818, label %1819, label %1820

1819:                                             ; preds = %1814
  br label %1821

1820:                                             ; preds = %1814
  br label %1821

1821:                                             ; preds = %1820, %1819
  %1822 = phi ptr [ %155, %1819 ], [ null, %1820 ]
  %1823 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.91, i32 noundef 4, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef %1822, ptr noundef null, ptr noundef null, i32 noundef 0)
  %1824 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1825 = trunc i8 %1824 to i1
  br i1 %1825, label %1826, label %1827

1826:                                             ; preds = %1821
  br label %1828

1827:                                             ; preds = %1821
  br label %1828

1828:                                             ; preds = %1827, %1826
  %1829 = phi ptr [ %159, %1826 ], [ null, %1827 ]
  %1830 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.93, i32 noundef 5, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef %1829, ptr noundef null, ptr noundef null, i32 noundef 0)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %159) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %158) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %150) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %149) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %148) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %147) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %143) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %141) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #8
  br label %1831

1831:                                             ; preds = %1828, %1696
  %1832 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.335)
  br i1 %1832, label %1833, label %1852

1833:                                             ; preds = %1831
  %1834 = call noundef zeroext i1 @_ZN5ImGui11InputFloat2EPKcPfS1_i(ptr noundef @.str.336, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, ptr noundef @.str.92, i32 noundef 0)
  %1835 = call noundef zeroext i1 @_ZN5ImGui10DragFloat2EPKcPffffS1_f(ptr noundef @.str.337, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0x3F847AE140000000, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  %1836 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat2EPKcPfffS1_f(ptr noundef @.str.338, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  %1837 = call noundef zeroext i1 @_ZN5ImGui9InputInt2EPKcPii(ptr noundef @.str.339, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0)
  %1838 = call noundef zeroext i1 @_ZN5ImGui8DragInt2EPKcPifiiS1_(ptr noundef @.str.340, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 255, ptr noundef @.str.63)
  %1839 = call noundef zeroext i1 @_ZN5ImGui10SliderInt2EPKcPiiiS1_(ptr noundef @.str.341, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0, i32 noundef 255, ptr noundef @.str.63)
  call void @_ZN5ImGui7SpacingEv()
  %1840 = call noundef zeroext i1 @_ZN5ImGui11InputFloat3EPKcPfS1_i(ptr noundef @.str.98, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, ptr noundef @.str.92, i32 noundef 0)
  %1841 = call noundef zeroext i1 @_ZN5ImGui10DragFloat3EPKcPffffS1_f(ptr noundef @.str.342, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0x3F847AE140000000, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  %1842 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat3EPKcPfffS1_f(ptr noundef @.str.343, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  %1843 = call noundef zeroext i1 @_ZN5ImGui9InputInt3EPKcPii(ptr noundef @.str.344, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0)
  %1844 = call noundef zeroext i1 @_ZN5ImGui8DragInt3EPKcPifiiS1_(ptr noundef @.str.345, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 255, ptr noundef @.str.63)
  %1845 = call noundef zeroext i1 @_ZN5ImGui10SliderInt3EPKcPiiiS1_(ptr noundef @.str.346, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0, i32 noundef 255, ptr noundef @.str.63)
  call void @_ZN5ImGui7SpacingEv()
  %1846 = call noundef zeroext i1 @_ZN5ImGui11InputFloat4EPKcPfS1_i(ptr noundef @.str.347, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, ptr noundef @.str.92, i32 noundef 0)
  %1847 = call noundef zeroext i1 @_ZN5ImGui10DragFloat4EPKcPffffS1_f(ptr noundef @.str.348, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0x3F847AE140000000, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  %1848 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat4EPKcPfffS1_f(ptr noundef @.str.349, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  %1849 = call noundef zeroext i1 @_ZN5ImGui9InputInt4EPKcPii(ptr noundef @.str.350, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0)
  %1850 = call noundef zeroext i1 @_ZN5ImGui8DragInt4EPKcPifiiS1_(ptr noundef @.str.351, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 255, ptr noundef @.str.63)
  %1851 = call noundef zeroext i1 @_ZN5ImGui10SliderInt4EPKcPiiiS1_(ptr noundef @.str.352, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0, i32 noundef 255, ptr noundef @.str.63)
  call void @_ZN5ImGui7TreePopEv()
  br label %1852

1852:                                             ; preds = %1833, %1831
  %1853 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.353)
  br i1 %1853, label %1854, label %1998

1854:                                             ; preds = %1852
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #8
  store float 4.000000e+00, ptr %163, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 8, ptr %164) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %164, float noundef 4.000000e+00, float noundef 4.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef 13, ptr noundef nonnull align 4 dereferenceable(8) %164)
  call void @llvm.lifetime.end.p0(i64 8, ptr %164) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %165) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %165, float noundef 1.800000e+01, float noundef 1.600000e+02)
  %1855 = call noundef zeroext i1 @_ZN5ImGui10VSliderIntEPKcRK6ImVec2PiiiS1_(ptr noundef @.str.354, ptr noundef nonnull align 4 dereferenceable(8) %165, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9int_value, i32 noundef 0, i32 noundef 5, ptr noundef @.str.63)
  call void @llvm.lifetime.end.p0(i64 8, ptr %165) #8
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef @.str.355)
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #8
  store i32 0, ptr %166, align 4, !tbaa !13
  br label %1856

1856:                                             ; preds = %1936, %1854
  %1857 = load i32, ptr %166, align 4, !tbaa !13
  %1858 = icmp slt i32 %1857, 7
  br i1 %1858, label %1860, label %1859

1859:                                             ; preds = %1856
  store i32 43, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #8
  br label %1939

1860:                                             ; preds = %1856
  %1861 = load i32, ptr %166, align 4, !tbaa !13
  %1862 = icmp sgt i32 %1861, 0
  br i1 %1862, label %1863, label %1864

1863:                                             ; preds = %1860
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %1864

1864:                                             ; preds = %1863, %1860
  %1865 = load i32, ptr %166, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1865)
  call void @llvm.lifetime.start.p0(i64 16, ptr %167) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %168) #8
  %1866 = load i32, ptr %166, align 4, !tbaa !13
  %1867 = sitofp i32 %1866 to float
  %1868 = fdiv float %1867, 7.000000e+00
  %1869 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1868, float noundef 5.000000e-01, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1870 = getelementptr inbounds %struct.ImColor, ptr %168, i32 0, i32 0
  %1871 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %1870, i32 0, i32 0
  %1872 = extractvalue { <2 x float>, <2 x float> } %1869, 0
  store <2 x float> %1872, ptr %1871, align 4
  %1873 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %1870, i32 0, i32 1
  %1874 = extractvalue { <2 x float>, <2 x float> } %1869, 1
  store <2 x float> %1874, ptr %1873, align 4
  %1875 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %168)
  %1876 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %167, i32 0, i32 0
  %1877 = extractvalue { <2 x float>, <2 x float> } %1875, 0
  store <2 x float> %1877, ptr %1876, align 4
  %1878 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %167, i32 0, i32 1
  %1879 = extractvalue { <2 x float>, <2 x float> } %1875, 1
  store <2 x float> %1879, ptr %1878, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 7, ptr noundef nonnull align 4 dereferenceable(16) %167)
  call void @llvm.lifetime.end.p0(i64 16, ptr %168) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %167) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %169) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %170) #8
  %1880 = load i32, ptr %166, align 4, !tbaa !13
  %1881 = sitofp i32 %1880 to float
  %1882 = fdiv float %1881, 7.000000e+00
  %1883 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1882, float noundef 0x3FE3333340000000, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1884 = getelementptr inbounds %struct.ImColor, ptr %170, i32 0, i32 0
  %1885 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %1884, i32 0, i32 0
  %1886 = extractvalue { <2 x float>, <2 x float> } %1883, 0
  store <2 x float> %1886, ptr %1885, align 4
  %1887 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %1884, i32 0, i32 1
  %1888 = extractvalue { <2 x float>, <2 x float> } %1883, 1
  store <2 x float> %1888, ptr %1887, align 4
  %1889 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %170)
  %1890 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %169, i32 0, i32 0
  %1891 = extractvalue { <2 x float>, <2 x float> } %1889, 0
  store <2 x float> %1891, ptr %1890, align 4
  %1892 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %169, i32 0, i32 1
  %1893 = extractvalue { <2 x float>, <2 x float> } %1889, 1
  store <2 x float> %1893, ptr %1892, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 8, ptr noundef nonnull align 4 dereferenceable(16) %169)
  call void @llvm.lifetime.end.p0(i64 16, ptr %170) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %169) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %171) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %172) #8
  %1894 = load i32, ptr %166, align 4, !tbaa !13
  %1895 = sitofp i32 %1894 to float
  %1896 = fdiv float %1895, 7.000000e+00
  %1897 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1896, float noundef 0x3FE6666660000000, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1898 = getelementptr inbounds %struct.ImColor, ptr %172, i32 0, i32 0
  %1899 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %1898, i32 0, i32 0
  %1900 = extractvalue { <2 x float>, <2 x float> } %1897, 0
  store <2 x float> %1900, ptr %1899, align 4
  %1901 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %1898, i32 0, i32 1
  %1902 = extractvalue { <2 x float>, <2 x float> } %1897, 1
  store <2 x float> %1902, ptr %1901, align 4
  %1903 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %172)
  %1904 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %171, i32 0, i32 0
  %1905 = extractvalue { <2 x float>, <2 x float> } %1903, 0
  store <2 x float> %1905, ptr %1904, align 4
  %1906 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %171, i32 0, i32 1
  %1907 = extractvalue { <2 x float>, <2 x float> } %1903, 1
  store <2 x float> %1907, ptr %1906, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 9, ptr noundef nonnull align 4 dereferenceable(16) %171)
  call void @llvm.lifetime.end.p0(i64 16, ptr %172) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %171) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %173) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %174) #8
  %1908 = load i32, ptr %166, align 4, !tbaa !13
  %1909 = sitofp i32 %1908 to float
  %1910 = fdiv float %1909, 7.000000e+00
  %1911 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1910, float noundef 0x3FECCCCCC0000000, float noundef 0x3FECCCCCC0000000, float noundef 1.000000e+00)
  %1912 = getelementptr inbounds %struct.ImColor, ptr %174, i32 0, i32 0
  %1913 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %1912, i32 0, i32 0
  %1914 = extractvalue { <2 x float>, <2 x float> } %1911, 0
  store <2 x float> %1914, ptr %1913, align 4
  %1915 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %1912, i32 0, i32 1
  %1916 = extractvalue { <2 x float>, <2 x float> } %1911, 1
  store <2 x float> %1916, ptr %1915, align 4
  %1917 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %174)
  %1918 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %173, i32 0, i32 0
  %1919 = extractvalue { <2 x float>, <2 x float> } %1917, 0
  store <2 x float> %1919, ptr %1918, align 4
  %1920 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %173, i32 0, i32 1
  %1921 = extractvalue { <2 x float>, <2 x float> } %1917, 1
  store <2 x float> %1921, ptr %1920, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 19, ptr noundef nonnull align 4 dereferenceable(16) %173)
  call void @llvm.lifetime.end.p0(i64 16, ptr %174) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %173) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %175) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %175, float noundef 1.800000e+01, float noundef 1.600000e+02)
  %1922 = load i32, ptr %166, align 4, !tbaa !13
  %1923 = sext i32 %1922 to i64
  %1924 = getelementptr inbounds [7 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, i64 0, i64 %1923
  %1925 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %175, ptr noundef %1924, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.357, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr %175) #8
  %1926 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1926, label %1929, label %1927

1927:                                             ; preds = %1864
  %1928 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1928, label %1929, label %1935

1929:                                             ; preds = %1927, %1864
  %1930 = load i32, ptr %166, align 4, !tbaa !13
  %1931 = sext i32 %1930 to i64
  %1932 = getelementptr inbounds [7 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, i64 0, i64 %1931
  %1933 = load float, ptr %1932, align 4, !tbaa !21
  %1934 = fpext float %1933 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef @.str.92, double noundef %1934)
  br label %1935

1935:                                             ; preds = %1929, %1927
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 4)
  call void @_ZN5ImGui5PopIDEv()
  br label %1936

1936:                                             ; preds = %1935
  %1937 = load i32, ptr %166, align 4, !tbaa !13
  %1938 = add nsw i32 %1937, 1
  store i32 %1938, ptr %166, align 4, !tbaa !13
  br label %1856, !llvm.loop !65

1939:                                             ; preds = %1859
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef @.str.358)
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #8
  store i32 3, ptr %176, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr %177) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %177, float noundef 1.800000e+01, float noundef 0x4049555560000000)
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #8
  store i32 0, ptr %178, align 4, !tbaa !13
  br label %1940

1940:                                             ; preds = %1976, %1939
  %1941 = load i32, ptr %178, align 4, !tbaa !13
  %1942 = icmp slt i32 %1941, 4
  br i1 %1942, label %1944, label %1943

1943:                                             ; preds = %1940
  store i32 46, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #8
  br label %1979

1944:                                             ; preds = %1940
  %1945 = load i32, ptr %178, align 4, !tbaa !13
  %1946 = icmp sgt i32 %1945, 0
  br i1 %1946, label %1947, label %1948

1947:                                             ; preds = %1944
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %1948

1948:                                             ; preds = %1947, %1944
  call void @_ZN5ImGui10BeginGroupEv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #8
  store i32 0, ptr %179, align 4, !tbaa !13
  br label %1949

1949:                                             ; preds = %1972, %1948
  %1950 = load i32, ptr %179, align 4, !tbaa !13
  %1951 = icmp slt i32 %1950, 3
  br i1 %1951, label %1953, label %1952

1952:                                             ; preds = %1949
  store i32 49, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #8
  br label %1975

1953:                                             ; preds = %1949
  %1954 = load i32, ptr %178, align 4, !tbaa !13
  %1955 = mul nsw i32 %1954, 3
  %1956 = load i32, ptr %179, align 4, !tbaa !13
  %1957 = add nsw i32 %1955, %1956
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1957)
  %1958 = load i32, ptr %178, align 4, !tbaa !13
  %1959 = sext i32 %1958 to i64
  %1960 = getelementptr inbounds [4 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 0, i64 %1959
  %1961 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %177, ptr noundef %1960, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.357, float noundef 1.000000e+00)
  %1962 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1962, label %1965, label %1963

1963:                                             ; preds = %1953
  %1964 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1964, label %1965, label %1971

1965:                                             ; preds = %1963, %1953
  %1966 = load i32, ptr %178, align 4, !tbaa !13
  %1967 = sext i32 %1966 to i64
  %1968 = getelementptr inbounds [4 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 0, i64 %1967
  %1969 = load float, ptr %1968, align 4, !tbaa !21
  %1970 = fpext float %1969 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef @.str.92, double noundef %1970)
  br label %1971

1971:                                             ; preds = %1965, %1963
  call void @_ZN5ImGui5PopIDEv()
  br label %1972

1972:                                             ; preds = %1971
  %1973 = load i32, ptr %179, align 4, !tbaa !13
  %1974 = add nsw i32 %1973, 1
  store i32 %1974, ptr %179, align 4, !tbaa !13
  br label %1949, !llvm.loop !66

1975:                                             ; preds = %1952
  call void @_ZN5ImGui8EndGroupEv()
  br label %1976

1976:                                             ; preds = %1975
  %1977 = load i32, ptr %178, align 4, !tbaa !13
  %1978 = add nsw i32 %1977, 1
  store i32 %1978, ptr %178, align 4, !tbaa !13
  br label %1940, !llvm.loop !67

1979:                                             ; preds = %1943
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef @.str.359)
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #8
  store i32 0, ptr %180, align 4, !tbaa !13
  br label %1980

1980:                                             ; preds = %1994, %1979
  %1981 = load i32, ptr %180, align 4, !tbaa !13
  %1982 = icmp slt i32 %1981, 4
  br i1 %1982, label %1984, label %1983

1983:                                             ; preds = %1980
  store i32 52, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #8
  br label %1997

1984:                                             ; preds = %1980
  %1985 = load i32, ptr %180, align 4, !tbaa !13
  %1986 = icmp sgt i32 %1985, 0
  br i1 %1986, label %1987, label %1988

1987:                                             ; preds = %1984
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %1988

1988:                                             ; preds = %1987, %1984
  %1989 = load i32, ptr %180, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1989)
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 18, float noundef 4.000000e+01)
  call void @llvm.lifetime.start.p0(i64 8, ptr %181) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %181, float noundef 4.000000e+01, float noundef 1.600000e+02)
  %1990 = load i32, ptr %180, align 4, !tbaa !13
  %1991 = sext i32 %1990 to i64
  %1992 = getelementptr inbounds [7 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, i64 0, i64 %1991
  %1993 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %181, ptr noundef %1992, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.360, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr %181) #8
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @_ZN5ImGui5PopIDEv()
  br label %1994

1994:                                             ; preds = %1988
  %1995 = load i32, ptr %180, align 4, !tbaa !13
  %1996 = add nsw i32 %1995, 1
  store i32 %1996, ptr %180, align 4, !tbaa !13
  br label %1980, !llvm.loop !68

1997:                                             ; preds = %1983
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr %177) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #8
  br label %1998

1998:                                             ; preds = %1997, %1852
  %1999 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.361)
  br i1 %1999, label %2000, label %2102

2000:                                             ; preds = %1998
  %2001 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.149, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 0)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2002 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.54, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2003 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.362, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 2)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2004 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.363, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 3)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2005 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.364, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 4)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2006 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.365, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 5)
  call void @llvm.lifetime.start.p0(i64 1, ptr %182) #8
  store i8 0, ptr %182, align 1, !tbaa !9
  %2007 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !13
  %2008 = icmp eq i32 %2007, 0
  br i1 %2008, label %2009, label %2010

2009:                                             ; preds = %2000
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.366)
  br label %2010

2010:                                             ; preds = %2009, %2000
  %2011 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !13
  %2012 = icmp eq i32 %2011, 1
  br i1 %2012, label %2013, label %2016

2013:                                             ; preds = %2010
  call void @llvm.lifetime.start.p0(i64 8, ptr %183) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %183, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2014 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.367, ptr noundef nonnull align 4 dereferenceable(8) %183)
  %2015 = zext i1 %2014 to i8
  store i8 %2015, ptr %182, align 1, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #8
  br label %2016

2016:                                             ; preds = %2013, %2010
  %2017 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !13
  %2018 = icmp eq i32 %2017, 2
  br i1 %2018, label %2019, label %2022

2019:                                             ; preds = %2016
  %2020 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.368, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1b)
  %2021 = zext i1 %2020 to i8
  store i8 %2021, ptr %182, align 1, !tbaa !9
  br label %2022

2022:                                             ; preds = %2019, %2016
  %2023 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !13
  %2024 = icmp eq i32 %2023, 3
  br i1 %2024, label %2025, label %2028

2025:                                             ; preds = %2022
  %2026 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef @.str.369, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5col4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  %2027 = zext i1 %2026 to i8
  store i8 %2027, ptr %182, align 1, !tbaa !9
  br label %2028

2028:                                             ; preds = %2025, %2022
  %2029 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !13
  %2030 = icmp eq i32 %2029, 4
  br i1 %2030, label %2031, label %2034

2031:                                             ; preds = %2028
  %2032 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.370, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5col4f, i32 noundef 0)
  %2033 = zext i1 %2032 to i8
  store i8 %2033, ptr %182, align 1, !tbaa !9
  br label %2034

2034:                                             ; preds = %2031, %2028
  %2035 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !13
  %2036 = icmp eq i32 %2035, 5
  br i1 %2036, label %2037, label %2041

2037:                                             ; preds = %2034
  call void @llvm.lifetime.start.p0(i64 32, ptr %184) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %184, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.items.371, i64 32, i1 false)
  %2038 = getelementptr inbounds [4 x ptr], ptr %184, i64 0, i64 0
  %2039 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef @.str.372, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE7current, ptr noundef %2038, i32 noundef 4, i32 noundef 4)
  %2040 = zext i1 %2039 to i8
  store i8 %2040, ptr %182, align 1, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 32, ptr %184) #8
  br label %2041

2041:                                             ; preds = %2037, %2034
  %2042 = load i8, ptr %182, align 1, !tbaa !9, !range !11, !noundef !12
  %2043 = trunc i8 %2042 to i1
  %2044 = zext i1 %2043 to i32
  %2045 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  %2046 = zext i1 %2045 to i32
  %2047 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %2048 = zext i1 %2047 to i32
  %2049 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 8)
  %2050 = zext i1 %2049 to i32
  %2051 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 32)
  %2052 = zext i1 %2051 to i32
  %2053 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 64)
  %2054 = zext i1 %2053 to i32
  %2055 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 104)
  %2056 = zext i1 %2055 to i32
  %2057 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  %2058 = zext i1 %2057 to i32
  %2059 = call noundef zeroext i1 @_ZN5ImGui17IsItemDeactivatedEv()
  %2060 = zext i1 %2059 to i32
  %2061 = call noundef zeroext i1 @_ZN5ImGui28IsItemDeactivatedAfterChangeEv()
  %2062 = zext i1 %2061 to i32
  %2063 = call noundef zeroext i1 @_ZN5ImGui13IsItemVisibleEv()
  %2064 = zext i1 %2063 to i32
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.373, i32 noundef %2044, i32 noundef %2046, i32 noundef %2048, i32 noundef %2050, i32 noundef %2052, i32 noundef %2054, i32 noundef %2056, i32 noundef %2058, i32 noundef %2060, i32 noundef %2062, i32 noundef %2064)
  %2065 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.374, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window)
  %2066 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window, align 1, !tbaa !9, !range !11, !noundef !12
  %2067 = trunc i8 %2066 to i1
  br i1 %2067, label %2068, label %2072

2068:                                             ; preds = %2041
  call void @llvm.lifetime.start.p0(i64 8, ptr %185) #8
  %2069 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %2070 = fmul float %2069, 2.000000e+01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %185, float noundef 0.000000e+00, float noundef %2070)
  %2071 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef @.str.375, ptr noundef nonnull align 4 dereferenceable(8) %185, i1 noundef zeroext true, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr %185) #8
  br label %2072

2072:                                             ; preds = %2068, %2041
  %2073 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 0)
  %2074 = zext i1 %2073 to i32
  %2075 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 1)
  %2076 = zext i1 %2075 to i32
  %2077 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 3)
  %2078 = zext i1 %2077 to i32
  %2079 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 2)
  %2080 = zext i1 %2079 to i32
  %2081 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 4)
  %2082 = zext i1 %2081 to i32
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.376, i32 noundef %2074, i32 noundef %2076, i32 noundef %2078, i32 noundef %2080, i32 noundef %2082)
  %2083 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 0)
  %2084 = zext i1 %2083 to i32
  %2085 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 8)
  %2086 = zext i1 %2085 to i32
  %2087 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 32)
  %2088 = zext i1 %2087 to i32
  %2089 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 1)
  %2090 = zext i1 %2089 to i32
  %2091 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 3)
  %2092 = zext i1 %2091 to i32
  %2093 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 2)
  %2094 = zext i1 %2093 to i32
  %2095 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 4)
  %2096 = zext i1 %2095 to i32
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.377, i32 noundef %2084, i32 noundef %2086, i32 noundef %2088, i32 noundef %2090, i32 noundef %2092, i32 noundef %2094, i32 noundef %2096)
  call void @llvm.lifetime.start.p0(i64 8, ptr %186) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %186, float noundef 0.000000e+00, float noundef 5.000000e+01)
  %2097 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef @.str.378, ptr noundef nonnull align 4 dereferenceable(8) %186, i1 noundef zeroext true, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr %186) #8
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.379)
  call void @_ZN5ImGui8EndChildEv()
  %2098 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window, align 1, !tbaa !9, !range !11, !noundef !12
  %2099 = trunc i8 %2098 to i1
  br i1 %2099, label %2100, label %2101

2100:                                             ; preds = %2072
  call void @_ZN5ImGui8EndChildEv()
  br label %2101

2101:                                             ; preds = %2100, %2072
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 1, ptr %182) #8
  br label %2102

2102:                                             ; preds = %2101, %1998
  br label %2103

2103:                                             ; preds = %2102, %496
  %2104 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.380, i32 noundef 0)
  br i1 %2104, label %2105, label %2676

2105:                                             ; preds = %2103
  %2106 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.381)
  br i1 %2106, label %2107, label %2186

2107:                                             ; preds = %2105
  %2108 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.382, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE19disable_mouse_wheel)
  %2109 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.383, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12disable_menu)
  call void @llvm.lifetime.start.p0(i64 1, ptr %187) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %188) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %188, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2110 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.384, ptr noundef nonnull align 4 dereferenceable(8) %188)
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #8
  %2111 = zext i1 %2110 to i8
  store i8 %2111, ptr %187, align 1, !tbaa !9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 1.000000e+02)
  %2112 = call noundef zeroext i1 @_ZN5ImGui8InputIntEPKcPiiii(ptr noundef @.str.385, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4line, i32 noundef 0, i32 noundef 0, i32 noundef 32)
  %2113 = zext i1 %2112 to i32
  %2114 = load i8, ptr %187, align 1, !tbaa !9, !range !11, !noundef !12
  %2115 = trunc i8 %2114 to i1
  %2116 = zext i1 %2115 to i32
  %2117 = or i32 %2116, %2113
  %2118 = icmp ne i32 %2117, 0
  %2119 = zext i1 %2118 to i8
  store i8 %2119, ptr %187, align 1, !tbaa !9
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %189) #8
  %2120 = call noundef float @_ZN5ImGui27GetWindowContentRegionWidthEv()
  %2121 = fmul float %2120, 5.000000e-01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %189, float noundef %2121, float noundef 3.000000e+02)
  %2122 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE19disable_mouse_wheel, align 1, !tbaa !9, !range !11, !noundef !12
  %2123 = trunc i8 %2122 to i1
  %2124 = zext i1 %2123 to i64
  %2125 = select i1 %2123, i32 16, i32 0
  %2126 = or i32 2048, %2125
  %2127 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef @.str.386, ptr noundef nonnull align 4 dereferenceable(8) %189, i1 noundef zeroext false, i32 noundef %2126)
  call void @llvm.lifetime.end.p0(i64 8, ptr %189) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #8
  store i32 0, ptr %190, align 4, !tbaa !13
  br label %2128

2128:                                             ; preds = %2142, %2107
  %2129 = load i32, ptr %190, align 4, !tbaa !13
  %2130 = icmp slt i32 %2129, 100
  br i1 %2130, label %2132, label %2131

2131:                                             ; preds = %2128
  store i32 55, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #8
  br label %2145

2132:                                             ; preds = %2128
  %2133 = load i32, ptr %190, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.387, i32 noundef %2133)
  %2134 = load i8, ptr %187, align 1, !tbaa !9, !range !11, !noundef !12
  %2135 = trunc i8 %2134 to i1
  br i1 %2135, label %2136, label %2141

2136:                                             ; preds = %2132
  %2137 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4line, align 4, !tbaa !13
  %2138 = load i32, ptr %190, align 4, !tbaa !13
  %2139 = icmp eq i32 %2137, %2138
  br i1 %2139, label %2140, label %2141

2140:                                             ; preds = %2136
  call void @_ZN5ImGui13SetScrollHereEf(float noundef 5.000000e-01)
  br label %2141

2141:                                             ; preds = %2140, %2136, %2132
  br label %2142

2142:                                             ; preds = %2141
  %2143 = load i32, ptr %190, align 4, !tbaa !13
  %2144 = add nsw i32 %2143, 1
  store i32 %2144, ptr %190, align 4, !tbaa !13
  br label %2128, !llvm.loop !69

2145:                                             ; preds = %2131
  %2146 = load i8, ptr %187, align 1, !tbaa !9, !range !11, !noundef !12
  %2147 = trunc i8 %2146 to i1
  br i1 %2147, label %2148, label %2152

2148:                                             ; preds = %2145
  %2149 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4line, align 4, !tbaa !13
  %2150 = icmp sge i32 %2149, 100
  br i1 %2150, label %2151, label %2152

2151:                                             ; preds = %2148
  call void @_ZN5ImGui13SetScrollHereEf(float noundef 5.000000e-01)
  br label %2152

2152:                                             ; preds = %2151, %2148, %2145
  call void @_ZN5ImGui8EndChildEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 6, float noundef 5.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %191) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %191, float noundef 0.000000e+00, float noundef 3.000000e+02)
  %2153 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE19disable_mouse_wheel, align 1, !tbaa !9, !range !11, !noundef !12
  %2154 = trunc i8 %2153 to i1
  %2155 = zext i1 %2154 to i64
  %2156 = select i1 %2154, i32 16, i32 0
  %2157 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12disable_menu, align 1, !tbaa !9, !range !11, !noundef !12
  %2158 = trunc i8 %2157 to i1
  %2159 = zext i1 %2158 to i64
  %2160 = select i1 %2158, i32 0, i32 1024
  %2161 = or i32 %2156, %2160
  %2162 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef @.str.388, ptr noundef nonnull align 4 dereferenceable(8) %191, i1 noundef zeroext true, i32 noundef %2161)
  call void @llvm.lifetime.end.p0(i64 8, ptr %191) #8
  %2163 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12disable_menu, align 1, !tbaa !9, !range !11, !noundef !12
  %2164 = trunc i8 %2163 to i1
  br i1 %2164, label %2171, label %2165

2165:                                             ; preds = %2152
  %2166 = call noundef zeroext i1 @_ZN5ImGui12BeginMenuBarEv()
  br i1 %2166, label %2167, label %2171

2167:                                             ; preds = %2165
  %2168 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef @.str.23, i1 noundef zeroext true)
  br i1 %2168, label %2169, label %2170

2169:                                             ; preds = %2167
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui7EndMenuEv()
  br label %2170

2170:                                             ; preds = %2169, %2167
  call void @_ZN5ImGui10EndMenuBarEv()
  br label %2171

2171:                                             ; preds = %2170, %2165, %2152
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 2, ptr noundef null, i1 noundef zeroext true)
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #8
  store i32 0, ptr %192, align 4, !tbaa !13
  br label %2172

2172:                                             ; preds = %2182, %2171
  %2173 = load i32, ptr %192, align 4, !tbaa !13
  %2174 = icmp slt i32 %2173, 100
  br i1 %2174, label %2176, label %2175

2175:                                             ; preds = %2172
  store i32 58, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #8
  br label %2185

2176:                                             ; preds = %2172
  call void @llvm.lifetime.start.p0(i64 32, ptr %193) #8
  %2177 = getelementptr inbounds [32 x i8], ptr %193, i64 0, i64 0
  %2178 = load i32, ptr %192, align 4, !tbaa !13
  %2179 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %2177, ptr noundef @.str.389, i32 noundef %2178) #8
  %2180 = getelementptr inbounds [32 x i8], ptr %193, i64 0, i64 0
  call void @llvm.lifetime.start.p0(i64 8, ptr %194) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %194, float noundef -1.000000e+00, float noundef 0.000000e+00)
  %2181 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef %2180, ptr noundef nonnull align 4 dereferenceable(8) %194)
  call void @llvm.lifetime.end.p0(i64 8, ptr %194) #8
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr %193) #8
  br label %2182

2182:                                             ; preds = %2176
  %2183 = load i32, ptr %192, align 4, !tbaa !13
  %2184 = add nsw i32 %2183, 1
  store i32 %2184, ptr %192, align 4, !tbaa !13
  br label %2172, !llvm.loop !70

2185:                                             ; preds = %2175
  call void @_ZN5ImGui8EndChildEv()
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 1, ptr %187) #8
  br label %2186

2186:                                             ; preds = %2185, %2105
  %2187 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.390)
  br i1 %2187, label %2188, label %2198

2188:                                             ; preds = %2186
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.391)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.392)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 1.000000e+02)
  %2189 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.393, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.394)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.395)
  %2190 = call noundef float @_ZN5ImGui14GetWindowWidthEv()
  %2191 = fmul float %2190, 5.000000e-01
  call void @_ZN5ImGui13PushItemWidthEf(float noundef %2191)
  %2192 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.396, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.397)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.398)
  %2193 = call noundef float @_ZN5ImGui26GetContentRegionAvailWidthEv()
  %2194 = fmul float %2193, 5.000000e-01
  call void @_ZN5ImGui13PushItemWidthEf(float noundef %2194)
  %2195 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.399, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.400)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.401)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef -1.000000e+02)
  %2196 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.402, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.403)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.404)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef -1.000000e+00)
  %2197 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.405, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %2198

2198:                                             ; preds = %2188, %2186
  %2199 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.406)
  br i1 %2199, label %2200, label %2237

2200:                                             ; preds = %2198
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.407)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.408)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 16, ptr %195) #8
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %195, float noundef 1.000000e+00, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
  call void (ptr, ptr, ...) @_ZN5ImGui11TextColoredERK6ImVec4PKcz(ptr noundef nonnull align 4 dereferenceable(16) %195, ptr noundef @.str.204)
  call void @llvm.lifetime.end.p0(i64 16, ptr %195) #8
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.409)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef 2.000000e+01)
  call void @llvm.lifetime.start.p0(i64 16, ptr %196) #8
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %196, float noundef 1.000000e+00, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
  call void (ptr, ptr, ...) @_ZN5ImGui11TextColoredERK6ImVec4PKcz(ptr noundef nonnull align 4 dereferenceable(16) %196, ptr noundef @.str.204)
  call void @llvm.lifetime.end.p0(i64 16, ptr %196) #8
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.410)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %197) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %197, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2201 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.117, ptr noundef nonnull align 4 dereferenceable(8) %197)
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #8
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %198) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %198, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2202 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.116, ptr noundef nonnull align 4 dereferenceable(8) %198)
  call void @llvm.lifetime.end.p0(i64 8, ptr %198) #8
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %199) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %199, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2203 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.411, ptr noundef nonnull align 4 dereferenceable(8) %199)
  call void @llvm.lifetime.end.p0(i64 8, ptr %199) #8
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.412)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2204 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.413)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.414)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.415)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.416)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.417)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.415)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %2205 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.416)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  %2206 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.417)
  %2207 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.418, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2c1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2208 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.419, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2c2)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2209 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.420, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2c3)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2210 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.421, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2c4)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 8.000000e+01)
  call void @llvm.lifetime.start.p0(i64 32, ptr %200) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %200, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.items.422, i64 32, i1 false)
  %2211 = getelementptr inbounds [4 x ptr], ptr %200, i64 0, i64 0
  %2212 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef @.str.175, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4item, ptr noundef %2211, i32 noundef 4, i32 noundef -1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2213 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef @.str.423, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f0_0, float noundef 0.000000e+00, float noundef 5.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2214 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef @.str.424, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f1_2, float noundef 0.000000e+00, float noundef 5.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2215 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef @.str.425, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f2_1, float noundef 0.000000e+00, float noundef 5.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 8.000000e+01)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.426)
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #8
  store i32 0, ptr %201, align 4, !tbaa !13
  br label %2216

2216:                                             ; preds = %2231, %2200
  %2217 = load i32, ptr %201, align 4, !tbaa !13
  %2218 = icmp slt i32 %2217, 4
  br i1 %2218, label %2220, label %2219

2219:                                             ; preds = %2216
  store i32 61, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #8
  br label %2234

2220:                                             ; preds = %2216
  %2221 = load i32, ptr %201, align 4, !tbaa !13
  %2222 = icmp sgt i32 %2221, 0
  br i1 %2222, label %2223, label %2224

2223:                                             ; preds = %2220
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %2224

2224:                                             ; preds = %2223, %2220
  %2225 = load i32, ptr %201, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %2225)
  %2226 = load i32, ptr %201, align 4, !tbaa !13
  %2227 = sext i32 %2226 to i64
  %2228 = getelementptr inbounds [4 x i32], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_1, i64 0, i64 %2227
  %2229 = getelementptr inbounds [4 x ptr], ptr %200, i64 0, i64 0
  %2230 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef @.str.357, ptr noundef %2228, ptr noundef %2229, i32 noundef 4, i32 noundef -1)
  call void @_ZN5ImGui5PopIDEv()
  br label %2231

2231:                                             ; preds = %2224
  %2232 = load i32, ptr %201, align 4, !tbaa !13
  %2233 = add nsw i32 %2232, 1
  store i32 %2233, ptr %201, align 4, !tbaa !13
  br label %2216, !llvm.loop !71

2234:                                             ; preds = %2219
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %202) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %202, float noundef 3.000000e+01, float noundef 3.000000e+01)
  %2235 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.427, ptr noundef nonnull align 4 dereferenceable(8) %202)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui5DummyERK6ImVec2(ptr noundef nonnull align 4 dereferenceable(8) %202)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2236 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.428, ptr noundef nonnull align 4 dereferenceable(8) %202)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr %202) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %200) #8
  br label %2237

2237:                                             ; preds = %2234, %2198
  %2238 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.429)
  br i1 %2238, label %2239, label %2279

2239:                                             ; preds = %2237
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.430)
  call void @_ZN5ImGui10BeginGroupEv()
  call void @_ZN5ImGui10BeginGroupEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %203) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2240 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.431, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr %203) #8
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %204) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %204, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2241 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.432, ptr noundef nonnull align 4 dereferenceable(8) %204)
  call void @llvm.lifetime.end.p0(i64 8, ptr %204) #8
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui10BeginGroupEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %205) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %205, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2242 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.433, ptr noundef nonnull align 4 dereferenceable(8) %205)
  call void @llvm.lifetime.end.p0(i64 8, ptr %205) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %206) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %206, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2243 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.434, ptr noundef nonnull align 4 dereferenceable(8) %206)
  call void @llvm.lifetime.end.p0(i64 8, ptr %206) #8
  call void @_ZN5ImGui8EndGroupEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %207) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %207, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2244 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.435, ptr noundef nonnull align 4 dereferenceable(8) %207)
  call void @llvm.lifetime.end.p0(i64 8, ptr %207) #8
  call void @_ZN5ImGui8EndGroupEv()
  %2245 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %2245, label %2246, label %2247

2246:                                             ; preds = %2239
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef @.str.436)
  br label %2247

2247:                                             ; preds = %2246, %2239
  call void @llvm.lifetime.start.p0(i64 8, ptr %208) #8
  %2248 = call <2 x float> @_ZN5ImGui15GetItemRectSizeEv()
  store <2 x float> %2248, ptr %208, align 4
  call void @llvm.lifetime.start.p0(i64 20, ptr %209) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %209, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.values, i64 20, i1 false)
  %2249 = getelementptr inbounds [5 x float], ptr %209, i64 0, i64 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %210, ptr align 4 %208, i64 8, i1 false), !tbaa.struct !30
  %2250 = load <2 x float>, ptr %210, align 4
  call void @_ZN5ImGui13PlotHistogramEPKcPKfiiS1_ff6ImVec2i(ptr noundef @.str.437, ptr noundef %2249, i32 noundef 5, i32 noundef 0, ptr noundef null, float noundef 0.000000e+00, float noundef 1.000000e+00, <2 x float> %2250, i32 noundef 4)
  call void @llvm.lifetime.start.p0(i64 8, ptr %211) #8
  %2251 = getelementptr inbounds %struct.ImVec2, ptr %208, i32 0, i32 0
  %2252 = load float, ptr %2251, align 4, !tbaa !28
  %2253 = call noundef nonnull align 4 dereferenceable(824) ptr @_ZN5ImGui8GetStyleEv()
  %2254 = getelementptr inbounds %struct.ImGuiStyle, ptr %2253, i32 0, i32 13
  %2255 = getelementptr inbounds %struct.ImVec2, ptr %2254, i32 0, i32 0
  %2256 = load float, ptr %2255, align 4, !tbaa !72
  %2257 = fsub float %2252, %2256
  %2258 = fmul float %2257, 5.000000e-01
  %2259 = getelementptr inbounds %struct.ImVec2, ptr %208, i32 0, i32 1
  %2260 = load float, ptr %2259, align 4, !tbaa !29
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %211, float noundef %2258, float noundef %2260)
  %2261 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.438, ptr noundef nonnull align 4 dereferenceable(8) %211)
  call void @llvm.lifetime.end.p0(i64 8, ptr %211) #8
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %212) #8
  %2262 = getelementptr inbounds %struct.ImVec2, ptr %208, i32 0, i32 0
  %2263 = load float, ptr %2262, align 4, !tbaa !28
  %2264 = call noundef nonnull align 4 dereferenceable(824) ptr @_ZN5ImGui8GetStyleEv()
  %2265 = getelementptr inbounds %struct.ImGuiStyle, ptr %2264, i32 0, i32 13
  %2266 = getelementptr inbounds %struct.ImVec2, ptr %2265, i32 0, i32 0
  %2267 = load float, ptr %2266, align 4, !tbaa !72
  %2268 = fsub float %2263, %2267
  %2269 = fmul float %2268, 5.000000e-01
  %2270 = getelementptr inbounds %struct.ImVec2, ptr %208, i32 0, i32 1
  %2271 = load float, ptr %2270, align 4, !tbaa !29
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %212, float noundef %2269, float noundef %2271)
  %2272 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.439, ptr noundef nonnull align 4 dereferenceable(8) %212)
  call void @llvm.lifetime.end.p0(i64 8, ptr %212) #8
  call void @_ZN5ImGui8EndGroupEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2273 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.440, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2274 = call noundef zeroext i1 @_ZN5ImGui13ListBoxHeaderEPKcRK6ImVec2(ptr noundef @.str.441, ptr noundef nonnull align 4 dereferenceable(8) %208)
  br i1 %2274, label %2275, label %2278

2275:                                             ; preds = %2247
  call void @llvm.lifetime.start.p0(i64 8, ptr %213) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %213, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2276 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef @.str.442, i1 noundef zeroext true, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %213)
  call void @llvm.lifetime.end.p0(i64 8, ptr %213) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %214) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %214, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2277 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef @.str.443, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %214)
  call void @llvm.lifetime.end.p0(i64 8, ptr %214) #8
  call void @_ZN5ImGui13ListBoxFooterEv()
  br label %2278

2278:                                             ; preds = %2275, %2247
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 20, ptr %209) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %208) #8
  br label %2279

2279:                                             ; preds = %2278, %2237
  %2280 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.444)
  br i1 %2280, label %2281, label %2330

2281:                                             ; preds = %2279
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.445)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.446)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.447)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.117)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.117)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.447)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.446)
  call void @llvm.lifetime.start.p0(i64 8, ptr %215) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %215, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2282 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.448, ptr noundef nonnull align 4 dereferenceable(8) %215)
  call void @llvm.lifetime.end.p0(i64 8, ptr %215) #8
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.117)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.447)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.117)
  call void @llvm.lifetime.start.p0(i64 8, ptr %216) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %216, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2283 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.449, ptr noundef nonnull align 4 dereferenceable(8) %216)
  call void @llvm.lifetime.end.p0(i64 8, ptr %216) #8
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.447)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.117)
  call void @llvm.lifetime.start.p0(i64 8, ptr %217) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %217, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2284 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.450, ptr noundef nonnull align 4 dereferenceable(8) %217)
  call void @llvm.lifetime.end.p0(i64 8, ptr %217) #8
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.451)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2285 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.452)
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.453)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %218) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %218, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2286 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.454, ptr noundef nonnull align 4 dereferenceable(8) %218)
  call void @llvm.lifetime.end.p0(i64 8, ptr %218) #8
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.455)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2287 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.456)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %219) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %219, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2288 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.457, ptr noundef nonnull align 4 dereferenceable(8) %219)
  call void @llvm.lifetime.end.p0(i64 8, ptr %219) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #8
  %2289 = call noundef nonnull align 4 dereferenceable(824) ptr @_ZN5ImGui8GetStyleEv()
  %2290 = getelementptr inbounds %struct.ImGuiStyle, ptr %2289, i32 0, i32 14
  %2291 = getelementptr inbounds %struct.ImVec2, ptr %2290, i32 0, i32 0
  %2292 = load float, ptr %2291, align 4, !tbaa !17
  store float %2292, ptr %220, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 8, ptr %221) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %221, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2293 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.458, ptr noundef nonnull align 4 dereferenceable(8) %221)
  call void @llvm.lifetime.end.p0(i64 8, ptr %221) #8
  %2294 = load float, ptr %220, align 4, !tbaa !21
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %2294)
  %2295 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.459)
  br i1 %2295, label %2296, label %2307

2296:                                             ; preds = %2281
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #8
  store i32 0, ptr %222, align 4, !tbaa !13
  br label %2297

2297:                                             ; preds = %2303, %2296
  %2298 = load i32, ptr %222, align 4, !tbaa !13
  %2299 = icmp slt i32 %2298, 6
  br i1 %2299, label %2301, label %2300

2300:                                             ; preds = %2297
  store i32 64, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #8
  br label %2306

2301:                                             ; preds = %2297
  %2302 = load i32, ptr %222, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.460, i32 noundef %2302)
  br label %2303

2303:                                             ; preds = %2301
  %2304 = load i32, ptr %222, align 4, !tbaa !13
  %2305 = add nsw i32 %2304, 1
  store i32 %2305, ptr %222, align 4, !tbaa !13
  br label %2297, !llvm.loop !73

2306:                                             ; preds = %2300
  call void @_ZN5ImGui7TreePopEv()
  br label %2307

2307:                                             ; preds = %2306, %2281
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void @llvm.lifetime.start.p0(i64 1, ptr %223) #8
  %2308 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.461)
  %2309 = zext i1 %2308 to i8
  store i8 %2309, ptr %223, align 1, !tbaa !9
  %2310 = load float, ptr %220, align 4, !tbaa !21
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %2310)
  call void @llvm.lifetime.start.p0(i64 8, ptr %224) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %224, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2311 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.462, ptr noundef nonnull align 4 dereferenceable(8) %224)
  call void @llvm.lifetime.end.p0(i64 8, ptr %224) #8
  %2312 = load i8, ptr %223, align 1, !tbaa !9, !range !11, !noundef !12
  %2313 = trunc i8 %2312 to i1
  br i1 %2313, label %2314, label %2325

2314:                                             ; preds = %2307
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #8
  store i32 0, ptr %225, align 4, !tbaa !13
  br label %2315

2315:                                             ; preds = %2321, %2314
  %2316 = load i32, ptr %225, align 4, !tbaa !13
  %2317 = icmp slt i32 %2316, 6
  br i1 %2317, label %2319, label %2318

2318:                                             ; preds = %2315
  store i32 67, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #8
  br label %2324

2319:                                             ; preds = %2315
  %2320 = load i32, ptr %225, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.460, i32 noundef %2320)
  br label %2321

2321:                                             ; preds = %2319
  %2322 = load i32, ptr %225, align 4, !tbaa !13
  %2323 = add nsw i32 %2322, 1
  store i32 %2323, ptr %225, align 4, !tbaa !13
  br label %2315, !llvm.loop !74

2324:                                             ; preds = %2318
  call void @_ZN5ImGui7TreePopEv()
  br label %2325

2325:                                             ; preds = %2324, %2307
  call void @llvm.lifetime.start.p0(i64 8, ptr %226) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %226, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2326 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.463, ptr noundef nonnull align 4 dereferenceable(8) %226)
  call void @llvm.lifetime.end.p0(i64 8, ptr %226) #8
  %2327 = load float, ptr %220, align 4, !tbaa !21
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %2327)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.464)
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.465)
  %2328 = load float, ptr %220, align 4, !tbaa !21
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %2328)
  call void @llvm.lifetime.start.p0(i64 8, ptr %227) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %227, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2329 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.466, ptr noundef nonnull align 4 dereferenceable(8) %227)
  call void @llvm.lifetime.end.p0(i64 8, ptr %227) #8
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 1, ptr %223) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #8
  br label %2330

2330:                                             ; preds = %2325, %2279
  %2331 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.467)
  br i1 %2331, label %2332, label %2445

2332:                                             ; preds = %2330
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.468)
  %2333 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.469, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5track)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 1.000000e+02)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.300000e+02, float noundef -1.000000e+00)
  %2334 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef @.str.470, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE10track_line, float noundef 2.500000e-01, i32 noundef 0, i32 noundef 99, ptr noundef @.str.471)
  %2335 = zext i1 %2334 to i32
  %2336 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !9, !range !11, !noundef !12
  %2337 = trunc i8 %2336 to i1
  %2338 = zext i1 %2337 to i32
  %2339 = or i32 %2338, %2335
  %2340 = icmp ne i32 %2339, 0
  %2341 = zext i1 %2340 to i8
  store i8 %2341, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %228) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %229) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %229, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2342 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.472, ptr noundef nonnull align 4 dereferenceable(8) %229)
  call void @llvm.lifetime.end.p0(i64 8, ptr %229) #8
  %2343 = zext i1 %2342 to i8
  store i8 %2343, ptr %228, align 1, !tbaa !9
  call void @_ZN5ImGui8SameLineEff(float noundef 1.300000e+02, float noundef -1.000000e+00)
  %2344 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef @.str.473, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12scroll_to_px, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 9999, ptr noundef @.str.474)
  %2345 = zext i1 %2344 to i32
  %2346 = load i8, ptr %228, align 1, !tbaa !9, !range !11, !noundef !12
  %2347 = trunc i8 %2346 to i1
  %2348 = zext i1 %2347 to i32
  %2349 = or i32 %2348, %2345
  %2350 = icmp ne i32 %2349, 0
  %2351 = zext i1 %2350 to i8
  store i8 %2351, ptr %228, align 1, !tbaa !9
  call void @_ZN5ImGui12PopItemWidthEv()
  %2352 = load i8, ptr %228, align 1, !tbaa !9, !range !11, !noundef !12
  %2353 = trunc i8 %2352 to i1
  br i1 %2353, label %2354, label %2355

2354:                                             ; preds = %2332
  store i8 0, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !9
  br label %2355

2355:                                             ; preds = %2354, %2332
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #8
  store i32 0, ptr %230, align 4, !tbaa !13
  br label %2356

2356:                                             ; preds = %2441, %2355
  %2357 = load i32, ptr %230, align 4, !tbaa !13
  %2358 = icmp slt i32 %2357, 5
  br i1 %2358, label %2360, label %2359

2359:                                             ; preds = %2356
  store i32 70, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #8
  br label %2444

2360:                                             ; preds = %2356
  %2361 = load i32, ptr %230, align 4, !tbaa !13
  %2362 = icmp sgt i32 %2361, 0
  br i1 %2362, label %2363, label %2364

2363:                                             ; preds = %2360
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %2364

2364:                                             ; preds = %2363, %2360
  call void @_ZN5ImGui10BeginGroupEv()
  %2365 = load i32, ptr %230, align 4, !tbaa !13
  %2366 = icmp eq i32 %2365, 0
  br i1 %2366, label %2367, label %2368

2367:                                             ; preds = %2364
  br label %2385

2368:                                             ; preds = %2364
  %2369 = load i32, ptr %230, align 4, !tbaa !13
  %2370 = icmp eq i32 %2369, 1
  br i1 %2370, label %2371, label %2372

2371:                                             ; preds = %2368
  br label %2383

2372:                                             ; preds = %2368
  %2373 = load i32, ptr %230, align 4, !tbaa !13
  %2374 = icmp eq i32 %2373, 2
  br i1 %2374, label %2375, label %2376

2375:                                             ; preds = %2372
  br label %2381

2376:                                             ; preds = %2372
  %2377 = load i32, ptr %230, align 4, !tbaa !13
  %2378 = icmp eq i32 %2377, 3
  %2379 = zext i1 %2378 to i64
  %2380 = select i1 %2378, ptr @.str.479, ptr @.str.480
  br label %2381

2381:                                             ; preds = %2376, %2375
  %2382 = phi ptr [ @.str.478, %2375 ], [ %2380, %2376 ]
  br label %2383

2383:                                             ; preds = %2381, %2371
  %2384 = phi ptr [ @.str.477, %2371 ], [ %2382, %2381 ]
  br label %2385

2385:                                             ; preds = %2383, %2367
  %2386 = phi ptr [ @.str.476, %2367 ], [ %2384, %2383 ]
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.475, ptr noundef %2386)
  %2387 = load i32, ptr %230, align 4, !tbaa !13
  %2388 = sext i32 %2387 to i64
  %2389 = inttoptr i64 %2388 to ptr
  %2390 = call noundef i32 @_ZN5ImGui5GetIDEPKv(ptr noundef %2389)
  call void @llvm.lifetime.start.p0(i64 8, ptr %231) #8
  %2391 = call noundef float @_ZN5ImGui14GetWindowWidthEv()
  %2392 = fmul float %2391, 0x3FC5C28F60000000
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %231, float noundef %2392, float noundef 2.000000e+02)
  %2393 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEjRK6ImVec2bi(i32 noundef %2390, ptr noundef nonnull align 4 dereferenceable(8) %231, i1 noundef zeroext true, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr %231) #8
  %2394 = load i8, ptr %228, align 1, !tbaa !9, !range !11, !noundef !12
  %2395 = trunc i8 %2394 to i1
  br i1 %2395, label %2396, label %2406

2396:                                             ; preds = %2385
  call void @llvm.lifetime.start.p0(i64 8, ptr %232) #8
  %2397 = call <2 x float> @_ZN5ImGui17GetCursorStartPosEv()
  store <2 x float> %2397, ptr %232, align 4
  %2398 = getelementptr inbounds %struct.ImVec2, ptr %232, i32 0, i32 1
  %2399 = load float, ptr %2398, align 4, !tbaa !29
  %2400 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12scroll_to_px, align 4, !tbaa !13
  %2401 = sitofp i32 %2400 to float
  %2402 = fadd float %2399, %2401
  %2403 = load i32, ptr %230, align 4, !tbaa !13
  %2404 = sitofp i32 %2403 to float
  %2405 = fmul float %2404, 2.500000e-01
  call void @_ZN5ImGui17SetScrollFromPosYEff(float noundef %2402, float noundef %2405)
  call void @llvm.lifetime.end.p0(i64 8, ptr %232) #8
  br label %2406

2406:                                             ; preds = %2396, %2385
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #8
  store i32 0, ptr %233, align 4, !tbaa !13
  br label %2407

2407:                                             ; preds = %2431, %2406
  %2408 = load i32, ptr %233, align 4, !tbaa !13
  %2409 = icmp slt i32 %2408, 100
  br i1 %2409, label %2411, label %2410

2410:                                             ; preds = %2407
  store i32 73, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #8
  br label %2434

2411:                                             ; preds = %2407
  %2412 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !9, !range !11, !noundef !12
  %2413 = trunc i8 %2412 to i1
  br i1 %2413, label %2414, label %2428

2414:                                             ; preds = %2411
  %2415 = load i32, ptr %233, align 4, !tbaa !13
  %2416 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10track_line, align 4, !tbaa !13
  %2417 = icmp eq i32 %2415, %2416
  br i1 %2417, label %2418, label %2428

2418:                                             ; preds = %2414
  call void @llvm.lifetime.start.p0(i64 16, ptr %234) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %235) #8
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %235, i32 noundef 255, i32 noundef 255, i32 noundef 0, i32 noundef 255)
  %2419 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %235)
  %2420 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %234, i32 0, i32 0
  %2421 = extractvalue { <2 x float>, <2 x float> } %2419, 0
  store <2 x float> %2421, ptr %2420, align 4
  %2422 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %234, i32 0, i32 1
  %2423 = extractvalue { <2 x float>, <2 x float> } %2419, 1
  store <2 x float> %2423, ptr %2422, align 4
  %2424 = load i32, ptr %233, align 4, !tbaa !13
  call void (ptr, ptr, ...) @_ZN5ImGui11TextColoredERK6ImVec4PKcz(ptr noundef nonnull align 4 dereferenceable(16) %234, ptr noundef @.str.481, i32 noundef %2424)
  call void @llvm.lifetime.end.p0(i64 16, ptr %235) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %234) #8
  %2425 = load i32, ptr %230, align 4, !tbaa !13
  %2426 = sitofp i32 %2425 to float
  %2427 = fmul float %2426, 2.500000e-01
  call void @_ZN5ImGui13SetScrollHereEf(float noundef %2427)
  br label %2430

2428:                                             ; preds = %2414, %2411
  %2429 = load i32, ptr %233, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.481, i32 noundef %2429)
  br label %2430

2430:                                             ; preds = %2428, %2418
  br label %2431

2431:                                             ; preds = %2430
  %2432 = load i32, ptr %233, align 4, !tbaa !13
  %2433 = add nsw i32 %2432, 1
  store i32 %2433, ptr %233, align 4, !tbaa !13
  br label %2407, !llvm.loop !75

2434:                                             ; preds = %2410
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #8
  %2435 = call noundef float @_ZN5ImGui10GetScrollYEv()
  store float %2435, ptr %236, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #8
  %2436 = call noundef float @_ZN5ImGui13GetScrollMaxYEv()
  store float %2436, ptr %237, align 4, !tbaa !21
  call void @_ZN5ImGui8EndChildEv()
  %2437 = load float, ptr %236, align 4, !tbaa !21
  %2438 = fpext float %2437 to double
  %2439 = load float, ptr %237, align 4, !tbaa !21
  %2440 = fpext float %2439 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.482, double noundef %2438, double noundef %2440)
  call void @_ZN5ImGui8EndGroupEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #8
  br label %2441

2441:                                             ; preds = %2434
  %2442 = load i32, ptr %230, align 4, !tbaa !13
  %2443 = add nsw i32 %2442, 1
  store i32 %2443, ptr %230, align 4, !tbaa !13
  br label %2356, !llvm.loop !76

2444:                                             ; preds = %2359
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 1, ptr %228) #8
  br label %2445

2445:                                             ; preds = %2444, %2330
  %2446 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.483)
  br i1 %2446, label %2447, label %2595

2447:                                             ; preds = %2445
  call void @_ZN5ImGui6BulletEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.484)
  call void @_ZN5ImGui6BulletEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.485)
  %2448 = call noundef zeroext i1 @_ZN5ImGui9SliderIntEPKcPiiiS1_(ptr noundef @.str.222, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5lines, i32 noundef 1, i32 noundef 15, ptr noundef @.str.63)
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 11, float noundef 3.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %238) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %238, float noundef 2.000000e+00, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef 10, ptr noundef nonnull align 4 dereferenceable(8) %238)
  call void @llvm.lifetime.end.p0(i64 8, ptr %238) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %239) #8
  %2449 = call noundef float @_ZN5ImGui25GetFrameHeightWithSpacingEv()
  %2450 = call float @llvm.fmuladd.f32(float %2449, float 7.000000e+00, float 3.000000e+01)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %239, float noundef 0.000000e+00, float noundef %2450)
  %2451 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef @.str.486, ptr noundef nonnull align 4 dereferenceable(8) %239, i1 noundef zeroext true, i32 noundef 2048)
  call void @llvm.lifetime.end.p0(i64 8, ptr %239) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #8
  store i32 0, ptr %240, align 4, !tbaa !13
  br label %2452

2452:                                             ; preds = %2560, %2447
  %2453 = load i32, ptr %240, align 4, !tbaa !13
  %2454 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5lines, align 4, !tbaa !13
  %2455 = icmp slt i32 %2453, %2454
  br i1 %2455, label %2457, label %2456

2456:                                             ; preds = %2452
  store i32 76, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #8
  br label %2563

2457:                                             ; preds = %2452
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #8
  %2458 = load i32, ptr %240, align 4, !tbaa !13
  %2459 = and i32 %2458, 1
  %2460 = icmp ne i32 %2459, 0
  br i1 %2460, label %2461, label %2464

2461:                                             ; preds = %2457
  %2462 = load i32, ptr %240, align 4, !tbaa !13
  %2463 = mul nsw i32 %2462, 9
  br label %2467

2464:                                             ; preds = %2457
  %2465 = load i32, ptr %240, align 4, !tbaa !13
  %2466 = mul nsw i32 %2465, 3
  br label %2467

2467:                                             ; preds = %2464, %2461
  %2468 = phi i32 [ %2463, %2461 ], [ %2466, %2464 ]
  %2469 = add nsw i32 10, %2468
  store i32 %2469, ptr %241, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #8
  store i32 0, ptr %242, align 4, !tbaa !13
  br label %2470

2470:                                             ; preds = %2556, %2467
  %2471 = load i32, ptr %242, align 4, !tbaa !13
  %2472 = load i32, ptr %241, align 4, !tbaa !13
  %2473 = icmp slt i32 %2471, %2472
  br i1 %2473, label %2475, label %2474

2474:                                             ; preds = %2470
  store i32 79, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #8
  br label %2559

2475:                                             ; preds = %2470
  %2476 = load i32, ptr %242, align 4, !tbaa !13
  %2477 = icmp sgt i32 %2476, 0
  br i1 %2477, label %2478, label %2479

2478:                                             ; preds = %2475
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %2479

2479:                                             ; preds = %2478, %2475
  %2480 = load i32, ptr %242, align 4, !tbaa !13
  %2481 = load i32, ptr %240, align 4, !tbaa !13
  %2482 = mul nsw i32 %2481, 1000
  %2483 = add nsw i32 %2480, %2482
  call void @_ZN5ImGui6PushIDEi(i32 noundef %2483)
  call void @llvm.lifetime.start.p0(i64 16, ptr %243) #8
  %2484 = getelementptr inbounds [16 x i8], ptr %243, i64 0, i64 0
  %2485 = load i32, ptr %242, align 4, !tbaa !13
  %2486 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %2484, ptr noundef @.str.63, i32 noundef %2485) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %244) #8
  %2487 = load i32, ptr %242, align 4, !tbaa !13
  %2488 = srem i32 %2487, 15
  %2489 = icmp ne i32 %2488, 0
  br i1 %2489, label %2491, label %2490

2490:                                             ; preds = %2479
  br label %2507

2491:                                             ; preds = %2479
  %2492 = load i32, ptr %242, align 4, !tbaa !13
  %2493 = srem i32 %2492, 3
  %2494 = icmp ne i32 %2493, 0
  br i1 %2494, label %2496, label %2495

2495:                                             ; preds = %2491
  br label %2505

2496:                                             ; preds = %2491
  %2497 = load i32, ptr %242, align 4, !tbaa !13
  %2498 = srem i32 %2497, 5
  %2499 = icmp ne i32 %2498, 0
  br i1 %2499, label %2501, label %2500

2500:                                             ; preds = %2496
  br label %2503

2501:                                             ; preds = %2496
  %2502 = getelementptr inbounds [16 x i8], ptr %243, i64 0, i64 0
  br label %2503

2503:                                             ; preds = %2501, %2500
  %2504 = phi ptr [ @.str.489, %2500 ], [ %2502, %2501 ]
  br label %2505

2505:                                             ; preds = %2503, %2495
  %2506 = phi ptr [ @.str.488, %2495 ], [ %2504, %2503 ]
  br label %2507

2507:                                             ; preds = %2505, %2490
  %2508 = phi ptr [ @.str.487, %2490 ], [ %2506, %2505 ]
  store ptr %2508, ptr %244, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #8
  %2509 = load i32, ptr %242, align 4, !tbaa !13
  %2510 = sitofp i32 %2509 to float
  %2511 = fmul float %2510, 0x3FA99999A0000000
  store float %2511, ptr %245, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 16, ptr %246) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %247) #8
  %2512 = load float, ptr %245, align 4, !tbaa !21
  %2513 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %2512, float noundef 0x3FE3333340000000, float noundef 0x3FE3333340000000, float noundef 1.000000e+00)
  %2514 = getelementptr inbounds %struct.ImColor, ptr %247, i32 0, i32 0
  %2515 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %2514, i32 0, i32 0
  %2516 = extractvalue { <2 x float>, <2 x float> } %2513, 0
  store <2 x float> %2516, ptr %2515, align 4
  %2517 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %2514, i32 0, i32 1
  %2518 = extractvalue { <2 x float>, <2 x float> } %2513, 1
  store <2 x float> %2518, ptr %2517, align 4
  %2519 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %247)
  %2520 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %246, i32 0, i32 0
  %2521 = extractvalue { <2 x float>, <2 x float> } %2519, 0
  store <2 x float> %2521, ptr %2520, align 4
  %2522 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %246, i32 0, i32 1
  %2523 = extractvalue { <2 x float>, <2 x float> } %2519, 1
  store <2 x float> %2523, ptr %2522, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 21, ptr noundef nonnull align 4 dereferenceable(16) %246)
  call void @llvm.lifetime.end.p0(i64 16, ptr %247) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %246) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %248) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %249) #8
  %2524 = load float, ptr %245, align 4, !tbaa !21
  %2525 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %2524, float noundef 0x3FE6666660000000, float noundef 0x3FE6666660000000, float noundef 1.000000e+00)
  %2526 = getelementptr inbounds %struct.ImColor, ptr %249, i32 0, i32 0
  %2527 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %2526, i32 0, i32 0
  %2528 = extractvalue { <2 x float>, <2 x float> } %2525, 0
  store <2 x float> %2528, ptr %2527, align 4
  %2529 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %2526, i32 0, i32 1
  %2530 = extractvalue { <2 x float>, <2 x float> } %2525, 1
  store <2 x float> %2530, ptr %2529, align 4
  %2531 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %249)
  %2532 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %248, i32 0, i32 0
  %2533 = extractvalue { <2 x float>, <2 x float> } %2531, 0
  store <2 x float> %2533, ptr %2532, align 4
  %2534 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %248, i32 0, i32 1
  %2535 = extractvalue { <2 x float>, <2 x float> } %2531, 1
  store <2 x float> %2535, ptr %2534, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 22, ptr noundef nonnull align 4 dereferenceable(16) %248)
  call void @llvm.lifetime.end.p0(i64 16, ptr %249) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %248) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %250) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr %251) #8
  %2536 = load float, ptr %245, align 4, !tbaa !21
  %2537 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %2536, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, float noundef 1.000000e+00)
  %2538 = getelementptr inbounds %struct.ImColor, ptr %251, i32 0, i32 0
  %2539 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %2538, i32 0, i32 0
  %2540 = extractvalue { <2 x float>, <2 x float> } %2537, 0
  store <2 x float> %2540, ptr %2539, align 4
  %2541 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %2538, i32 0, i32 1
  %2542 = extractvalue { <2 x float>, <2 x float> } %2537, 1
  store <2 x float> %2542, ptr %2541, align 4
  %2543 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %251)
  %2544 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %250, i32 0, i32 0
  %2545 = extractvalue { <2 x float>, <2 x float> } %2543, 0
  store <2 x float> %2545, ptr %2544, align 4
  %2546 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %250, i32 0, i32 1
  %2547 = extractvalue { <2 x float>, <2 x float> } %2543, 1
  store <2 x float> %2547, ptr %2546, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 23, ptr noundef nonnull align 4 dereferenceable(16) %250)
  call void @llvm.lifetime.end.p0(i64 16, ptr %251) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %250) #8
  %2548 = load ptr, ptr %244, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %252) #8
  %2549 = load i32, ptr %240, align 4, !tbaa !13
  %2550 = load i32, ptr %242, align 4, !tbaa !13
  %2551 = add nsw i32 %2549, %2550
  %2552 = sitofp i32 %2551 to float
  %2553 = call float @sinf(float noundef %2552) #8
  %2554 = call float @llvm.fmuladd.f32(float %2553, float 2.000000e+01, float 4.000000e+01)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %252, float noundef %2554, float noundef 0.000000e+00)
  %2555 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef %2548, ptr noundef nonnull align 4 dereferenceable(8) %252)
  call void @llvm.lifetime.end.p0(i64 8, ptr %252) #8
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 3)
  call void @_ZN5ImGui5PopIDEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %244) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %243) #8
  br label %2556

2556:                                             ; preds = %2507
  %2557 = load i32, ptr %242, align 4, !tbaa !13
  %2558 = add nsw i32 %2557, 1
  store i32 %2558, ptr %242, align 4, !tbaa !13
  br label %2470, !llvm.loop !77

2559:                                             ; preds = %2474
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #8
  br label %2560

2560:                                             ; preds = %2559
  %2561 = load i32, ptr %240, align 4, !tbaa !13
  %2562 = add nsw i32 %2561, 1
  store i32 %2562, ptr %240, align 4, !tbaa !13
  br label %2452, !llvm.loop !78

2563:                                             ; preds = %2456
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #8
  %2564 = call noundef float @_ZN5ImGui10GetScrollXEv()
  store float %2564, ptr %253, align 4, !tbaa !21
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #8
  %2565 = call noundef float @_ZN5ImGui13GetScrollMaxXEv()
  store float %2565, ptr %254, align 4, !tbaa !21
  call void @_ZN5ImGui8EndChildEv()
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 2)
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #8
  store float 0.000000e+00, ptr %255, align 4, !tbaa !21
  %2566 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.490)
  %2567 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %2567, label %2568, label %2574

2568:                                             ; preds = %2563
  %2569 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %2570 = getelementptr inbounds %struct.ImGuiIO, ptr %2569, i32 0, i32 3
  %2571 = load float, ptr %2570, align 8, !tbaa !49
  %2572 = fneg float %2571
  %2573 = fmul float %2572, 1.000000e+03
  store float %2573, ptr %255, align 4, !tbaa !21
  br label %2574

2574:                                             ; preds = %2568, %2563
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.491)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2575 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.492)
  %2576 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %2576, label %2577, label %2582

2577:                                             ; preds = %2574
  %2578 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %2579 = getelementptr inbounds %struct.ImGuiIO, ptr %2578, i32 0, i32 3
  %2580 = load float, ptr %2579, align 8, !tbaa !49
  %2581 = fmul float %2580, 1.000000e+03
  store float %2581, ptr %255, align 4, !tbaa !21
  br label %2582

2582:                                             ; preds = %2577, %2574
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2583 = load float, ptr %253, align 4, !tbaa !21
  %2584 = fpext float %2583 to double
  %2585 = load float, ptr %254, align 4, !tbaa !21
  %2586 = fpext float %2585 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.493, double noundef %2584, double noundef %2586)
  %2587 = load float, ptr %255, align 4, !tbaa !21
  %2588 = fcmp une float %2587, 0.000000e+00
  br i1 %2588, label %2589, label %2594

2589:                                             ; preds = %2582
  call void @llvm.lifetime.start.p0(i64 8, ptr %256) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %256, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2590 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef @.str.486, ptr noundef nonnull align 4 dereferenceable(8) %256, i1 noundef zeroext false, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr %256) #8
  %2591 = call noundef float @_ZN5ImGui10GetScrollXEv()
  %2592 = load float, ptr %255, align 4, !tbaa !21
  %2593 = fadd float %2591, %2592
  call void @_ZN5ImGui10SetScrollXEf(float noundef %2593)
  call void @_ZN5ImGui3EndEv()
  br label %2594

2594:                                             ; preds = %2589, %2582
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #8
  br label %2595

2595:                                             ; preds = %2594, %2445
  %2596 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.494)
  br i1 %2596, label %2597, label %2675

2597:                                             ; preds = %2595
  %2598 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE4size acquire, align 8
  %2599 = icmp eq i8 %2598, 0
  br i1 %2599, label %2600, label %2605, !prof !42

2600:                                             ; preds = %2597
  %2601 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE4size) #8
  %2602 = icmp ne i32 %2601, 0
  br i1 %2602, label %2603, label %2605

2603:                                             ; preds = %2600
  invoke void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) @_ZZN5ImGui14ShowDemoWindowEPbE4size, float noundef 1.000000e+02, float noundef 1.000000e+02)
          to label %2604 unwind label %2645

2604:                                             ; preds = %2603
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE4size) #8
  br label %2605

2605:                                             ; preds = %2604, %2600, %2597
  %2606 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6offset acquire, align 8
  %2607 = icmp eq i8 %2606, 0
  br i1 %2607, label %2608, label %2613, !prof !42

2608:                                             ; preds = %2605
  %2609 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6offset) #8
  %2610 = icmp ne i32 %2609, 0
  br i1 %2610, label %2611, label %2613

2611:                                             ; preds = %2608
  invoke void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) @_ZZN5ImGui14ShowDemoWindowEPbE6offset, float noundef 5.000000e+01, float noundef 2.000000e+01)
          to label %2612 unwind label %2649

2612:                                             ; preds = %2611
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6offset) #8
  br label %2613

2613:                                             ; preds = %2612, %2608, %2605
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.495)
  %2614 = call noundef zeroext i1 @_ZN5ImGui10DragFloat2EPKcPffffS1_f(ptr noundef @.str.496, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4size, float noundef 5.000000e-01, float noundef 0.000000e+00, float noundef 2.000000e+02, ptr noundef @.str.158, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.497)
  call void @llvm.lifetime.start.p0(i64 8, ptr %257) #8
  %2615 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  store <2 x float> %2615, ptr %257, align 4
  call void @llvm.lifetime.start.p0(i64 16, ptr %258) #8
  %2616 = getelementptr inbounds %struct.ImVec2, ptr %257, i32 0, i32 0
  %2617 = load float, ptr %2616, align 4, !tbaa !28
  %2618 = getelementptr inbounds %struct.ImVec2, ptr %257, i32 0, i32 1
  %2619 = load float, ptr %2618, align 4, !tbaa !29
  %2620 = getelementptr inbounds %struct.ImVec2, ptr %257, i32 0, i32 0
  %2621 = load float, ptr %2620, align 4, !tbaa !28
  %2622 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, align 4, !tbaa !28
  %2623 = fadd float %2621, %2622
  %2624 = getelementptr inbounds %struct.ImVec2, ptr %257, i32 0, i32 1
  %2625 = load float, ptr %2624, align 4, !tbaa !29
  %2626 = load float, ptr getelementptr inbounds (%struct.ImVec2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, i32 0, i32 1), align 4, !tbaa !29
  %2627 = fadd float %2625, %2626
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %258, float noundef %2617, float noundef %2619, float noundef %2623, float noundef %2627)
  %2628 = call noundef zeroext i1 @_ZN5ImGui15InvisibleButtonEPKcRK6ImVec2(ptr noundef @.str.498, ptr noundef nonnull align 4 dereferenceable(8) @_ZZN5ImGui14ShowDemoWindowEPbE4size)
  %2629 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %2629, label %2630, label %2653

2630:                                             ; preds = %2613
  %2631 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 0, float noundef -1.000000e+00)
  br i1 %2631, label %2632, label %2653

2632:                                             ; preds = %2630
  %2633 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %2634 = getelementptr inbounds %struct.ImGuiIO, ptr %2633, i32 0, i32 52
  %2635 = getelementptr inbounds %struct.ImVec2, ptr %2634, i32 0, i32 0
  %2636 = load float, ptr %2635, align 4, !tbaa !79
  %2637 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, align 4, !tbaa !28
  %2638 = fadd float %2637, %2636
  store float %2638, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, align 4, !tbaa !28
  %2639 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %2640 = getelementptr inbounds %struct.ImGuiIO, ptr %2639, i32 0, i32 52
  %2641 = getelementptr inbounds %struct.ImVec2, ptr %2640, i32 0, i32 1
  %2642 = load float, ptr %2641, align 4, !tbaa !80
  %2643 = load float, ptr getelementptr inbounds (%struct.ImVec2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, i32 0, i32 1), align 4, !tbaa !29
  %2644 = fadd float %2643, %2642
  store float %2644, ptr getelementptr inbounds (%struct.ImVec2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, i32 0, i32 1), align 4, !tbaa !29
  br label %2653

2645:                                             ; preds = %2603
  %2646 = landingpad { ptr, i32 }
          cleanup
  %2647 = extractvalue { ptr, i32 } %2646, 0
  store ptr %2647, ptr %108, align 8
  %2648 = extractvalue { ptr, i32 } %2646, 1
  store i32 %2648, ptr %109, align 4
  call void @__cxa_guard_abort(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE4size) #8
  br label %3519

2649:                                             ; preds = %2611
  %2650 = landingpad { ptr, i32 }
          cleanup
  %2651 = extractvalue { ptr, i32 } %2650, 0
  store ptr %2651, ptr %108, align 8
  %2652 = extractvalue { ptr, i32 } %2650, 1
  store i32 %2652, ptr %109, align 4
  call void @__cxa_guard_abort(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6offset) #8
  br label %3519

2653:                                             ; preds = %2632, %2630, %2613
  %2654 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %259) #8
  %2655 = getelementptr inbounds %struct.ImVec2, ptr %257, i32 0, i32 0
  %2656 = load float, ptr %2655, align 4, !tbaa !28
  %2657 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, align 4, !tbaa !28
  %2658 = fadd float %2656, %2657
  %2659 = getelementptr inbounds %struct.ImVec2, ptr %257, i32 0, i32 1
  %2660 = load float, ptr %2659, align 4, !tbaa !29
  %2661 = load float, ptr getelementptr inbounds (%struct.ImVec2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, i32 0, i32 1), align 4, !tbaa !29
  %2662 = fadd float %2660, %2661
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %259, float noundef %2658, float noundef %2662)
  call void @_ZN10ImDrawList13AddRectFilledERK6ImVec2S2_jfi(ptr noundef nonnull align 8 dereferenceable(168) %2654, ptr noundef nonnull align 4 dereferenceable(8) %257, ptr noundef nonnull align 4 dereferenceable(8) %259, i32 noundef -8889766, float noundef 0.000000e+00, i32 noundef 15)
  call void @llvm.lifetime.end.p0(i64 8, ptr %259) #8
  %2663 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  %2664 = call noundef ptr @_ZN5ImGui7GetFontEv()
  %2665 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %2666 = fmul float %2665, 2.000000e+00
  call void @llvm.lifetime.start.p0(i64 8, ptr %260) #8
  %2667 = getelementptr inbounds %struct.ImVec2, ptr %257, i32 0, i32 0
  %2668 = load float, ptr %2667, align 4, !tbaa !28
  %2669 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, align 4, !tbaa !28
  %2670 = fadd float %2668, %2669
  %2671 = getelementptr inbounds %struct.ImVec2, ptr %257, i32 0, i32 1
  %2672 = load float, ptr %2671, align 4, !tbaa !29
  %2673 = load float, ptr getelementptr inbounds (%struct.ImVec2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, i32 0, i32 1), align 4, !tbaa !29
  %2674 = fadd float %2672, %2673
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %260, float noundef %2670, float noundef %2674)
  call void @_ZN10ImDrawList7AddTextEPK6ImFontfRK6ImVec2jPKcS7_fPK6ImVec4(ptr noundef nonnull align 8 dereferenceable(168) %2663, ptr noundef %2664, float noundef %2666, ptr noundef nonnull align 4 dereferenceable(8) %260, i32 noundef -1, ptr noundef @.str.499, ptr noundef null, float noundef 0.000000e+00, ptr noundef %258)
  call void @llvm.lifetime.end.p0(i64 8, ptr %260) #8
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 16, ptr %258) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %257) #8
  br label %2675

2675:                                             ; preds = %2653, %2595
  br label %2676

2676:                                             ; preds = %2675, %2103
  %2677 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.500, i32 noundef 0)
  br i1 %2677, label %2678, label %2847

2678:                                             ; preds = %2676
  %2679 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.501)
  br i1 %2679, label %2680, label %2777

2680:                                             ; preds = %2678
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.502)
  call void @llvm.lifetime.start.p0(i64 40, ptr %261) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %261, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %262) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %262, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2681 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.508, ptr noundef nonnull align 4 dereferenceable(8) %262)
  call void @llvm.lifetime.end.p0(i64 8, ptr %262) #8
  br i1 %2681, label %2682, label %2683

2682:                                             ; preds = %2680
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.509)
  br label %2683

2683:                                             ; preds = %2682, %2680
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2684 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !13
  %2685 = icmp eq i32 %2684, -1
  br i1 %2685, label %2686, label %2687

2686:                                             ; preds = %2683
  br label %2692

2687:                                             ; preds = %2683
  %2688 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !13
  %2689 = sext i32 %2688 to i64
  %2690 = getelementptr inbounds [5 x ptr], ptr %261, i64 0, i64 %2689
  %2691 = load ptr, ptr %2690, align 8, !tbaa !5
  br label %2692

2692:                                             ; preds = %2687, %2686
  %2693 = phi ptr [ @.str.510, %2686 ], [ %2691, %2687 ]
  call void @_ZN5ImGui15TextUnformattedEPKcS1_(ptr noundef %2693, ptr noundef null)
  %2694 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef @.str.509, i32 noundef 0)
  br i1 %2694, label %2695, label %2713

2695:                                             ; preds = %2692
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.511)
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #8
  store i32 0, ptr %263, align 4, !tbaa !13
  br label %2696

2696:                                             ; preds = %2709, %2695
  %2697 = load i32, ptr %263, align 4, !tbaa !13
  %2698 = icmp slt i32 %2697, 5
  br i1 %2698, label %2700, label %2699

2699:                                             ; preds = %2696
  store i32 82, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #8
  br label %2712

2700:                                             ; preds = %2696
  %2701 = load i32, ptr %263, align 4, !tbaa !13
  %2702 = sext i32 %2701 to i64
  %2703 = getelementptr inbounds [5 x ptr], ptr %261, i64 0, i64 %2702
  %2704 = load ptr, ptr %2703, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %264) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %264, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2705 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %2704, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %264)
  call void @llvm.lifetime.end.p0(i64 8, ptr %264) #8
  br i1 %2705, label %2706, label %2708

2706:                                             ; preds = %2700
  %2707 = load i32, ptr %263, align 4, !tbaa !13
  store i32 %2707, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !13
  br label %2708

2708:                                             ; preds = %2706, %2700
  br label %2709

2709:                                             ; preds = %2708
  %2710 = load i32, ptr %263, align 4, !tbaa !13
  %2711 = add nsw i32 %2710, 1
  store i32 %2711, ptr %263, align 4, !tbaa !13
  br label %2696, !llvm.loop !81

2712:                                             ; preds = %2699
  call void @_ZN5ImGui8EndPopupEv()
  br label %2713

2713:                                             ; preds = %2712, %2692
  call void @llvm.lifetime.start.p0(i64 8, ptr %265) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %265, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2714 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.512, ptr noundef nonnull align 4 dereferenceable(8) %265)
  call void @llvm.lifetime.end.p0(i64 8, ptr %265) #8
  br i1 %2714, label %2715, label %2716

2715:                                             ; preds = %2713
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.513)
  br label %2716

2716:                                             ; preds = %2715, %2713
  %2717 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef @.str.513, i32 noundef 0)
  br i1 %2717, label %2718, label %2770

2718:                                             ; preds = %2716
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #8
  store i32 0, ptr %266, align 4, !tbaa !13
  br label %2719

2719:                                             ; preds = %2732, %2718
  %2720 = load i32, ptr %266, align 4, !tbaa !13
  %2721 = icmp slt i32 %2720, 5
  br i1 %2721, label %2723, label %2722

2722:                                             ; preds = %2719
  store i32 85, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #8
  br label %2735

2723:                                             ; preds = %2719
  %2724 = load i32, ptr %266, align 4, !tbaa !13
  %2725 = sext i32 %2724 to i64
  %2726 = getelementptr inbounds [5 x ptr], ptr %261, i64 0, i64 %2725
  %2727 = load ptr, ptr %2726, align 8, !tbaa !5
  %2728 = load i32, ptr %266, align 4, !tbaa !13
  %2729 = sext i32 %2728 to i64
  %2730 = getelementptr inbounds [5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 0, i64 %2729
  %2731 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2727, ptr noundef @.str.357, ptr noundef %2730, i1 noundef zeroext true)
  br label %2732

2732:                                             ; preds = %2723
  %2733 = load i32, ptr %266, align 4, !tbaa !13
  %2734 = add nsw i32 %2733, 1
  store i32 %2734, ptr %266, align 4, !tbaa !13
  br label %2719, !llvm.loop !82

2735:                                             ; preds = %2722
  %2736 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef @.str.514, i1 noundef zeroext true)
  br i1 %2736, label %2737, label %2739

2737:                                             ; preds = %2735
  %2738 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef @.str.515, ptr noundef null, i1 noundef zeroext false, i1 noundef zeroext true)
  call void @_ZN5ImGui7EndMenuEv()
  br label %2739

2739:                                             ; preds = %2737, %2735
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.516)
  %2740 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %2740, label %2741, label %2742

2741:                                             ; preds = %2739
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef @.str.517)
  br label %2742

2742:                                             ; preds = %2741, %2739
  call void @llvm.lifetime.start.p0(i64 8, ptr %267) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %267, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2743 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.518, ptr noundef nonnull align 4 dereferenceable(8) %267)
  call void @llvm.lifetime.end.p0(i64 8, ptr %267) #8
  br i1 %2743, label %2744, label %2745

2744:                                             ; preds = %2742
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.519)
  br label %2745

2745:                                             ; preds = %2744, %2742
  %2746 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef @.str.519, i32 noundef 0)
  br i1 %2746, label %2747, label %2769

2747:                                             ; preds = %2745
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #8
  store i32 0, ptr %268, align 4, !tbaa !13
  br label %2748

2748:                                             ; preds = %2761, %2747
  %2749 = load i32, ptr %268, align 4, !tbaa !13
  %2750 = icmp slt i32 %2749, 5
  br i1 %2750, label %2752, label %2751

2751:                                             ; preds = %2748
  store i32 88, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #8
  br label %2764

2752:                                             ; preds = %2748
  %2753 = load i32, ptr %268, align 4, !tbaa !13
  %2754 = sext i32 %2753 to i64
  %2755 = getelementptr inbounds [5 x ptr], ptr %261, i64 0, i64 %2754
  %2756 = load ptr, ptr %2755, align 8, !tbaa !5
  %2757 = load i32, ptr %268, align 4, !tbaa !13
  %2758 = sext i32 %2757 to i64
  %2759 = getelementptr inbounds [5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 0, i64 %2758
  %2760 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2756, ptr noundef @.str.357, ptr noundef %2759, i1 noundef zeroext true)
  br label %2761

2761:                                             ; preds = %2752
  %2762 = load i32, ptr %268, align 4, !tbaa !13
  %2763 = add nsw i32 %2762, 1
  store i32 %2763, ptr %268, align 4, !tbaa !13
  br label %2748, !llvm.loop !83

2764:                                             ; preds = %2751
  %2765 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef @.str.514, i1 noundef zeroext true)
  br i1 %2765, label %2766, label %2768

2766:                                             ; preds = %2764
  %2767 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef @.str.515, ptr noundef null, i1 noundef zeroext false, i1 noundef zeroext true)
  call void @_ZN5ImGui7EndMenuEv()
  br label %2768

2768:                                             ; preds = %2766, %2764
  call void @_ZN5ImGui8EndPopupEv()
  br label %2769

2769:                                             ; preds = %2768, %2745
  call void @_ZN5ImGui8EndPopupEv()
  br label %2770

2770:                                             ; preds = %2769, %2716
  call void @llvm.lifetime.start.p0(i64 8, ptr %269) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %269, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2771 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.520, ptr noundef nonnull align 4 dereferenceable(8) %269)
  call void @llvm.lifetime.end.p0(i64 8, ptr %269) #8
  br i1 %2771, label %2772, label %2773

2772:                                             ; preds = %2770
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.521)
  br label %2773

2773:                                             ; preds = %2772, %2770
  %2774 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef @.str.521, i32 noundef 0)
  br i1 %2774, label %2775, label %2776

2775:                                             ; preds = %2773
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui8EndPopupEv()
  br label %2776

2776:                                             ; preds = %2775, %2773
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 40, ptr %261) #8
  br label %2777

2777:                                             ; preds = %2776, %2678
  %2778 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.522)
  br i1 %2778, label %2779, label %2803

2779:                                             ; preds = %2777
  %2780 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5value, align 4, !tbaa !21
  %2781 = fpext float %2780 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.523, double noundef %2781)
  %2782 = call noundef zeroext i1 @_ZN5ImGui21BeginPopupContextItemEPKci(ptr noundef @.str.524, i32 noundef 1)
  br i1 %2782, label %2783, label %2791

2783:                                             ; preds = %2779
  call void @llvm.lifetime.start.p0(i64 8, ptr %270) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %270, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2784 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef @.str.525, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %270)
  call void @llvm.lifetime.end.p0(i64 8, ptr %270) #8
  br i1 %2784, label %2785, label %2786

2785:                                             ; preds = %2783
  store float 0.000000e+00, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5value, align 4, !tbaa !21
  br label %2786

2786:                                             ; preds = %2785, %2783
  call void @llvm.lifetime.start.p0(i64 8, ptr %271) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %271, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2787 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef @.str.526, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %271)
  call void @llvm.lifetime.end.p0(i64 8, ptr %271) #8
  br i1 %2787, label %2788, label %2789

2788:                                             ; preds = %2786
  store float 0x400921CAC0000000, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5value, align 4, !tbaa !21
  br label %2789

2789:                                             ; preds = %2788, %2786
  call void @_ZN5ImGui13PushItemWidthEf(float noundef -1.000000e+00)
  %2790 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.527, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5value, float noundef 0x3FB99999A0000000, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui8EndPopupEv()
  br label %2791

2791:                                             ; preds = %2789, %2779
  call void @llvm.lifetime.start.p0(i64 64, ptr %272) #8
  %2792 = getelementptr inbounds [64 x i8], ptr %272, i64 0, i64 0
  %2793 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %2792, ptr noundef @.str.528, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4name) #8
  %2794 = getelementptr inbounds [64 x i8], ptr %272, i64 0, i64 0
  call void @llvm.lifetime.start.p0(i64 8, ptr %273) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %273, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2795 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef %2794, ptr noundef nonnull align 4 dereferenceable(8) %273)
  call void @llvm.lifetime.end.p0(i64 8, ptr %273) #8
  %2796 = call noundef zeroext i1 @_ZN5ImGui21BeginPopupContextItemEPKci(ptr noundef null, i32 noundef 1)
  br i1 %2796, label %2797, label %2802

2797:                                             ; preds = %2791
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.529)
  %2798 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.530, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4name, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @llvm.lifetime.start.p0(i64 8, ptr %274) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %274, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2799 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.531, ptr noundef nonnull align 4 dereferenceable(8) %274)
  call void @llvm.lifetime.end.p0(i64 8, ptr %274) #8
  br i1 %2799, label %2800, label %2801

2800:                                             ; preds = %2797
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2801

2801:                                             ; preds = %2800, %2797
  call void @_ZN5ImGui8EndPopupEv()
  br label %2802

2802:                                             ; preds = %2801, %2791
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.532)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 64, ptr %272) #8
  br label %2803

2803:                                             ; preds = %2802, %2777
  %2804 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.533)
  br i1 %2804, label %2805, label %2839

2805:                                             ; preds = %2803
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.534)
  call void @llvm.lifetime.start.p0(i64 8, ptr %275) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %275, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2806 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.535, ptr noundef nonnull align 4 dereferenceable(8) %275)
  call void @llvm.lifetime.end.p0(i64 8, ptr %275) #8
  br i1 %2806, label %2807, label %2808

2807:                                             ; preds = %2805
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.536)
  br label %2808

2808:                                             ; preds = %2807, %2805
  %2809 = call noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef @.str.536, ptr noundef null, i32 noundef 64)
  br i1 %2809, label %2810, label %2818

2810:                                             ; preds = %2808
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.537)
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %276) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %276, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef 10, ptr noundef nonnull align 4 dereferenceable(8) %276)
  call void @llvm.lifetime.end.p0(i64 8, ptr %276) #8
  %2811 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.538, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE21dont_ask_me_next_time)
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 8, ptr %277) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %277, float noundef 1.200000e+02, float noundef 0.000000e+00)
  %2812 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.539, ptr noundef nonnull align 4 dereferenceable(8) %277)
  call void @llvm.lifetime.end.p0(i64 8, ptr %277) #8
  br i1 %2812, label %2813, label %2814

2813:                                             ; preds = %2810
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2814

2814:                                             ; preds = %2813, %2810
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %278) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %278, float noundef 1.200000e+02, float noundef 0.000000e+00)
  %2815 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.540, ptr noundef nonnull align 4 dereferenceable(8) %278)
  call void @llvm.lifetime.end.p0(i64 8, ptr %278) #8
  br i1 %2815, label %2816, label %2817

2816:                                             ; preds = %2814
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2817

2817:                                             ; preds = %2816, %2814
  call void @_ZN5ImGui8EndPopupEv()
  br label %2818

2818:                                             ; preds = %2817, %2808
  call void @llvm.lifetime.start.p0(i64 8, ptr %279) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %279, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2819 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.541, ptr noundef nonnull align 4 dereferenceable(8) %279)
  call void @llvm.lifetime.end.p0(i64 8, ptr %279) #8
  br i1 %2819, label %2820, label %2821

2820:                                             ; preds = %2818
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.542)
  br label %2821

2821:                                             ; preds = %2820, %2818
  %2822 = call noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef @.str.542, ptr noundef null, i32 noundef 0)
  br i1 %2822, label %2823, label %2838

2823:                                             ; preds = %2821
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.543)
  %2824 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef @.str.175, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4item_0, ptr noundef @.str.182, i32 noundef -1)
  %2825 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.544, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5color_0, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 8, ptr %280) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %280, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2826 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.545, ptr noundef nonnull align 4 dereferenceable(8) %280)
  call void @llvm.lifetime.end.p0(i64 8, ptr %280) #8
  br i1 %2826, label %2827, label %2828

2827:                                             ; preds = %2823
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.546)
  br label %2828

2828:                                             ; preds = %2827, %2823
  %2829 = call noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef @.str.546, ptr noundef null, i32 noundef 0)
  br i1 %2829, label %2830, label %2834

2830:                                             ; preds = %2828
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.547)
  call void @llvm.lifetime.start.p0(i64 8, ptr %281) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %281, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2831 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.531, ptr noundef nonnull align 4 dereferenceable(8) %281)
  call void @llvm.lifetime.end.p0(i64 8, ptr %281) #8
  br i1 %2831, label %2832, label %2833

2832:                                             ; preds = %2830
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2833

2833:                                             ; preds = %2832, %2830
  call void @_ZN5ImGui8EndPopupEv()
  br label %2834

2834:                                             ; preds = %2833, %2828
  call void @llvm.lifetime.start.p0(i64 8, ptr %282) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %282, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2835 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.531, ptr noundef nonnull align 4 dereferenceable(8) %282)
  call void @llvm.lifetime.end.p0(i64 8, ptr %282) #8
  br i1 %2835, label %2836, label %2837

2836:                                             ; preds = %2834
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2837

2837:                                             ; preds = %2836, %2834
  call void @_ZN5ImGui8EndPopupEv()
  br label %2838

2838:                                             ; preds = %2837, %2821
  call void @_ZN5ImGui7TreePopEv()
  br label %2839

2839:                                             ; preds = %2838, %2803
  %2840 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.548)
  br i1 %2840, label %2841, label %2846

2841:                                             ; preds = %2839
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.549)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef @.str.550)
  %2842 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef @.str.551, ptr noundef @.str.552, i1 noundef zeroext false, i1 noundef zeroext true)
  %2843 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef @.str.553, i1 noundef zeroext true)
  br i1 %2843, label %2844, label %2845

2844:                                             ; preds = %2841
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui7EndMenuEv()
  br label %2845

2845:                                             ; preds = %2844, %2841
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %2846

2846:                                             ; preds = %2845, %2839
  br label %2847

2847:                                             ; preds = %2846, %2676
  %2848 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.554, i32 noundef 0)
  br i1 %2848, label %2849, label %3021

2849:                                             ; preds = %2847
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef @.str.554)
  %2850 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.53)
  br i1 %2850, label %2851, label %2901

2851:                                             ; preds = %2849
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.555)
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 3, ptr noundef @.str.556, i1 noundef zeroext false)
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #8
  store i32 0, ptr %283, align 4, !tbaa !13
  br label %2852

2852:                                             ; preds = %2864, %2851
  %2853 = load i32, ptr %283, align 4, !tbaa !13
  %2854 = icmp slt i32 %2853, 14
  br i1 %2854, label %2856, label %2855

2855:                                             ; preds = %2852
  store i32 91, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #8
  br label %2867

2856:                                             ; preds = %2852
  call void @llvm.lifetime.start.p0(i64 32, ptr %284) #8
  %2857 = getelementptr inbounds [32 x i8], ptr %284, i64 0, i64 0
  %2858 = load i32, ptr %283, align 4, !tbaa !13
  %2859 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %2857, ptr noundef @.str.202, i32 noundef %2858) #8
  %2860 = getelementptr inbounds [32 x i8], ptr %284, i64 0, i64 0
  call void @llvm.lifetime.start.p0(i64 8, ptr %285) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %285, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2861 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %2860, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %285)
  call void @llvm.lifetime.end.p0(i64 8, ptr %285) #8
  br i1 %2861, label %2862, label %2863

2862:                                             ; preds = %2856
  br label %2863

2863:                                             ; preds = %2862, %2856
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr %284) #8
  br label %2864

2864:                                             ; preds = %2863
  %2865 = load i32, ptr %283, align 4, !tbaa !13
  %2866 = add nsw i32 %2865, 1
  store i32 %2866, ptr %283, align 4, !tbaa !13
  br label %2852, !llvm.loop !84

2867:                                             ; preds = %2855
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.557)
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 4, ptr noundef @.str.558, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.559)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.560)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.561)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.562)
  call void @_ZN5ImGui10NextColumnEv()
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 24, ptr %286) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %286, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.names.566, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %287) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %287, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.paths, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #8
  store i32 0, ptr %288, align 4, !tbaa !13
  br label %2868

2868:                                             ; preds = %2897, %2867
  %2869 = load i32, ptr %288, align 4, !tbaa !13
  %2870 = icmp slt i32 %2869, 3
  br i1 %2870, label %2872, label %2871

2871:                                             ; preds = %2868
  store i32 94, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #8
  br label %2900

2872:                                             ; preds = %2868
  call void @llvm.lifetime.start.p0(i64 32, ptr %289) #8
  %2873 = getelementptr inbounds [32 x i8], ptr %289, i64 0, i64 0
  %2874 = load i32, ptr %288, align 4, !tbaa !13
  %2875 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %2873, ptr noundef @.str.570, i32 noundef %2874) #8
  %2876 = getelementptr inbounds [32 x i8], ptr %289, i64 0, i64 0
  %2877 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !13
  %2878 = load i32, ptr %288, align 4, !tbaa !13
  %2879 = icmp eq i32 %2877, %2878
  call void @llvm.lifetime.start.p0(i64 8, ptr %290) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %290, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2880 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %2876, i1 noundef zeroext %2879, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(8) %290)
  call void @llvm.lifetime.end.p0(i64 8, ptr %290) #8
  br i1 %2880, label %2881, label %2883

2881:                                             ; preds = %2872
  %2882 = load i32, ptr %288, align 4, !tbaa !13
  store i32 %2882, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !13
  br label %2883

2883:                                             ; preds = %2881, %2872
  call void @llvm.lifetime.start.p0(i64 1, ptr %291) #8
  %2884 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %2885 = zext i1 %2884 to i8
  store i8 %2885, ptr %291, align 1, !tbaa !9
  call void @_ZN5ImGui10NextColumnEv()
  %2886 = load i32, ptr %288, align 4, !tbaa !13
  %2887 = sext i32 %2886 to i64
  %2888 = getelementptr inbounds [3 x ptr], ptr %286, i64 0, i64 %2887
  %2889 = load ptr, ptr %2888, align 8, !tbaa !5
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %2889)
  call void @_ZN5ImGui10NextColumnEv()
  %2890 = load i32, ptr %288, align 4, !tbaa !13
  %2891 = sext i32 %2890 to i64
  %2892 = getelementptr inbounds [3 x ptr], ptr %287, i64 0, i64 %2891
  %2893 = load ptr, ptr %2892, align 8, !tbaa !5
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %2893)
  call void @_ZN5ImGui10NextColumnEv()
  %2894 = load i8, ptr %291, align 1, !tbaa !9, !range !11, !noundef !12
  %2895 = trunc i8 %2894 to i1
  %2896 = zext i1 %2895 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.63, i32 noundef %2896)
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 1, ptr %291) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %289) #8
  br label %2897

2897:                                             ; preds = %2883
  %2898 = load i32, ptr %288, align 4, !tbaa !13
  %2899 = add nsw i32 %2898, 1
  store i32 %2899, ptr %288, align 4, !tbaa !13
  br label %2868, !llvm.loop !85

2900:                                             ; preds = %2871
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 24, ptr %287) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %286) #8
  br label %2901

2901:                                             ; preds = %2900, %2849
  %2902 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.571)
  br i1 %2902, label %2903, label %2918

2903:                                             ; preds = %2901
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 3, ptr noundef @.str.572, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.573)
  call void @llvm.lifetime.start.p0(i64 8, ptr %292) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %292, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2904 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.117, ptr noundef nonnull align 4 dereferenceable(8) %292)
  call void @llvm.lifetime.end.p0(i64 8, ptr %292) #8
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.574)
  call void @llvm.lifetime.start.p0(i64 8, ptr %293) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %293, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2905 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.116, ptr noundef nonnull align 4 dereferenceable(8) %293)
  call void @llvm.lifetime.end.p0(i64 8, ptr %293) #8
  %2906 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef @.str.575, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3foo, float noundef 0x3FA99999A0000000, float noundef 0.000000e+00, ptr noundef @.str.92, i32 noundef 0)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.576)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.204)
  call void @llvm.lifetime.start.p0(i64 8, ptr %294) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %294, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2907 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.411, ptr noundef nonnull align 4 dereferenceable(8) %294)
  call void @llvm.lifetime.end.p0(i64 8, ptr %294) #8
  %2908 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef @.str.577, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3bar, float noundef 0x3FA99999A0000000, float noundef 0.000000e+00, ptr noundef @.str.92, i32 noundef 0)
  call void @_ZN5ImGui10NextColumnEv()
  %2909 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.578, i32 noundef 0)
  br i1 %2909, label %2910, label %2911

2910:                                             ; preds = %2903
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.579)
  br label %2911

2911:                                             ; preds = %2910, %2903
  call void @_ZN5ImGui10NextColumnEv()
  %2912 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.580, i32 noundef 0)
  br i1 %2912, label %2913, label %2914

2913:                                             ; preds = %2911
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.579)
  br label %2914

2914:                                             ; preds = %2913, %2911
  call void @_ZN5ImGui10NextColumnEv()
  %2915 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.581, i32 noundef 0)
  br i1 %2915, label %2916, label %2917

2916:                                             ; preds = %2914
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.579)
  br label %2917

2917:                                             ; preds = %2916, %2914
  call void @_ZN5ImGui10NextColumnEv()
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %2918

2918:                                             ; preds = %2917, %2901
  %2919 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.582)
  br i1 %2919, label %2920, label %2921

2920:                                             ; preds = %2918
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 2, ptr noundef @.str.583, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.584)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.585)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.584)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.586)
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %2921

2921:                                             ; preds = %2920, %2918
  %2922 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.587)
  br i1 %2922, label %2923, label %2958

2923:                                             ; preds = %2921
  %2924 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.588, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2925 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.589, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9v_borders)
  %2926 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9v_borders, align 1, !tbaa !9, !range !11, !noundef !12
  %2927 = trunc i8 %2926 to i1
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 4, ptr noundef null, i1 noundef zeroext %2927)
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #8
  store i32 0, ptr %295, align 4, !tbaa !13
  br label %2928

2928:                                             ; preds = %2950, %2923
  %2929 = load i32, ptr %295, align 4, !tbaa !13
  %2930 = icmp slt i32 %2929, 12
  br i1 %2930, label %2932, label %2931

2931:                                             ; preds = %2928
  store i32 97, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #8
  br label %2953

2932:                                             ; preds = %2928
  %2933 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !9, !range !11, !noundef !12
  %2934 = trunc i8 %2933 to i1
  br i1 %2934, label %2935, label %2939

2935:                                             ; preds = %2932
  %2936 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2937 = icmp eq i32 %2936, 0
  br i1 %2937, label %2938, label %2939

2938:                                             ; preds = %2935
  call void @_ZN5ImGui9SeparatorEv()
  br label %2939

2939:                                             ; preds = %2938, %2935, %2932
  %2940 = load i32, ptr %295, align 4, !tbaa !13
  %2941 = add nsw i32 97, %2940
  %2942 = load i32, ptr %295, align 4, !tbaa !13
  %2943 = add nsw i32 97, %2942
  %2944 = load i32, ptr %295, align 4, !tbaa !13
  %2945 = add nsw i32 97, %2944
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.590, i32 noundef %2941, i32 noundef %2943, i32 noundef %2945)
  %2946 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2947 = fpext float %2946 to double
  %2948 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2949 = fpext float %2948 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.591, double noundef %2947, double noundef %2949)
  call void @_ZN5ImGui10NextColumnEv()
  br label %2950

2950:                                             ; preds = %2939
  %2951 = load i32, ptr %295, align 4, !tbaa !13
  %2952 = add nsw i32 %2951, 1
  store i32 %2952, ptr %295, align 4, !tbaa !13
  br label %2928, !llvm.loop !86

2953:                                             ; preds = %2931
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  %2954 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !9, !range !11, !noundef !12
  %2955 = trunc i8 %2954 to i1
  br i1 %2955, label %2956, label %2957

2956:                                             ; preds = %2953
  call void @_ZN5ImGui9SeparatorEv()
  br label %2957

2957:                                             ; preds = %2956, %2953
  call void @_ZN5ImGui7TreePopEv()
  br label %2958

2958:                                             ; preds = %2957, %2921
  %2959 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.483)
  br i1 %2959, label %2960, label %3008

2960:                                             ; preds = %2958
  call void @llvm.lifetime.start.p0(i64 8, ptr %296) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %296, float noundef 1.500000e+03, float noundef 0.000000e+00)
  call void @_ZN5ImGui24SetNextWindowContentSizeERK6ImVec2(ptr noundef nonnull align 4 dereferenceable(8) %296)
  call void @llvm.lifetime.end.p0(i64 8, ptr %296) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %297) #8
  %2961 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %2962 = fmul float %2961, 2.000000e+01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %297, float noundef 0.000000e+00, float noundef %2962)
  %2963 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef @.str.592, ptr noundef nonnull align 4 dereferenceable(8) %297, i1 noundef zeroext false, i32 noundef 2048)
  call void @llvm.lifetime.end.p0(i64 8, ptr %297) #8
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 10, ptr noundef null, i1 noundef zeroext true)
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #8
  store i32 2000, ptr %298, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 24, ptr %299) #8
  %2964 = load i32, ptr %298, align 4, !tbaa !13
  call void @_ZN16ImGuiListClipperC2Eif(ptr noundef nonnull align 4 dereferenceable(24) %299, i32 noundef %2964, float noundef -1.000000e+00)
  br label %2965

2965:                                             ; preds = %3002, %2960
  %2966 = invoke noundef zeroext i1 @_ZN16ImGuiListClipper4StepEv(ptr noundef nonnull align 4 dereferenceable(24) %299)
          to label %2967 unwind label %2977

2967:                                             ; preds = %2965
  br i1 %2966, label %2968, label %3003

2968:                                             ; preds = %2967
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #8
  %2969 = getelementptr inbounds %struct.ImGuiListClipper, ptr %299, i32 0, i32 4
  %2970 = load i32, ptr %2969, align 4, !tbaa !87
  store i32 %2970, ptr %300, align 4, !tbaa !13
  br label %2971

2971:                                             ; preds = %2999, %2968
  %2972 = load i32, ptr %300, align 4, !tbaa !13
  %2973 = getelementptr inbounds %struct.ImGuiListClipper, ptr %299, i32 0, i32 5
  %2974 = load i32, ptr %2973, align 4, !tbaa !89
  %2975 = icmp slt i32 %2972, %2974
  br i1 %2975, label %2981, label %2976

2976:                                             ; preds = %2971
  store i32 102, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #8
  br label %3002

2977:                                             ; preds = %3005, %3004, %3003, %2965
  %2978 = landingpad { ptr, i32 }
          cleanup
  %2979 = extractvalue { ptr, i32 } %2978, 0
  store ptr %2979, ptr %108, align 8
  %2980 = extractvalue { ptr, i32 } %2978, 1
  store i32 %2980, ptr %109, align 4
  br label %3007

2981:                                             ; preds = %2971
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #8
  store i32 0, ptr %301, align 4, !tbaa !13
  br label %2982

2982:                                             ; preds = %2991, %2981
  %2983 = load i32, ptr %301, align 4, !tbaa !13
  %2984 = icmp slt i32 %2983, 10
  br i1 %2984, label %2986, label %2985

2985:                                             ; preds = %2982
  store i32 105, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #8
  br label %2998

2986:                                             ; preds = %2982
  %2987 = load i32, ptr %300, align 4, !tbaa !13
  %2988 = load i32, ptr %301, align 4, !tbaa !13
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.593, i32 noundef %2987, i32 noundef %2988)
          to label %2989 unwind label %2994

2989:                                             ; preds = %2986
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2990 unwind label %2994

2990:                                             ; preds = %2989
  br label %2991

2991:                                             ; preds = %2990
  %2992 = load i32, ptr %301, align 4, !tbaa !13
  %2993 = add nsw i32 %2992, 1
  store i32 %2993, ptr %301, align 4, !tbaa !13
  br label %2982, !llvm.loop !90

2994:                                             ; preds = %2989, %2986
  %2995 = landingpad { ptr, i32 }
          cleanup
  %2996 = extractvalue { ptr, i32 } %2995, 0
  store ptr %2996, ptr %108, align 8
  %2997 = extractvalue { ptr, i32 } %2995, 1
  store i32 %2997, ptr %109, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #8
  br label %3007

2998:                                             ; preds = %2985
  br label %2999

2999:                                             ; preds = %2998
  %3000 = load i32, ptr %300, align 4, !tbaa !13
  %3001 = add nsw i32 %3000, 1
  store i32 %3001, ptr %300, align 4, !tbaa !13
  br label %2971, !llvm.loop !91

3002:                                             ; preds = %2976
  br label %2965, !llvm.loop !92

3003:                                             ; preds = %2967
  invoke void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
          to label %3004 unwind label %2977

3004:                                             ; preds = %3003
  invoke void @_ZN5ImGui8EndChildEv()
          to label %3005 unwind label %2977

3005:                                             ; preds = %3004
  invoke void @_ZN5ImGui7TreePopEv()
          to label %3006 unwind label %2977

3006:                                             ; preds = %3005
  call void @_ZN16ImGuiListClipperD2Ev(ptr noundef nonnull align 4 dereferenceable(24) %299) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %299) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #8
  br label %3008

3007:                                             ; preds = %2994, %2977
  call void @_ZN16ImGuiListClipperD2Ev(ptr noundef nonnull align 4 dereferenceable(24) %299) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %299) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #8
  br label %3519

3008:                                             ; preds = %3006, %2958
  call void @llvm.lifetime.start.p0(i64 1, ptr %302) #8
  %3009 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.594)
  %3010 = zext i1 %3009 to i8
  store i8 %3010, ptr %302, align 1, !tbaa !9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.595)
  %3011 = load i8, ptr %302, align 1, !tbaa !9, !range !11, !noundef !12
  %3012 = trunc i8 %3011 to i1
  br i1 %3012, label %3013, label %3020

3013:                                             ; preds = %3008
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 2, ptr noundef @.str.596, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  %3014 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.573)
  br i1 %3014, label %3015, label %3016

3015:                                             ; preds = %3013
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.204)
  call void @_ZN5ImGui7TreePopEv()
  br label %3016

3016:                                             ; preds = %3015, %3013
  call void @_ZN5ImGui10NextColumnEv()
  %3017 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.597)
  br i1 %3017, label %3018, label %3019

3018:                                             ; preds = %3016
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.598)
  call void @_ZN5ImGui7TreePopEv()
  br label %3019

3019:                                             ; preds = %3018, %3016
  call void @_ZN5ImGui10NextColumnEv()
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %3020

3020:                                             ; preds = %3019, %3008
  call void @_ZN5ImGui5PopIDEv()
  call void @llvm.lifetime.end.p0(i64 1, ptr %302) #8
  br label %3021

3021:                                             ; preds = %3020, %2847
  %3022 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.599, i32 noundef 0)
  br i1 %3022, label %3023, label %3058

3023:                                             ; preds = %3021
  %3024 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter acquire, align 8
  %3025 = icmp eq i8 %3024, 0
  br i1 %3025, label %3026, label %3032, !prof !42

3026:                                             ; preds = %3023
  %3027 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter) #8
  %3028 = icmp ne i32 %3027, 0
  br i1 %3028, label %3029, label %3032

3029:                                             ; preds = %3026
  invoke void @_ZN15ImGuiTextFilterC1EPKc(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef @.str.357)
          to label %3030 unwind label %3038

3030:                                             ; preds = %3029
  %3031 = call i32 @__cxa_atexit(ptr @_ZN15ImGuiTextFilterD2Ev, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr @__dso_handle) #8
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter) #8
  br label %3032

3032:                                             ; preds = %3030, %3026, %3023
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.600)
  %3033 = call noundef zeroext i1 @_ZN15ImGuiTextFilter4DrawEPKcf(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef @.str.601, float noundef 0.000000e+00)
  call void @llvm.lifetime.start.p0(i64 64, ptr %303) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %303, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 64, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #8
  store i32 0, ptr %304, align 4, !tbaa !13
  br label %3034

3034:                                             ; preds = %3054, %3032
  %3035 = load i32, ptr %304, align 4, !tbaa !13
  %3036 = icmp slt i32 %3035, 8
  br i1 %3036, label %3042, label %3037

3037:                                             ; preds = %3034
  store i32 108, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #8
  br label %3057

3038:                                             ; preds = %3029
  %3039 = landingpad { ptr, i32 }
          cleanup
  %3040 = extractvalue { ptr, i32 } %3039, 0
  store ptr %3040, ptr %108, align 8
  %3041 = extractvalue { ptr, i32 } %3039, 1
  store i32 %3041, ptr %109, align 4
  call void @__cxa_guard_abort(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter) #8
  br label %3519

3042:                                             ; preds = %3034
  %3043 = load i32, ptr %304, align 4, !tbaa !13
  %3044 = sext i32 %3043 to i64
  %3045 = getelementptr inbounds [8 x ptr], ptr %303, i64 0, i64 %3044
  %3046 = load ptr, ptr %3045, align 8, !tbaa !5
  %3047 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %3046, ptr noundef null)
  br i1 %3047, label %3048, label %3053

3048:                                             ; preds = %3042
  %3049 = load i32, ptr %304, align 4, !tbaa !13
  %3050 = sext i32 %3049 to i64
  %3051 = getelementptr inbounds [8 x ptr], ptr %303, i64 0, i64 %3050
  %3052 = load ptr, ptr %3051, align 8, !tbaa !5
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.475, ptr noundef %3052)
  br label %3053

3053:                                             ; preds = %3048, %3042
  br label %3054

3054:                                             ; preds = %3053
  %3055 = load i32, ptr %304, align 4, !tbaa !13
  %3056 = add nsw i32 %3055, 1
  store i32 %3056, ptr %304, align 4, !tbaa !13
  br label %3034, !llvm.loop !93

3057:                                             ; preds = %3037
  call void @llvm.lifetime.end.p0(i64 64, ptr %303) #8
  br label %3058

3058:                                             ; preds = %3057, %3021
  %3059 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.610, i32 noundef 0)
  br i1 %3059, label %3060, label %3515

3060:                                             ; preds = %3058
  call void @llvm.lifetime.start.p0(i64 8, ptr %305) #8
  %3061 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  store ptr %3061, ptr %305, align 8, !tbaa !5
  %3062 = load ptr, ptr %305, align 8, !tbaa !5
  %3063 = getelementptr inbounds %struct.ImGuiIO, ptr %3062, i32 0, i32 41
  %3064 = load i8, ptr %3063, align 4, !tbaa !94, !range !11, !noundef !12
  %3065 = trunc i8 %3064 to i1
  %3066 = zext i1 %3065 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.611, i32 noundef %3066)
  %3067 = load ptr, ptr %305, align 8, !tbaa !5
  %3068 = getelementptr inbounds %struct.ImGuiIO, ptr %3067, i32 0, i32 42
  %3069 = load i8, ptr %3068, align 1, !tbaa !95, !range !11, !noundef !12
  %3070 = trunc i8 %3069 to i1
  %3071 = zext i1 %3070 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.612, i32 noundef %3071)
  %3072 = load ptr, ptr %305, align 8, !tbaa !5
  %3073 = getelementptr inbounds %struct.ImGuiIO, ptr %3072, i32 0, i32 43
  %3074 = load i8, ptr %3073, align 2, !tbaa !96, !range !11, !noundef !12
  %3075 = trunc i8 %3074 to i1
  %3076 = zext i1 %3075 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.613, i32 noundef %3076)
  %3077 = load ptr, ptr %305, align 8, !tbaa !5
  %3078 = getelementptr inbounds %struct.ImGuiIO, ptr %3077, i32 0, i32 44
  %3079 = load i8, ptr %3078, align 1, !tbaa !97, !range !11, !noundef !12
  %3080 = trunc i8 %3079 to i1
  %3081 = zext i1 %3080 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.614, i32 noundef %3081)
  %3082 = load ptr, ptr %305, align 8, !tbaa !5
  %3083 = getelementptr inbounds %struct.ImGuiIO, ptr %3082, i32 0, i32 46
  %3084 = load i8, ptr %3083, align 1, !tbaa !98, !range !11, !noundef !12
  %3085 = trunc i8 %3084 to i1
  %3086 = zext i1 %3085 to i32
  %3087 = load ptr, ptr %305, align 8, !tbaa !5
  %3088 = getelementptr inbounds %struct.ImGuiIO, ptr %3087, i32 0, i32 47
  %3089 = load i8, ptr %3088, align 2, !tbaa !99, !range !11, !noundef !12
  %3090 = trunc i8 %3089 to i1
  %3091 = zext i1 %3090 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.615, i32 noundef %3086, i32 noundef %3091)
  %3092 = load ptr, ptr %305, align 8, !tbaa !5
  %3093 = getelementptr inbounds %struct.ImGuiIO, ptr %3092, i32 0, i32 33
  %3094 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.616, ptr noundef %3093)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.617)
  %3095 = load ptr, ptr %305, align 8, !tbaa !5
  %3096 = getelementptr inbounds %struct.ImGuiIO, ptr %3095, i32 0, i32 0
  %3097 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.618, ptr noundef %3096, i32 noundef 2)
  %3098 = load ptr, ptr %305, align 8, !tbaa !5
  %3099 = getelementptr inbounds %struct.ImGuiIO, ptr %3098, i32 0, i32 0
  %3100 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.619, ptr noundef %3099, i32 noundef 1)
  %3101 = load ptr, ptr %305, align 8, !tbaa !5
  %3102 = getelementptr inbounds %struct.ImGuiIO, ptr %3101, i32 0, i32 0
  %3103 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.620, ptr noundef %3102, i32 noundef 4)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.621)
  %3104 = load ptr, ptr %305, align 8, !tbaa !5
  %3105 = getelementptr inbounds %struct.ImGuiIO, ptr %3104, i32 0, i32 0
  %3106 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.622, ptr noundef %3105, i32 noundef 32)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.623)
  %3107 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.624)
  br i1 %3107, label %3108, label %3362

3108:                                             ; preds = %3060
  %3109 = call noundef zeroext i1 @_ZN5ImGui15IsMousePosValidEPK6ImVec2(ptr noundef null)
  br i1 %3109, label %3110, label %3121

3110:                                             ; preds = %3108
  %3111 = load ptr, ptr %305, align 8, !tbaa !5
  %3112 = getelementptr inbounds %struct.ImGuiIO, ptr %3111, i32 0, i32 29
  %3113 = getelementptr inbounds %struct.ImVec2, ptr %3112, i32 0, i32 0
  %3114 = load float, ptr %3113, align 8, !tbaa !39
  %3115 = fpext float %3114 to double
  %3116 = load ptr, ptr %305, align 8, !tbaa !5
  %3117 = getelementptr inbounds %struct.ImGuiIO, ptr %3116, i32 0, i32 29
  %3118 = getelementptr inbounds %struct.ImVec2, ptr %3117, i32 0, i32 1
  %3119 = load float, ptr %3118, align 4, !tbaa !40
  %3120 = fpext float %3119 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.625, double noundef %3115, double noundef %3120)
  br label %3122

3121:                                             ; preds = %3108
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.626)
  br label %3122

3122:                                             ; preds = %3121, %3110
  %3123 = load ptr, ptr %305, align 8, !tbaa !5
  %3124 = getelementptr inbounds %struct.ImGuiIO, ptr %3123, i32 0, i32 52
  %3125 = getelementptr inbounds %struct.ImVec2, ptr %3124, i32 0, i32 0
  %3126 = load float, ptr %3125, align 4, !tbaa !79
  %3127 = fpext float %3126 to double
  %3128 = load ptr, ptr %305, align 8, !tbaa !5
  %3129 = getelementptr inbounds %struct.ImGuiIO, ptr %3128, i32 0, i32 52
  %3130 = getelementptr inbounds %struct.ImVec2, ptr %3129, i32 0, i32 1
  %3131 = load float, ptr %3130, align 4, !tbaa !80
  %3132 = fpext float %3131 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.627, double noundef %3127, double noundef %3132)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.628)
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #8
  store i32 0, ptr %306, align 4, !tbaa !13
  br label %3133

3133:                                             ; preds = %3155, %3122
  %3134 = load i32, ptr %306, align 4, !tbaa !13
  %3135 = icmp slt i32 %3134, 5
  br i1 %3135, label %3137, label %3136

3136:                                             ; preds = %3133
  store i32 111, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #8
  br label %3158

3137:                                             ; preds = %3133
  %3138 = load ptr, ptr %305, align 8, !tbaa !5
  %3139 = getelementptr inbounds %struct.ImGuiIO, ptr %3138, i32 0, i32 60
  %3140 = load i32, ptr %306, align 4, !tbaa !13
  %3141 = sext i32 %3140 to i64
  %3142 = getelementptr inbounds [5 x float], ptr %3139, i64 0, i64 %3141
  %3143 = load float, ptr %3142, align 4, !tbaa !21
  %3144 = fcmp oge float %3143, 0.000000e+00
  br i1 %3144, label %3145, label %3154

3145:                                             ; preds = %3137
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3146 = load i32, ptr %306, align 4, !tbaa !13
  %3147 = load ptr, ptr %305, align 8, !tbaa !5
  %3148 = getelementptr inbounds %struct.ImGuiIO, ptr %3147, i32 0, i32 60
  %3149 = load i32, ptr %306, align 4, !tbaa !13
  %3150 = sext i32 %3149 to i64
  %3151 = getelementptr inbounds [5 x float], ptr %3148, i64 0, i64 %3150
  %3152 = load float, ptr %3151, align 4, !tbaa !21
  %3153 = fpext float %3152 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.629, i32 noundef %3146, double noundef %3153)
  br label %3154

3154:                                             ; preds = %3145, %3137
  br label %3155

3155:                                             ; preds = %3154
  %3156 = load i32, ptr %306, align 4, !tbaa !13
  %3157 = add nsw i32 %3156, 1
  store i32 %3157, ptr %306, align 4, !tbaa !13
  br label %3133, !llvm.loop !100

3158:                                             ; preds = %3136
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.630)
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #8
  store i32 0, ptr %307, align 4, !tbaa !13
  br label %3159

3159:                                             ; preds = %3169, %3158
  %3160 = load i32, ptr %307, align 4, !tbaa !13
  %3161 = icmp slt i32 %3160, 5
  br i1 %3161, label %3163, label %3162

3162:                                             ; preds = %3159
  store i32 114, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #8
  br label %3172

3163:                                             ; preds = %3159
  %3164 = load i32, ptr %307, align 4, !tbaa !13
  %3165 = call noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef %3164, i1 noundef zeroext false)
  br i1 %3165, label %3166, label %3168

3166:                                             ; preds = %3163
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3167 = load i32, ptr %307, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.631, i32 noundef %3167)
  br label %3168

3168:                                             ; preds = %3166, %3163
  br label %3169

3169:                                             ; preds = %3168
  %3170 = load i32, ptr %307, align 4, !tbaa !13
  %3171 = add nsw i32 %3170, 1
  store i32 %3171, ptr %307, align 4, !tbaa !13
  br label %3159, !llvm.loop !101

3172:                                             ; preds = %3162
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.632)
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #8
  store i32 0, ptr %308, align 4, !tbaa !13
  br label %3173

3173:                                             ; preds = %3183, %3172
  %3174 = load i32, ptr %308, align 4, !tbaa !13
  %3175 = icmp slt i32 %3174, 5
  br i1 %3175, label %3177, label %3176

3176:                                             ; preds = %3173
  store i32 117, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #8
  br label %3186

3177:                                             ; preds = %3173
  %3178 = load i32, ptr %308, align 4, !tbaa !13
  %3179 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef %3178)
  br i1 %3179, label %3180, label %3182

3180:                                             ; preds = %3177
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3181 = load i32, ptr %308, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.631, i32 noundef %3181)
  br label %3182

3182:                                             ; preds = %3180, %3177
  br label %3183

3183:                                             ; preds = %3182
  %3184 = load i32, ptr %308, align 4, !tbaa !13
  %3185 = add nsw i32 %3184, 1
  store i32 %3185, ptr %308, align 4, !tbaa !13
  br label %3173, !llvm.loop !102

3186:                                             ; preds = %3176
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.633)
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #8
  store i32 0, ptr %309, align 4, !tbaa !13
  br label %3187

3187:                                             ; preds = %3197, %3186
  %3188 = load i32, ptr %309, align 4, !tbaa !13
  %3189 = icmp slt i32 %3188, 5
  br i1 %3189, label %3191, label %3190

3190:                                             ; preds = %3187
  store i32 120, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #8
  br label %3200

3191:                                             ; preds = %3187
  %3192 = load i32, ptr %309, align 4, !tbaa !13
  %3193 = call noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef %3192)
  br i1 %3193, label %3194, label %3196

3194:                                             ; preds = %3191
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3195 = load i32, ptr %309, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.631, i32 noundef %3195)
  br label %3196

3196:                                             ; preds = %3194, %3191
  br label %3197

3197:                                             ; preds = %3196
  %3198 = load i32, ptr %309, align 4, !tbaa !13
  %3199 = add nsw i32 %3198, 1
  store i32 %3199, ptr %309, align 4, !tbaa !13
  br label %3187, !llvm.loop !103

3200:                                             ; preds = %3190
  %3201 = load ptr, ptr %305, align 8, !tbaa !5
  %3202 = getelementptr inbounds %struct.ImGuiIO, ptr %3201, i32 0, i32 31
  %3203 = load float, ptr %3202, align 8, !tbaa !104
  %3204 = fpext float %3203 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.634, double noundef %3204)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.635)
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #8
  store i32 0, ptr %310, align 4, !tbaa !13
  br label %3205

3205:                                             ; preds = %3227, %3200
  %3206 = load i32, ptr %310, align 4, !tbaa !13
  %3207 = icmp slt i32 %3206, 512
  br i1 %3207, label %3209, label %3208

3208:                                             ; preds = %3205
  store i32 123, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #8
  br label %3230

3209:                                             ; preds = %3205
  %3210 = load ptr, ptr %305, align 8, !tbaa !5
  %3211 = getelementptr inbounds %struct.ImGuiIO, ptr %3210, i32 0, i32 64
  %3212 = load i32, ptr %310, align 4, !tbaa !13
  %3213 = sext i32 %3212 to i64
  %3214 = getelementptr inbounds [512 x float], ptr %3211, i64 0, i64 %3213
  %3215 = load float, ptr %3214, align 4, !tbaa !21
  %3216 = fcmp oge float %3215, 0.000000e+00
  br i1 %3216, label %3217, label %3226

3217:                                             ; preds = %3209
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3218 = load i32, ptr %310, align 4, !tbaa !13
  %3219 = load ptr, ptr %305, align 8, !tbaa !5
  %3220 = getelementptr inbounds %struct.ImGuiIO, ptr %3219, i32 0, i32 64
  %3221 = load i32, ptr %310, align 4, !tbaa !13
  %3222 = sext i32 %3221 to i64
  %3223 = getelementptr inbounds [512 x float], ptr %3220, i64 0, i64 %3222
  %3224 = load float, ptr %3223, align 4, !tbaa !21
  %3225 = fpext float %3224 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.636, i32 noundef %3218, double noundef %3225)
  br label %3226

3226:                                             ; preds = %3217, %3209
  br label %3227

3227:                                             ; preds = %3226
  %3228 = load i32, ptr %310, align 4, !tbaa !13
  %3229 = add nsw i32 %3228, 1
  store i32 %3229, ptr %310, align 4, !tbaa !13
  br label %3205, !llvm.loop !105

3230:                                             ; preds = %3208
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.637)
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #8
  store i32 0, ptr %311, align 4, !tbaa !13
  br label %3231

3231:                                             ; preds = %3241, %3230
  %3232 = load i32, ptr %311, align 4, !tbaa !13
  %3233 = icmp slt i32 %3232, 512
  br i1 %3233, label %3235, label %3234

3234:                                             ; preds = %3231
  store i32 126, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #8
  br label %3244

3235:                                             ; preds = %3231
  %3236 = load i32, ptr %311, align 4, !tbaa !13
  %3237 = call noundef zeroext i1 @_ZN5ImGui12IsKeyPressedEib(i32 noundef %3236, i1 noundef zeroext true)
  br i1 %3237, label %3238, label %3240

3238:                                             ; preds = %3235
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3239 = load i32, ptr %311, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.63, i32 noundef %3239)
  br label %3240

3240:                                             ; preds = %3238, %3235
  br label %3241

3241:                                             ; preds = %3240
  %3242 = load i32, ptr %311, align 4, !tbaa !13
  %3243 = add nsw i32 %3242, 1
  store i32 %3243, ptr %311, align 4, !tbaa !13
  br label %3231, !llvm.loop !106

3244:                                             ; preds = %3234
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.638)
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #8
  store i32 0, ptr %312, align 4, !tbaa !13
  br label %3245

3245:                                             ; preds = %3255, %3244
  %3246 = load i32, ptr %312, align 4, !tbaa !13
  %3247 = icmp slt i32 %3246, 512
  br i1 %3247, label %3249, label %3248

3248:                                             ; preds = %3245
  store i32 129, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #8
  br label %3258

3249:                                             ; preds = %3245
  %3250 = load i32, ptr %312, align 4, !tbaa !13
  %3251 = call noundef zeroext i1 @_ZN5ImGui13IsKeyReleasedEi(i32 noundef %3250)
  br i1 %3251, label %3252, label %3254

3252:                                             ; preds = %3249
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3253 = load i32, ptr %312, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.63, i32 noundef %3253)
  br label %3254

3254:                                             ; preds = %3252, %3249
  br label %3255

3255:                                             ; preds = %3254
  %3256 = load i32, ptr %312, align 4, !tbaa !13
  %3257 = add nsw i32 %3256, 1
  store i32 %3257, ptr %312, align 4, !tbaa !13
  br label %3245, !llvm.loop !107

3258:                                             ; preds = %3248
  %3259 = load ptr, ptr %305, align 8, !tbaa !5
  %3260 = getelementptr inbounds %struct.ImGuiIO, ptr %3259, i32 0, i32 34
  %3261 = load i8, ptr %3260, align 1, !tbaa !24, !range !11, !noundef !12
  %3262 = trunc i8 %3261 to i1
  %3263 = zext i1 %3262 to i64
  %3264 = select i1 %3262, ptr @.str.640, ptr @.str.357
  %3265 = load ptr, ptr %305, align 8, !tbaa !5
  %3266 = getelementptr inbounds %struct.ImGuiIO, ptr %3265, i32 0, i32 35
  %3267 = load i8, ptr %3266, align 2, !tbaa !108, !range !11, !noundef !12
  %3268 = trunc i8 %3267 to i1
  %3269 = zext i1 %3268 to i64
  %3270 = select i1 %3268, ptr @.str.641, ptr @.str.357
  %3271 = load ptr, ptr %305, align 8, !tbaa !5
  %3272 = getelementptr inbounds %struct.ImGuiIO, ptr %3271, i32 0, i32 36
  %3273 = load i8, ptr %3272, align 1, !tbaa !109, !range !11, !noundef !12
  %3274 = trunc i8 %3273 to i1
  %3275 = zext i1 %3274 to i64
  %3276 = select i1 %3274, ptr @.str.642, ptr @.str.357
  %3277 = load ptr, ptr %305, align 8, !tbaa !5
  %3278 = getelementptr inbounds %struct.ImGuiIO, ptr %3277, i32 0, i32 37
  %3279 = load i8, ptr %3278, align 4, !tbaa !110, !range !11, !noundef !12
  %3280 = trunc i8 %3279 to i1
  %3281 = zext i1 %3280 to i64
  %3282 = select i1 %3280, ptr @.str.643, ptr @.str.357
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.639, ptr noundef %3264, ptr noundef %3270, ptr noundef %3276, ptr noundef %3282)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.644)
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #8
  store i32 0, ptr %313, align 4, !tbaa !13
  br label %3283

3283:                                             ; preds = %3305, %3258
  %3284 = load i32, ptr %313, align 4, !tbaa !13
  %3285 = icmp slt i32 %3284, 21
  br i1 %3285, label %3287, label %3286

3286:                                             ; preds = %3283
  store i32 132, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #8
  br label %3308

3287:                                             ; preds = %3283
  %3288 = load ptr, ptr %305, align 8, !tbaa !5
  %3289 = getelementptr inbounds %struct.ImGuiIO, ptr %3288, i32 0, i32 40
  %3290 = load i32, ptr %313, align 4, !tbaa !13
  %3291 = sext i32 %3290 to i64
  %3292 = getelementptr inbounds [21 x float], ptr %3289, i64 0, i64 %3291
  %3293 = load float, ptr %3292, align 4, !tbaa !21
  %3294 = fcmp ogt float %3293, 0.000000e+00
  br i1 %3294, label %3295, label %3304

3295:                                             ; preds = %3287
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3296 = load i32, ptr %313, align 4, !tbaa !13
  %3297 = load ptr, ptr %305, align 8, !tbaa !5
  %3298 = getelementptr inbounds %struct.ImGuiIO, ptr %3297, i32 0, i32 40
  %3299 = load i32, ptr %313, align 4, !tbaa !13
  %3300 = sext i32 %3299 to i64
  %3301 = getelementptr inbounds [21 x float], ptr %3298, i64 0, i64 %3300
  %3302 = load float, ptr %3301, align 4, !tbaa !21
  %3303 = fpext float %3302 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.645, i32 noundef %3296, double noundef %3303)
  br label %3304

3304:                                             ; preds = %3295, %3287
  br label %3305

3305:                                             ; preds = %3304
  %3306 = load i32, ptr %313, align 4, !tbaa !13
  %3307 = add nsw i32 %3306, 1
  store i32 %3307, ptr %313, align 4, !tbaa !13
  br label %3283, !llvm.loop !111

3308:                                             ; preds = %3286
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.646)
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #8
  store i32 0, ptr %314, align 4, !tbaa !13
  br label %3309

3309:                                             ; preds = %3324, %3308
  %3310 = load i32, ptr %314, align 4, !tbaa !13
  %3311 = icmp slt i32 %3310, 21
  br i1 %3311, label %3313, label %3312

3312:                                             ; preds = %3309
  store i32 135, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #8
  br label %3327

3313:                                             ; preds = %3309
  %3314 = load ptr, ptr %305, align 8, !tbaa !5
  %3315 = getelementptr inbounds %struct.ImGuiIO, ptr %3314, i32 0, i32 66
  %3316 = load i32, ptr %314, align 4, !tbaa !13
  %3317 = sext i32 %3316 to i64
  %3318 = getelementptr inbounds [21 x float], ptr %3315, i64 0, i64 %3317
  %3319 = load float, ptr %3318, align 4, !tbaa !21
  %3320 = fcmp oeq float %3319, 0.000000e+00
  br i1 %3320, label %3321, label %3323

3321:                                             ; preds = %3313
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3322 = load i32, ptr %314, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.647, i32 noundef %3322)
  br label %3323

3323:                                             ; preds = %3321, %3313
  br label %3324

3324:                                             ; preds = %3323
  %3325 = load i32, ptr %314, align 4, !tbaa !13
  %3326 = add nsw i32 %3325, 1
  store i32 %3326, ptr %314, align 4, !tbaa !13
  br label %3309, !llvm.loop !112

3327:                                             ; preds = %3312
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.648)
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #8
  store i32 0, ptr %315, align 4, !tbaa !13
  br label %3328

3328:                                             ; preds = %3350, %3327
  %3329 = load i32, ptr %315, align 4, !tbaa !13
  %3330 = icmp slt i32 %3329, 21
  br i1 %3330, label %3332, label %3331

3331:                                             ; preds = %3328
  store i32 138, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #8
  br label %3353

3332:                                             ; preds = %3328
  %3333 = load ptr, ptr %305, align 8, !tbaa !5
  %3334 = getelementptr inbounds %struct.ImGuiIO, ptr %3333, i32 0, i32 66
  %3335 = load i32, ptr %315, align 4, !tbaa !13
  %3336 = sext i32 %3335 to i64
  %3337 = getelementptr inbounds [21 x float], ptr %3334, i64 0, i64 %3336
  %3338 = load float, ptr %3337, align 4, !tbaa !21
  %3339 = fcmp oge float %3338, 0.000000e+00
  br i1 %3339, label %3340, label %3349

3340:                                             ; preds = %3332
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3341 = load i32, ptr %315, align 4, !tbaa !13
  %3342 = load ptr, ptr %305, align 8, !tbaa !5
  %3343 = getelementptr inbounds %struct.ImGuiIO, ptr %3342, i32 0, i32 66
  %3344 = load i32, ptr %315, align 4, !tbaa !13
  %3345 = sext i32 %3344 to i64
  %3346 = getelementptr inbounds [21 x float], ptr %3343, i64 0, i64 %3345
  %3347 = load float, ptr %3346, align 4, !tbaa !21
  %3348 = fpext float %3347 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.645, i32 noundef %3341, double noundef %3348)
  br label %3349

3349:                                             ; preds = %3340, %3332
  br label %3350

3350:                                             ; preds = %3349
  %3351 = load i32, ptr %315, align 4, !tbaa !13
  %3352 = add nsw i32 %3351, 1
  store i32 %3352, ptr %315, align 4, !tbaa !13
  br label %3328, !llvm.loop !113

3353:                                             ; preds = %3331
  call void @llvm.lifetime.start.p0(i64 8, ptr %316) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %316, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3354 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.649, ptr noundef nonnull align 4 dereferenceable(8) %316)
  call void @llvm.lifetime.end.p0(i64 8, ptr %316) #8
  %3355 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3355, label %3356, label %3357

3356:                                             ; preds = %3353
  call void @_ZN5ImGui22CaptureKeyboardFromAppEb(i1 noundef zeroext true)
  br label %3357

3357:                                             ; preds = %3356, %3353
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %317) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %317, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3358 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.650, ptr noundef nonnull align 4 dereferenceable(8) %317)
  call void @llvm.lifetime.end.p0(i64 8, ptr %317) #8
  %3359 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %3359, label %3360, label %3361

3360:                                             ; preds = %3357
  call void @_ZN5ImGui22CaptureKeyboardFromAppEb(i1 noundef zeroext false)
  br label %3361

3361:                                             ; preds = %3360, %3357
  call void @_ZN5ImGui7TreePopEv()
  br label %3362

3362:                                             ; preds = %3361, %3060
  %3363 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.651)
  br i1 %3363, label %3364, label %3370

3364:                                             ; preds = %3362
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.652)
  %3365 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.653, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3366 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.654, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3367 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.655, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui22PushAllowKeyboardFocusEb(i1 noundef zeroext false)
  %3368 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.656, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui21PopAllowKeyboardFocusEv()
  %3369 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.657, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  br label %3370

3370:                                             ; preds = %3364, %3362
  %3371 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.658)
  br i1 %3371, label %3372, label %3424

3372:                                             ; preds = %3370
  call void @llvm.lifetime.start.p0(i64 1, ptr %318) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %319) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %319, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3373 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.659, ptr noundef nonnull align 4 dereferenceable(8) %319)
  call void @llvm.lifetime.end.p0(i64 8, ptr %319) #8
  %3374 = zext i1 %3373 to i8
  store i8 %3374, ptr %318, align 1, !tbaa !9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 1, ptr %320) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %321) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %321, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3375 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.660, ptr noundef nonnull align 4 dereferenceable(8) %321)
  call void @llvm.lifetime.end.p0(i64 8, ptr %321) #8
  %3376 = zext i1 %3375 to i8
  store i8 %3376, ptr %320, align 1, !tbaa !9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 1, ptr %322) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %323) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %323, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3377 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.661, ptr noundef nonnull align 4 dereferenceable(8) %323)
  call void @llvm.lifetime.end.p0(i64 8, ptr %323) #8
  %3378 = zext i1 %3377 to i8
  store i8 %3378, ptr %322, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #8
  store i32 0, ptr %324, align 4, !tbaa !13
  %3379 = load i8, ptr %318, align 1, !tbaa !9, !range !11, !noundef !12
  %3380 = trunc i8 %3379 to i1
  br i1 %3380, label %3381, label %3382

3381:                                             ; preds = %3372
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef 0)
  br label %3382

3382:                                             ; preds = %3381, %3372
  %3383 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.653, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_1, i64 noundef 128, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3384 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %3384, label %3385, label %3386

3385:                                             ; preds = %3382
  store i32 1, ptr %324, align 4, !tbaa !13
  br label %3386

3386:                                             ; preds = %3385, %3382
  %3387 = load i8, ptr %320, align 1, !tbaa !9, !range !11, !noundef !12
  %3388 = trunc i8 %3387 to i1
  br i1 %3388, label %3389, label %3390

3389:                                             ; preds = %3386
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef 0)
  br label %3390

3390:                                             ; preds = %3389, %3386
  %3391 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.654, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_1, i64 noundef 128, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3392 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %3392, label %3393, label %3394

3393:                                             ; preds = %3390
  store i32 2, ptr %324, align 4, !tbaa !13
  br label %3394

3394:                                             ; preds = %3393, %3390
  call void @_ZN5ImGui22PushAllowKeyboardFocusEb(i1 noundef zeroext false)
  %3395 = load i8, ptr %322, align 1, !tbaa !9, !range !11, !noundef !12
  %3396 = trunc i8 %3395 to i1
  br i1 %3396, label %3397, label %3398

3397:                                             ; preds = %3394
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef 0)
  br label %3398

3398:                                             ; preds = %3397, %3394
  %3399 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef @.str.662, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_1, i64 noundef 128, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3400 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %3400, label %3401, label %3402

3401:                                             ; preds = %3398
  store i32 3, ptr %324, align 4, !tbaa !13
  br label %3402

3402:                                             ; preds = %3401, %3398
  call void @_ZN5ImGui21PopAllowKeyboardFocusEv()
  %3403 = load i32, ptr %324, align 4, !tbaa !13
  %3404 = icmp ne i32 %3403, 0
  br i1 %3404, label %3405, label %3407

3405:                                             ; preds = %3402
  %3406 = load i32, ptr %324, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.663, i32 noundef %3406)
  br label %3408

3407:                                             ; preds = %3402
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.664)
  br label %3408

3408:                                             ; preds = %3407, %3405
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #8
  store i32 -1, ptr %325, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr %326) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %326, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3409 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.665, ptr noundef nonnull align 4 dereferenceable(8) %326)
  call void @llvm.lifetime.end.p0(i64 8, ptr %326) #8
  br i1 %3409, label %3410, label %3411

3410:                                             ; preds = %3408
  store i32 0, ptr %325, align 4, !tbaa !13
  br label %3411

3411:                                             ; preds = %3410, %3408
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %327) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %327, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3412 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.666, ptr noundef nonnull align 4 dereferenceable(8) %327)
  call void @llvm.lifetime.end.p0(i64 8, ptr %327) #8
  br i1 %3412, label %3413, label %3414

3413:                                             ; preds = %3411
  store i32 1, ptr %325, align 4, !tbaa !13
  br label %3414

3414:                                             ; preds = %3413, %3411
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %328) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %328, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3415 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.667, ptr noundef nonnull align 4 dereferenceable(8) %328)
  call void @llvm.lifetime.end.p0(i64 8, ptr %328) #8
  br i1 %3415, label %3416, label %3417

3416:                                             ; preds = %3414
  store i32 2, ptr %325, align 4, !tbaa !13
  br label %3417

3417:                                             ; preds = %3416, %3414
  %3418 = load i32, ptr %325, align 4, !tbaa !13
  %3419 = icmp ne i32 %3418, -1
  br i1 %3419, label %3420, label %3422

3420:                                             ; preds = %3417
  %3421 = load i32, ptr %325, align 4, !tbaa !13
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef %3421)
  br label %3422

3422:                                             ; preds = %3420, %3417
  %3423 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat3EPKcPfffS1_f(ptr noundef @.str.668, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f3, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.92, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.669)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %322) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %320) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %318) #8
  br label %3424

3424:                                             ; preds = %3422, %3370
  %3425 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.670)
  br i1 %3425, label %3426, label %3482

3426:                                             ; preds = %3424
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.671)
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #8
  store i32 0, ptr %329, align 4, !tbaa !13
  br label %3427

3427:                                             ; preds = %3442, %3426
  %3428 = load i32, ptr %329, align 4, !tbaa !13
  %3429 = icmp slt i32 %3428, 3
  br i1 %3429, label %3431, label %3430

3430:                                             ; preds = %3427
  store i32 141, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #8
  br label %3445

3431:                                             ; preds = %3427
  %3432 = load i32, ptr %329, align 4, !tbaa !13
  %3433 = load i32, ptr %329, align 4, !tbaa !13
  %3434 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef %3433, float noundef -1.000000e+00)
  %3435 = zext i1 %3434 to i32
  %3436 = load i32, ptr %329, align 4, !tbaa !13
  %3437 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef %3436, float noundef 0.000000e+00)
  %3438 = zext i1 %3437 to i32
  %3439 = load i32, ptr %329, align 4, !tbaa !13
  %3440 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef %3439, float noundef 2.000000e+01)
  %3441 = zext i1 %3440 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.672, i32 noundef %3432, i32 noundef %3435, i32 noundef %3438, i32 noundef %3441)
  br label %3442

3442:                                             ; preds = %3431
  %3443 = load i32, ptr %329, align 4, !tbaa !13
  %3444 = add nsw i32 %3443, 1
  store i32 %3444, ptr %329, align 4, !tbaa !13
  br label %3427, !llvm.loop !114

3445:                                             ; preds = %3430
  call void @llvm.lifetime.start.p0(i64 8, ptr %330) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %330, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3446 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.673, ptr noundef nonnull align 4 dereferenceable(8) %330)
  call void @llvm.lifetime.end.p0(i64 8, ptr %330) #8
  %3447 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %3447, label %3448, label %3481

3448:                                             ; preds = %3445
  call void @llvm.lifetime.start.p0(i64 8, ptr %331) #8
  %3449 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  store ptr %3449, ptr %331, align 8, !tbaa !5
  %3450 = load ptr, ptr %331, align 8, !tbaa !5
  call void @_ZN10ImDrawList22PushClipRectFullScreenEv(ptr noundef nonnull align 8 dereferenceable(168) %3450)
  %3451 = load ptr, ptr %331, align 8, !tbaa !5
  %3452 = load ptr, ptr %305, align 8, !tbaa !5
  %3453 = getelementptr inbounds %struct.ImGuiIO, ptr %3452, i32 0, i32 54
  %3454 = getelementptr inbounds [5 x %struct.ImVec2], ptr %3453, i64 0, i64 0
  %3455 = load ptr, ptr %305, align 8, !tbaa !5
  %3456 = getelementptr inbounds %struct.ImGuiIO, ptr %3455, i32 0, i32 29
  %3457 = call noundef i32 @_ZN5ImGui11GetColorU32Eif(i32 noundef 21, float noundef 1.000000e+00)
  call void @_ZN10ImDrawList7AddLineERK6ImVec2S2_jf(ptr noundef nonnull align 8 dereferenceable(168) %3451, ptr noundef nonnull align 4 dereferenceable(8) %3454, ptr noundef nonnull align 4 dereferenceable(8) %3456, i32 noundef %3457, float noundef 4.000000e+00)
  %3458 = load ptr, ptr %331, align 8, !tbaa !5
  call void @_ZN10ImDrawList11PopClipRectEv(ptr noundef nonnull align 8 dereferenceable(168) %3458)
  call void @llvm.lifetime.start.p0(i64 8, ptr %332) #8
  %3459 = call <2 x float> @_ZN5ImGui17GetMouseDragDeltaEif(i32 noundef 0, float noundef 0.000000e+00)
  store <2 x float> %3459, ptr %332, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr %333) #8
  %3460 = call <2 x float> @_ZN5ImGui17GetMouseDragDeltaEif(i32 noundef 0, float noundef -1.000000e+00)
  store <2 x float> %3460, ptr %333, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr %334) #8
  %3461 = load ptr, ptr %305, align 8, !tbaa !5
  %3462 = getelementptr inbounds %struct.ImGuiIO, ptr %3461, i32 0, i32 52
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %334, ptr align 4 %3462, i64 8, i1 false), !tbaa.struct !30
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3463 = getelementptr inbounds %struct.ImVec2, ptr %332, i32 0, i32 0
  %3464 = load float, ptr %3463, align 4, !tbaa !28
  %3465 = fpext float %3464 to double
  %3466 = getelementptr inbounds %struct.ImVec2, ptr %332, i32 0, i32 1
  %3467 = load float, ptr %3466, align 4, !tbaa !29
  %3468 = fpext float %3467 to double
  %3469 = getelementptr inbounds %struct.ImVec2, ptr %333, i32 0, i32 0
  %3470 = load float, ptr %3469, align 4, !tbaa !28
  %3471 = fpext float %3470 to double
  %3472 = getelementptr inbounds %struct.ImVec2, ptr %333, i32 0, i32 1
  %3473 = load float, ptr %3472, align 4, !tbaa !29
  %3474 = fpext float %3473 to double
  %3475 = getelementptr inbounds %struct.ImVec2, ptr %334, i32 0, i32 0
  %3476 = load float, ptr %3475, align 4, !tbaa !28
  %3477 = fpext float %3476 to double
  %3478 = getelementptr inbounds %struct.ImVec2, ptr %334, i32 0, i32 1
  %3479 = load float, ptr %3478, align 4, !tbaa !29
  %3480 = fpext float %3479 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.674, double noundef %3465, double noundef %3468, double noundef %3471, double noundef %3474, double noundef %3477, double noundef %3480)
  call void @llvm.lifetime.end.p0(i64 8, ptr %334) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %333) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %332) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %331) #8
  br label %3481

3481:                                             ; preds = %3448, %3445
  call void @_ZN5ImGui7TreePopEv()
  br label %3482

3482:                                             ; preds = %3481, %3424
  %3483 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.675)
  br i1 %3483, label %3484, label %3514

3484:                                             ; preds = %3482
  call void @llvm.lifetime.start.p0(i64 64, ptr %335) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %335, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 64, i1 false)
  %3485 = call noundef i32 @_ZN5ImGui14GetMouseCursorEv()
  %3486 = call noundef i32 @_ZN5ImGui14GetMouseCursorEv()
  %3487 = sext i32 %3486 to i64
  %3488 = getelementptr inbounds [8 x ptr], ptr %335, i64 0, i64 %3487
  %3489 = load ptr, ptr %3488, align 8, !tbaa !5
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.684, i32 noundef %3485, ptr noundef %3489)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.685)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.686)
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #8
  store i32 0, ptr %336, align 4, !tbaa !13
  br label %3490

3490:                                             ; preds = %3510, %3484
  %3491 = load i32, ptr %336, align 4, !tbaa !13
  %3492 = icmp slt i32 %3491, 8
  br i1 %3492, label %3494, label %3493

3493:                                             ; preds = %3490
  store i32 144, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #8
  br label %3513

3494:                                             ; preds = %3490
  call void @llvm.lifetime.start.p0(i64 32, ptr %337) #8
  %3495 = getelementptr inbounds [32 x i8], ptr %337, i64 0, i64 0
  %3496 = load i32, ptr %336, align 4, !tbaa !13
  %3497 = load i32, ptr %336, align 4, !tbaa !13
  %3498 = sext i32 %3497 to i64
  %3499 = getelementptr inbounds [8 x ptr], ptr %335, i64 0, i64 %3498
  %3500 = load ptr, ptr %3499, align 8, !tbaa !5
  %3501 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %3495, ptr noundef @.str.687, i32 noundef %3496, ptr noundef %3500) #8
  call void @_ZN5ImGui6BulletEv()
  %3502 = getelementptr inbounds [32 x i8], ptr %337, i64 0, i64 0
  call void @llvm.lifetime.start.p0(i64 8, ptr %338) #8
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %338, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3503 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %3502, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %338)
  call void @llvm.lifetime.end.p0(i64 8, ptr %338) #8
  %3504 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3504, label %3507, label %3505

3505:                                             ; preds = %3494
  %3506 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3506, label %3507, label %3509

3507:                                             ; preds = %3505, %3494
  %3508 = load i32, ptr %336, align 4, !tbaa !13
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef %3508)
  br label %3509

3509:                                             ; preds = %3507, %3505
  call void @llvm.lifetime.end.p0(i64 32, ptr %337) #8
  br label %3510

3510:                                             ; preds = %3509
  %3511 = load i32, ptr %336, align 4, !tbaa !13
  %3512 = add nsw i32 %3511, 1
  store i32 %3512, ptr %336, align 4, !tbaa !13
  br label %3490, !llvm.loop !115

3513:                                             ; preds = %3493
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 64, ptr %335) #8
  br label %3514

3514:                                             ; preds = %3513, %3482
  call void @llvm.lifetime.end.p0(i64 8, ptr %305) #8
  br label %3515

3515:                                             ; preds = %3514, %3058
  call void @_ZN5ImGui3EndEv()
  store i32 0, ptr %5, align 4
  br label %3516

3516:                                             ; preds = %3515, %447
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #8
  %3517 = load i32, ptr %5, align 4
  switch i32 %3517, label %3525 [
    i32 0, label %3518
    i32 1, label %3518
  ]

3518:                                             ; preds = %3516, %3516
  ret void

3519:                                             ; preds = %3038, %3007, %2649, %2645, %1690, %1450
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #8
  br label %3520

3520:                                             ; preds = %3519
  %3521 = load ptr, ptr %108, align 8
  %3522 = load i32, ptr %109, align 4
  %3523 = insertvalue { ptr, i32 } poison, ptr %3521, 0
  %3524 = insertvalue { ptr, i32 } %3523, i32 %3522, 1
  resume { ptr, i32 } %3524

3525:                                             ; preds = %3516
  unreachable
}

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL25ShowExampleAppMainMenuBarv() #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL21ShowExampleAppConsolePb(ptr noundef) #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17ShowExampleAppLogPb(ptr noundef) #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL20ShowExampleAppLayoutPb(ptr noundef) #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL28ShowExampleAppPropertyEditorPb(ptr noundef) #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL22ShowExampleAppLongTextPb(ptr noundef) #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL24ShowExampleAppAutoResizePb(ptr noundef) #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL31ShowExampleAppConstrainedResizePb(ptr noundef) #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL27ShowExampleAppSimpleOverlayPb(ptr noundef) #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL26ShowExampleAppWindowTitlesPb(ptr noundef) #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL29ShowExampleAppCustomRenderingPb(ptr noundef) #2

declare void @_ZN5ImGui17ShowMetricsWindowEPb(ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef, ptr noundef, i32 noundef) #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5ImGui15ShowStyleEditorEP10ImGuiStyle(ptr noundef) #2

declare void @_ZN5ImGui3EndEv() #1

declare void @_ZN5ImGui4TextEPKcz(ptr noundef, ...) #1

declare noundef ptr @_ZN5ImGui10GetVersionEv() #1

declare void @_ZN5ImGui9SeparatorEv() #1

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

declare void @_ZN5ImGui17SetNextWindowSizeERK6ImVec2i(ptr noundef nonnull align 4 dereferenceable(8), i32 noundef) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8), float noundef, float noundef) unnamed_addr #4 align 2

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

declare void @_ZN5ImGui13PushItemWidthEf(float noundef) #1

declare noundef float @_ZN5ImGui11GetFontSizeEv() #1

declare noundef zeroext i1 @_ZN5ImGui12BeginMenuBarEv() #1

declare noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef, i1 noundef zeroext) #1

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL19ShowExampleMenuFilev() #2

declare void @_ZN5ImGui7EndMenuEv() #1

declare noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) #1

declare void @_ZN5ImGui10EndMenuBarEv() #1

declare void @_ZN5ImGui7SpacingEv() #1

declare noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef, i32 noundef) #1

declare void @_ZN5ImGui11TextWrappedEPKcz(ptr noundef, ...) #1

declare noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef, ptr noundef) #1

declare void @_ZN5ImGui8SameLineEff(float noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef) #1

declare void @_ZN5ImGui7TreePopEv() #1

declare void @_ZN5ImGui10LogButtonsEv() #1

declare noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8)) #1

declare noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef, ptr noundef, i32 noundef) #1

declare void @_ZN5ImGui6PushIDEi(i32 noundef) #1

declare void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef, ptr noundef nonnull align 4 dereferenceable(16)) #1

; Function Attrs: mustprogress uwtable
declare dso_local { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef, float noundef, float noundef, float noundef) #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16)) #5 align 2

declare void @_ZN5ImGui13PopStyleColorEi(i32 noundef) #1

declare void @_ZN5ImGui5PopIDEv() #1

declare noundef nonnull align 4 dereferenceable(824) ptr @_ZN5ImGui8GetStyleEv() #1

declare void @_ZN5ImGui16PushButtonRepeatEb(i1 noundef zeroext) #1

declare noundef zeroext i1 @_ZN5ImGui11ArrowButtonEPKci(ptr noundef, i32 noundef) #1

declare void @_ZN5ImGui15PopButtonRepeatEv() #1

declare noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef) #1

declare void @_ZN5ImGui10SetTooltipEPKcz(ptr noundef, ...) #1

declare void @_ZN5ImGui12BeginTooltipEv() #1

declare void @_ZN5ImGui9PlotLinesEPKcPKfiiS1_ff6ImVec2i(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef, float noundef, float noundef, <2 x float>, i32 noundef) #1

declare void @_ZN5ImGui10EndTooltipEv() #1

declare void @_ZN5ImGui9LabelTextEPKcS1_z(ptr noundef, ptr noundef, ...) #1

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #6

declare noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef) #1

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14ShowHelpMarkerPKc(ptr noundef) #0

declare noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef, ptr noundef, i64 noundef, i32 noundef, ptr noundef, ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui8InputIntEPKcPiiii(ptr noundef, ptr noundef, i32 noundef, i32 noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef, ptr noundef, float noundef, float noundef, ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui11InputDoubleEPKcPdddS1_i(ptr noundef, ptr noundef, double noundef, double noundef, ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui11InputFloat3EPKcPfS1_i(ptr noundef, ptr noundef, ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef, ptr noundef, float noundef, i32 noundef, i32 noundef, ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, float noundef, ptr noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui9SliderIntEPKcPiiiS1_(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, ptr noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui11SliderAngleEPKcPfff(ptr noundef, ptr noundef, float noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui10ColorEdit3EPKcPfi(ptr noundef, ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef, ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKvPKcz(ptr noundef, ptr noundef, ...) #1

declare noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef) #1

declare noundef float @_ZN5ImGui25GetTreeNodeToLabelSpacingEv() #1

declare void @_ZN5ImGui12PushStyleVarEif(i32 noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef, i32 noundef, ptr noundef, ...) #1

declare noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef) #1

declare void @_ZN5ImGui11PopStyleVarEi(i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKcPbi(ptr noundef, ptr noundef, i32 noundef) #1

declare void @_ZN5ImGui6BulletEv() #1

declare void @_ZN5ImGui11TextColoredERK6ImVec4PKcz(ptr noundef nonnull align 4 dereferenceable(16), ptr noundef, ...) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16), float noundef, float noundef, float noundef, float noundef) unnamed_addr #4 align 2

declare void @_ZN5ImGui12TextDisabledEPKcz(ptr noundef, ...) #1

declare <2 x float> @_ZN5ImGui18GetCursorScreenPosEv() #1

declare noundef ptr @_ZN5ImGui17GetWindowDrawListEv() #1

declare void @_ZN10ImDrawList13AddRectFilledERK6ImVec2S2_jfi(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, float noundef, i32 noundef) #1

declare noundef float @_ZN5ImGui17GetTextLineHeightEv() #1

declare void @_ZN5ImGui15PushTextWrapPosEf(float noundef) #1

declare <2 x float> @_ZN5ImGui12GetCursorPosEv() #1

declare void @_ZN10ImDrawList7AddRectERK6ImVec2S2_jfif(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, float noundef, i32 noundef, float noundef) #1

declare <2 x float> @_ZN5ImGui14GetItemRectMinEv() #1

declare <2 x float> @_ZN5ImGui14GetItemRectMaxEv() #1

declare void @_ZN5ImGui14PopTextWrapPosEv() #1

declare void @_ZN5ImGui5ImageEPvRK6ImVec2S3_S3_RK6ImVec4S6_(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(16)) #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16), i32 noundef, i32 noundef, i32 noundef, i32 noundef) unnamed_addr #0 align 2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #7

declare noundef zeroext i1 @_ZN5ImGui11ImageButtonEPvRK6ImVec2S3_S3_iRK6ImVec4S6_(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, ptr noundef nonnull align 4 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(16)) #1

declare void @_ZN5ImGui7NewLineEv() #1

declare noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef, ptr noundef, i32 noundef) #1

; Function Attrs: nounwind
declare i32 @__cxa_guard_acquire(ptr) #8

; Function Attrs: nounwind
declare void @__cxa_guard_release(ptr) #8

declare noundef zeroext i1 @_ZN5ImGui10BeginComboEPKcS1_i(ptr noundef, ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef, i1 noundef zeroext, i32 noundef, ptr noundef nonnull align 4 dereferenceable(8)) #1

declare void @_ZN5ImGui19SetItemDefaultFocusEv() #1

declare void @_ZN5ImGui8EndComboEv() #1

declare noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef, ptr noundef, ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPFbPviPS1_ES3_ii(ptr noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef) #1

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef zeroext i1 @_ZZN5ImGui14ShowDemoWindowEPbEN10FuncHolder10ItemGetterEPviPPKc(ptr noundef, i32 noundef, ptr noundef) #4 align 2

declare noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef, ptr noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(8)) #1

declare noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef) #1

; Function Attrs: nounwind
declare i32 @sprintf(ptr noundef, ptr noundef, ...) #9

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #10

declare void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef, ptr noundef, i1 noundef zeroext) #1

declare void @_ZN5ImGui10NextColumnEv() #1

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef i32 @_ZZN5ImGui14ShowDemoWindowEPbEN11TextFilters18FilterImGuiLettersEP25ImGuiTextEditCallbackData(ptr noundef) #4 align 2

declare void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef, ptr noundef nonnull align 4 dereferenceable(8)) #1

declare noundef zeroext i1 @_ZN5ImGui18InputTextMultilineEPKcPcmRK6ImVec2iPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef, ptr noundef, i64 noundef, ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, ptr noundef, ptr noundef) #1

declare noundef float @_ZN5ImGui7GetTimeEv() #1

; Function Attrs: nounwind
declare float @cosf(float noundef) #9

declare void @_ZN5ImGui13PlotHistogramEPKcPKfiiS1_ff6ImVec2i(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef, float noundef, float noundef, <2 x float>, i32 noundef) #1

declare void @_ZN5ImGui12PopItemWidthEv() #1

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef float @_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SinEPvi(ptr noundef, i32 noundef) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef float @_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SawEPvi(ptr noundef, i32 noundef) #4 align 2

declare void @_ZN5ImGui9PlotLinesEPKcPFfPviES2_iiS1_ff6ImVec2(ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef, float noundef, float noundef, <2 x float>) #1

declare void @_ZN5ImGui13PlotHistogramEPKcPFfPviES2_iiS1_ff6ImVec2(ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef, float noundef, float noundef, <2 x float>) #1

declare void @_ZN5ImGui11ProgressBarEfRK6ImVec2PKc(float noundef, ptr noundef nonnull align 4 dereferenceable(8), ptr noundef) #1

declare i32 @__gxx_personality_v0(...)

; Function Attrs: nounwind
declare void @__cxa_guard_abort(ptr) #8

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16)) unnamed_addr #4 align 2

declare void @_ZN5ImGui20ColorConvertHSVtoRGBEfffRfS0_S0_(float noundef, float noundef, float noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #1

declare noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef, ptr noundef nonnull align 4 dereferenceable(16), i32 noundef, <2 x float>) #1

declare void @_ZN5ImGui9OpenPopupEPKc(ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui12ColorPicker4EPKcPfiPKf(ptr noundef, ptr noundef, i32 noundef, ptr noundef) #1

declare void @_ZN5ImGui10BeginGroupEv() #1

declare noundef zeroext i1 @_ZN5ImGui19BeginDragDropTargetEv() #1

declare noundef ptr @_ZN5ImGui21AcceptDragDropPayloadEPKci(ptr noundef, i32 noundef) #1

declare void @_ZN5ImGui17EndDragDropTargetEv() #1

declare void @_ZN5ImGui8EndGroupEv() #1

declare void @_ZN5ImGui8EndPopupEv() #1

declare void @_ZN5ImGui19SetColorEditOptionsEi(i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui15DragFloatRange2EPKcPfS2_fffS1_S1_f(ptr noundef, ptr noundef, ptr noundef, float noundef, float noundef, float noundef, ptr noundef, ptr noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui13DragIntRange2EPKcPiS2_fiiS1_S1_(ptr noundef, ptr noundef, ptr noundef, float noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef, i32 noundef, ptr noundef, float noundef, ptr noundef, ptr noundef, ptr noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui11InputFloat2EPKcPfS1_i(ptr noundef, ptr noundef, ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui10DragFloat2EPKcPffffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, float noundef, ptr noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui12SliderFloat2EPKcPfffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, ptr noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui9InputInt2EPKcPii(ptr noundef, ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui8DragInt2EPKcPifiiS1_(ptr noundef, ptr noundef, float noundef, i32 noundef, i32 noundef, ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui10SliderInt2EPKcPiiiS1_(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui10DragFloat3EPKcPffffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, float noundef, ptr noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui12SliderFloat3EPKcPfffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, ptr noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui9InputInt3EPKcPii(ptr noundef, ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui8DragInt3EPKcPifiiS1_(ptr noundef, ptr noundef, float noundef, i32 noundef, i32 noundef, ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui10SliderInt3EPKcPiiiS1_(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui11InputFloat4EPKcPfS1_i(ptr noundef, ptr noundef, ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui10DragFloat4EPKcPffffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, float noundef, ptr noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui12SliderFloat4EPKcPfffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, ptr noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui9InputInt4EPKcPii(ptr noundef, ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui8DragInt4EPKcPifiiS1_(ptr noundef, ptr noundef, float noundef, i32 noundef, i32 noundef, ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui10SliderInt4EPKcPiiiS1_(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui10VSliderIntEPKcRK6ImVec2PiiiS1_(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8), ptr noundef, i32 noundef, i32 noundef, ptr noundef) #1

declare void @_ZN5ImGui6PushIDEPKc(ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8), ptr noundef, float noundef, float noundef, ptr noundef, float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv() #1

declare noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv() #1

declare noundef zeroext i1 @_ZN5ImGui17IsItemDeactivatedEv() #1

declare noundef zeroext i1 @_ZN5ImGui28IsItemDeactivatedAfterChangeEv() #1

declare noundef zeroext i1 @_ZN5ImGui13IsItemVisibleEv() #1

declare noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8), i1 noundef zeroext, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef) #1

declare void @_ZN5ImGui8EndChildEv() #1

declare noundef float @_ZN5ImGui27GetWindowContentRegionWidthEv() #1

declare void @_ZN5ImGui13SetScrollHereEf(float noundef) #1

declare noundef float @_ZN5ImGui14GetWindowWidthEv() #1

declare noundef float @_ZN5ImGui26GetContentRegionAvailWidthEv() #1

declare void @_ZN5ImGui23AlignTextToFramePaddingEv() #1

declare void @_ZN5ImGui5DummyERK6ImVec2(ptr noundef nonnull align 4 dereferenceable(8)) #1

declare <2 x float> @_ZN5ImGui15GetItemRectSizeEv() #1

declare noundef zeroext i1 @_ZN5ImGui13ListBoxHeaderEPKcRK6ImVec2(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8)) #1

declare void @_ZN5ImGui13ListBoxFooterEv() #1

declare noundef zeroext i1 @_ZN5ImGui10BeginChildEjRK6ImVec2bi(i32 noundef, ptr noundef nonnull align 4 dereferenceable(8), i1 noundef zeroext, i32 noundef) #1

declare noundef i32 @_ZN5ImGui5GetIDEPKv(ptr noundef) #1

declare void @_ZN5ImGui17SetScrollFromPosYEff(float noundef, float noundef) #1

declare <2 x float> @_ZN5ImGui17GetCursorStartPosEv() #1

declare noundef float @_ZN5ImGui10GetScrollYEv() #1

declare noundef float @_ZN5ImGui13GetScrollMaxYEv() #1

declare noundef float @_ZN5ImGui25GetFrameHeightWithSpacingEv() #1

; Function Attrs: nounwind
declare float @sinf(float noundef) #9

declare noundef float @_ZN5ImGui10GetScrollXEv() #1

declare noundef float @_ZN5ImGui13GetScrollMaxXEv() #1

declare void @_ZN5ImGui10SetScrollXEf(float noundef) #1

declare noundef zeroext i1 @_ZN5ImGui15InvisibleButtonEPKcRK6ImVec2(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8)) #1

declare noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef, float noundef) #1

declare void @_ZN10ImDrawList7AddTextEPK6ImFontfRK6ImVec2jPKcS7_fPK6ImVec4(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef, float noundef, ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, ptr noundef, ptr noundef, float noundef, ptr noundef) #1

declare noundef ptr @_ZN5ImGui7GetFontEv() #1

declare void @_ZN5ImGui15TextUnformattedEPKcS1_(ptr noundef, ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef, ptr noundef, i1 noundef zeroext, i1 noundef zeroext) #1

declare noundef zeroext i1 @_ZN5ImGui21BeginPopupContextItemEPKci(ptr noundef, i32 noundef) #1

declare void @_ZN5ImGui17CloseCurrentPopupEv() #1

declare noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef, ptr noundef, i32 noundef) #1

declare noundef i32 @_ZN5ImGui14GetColumnIndexEv() #1

declare noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef) #1

declare noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef) #1

declare void @_ZN5ImGui24SetNextWindowContentSizeERK6ImVec2(ptr noundef nonnull align 4 dereferenceable(8)) #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16ImGuiListClipperC2Eif(ptr noundef nonnull align 4 dereferenceable(24), i32 noundef, float noundef) unnamed_addr #0 align 2

declare noundef zeroext i1 @_ZN16ImGuiListClipper4StepEv(ptr noundef nonnull align 4 dereferenceable(24)) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN16ImGuiListClipperD2Ev(ptr noundef nonnull align 4 dereferenceable(24)) unnamed_addr #4 align 2

declare void @_ZN15ImGuiTextFilterC1EPKc(ptr noundef nonnull align 8 dereferenceable(276), ptr noundef) unnamed_addr #1

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN15ImGuiTextFilterD2Ev(ptr noundef nonnull align 8 dereferenceable(276)) unnamed_addr #5 align 2

; Function Attrs: nounwind
declare i32 @__cxa_atexit(ptr, ptr, ptr) #8

declare noundef zeroext i1 @_ZN15ImGuiTextFilter4DrawEPKcf(ptr noundef nonnull align 8 dereferenceable(276), ptr noundef, float noundef) #1

declare noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276), ptr noundef, ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui15IsMousePosValidEPK6ImVec2(ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef, i1 noundef zeroext) #1

declare noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui12IsKeyPressedEib(i32 noundef, i1 noundef zeroext) #1

declare noundef zeroext i1 @_ZN5ImGui13IsKeyReleasedEi(i32 noundef) #1

declare void @_ZN5ImGui22CaptureKeyboardFromAppEb(i1 noundef zeroext) #1

declare void @_ZN5ImGui22PushAllowKeyboardFocusEb(i1 noundef zeroext) #1

declare void @_ZN5ImGui21PopAllowKeyboardFocusEv() #1

declare void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef) #1

declare void @_ZN10ImDrawList22PushClipRectFullScreenEv(ptr noundef nonnull align 8 dereferenceable(168)) #1

declare void @_ZN10ImDrawList7AddLineERK6ImVec2S2_jf(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, float noundef) #1

declare noundef i32 @_ZN5ImGui11GetColorU32Eif(i32 noundef, float noundef) #1

declare void @_ZN10ImDrawList11PopClipRectEv(ptr noundef nonnull align 8 dereferenceable(168)) #1

declare <2 x float> @_ZN5ImGui17GetMouseDragDeltaEif(i32 noundef, float noundef) #1

declare noundef i32 @_ZN5ImGui14GetMouseCursorEv() #1

declare void @_ZN5ImGui14SetMouseCursorEi(i32 noundef) #1

attributes #0 = { mustprogress 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 #1 = { "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 = { mustprogress uwtable "min-legal-vector-width"="64" "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 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress 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 #5 = { inlinehint mustprogress 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 #6 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #7 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #8 = { nounwind }
attributes #9 = { nounwind "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 #10 = { nocallback nofree nounwind willreturn memory(argmem: write) }

!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 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = !{i8 0, i8 2}
!12 = !{}
!13 = !{!14, !14, i64 0}
!14 = !{!"int", !7, i64 0}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = !{!18, !19, i64 76}
!18 = !{!"_ZTS10ImGuiStyle", !19, i64 0, !20, i64 4, !19, i64 12, !19, i64 16, !20, i64 20, !20, i64 28, !19, i64 36, !19, i64 40, !19, i64 44, !19, i64 48, !20, i64 52, !19, i64 60, !19, i64 64, !20, i64 68, !20, i64 76, !20, i64 84, !19, i64 92, !19, i64 96, !19, i64 100, !19, i64 104, !19, i64 108, !19, i64 112, !20, i64 116, !20, i64 124, !20, i64 132, !19, i64 140, !10, i64 144, !10, i64 145, !19, i64 148, !7, i64 152}
!19 = !{!"float", !7, i64 0}
!20 = !{!"_ZTS6ImVec2", !19, i64 0, !19, i64 4}
!21 = !{!19, !19, i64 0}
!22 = distinct !{!22, !16}
!23 = distinct !{!23, !16}
!24 = !{!25, !10, i64 281}
!25 = !{!"_ZTS7ImGuiIO", !14, i64 0, !14, i64 4, !20, i64 8, !19, i64 16, !19, i64 20, !6, i64 24, !6, i64 32, !19, i64 40, !19, i64 44, !19, i64 48, !7, i64 52, !19, i64 136, !19, i64 140, !6, i64 144, !6, i64 152, !19, i64 160, !10, i64 164, !6, i64 168, !20, i64 176, !20, i64 184, !20, i64 192, !10, i64 200, !10, i64 201, !6, i64 208, !6, i64 216, !6, i64 224, !6, i64 232, !6, i64 240, !6, i64 248, !20, i64 256, !7, i64 264, !19, i64 272, !19, i64 276, !10, i64 280, !10, i64 281, !10, i64 282, !10, i64 283, !10, i64 284, !7, i64 285, !7, i64 798, !7, i64 832, !10, i64 916, !10, i64 917, !10, i64 918, !10, i64 919, !10, i64 920, !10, i64 921, !10, i64 922, !19, i64 924, !14, i64 928, !14, i64 932, !14, i64 936, !20, i64 940, !20, i64 948, !7, i64 956, !7, i64 996, !7, i64 1016, !7, i64 1021, !7, i64 1026, !7, i64 1031, !7, i64 1036, !7, i64 1056, !7, i64 1076, !7, i64 1116, !7, i64 1136, !7, i64 3184, !7, i64 5232, !7, i64 5316}
!26 = distinct !{!26, !16}
!27 = distinct !{!27, !16}
!28 = !{!20, !19, i64 0}
!29 = !{!20, !19, i64 4}
!30 = !{i64 0, i64 4, !21, i64 4, i64 4, !21}
!31 = !{!25, !6, i64 152}
!32 = !{!33, !6, i64 8}
!33 = !{!"_ZTS11ImFontAtlas", !14, i64 0, !6, i64 8, !14, i64 16, !14, i64 20, !6, i64 24, !6, i64 32, !14, i64 40, !14, i64 44, !20, i64 48, !20, i64 56, !34, i64 64, !35, i64 80, !36, i64 96, !7, i64 112}
!34 = !{!"_ZTS8ImVectorIP6ImFontE", !14, i64 0, !14, i64 4, !6, i64 8}
!35 = !{!"_ZTS8ImVectorIN11ImFontAtlas10CustomRectEE", !14, i64 0, !14, i64 4, !6, i64 8}
!36 = !{!"_ZTS8ImVectorI12ImFontConfigE", !14, i64 0, !14, i64 4, !6, i64 8}
!37 = !{!33, !14, i64 40}
!38 = !{!33, !14, i64 44}
!39 = !{!25, !19, i64 256}
!40 = !{!25, !19, i64 260}
!41 = distinct !{!41, !16}
!42 = !{!"branch_weights", i32 1, i32 1048575}
!43 = distinct !{!43, !16}
!44 = distinct !{!44, !16}
!45 = distinct !{!45, !16}
!46 = distinct !{!46, !16}
!47 = distinct !{!47, !16}
!48 = distinct !{!48, !16}
!49 = !{!25, !19, i64 16}
!50 = !{!51, !19, i64 12}
!51 = !{!"_ZTS6ImVec4", !19, i64 0, !19, i64 4, !19, i64 8, !19, i64 12}
!52 = distinct !{!52, !16}
!53 = !{i64 0, i64 4, !21, i64 4, i64 4, !21, i64 8, i64 4, !21, i64 12, i64 4, !21}
!54 = !{!18, !19, i64 72}
!55 = !{!51, !19, i64 0}
!56 = !{!51, !19, i64 4}
!57 = !{!51, !19, i64 8}
!58 = !{!59, !6, i64 0}
!59 = !{!"_ZTS12ImGuiPayload", !6, i64 0, !14, i64 8, !14, i64 12, !14, i64 16, !14, i64 20, !7, i64 24, !10, i64 57, !10, i64 58}
!60 = distinct !{!60, !16}
!61 = !{!62, !62, i64 0}
!62 = !{!"long long", !7, i64 0}
!63 = !{!64, !64, i64 0}
!64 = !{!"double", !7, i64 0}
!65 = distinct !{!65, !16}
!66 = distinct !{!66, !16}
!67 = distinct !{!67, !16}
!68 = distinct !{!68, !16}
!69 = distinct !{!69, !16}
!70 = distinct !{!70, !16}
!71 = distinct !{!71, !16}
!72 = !{!18, !19, i64 68}
!73 = distinct !{!73, !16}
!74 = distinct !{!74, !16}
!75 = distinct !{!75, !16}
!76 = distinct !{!76, !16}
!77 = distinct !{!77, !16}
!78 = distinct !{!78, !16}
!79 = !{!25, !19, i64 940}
!80 = !{!25, !19, i64 944}
!81 = distinct !{!81, !16}
!82 = distinct !{!82, !16}
!83 = distinct !{!83, !16}
!84 = distinct !{!84, !16}
!85 = distinct !{!85, !16}
!86 = distinct !{!86, !16}
!87 = !{!88, !14, i64 16}
!88 = !{!"_ZTS16ImGuiListClipper", !19, i64 0, !19, i64 4, !14, i64 8, !14, i64 12, !14, i64 16, !14, i64 20}
!89 = !{!88, !14, i64 20}
!90 = distinct !{!90, !16}
!91 = distinct !{!91, !16}
!92 = distinct !{!92, !16}
!93 = distinct !{!93, !16}
!94 = !{!25, !10, i64 916}
!95 = !{!25, !10, i64 917}
!96 = !{!25, !10, i64 918}
!97 = !{!25, !10, i64 919}
!98 = !{!25, !10, i64 921}
!99 = !{!25, !10, i64 922}
!100 = distinct !{!100, !16}
!101 = distinct !{!101, !16}
!102 = distinct !{!102, !16}
!103 = distinct !{!103, !16}
!104 = !{!25, !19, i64 272}
!105 = distinct !{!105, !16}
!106 = distinct !{!106, !16}
!107 = distinct !{!107, !16}
!108 = !{!25, !10, i64 282}
!109 = !{!25, !10, i64 283}
!110 = !{!25, !10, i64 284}
!111 = distinct !{!111, !16}
!112 = distinct !{!112, !16}
!113 = distinct !{!113, !16}
!114 = distinct !{!114, !16}
!115 = distinct !{!115, !16}


; 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"

%struct.ImVec4 = type { float, float, float, float }
%struct.ImVec2 = type { float, float }
%struct.ImGuiTextFilter = type <{ [256 x i8], %class.ImVector.9, i32, [4 x i8] }>
%class.ImVector.9 = type { i32, i32, ptr }
%struct.ImColor = type { %struct.ImVec4 }
%struct.ImGuiListClipper = type { float, float, i32, i32, i32, i32 }

@_ZZN5ImGui14ShowDemoWindowEPbE22show_app_main_menu_bar = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE16show_app_console = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE12show_app_log = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE15show_app_layout = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE24show_app_property_editor = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE18show_app_long_text = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE20show_app_auto_resize = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE27show_app_constrained_resize = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE23show_app_simple_overlay = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE22show_app_window_titles = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE25show_app_custom_rendering = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE16show_app_metrics = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE21show_app_style_editor = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14show_app_about = external hidden global i8, align 1
@.str.15 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [80 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE11no_titlebar = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE12no_scrollbar = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7no_menu = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7no_move = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9no_resize = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE11no_collapse = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8no_close = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE6no_nav = external hidden global i8, align 1
@.str.20 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [236 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7clicked = external hidden local_unnamed_addr global i32, align 4
@.str.54 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [24 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5check = external hidden global i8, align 1
@.str.56 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE1e = external hidden global i32, align 4
@.str.57 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7counter = external hidden local_unnamed_addr global i32, align 4
@.str.61 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [21 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3arr = external hidden global [7 x float], align 16
@.str.68 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [6 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.items = external hidden unnamed_addr constant [14 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE12item_current = external hidden global i32, align 4
@.str.85 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [128 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4str0 = external hidden global [128 x i8], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE2i0 = external hidden global i32, align 4
@.str.87 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [184 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [134 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f0 = external hidden global float, align 4
@.str.91 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2d0 = external hidden global double, align 8
@.str.93 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f1 = external hidden global float, align 4
@.str.95 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [87 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5vec4a = external hidden global [4 x float], align 16
@.str.98 = external hidden unnamed_addr constant [13 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2i1 = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE2i2 = external hidden global i32, align 4
@.str.99 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f1_0 = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE2f2 = external hidden global float, align 4
@.str.103 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2i1_0 = external hidden global i32, align 4
@.str.106 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [27 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f1_1 = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE2f2_0 = external hidden global float, align 4
@.str.108 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5angle = external hidden global float, align 4
@.str.112 = external hidden unnamed_addr constant [13 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4col1 = external hidden global [3 x float], align 4
@_ZZN5ImGui14ShowDemoWindowEPbE4col2 = external hidden global [4 x float], align 16
@.str.113 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [155 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [7 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.listbox_items = external hidden unnamed_addr constant [9 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE20listbox_item_current = external hidden global i32, align 4
@.str.125 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [140 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position = external hidden global i8, align 1
@.str.133 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [7 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask = external hidden local_unnamed_addr global i32, align 4
@.str.135 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [19 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14closable_group = external hidden global i8, align 1
@.str.139 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [180 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width = external hidden global float, align 4
@.str.157 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [151 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [206 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [28 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3buf = external hidden global [32 x i8], align 16
@.str.167 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [233 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [32 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count = external hidden local_unnamed_addr global i32, align 4
@.str.174 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5flags = external hidden global i32, align 4
@.str.176 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [26 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.items.179 = external hidden unnamed_addr constant [14 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0 = external hidden local_unnamed_addr global ptr, align 8
@_ZGVZN5ImGui14ShowDemoWindowEPbE12item_current_0 = external hidden global i64, align 8
@.str.180 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14item_current_2 = external hidden global i32, align 4
@.str.181 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [27 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14item_current_3 = external hidden global i32, align 4
@.str.183 = external hidden unnamed_addr constant [16 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14item_current_4 = external hidden global i32, align 4
@.str.184 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [12 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9selection = external hidden global [5 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [34 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected = external hidden local_unnamed_addr global i32, align 4
@.str.192 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [46 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9selection_0 = external hidden local_unnamed_addr global [5 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [39 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected_0 = external hidden global [3 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [11 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected_1 = external hidden global [16 x i8], align 16
@.str.202 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected_2 = external hidden global [16 x i8], align 16
@.str.204 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [20 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf1 = external hidden global [64 x i8], align 16
@.str.206 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf2 = external hidden global [64 x i8], align 16
@.str.207 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf3 = external hidden global [64 x i8], align 16
@.str.208 = external hidden unnamed_addr constant [12 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf4 = external hidden global [64 x i8], align 16
@.str.209 = external hidden unnamed_addr constant [10 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf5 = external hidden global [64 x i8], align 16
@.str.210 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf6 = external hidden global [64 x i8], align 16
@.str.211 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.212 = external hidden unnamed_addr constant [15 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7bufpass = external hidden global [64 x i8], align 16
@.str.213 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [22 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9read_only = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4text = external hidden global [16384 x i8], align 16
@.str.217 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7animate = external hidden global i8, align 1
@.str.220 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3arr_0 = external hidden global [7 x float], align 16
@.str.221 = external hidden unnamed_addr constant [12 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE6values = external hidden global [90 x float], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE13values_offset = external hidden local_unnamed_addr global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time = external hidden local_unnamed_addr global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE5phase = external hidden local_unnamed_addr global float, align 4
@.str.222 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [10 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9func_type = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE13display_count = external hidden global i32, align 4
@.str.225 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [13 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8progress = external hidden local_unnamed_addr global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir = external hidden local_unnamed_addr global float, align 4
@.str.228 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [21 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5color = external hidden global %struct.ImVec4, align 4
@_ZGVZN5ImGui14ShowDemoWindowEPbE5color = external hidden global i64, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE13alpha_preview = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE18alpha_half_preview = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE13drag_and_drop = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE12options_menu = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3hdr = external hidden global i8, align 1
@.str.231 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.240 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.241 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.242 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.243 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.245 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [215 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.248 = external hidden unnamed_addr constant [39 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE20saved_palette_inited = external hidden local_unnamed_addr global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette = external hidden global [32 x %struct.ImVec4], align 16
@_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette = external hidden global i64, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE12backup_color = external hidden global %struct.ImVec4, align 4
@_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color = external hidden global i64, align 8
@.str.249 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.250 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.251 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.252 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.253 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.254 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.255 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.256 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.257 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.258 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.259 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.260 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.261 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.262 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.263 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5alpha = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9alpha_bar = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE12side_preview = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9ref_color = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE11ref_color_v = external hidden global %struct.ImVec4, align 4
@_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v = external hidden global i64, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE11picker_mode = external hidden global i32, align 4
@.str.264 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.265 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.266 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.267 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.268 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.269 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.270 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.271 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.272 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.273 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.274 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.275 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.276 = external hidden unnamed_addr constant [340 x i8], align 1
@.str.277 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.278 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.279 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5begin = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE3end = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE7begin_i = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE5end_i = external hidden global i32, align 4
@.str.280 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.281 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.282 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.283 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.284 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.285 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.286 = external hidden unnamed_addr constant [11 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5s32_v = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE5u32_v = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE5s64_v = external hidden global i64, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE5u64_v = external hidden global i64, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE5f32_v = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE5f64_v = external hidden global double, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp = external hidden global i8, align 1
@.str.287 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.288 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.289 = external hidden unnamed_addr constant [171 x i8], align 1
@.str.290 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.291 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.292 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.293 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.294 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.295 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.296 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.297 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.298 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.299 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.300 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.301 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.302 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.303 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.304 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.305 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.306 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.307 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.308 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.309 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.310 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.311 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.312 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.313 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.314 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.315 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.316 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.317 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.318 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.319 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.320 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.321 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.322 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.323 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.324 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.325 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step = external hidden global i8, align 1
@.str.326 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.327 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.328 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.329 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.330 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.331 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.332 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.333 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.334 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.335 = external hidden unnamed_addr constant [24 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5vec4f = external hidden global [4 x float], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE5vec4i = external hidden global [4 x i32], align 16
@.str.336 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.337 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.338 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.339 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.340 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.341 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.342 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.343 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.344 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.345 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.346 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.347 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.348 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.349 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.350 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.351 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.352 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.353 = external hidden unnamed_addr constant [17 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9int_value = external hidden global i32, align 4
@.str.354 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE6values_0 = external hidden global [7 x float], align 16
@.str.355 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.356 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.357 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.358 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7values2 = external hidden global [4 x float], align 16
@.str.359 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.360 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.361 = external hidden unnamed_addr constant [41 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9item_type = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE1b = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5col4f = external hidden global [4 x float], align 16
@.str.362 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.363 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.364 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.365 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.366 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.367 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.368 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.369 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.370 = external hidden unnamed_addr constant [17 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.items.371 = external hidden unnamed_addr constant [4 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE7current = external hidden global i32, align 4
@.str.372 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.373 = external hidden unnamed_addr constant [329 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window = external hidden global i8, align 1
@.str.374 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.375 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.376 = external hidden unnamed_addr constant [175 x i8], align 1
@.str.377 = external hidden unnamed_addr constant [274 x i8], align 1
@.str.378 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.379 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.380 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.381 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE19disable_mouse_wheel = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE12disable_menu = external hidden global i8, align 1
@.str.382 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.383 = external hidden unnamed_addr constant [13 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4line = external hidden global i32, align 4
@.str.384 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.385 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.386 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.387 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.388 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.389 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.390 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE1f = external hidden global float, align 4
@.str.391 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.392 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.393 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.394 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.395 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.396 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.397 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.398 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.399 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.400 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.401 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.402 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.403 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.404 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.405 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.406 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.407 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.408 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.409 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.410 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.411 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.412 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.413 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.414 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.415 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.416 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.417 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2c1 = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2c2 = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2c3 = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2c4 = external hidden global i8, align 1
@.str.418 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.419 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.420 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.421 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f0_0 = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE2f1_2 = external hidden global float, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE2f2_1 = external hidden global float, align 4
@__const._ZN5ImGui14ShowDemoWindowEPb.items.422 = external hidden unnamed_addr constant [4 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE4item = external hidden global i32, align 4
@.str.423 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.424 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.425 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.426 = external hidden unnamed_addr constant [7 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9selection_1 = external hidden global [4 x i32], align 16
@.str.427 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.428 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.429 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.430 = external hidden unnamed_addr constant [206 x i8], align 1
@.str.431 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.432 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.433 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.434 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.435 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.436 = external hidden unnamed_addr constant [20 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.values = external hidden unnamed_addr constant [5 x float], align 16
@.str.437 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.438 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.439 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.440 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.441 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.442 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.443 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.444 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.445 = external hidden unnamed_addr constant [211 x i8], align 1
@.str.446 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.447 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.448 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.449 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.450 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.451 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.452 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.453 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.454 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.455 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.456 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.457 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.458 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.459 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.460 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.461 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.462 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.463 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.464 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.465 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.466 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.467 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.468 = external hidden unnamed_addr constant [76 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5track = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE10track_line = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE12scroll_to_px = external hidden global i32, align 4
@.str.469 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.470 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.471 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.472 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.473 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.474 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.475 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.476 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.477 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.478 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.479 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.480 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.481 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.482 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.483 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.484 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.485 = external hidden unnamed_addr constant [104 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5lines = external hidden global i32, align 4
@.str.486 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.487 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.488 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.489 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.490 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.491 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.492 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.493 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.494 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4size = external hidden global %struct.ImVec2, align 4
@_ZGVZN5ImGui14ShowDemoWindowEPbE4size = external hidden global i64, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE6offset = external hidden global %struct.ImVec2, align 4
@_ZGVZN5ImGui14ShowDemoWindowEPbE6offset = external hidden global i64, align 8
@.str.495 = external hidden unnamed_addr constant [266 x i8], align 1
@.str.496 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.497 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.498 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.499 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.500 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.501 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.502 = external hidden unnamed_addr constant [126 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish = external hidden local_unnamed_addr global i32, align 4
@__const._ZN5ImGui14ShowDemoWindowEPb.names = external hidden unnamed_addr constant [5 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE7toggles = external hidden global [5 x i8], align 1
@.str.508 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.509 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.510 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.511 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.512 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.513 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.514 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.515 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.516 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.517 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.518 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.519 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.520 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.521 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.522 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5value = external hidden global float, align 4
@.str.523 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.524 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.525 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.526 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.527 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4name = external hidden global [32 x i8], align 16
@.str.528 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.529 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.530 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.531 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.532 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.533 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.534 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.535 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.536 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.537 = external hidden unnamed_addr constant [78 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE21dont_ask_me_next_time = external hidden global i8, align 1
@.str.538 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.539 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.540 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.541 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.542 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.543 = external hidden unnamed_addr constant [94 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4item_0 = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE5color_0 = external hidden global [4 x float], align 16
@.str.544 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.545 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.546 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.547 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.548 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.549 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.550 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.551 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.552 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.553 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.554 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.555 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.556 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.557 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.558 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.559 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.560 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.561 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.562 = external hidden unnamed_addr constant [8 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.names.566 = external hidden unnamed_addr constant [3 x ptr], align 16
@__const._ZN5ImGui14ShowDemoWindowEPb.paths = external hidden unnamed_addr constant [3 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE8selected_3 = external hidden local_unnamed_addr global i32, align 4
@.str.570 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.571 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.572 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.573 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.574 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3foo = external hidden global float, align 4
@.str.575 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.576 = external hidden unnamed_addr constant [20 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3bar = external hidden global float, align 4
@.str.577 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.578 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.579 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.580 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.581 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.582 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.583 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.584 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.585 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.586 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.587 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9h_borders = external hidden global i8, align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9v_borders = external hidden global i8, align 1
@.str.588 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.589 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.590 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.591 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.592 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.593 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.594 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.595 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.596 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.597 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.598 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.599 = external hidden unnamed_addr constant [10 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE6filter = external hidden global %struct.ImGuiTextFilter, align 8
@_ZGVZN5ImGui14ShowDemoWindowEPbE6filter = external hidden global i64, align 8
@__dso_handle = external hidden global i8
@.str.600 = external hidden unnamed_addr constant [183 x i8], align 1
@.str.601 = external hidden unnamed_addr constant [18 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.lines = external hidden unnamed_addr constant [8 x ptr], align 16
@.str.610 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.611 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.612 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.613 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.614 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.615 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.616 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.617 = external hidden unnamed_addr constant [354 x i8], align 1
@.str.618 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.619 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.620 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.621 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.622 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.623 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.624 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.625 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.626 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.627 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.628 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.629 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.630 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.631 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.632 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.633 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.634 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.635 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.636 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.637 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.638 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.639 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.640 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.641 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.642 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.643 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.644 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.645 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.646 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.647 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.648 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.649 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.650 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.651 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.652 = external hidden unnamed_addr constant [61 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3buf_0 = external hidden global [32 x i8], align 16
@.str.653 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.654 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.655 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.656 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.657 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.658 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.659 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.660 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.661 = external hidden unnamed_addr constant [11 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3buf_1 = external hidden global [128 x i8], align 16
@.str.662 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.663 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.664 = external hidden unnamed_addr constant [24 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f3 = external hidden global [3 x float], align 4
@.str.665 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.666 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.667 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.668 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.669 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.670 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.671 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.672 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.673 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.674 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.675 = external hidden unnamed_addr constant [14 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names = external hidden unnamed_addr constant [8 x ptr], align 16
@.str.684 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.685 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.686 = external hidden unnamed_addr constant [242 x i8], align 1
@.str.687 = external hidden unnamed_addr constant [20 x i8], align 1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5ImGui13ShowUserGuideEv() local_unnamed_addr #0

declare void @_ZN5ImGui10BulletTextEPKcz(ptr noundef, ...) local_unnamed_addr #1

declare noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv() local_unnamed_addr #1

declare void @_ZN5ImGui6IndentEf(float noundef) local_unnamed_addr #1

declare void @_ZN5ImGui8UnindentEf(float noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN5ImGui14ShowDemoWindowEPb(ptr noundef %0) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %struct.ImVec2, align 4
  %3 = alloca %struct.ImVec2, align 4
  %4 = alloca %struct.ImVec4, align 8
  %5 = alloca %struct.ImColor, align 8
  %6 = alloca %struct.ImVec4, align 8
  %7 = alloca %struct.ImColor, align 8
  %8 = alloca %struct.ImVec4, align 8
  %9 = alloca %struct.ImColor, align 8
  %10 = alloca %struct.ImVec2, align 4
  %11 = alloca %struct.ImVec2, align 8
  %12 = alloca [14 x ptr], align 16
  %13 = alloca [9 x ptr], align 16
  %14 = alloca %struct.ImVec4, align 4
  %15 = alloca %struct.ImVec4, align 4
  %16 = alloca %struct.ImVec2, align 4
  %17 = alloca %struct.ImVec2, align 4
  %18 = alloca %struct.ImVec2, align 8
  %19 = alloca %struct.ImVec2, align 8
  %20 = alloca %struct.ImVec2, align 4
  %21 = alloca %struct.ImVec2, align 4
  %22 = alloca %struct.ImVec2, align 8
  %23 = alloca %struct.ImVec2, align 8
  %24 = alloca %struct.ImVec2, align 4
  %25 = alloca %struct.ImVec2, align 4
  %26 = alloca %struct.ImVec2, align 4
  %27 = alloca %struct.ImVec4, align 8
  %28 = alloca %struct.ImColor, align 4
  %29 = alloca %struct.ImVec4, align 8
  %30 = alloca %struct.ImColor, align 4
  %31 = alloca %struct.ImVec2, align 4
  %32 = alloca %struct.ImVec2, align 4
  %33 = alloca %struct.ImVec2, align 4
  %34 = alloca %struct.ImVec4, align 8
  %35 = alloca %struct.ImColor, align 4
  %36 = alloca %struct.ImVec4, align 8
  %37 = alloca %struct.ImColor, align 4
  %38 = alloca %struct.ImVec2, align 4
  %39 = alloca %struct.ImVec2, align 4
  %40 = alloca %struct.ImVec2, align 4
  %41 = alloca %struct.ImVec4, align 8
  %42 = alloca %struct.ImColor, align 4
  %43 = alloca %struct.ImVec4, align 4
  %44 = alloca [14 x ptr], align 16
  %45 = alloca %struct.ImVec2, align 4
  %46 = alloca %struct.ImVec2, align 4
  %47 = alloca %struct.ImVec2, align 4
  %48 = alloca %struct.ImVec2, align 4
  %49 = alloca %struct.ImVec2, align 4
  %50 = alloca [32 x i8], align 16
  %51 = alloca %struct.ImVec2, align 4
  %52 = alloca [32 x i8], align 16
  %53 = alloca %struct.ImVec2, align 4
  %54 = alloca %struct.ImVec2, align 4
  %55 = alloca %struct.ImVec2, align 4
  %56 = alloca %struct.ImVec2, align 4
  %57 = alloca [32 x i8], align 16
  %58 = alloca %struct.ImVec2, align 4
  %59 = alloca %struct.ImVec2, align 4
  %60 = alloca %struct.ImVec2, align 4
  %61 = alloca %struct.ImVec2, align 4
  %62 = alloca %struct.ImVec2, align 8
  %63 = alloca %struct.ImVec2, align 8
  %64 = alloca %struct.ImVec2, align 8
  %65 = alloca %struct.ImVec2, align 8
  %66 = alloca %struct.ImVec2, align 8
  %67 = alloca %struct.ImVec2, align 4
  %68 = alloca [32 x i8], align 16
  %69 = alloca %struct.ImVec2, align 4
  %70 = alloca %struct.ImColor, align 4
  %71 = alloca %struct.ImVec2, align 8
  %72 = alloca %struct.ImVec2, align 4
  %73 = alloca %struct.ImVec2, align 8
  %74 = alloca %struct.ImVec2, align 8
  %75 = alloca %struct.ImVec2, align 8
  %76 = alloca %struct.ImVec4, align 4
  %77 = alloca %struct.ImVec2, align 8
  %78 = alloca %struct.ImVec2, align 4
  %79 = alloca %struct.ImVec2, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i64, align 8
  %95 = alloca i64, align 8
  %96 = alloca i64, align 8
  %97 = alloca i64, align 8
  %98 = alloca i64, align 8
  %99 = alloca i64, align 8
  %100 = alloca i64, align 8
  %101 = alloca i64, align 8
  %102 = alloca i64, align 8
  %103 = alloca i64, align 8
  %104 = alloca i64, align 8
  %105 = alloca i64, align 8
  %106 = alloca i64, align 8
  %107 = alloca i64, align 8
  %108 = alloca float, align 4
  %109 = alloca float, align 4
  %110 = alloca float, align 4
  %111 = alloca float, align 4
  %112 = alloca double, align 8
  %113 = alloca double, align 8
  %114 = alloca double, align 8
  %115 = alloca double, align 8
  %116 = alloca %struct.ImVec2, align 4
  %117 = alloca %struct.ImVec2, align 4
  %118 = alloca %struct.ImVec4, align 8
  %119 = alloca %struct.ImColor, align 8
  %120 = alloca %struct.ImVec4, align 8
  %121 = alloca %struct.ImColor, align 8
  %122 = alloca %struct.ImVec4, align 8
  %123 = alloca %struct.ImColor, align 8
  %124 = alloca %struct.ImVec4, align 8
  %125 = alloca %struct.ImColor, align 8
  %126 = alloca %struct.ImVec2, align 4
  %127 = alloca %struct.ImVec2, align 4
  %128 = alloca %struct.ImVec2, align 4
  %129 = alloca %struct.ImVec2, align 4
  %130 = alloca [4 x ptr], align 16
  %131 = alloca %struct.ImVec2, align 4
  %132 = alloca %struct.ImVec2, align 4
  %133 = alloca %struct.ImVec2, align 4
  %134 = alloca %struct.ImVec2, align 4
  %135 = alloca %struct.ImVec2, align 4
  %136 = alloca [32 x i8], align 16
  %137 = alloca %struct.ImVec2, align 4
  %138 = alloca %struct.ImVec4, align 4
  %139 = alloca %struct.ImVec4, align 4
  %140 = alloca %struct.ImVec2, align 4
  %141 = alloca %struct.ImVec2, align 4
  %142 = alloca %struct.ImVec2, align 4
  %143 = alloca [4 x ptr], align 16
  %144 = alloca %struct.ImVec2, align 4
  %145 = alloca %struct.ImVec2, align 4
  %146 = alloca %struct.ImVec2, align 4
  %147 = alloca %struct.ImVec2, align 4
  %148 = alloca %struct.ImVec2, align 4
  %149 = alloca %struct.ImVec2, align 4
  %150 = alloca %struct.ImVec2, align 8
  %151 = alloca [5 x float], align 16
  %152 = alloca %struct.ImVec2, align 4
  %153 = alloca %struct.ImVec2, align 4
  %154 = alloca %struct.ImVec2, align 4
  %155 = alloca %struct.ImVec2, align 4
  %156 = alloca %struct.ImVec2, align 4
  %157 = alloca %struct.ImVec2, align 4
  %158 = alloca %struct.ImVec2, align 4
  %159 = alloca %struct.ImVec2, align 4
  %160 = alloca %struct.ImVec2, align 4
  %161 = alloca %struct.ImVec2, align 4
  %162 = alloca %struct.ImVec2, align 4
  %163 = alloca %struct.ImVec2, align 4
  %164 = alloca %struct.ImVec2, align 4
  %165 = alloca %struct.ImVec2, align 4
  %166 = alloca %struct.ImVec2, align 4
  %167 = alloca %struct.ImVec4, align 8
  %168 = alloca %struct.ImColor, align 4
  %169 = alloca %struct.ImVec2, align 4
  %170 = alloca %struct.ImVec2, align 4
  %171 = alloca [16 x i8], align 16
  %172 = alloca %struct.ImVec4, align 8
  %173 = alloca %struct.ImColor, align 8
  %174 = alloca %struct.ImVec4, align 8
  %175 = alloca %struct.ImColor, align 8
  %176 = alloca %struct.ImVec4, align 8
  %177 = alloca %struct.ImColor, align 8
  %178 = alloca %struct.ImVec2, align 4
  %179 = alloca %struct.ImVec2, align 4
  %180 = alloca %struct.ImVec2, align 8
  %181 = alloca %struct.ImVec4, align 4
  %182 = alloca %struct.ImVec2, align 4
  %183 = alloca %struct.ImVec2, align 4
  %184 = alloca %struct.ImVec2, align 4
  %185 = alloca %struct.ImVec2, align 4
  %186 = alloca %struct.ImVec2, align 4
  %187 = alloca %struct.ImVec2, align 4
  %188 = alloca %struct.ImVec2, align 4
  %189 = alloca %struct.ImVec2, align 4
  %190 = alloca %struct.ImVec2, align 4
  %191 = alloca [64 x i8], align 16
  %192 = alloca %struct.ImVec2, align 4
  %193 = alloca %struct.ImVec2, align 4
  %194 = alloca %struct.ImVec2, align 4
  %195 = alloca %struct.ImVec2, align 4
  %196 = alloca %struct.ImVec2, align 4
  %197 = alloca %struct.ImVec2, align 4
  %198 = alloca %struct.ImVec2, align 4
  %199 = alloca %struct.ImVec2, align 4
  %200 = alloca %struct.ImVec2, align 4
  %201 = alloca %struct.ImVec2, align 4
  %202 = alloca [32 x i8], align 16
  %203 = alloca %struct.ImVec2, align 4
  %204 = alloca [32 x i8], align 16
  %205 = alloca %struct.ImVec2, align 4
  %206 = alloca %struct.ImVec2, align 4
  %207 = alloca %struct.ImVec2, align 4
  %208 = alloca %struct.ImVec2, align 4
  %209 = alloca %struct.ImVec2, align 4
  %210 = alloca %struct.ImVec2, align 4
  %211 = alloca %struct.ImGuiListClipper, align 4
  %212 = alloca %struct.ImVec2, align 4
  %213 = alloca %struct.ImVec2, align 4
  %214 = alloca %struct.ImVec2, align 4
  %215 = alloca %struct.ImVec2, align 4
  %216 = alloca %struct.ImVec2, align 4
  %217 = alloca %struct.ImVec2, align 4
  %218 = alloca %struct.ImVec2, align 4
  %219 = alloca %struct.ImVec2, align 4
  %220 = alloca %struct.ImVec2, align 4
  %221 = alloca [32 x i8], align 16
  %222 = alloca %struct.ImVec2, align 4
  %223 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_main_menu_bar, align 1, !tbaa !5, !range !9, !noundef !10
  %224 = trunc nuw i8 %223 to i1
  br i1 %224, label %225, label %226

225:                                              ; preds = %1
  tail call void @_ZL25ShowExampleAppMainMenuBarv()
  br label %226

226:                                              ; preds = %225, %1
  %227 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_console, align 1, !tbaa !5, !range !9, !noundef !10
  %228 = trunc nuw i8 %227 to i1
  br i1 %228, label %229, label %230

229:                                              ; preds = %226
  tail call void @_ZL21ShowExampleAppConsolePb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_console)
  br label %230

230:                                              ; preds = %229, %226
  %231 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12show_app_log, align 1, !tbaa !5, !range !9, !noundef !10
  %232 = trunc nuw i8 %231 to i1
  br i1 %232, label %233, label %234

233:                                              ; preds = %230
  tail call void @_ZL17ShowExampleAppLogPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12show_app_log)
  br label %234

234:                                              ; preds = %233, %230
  %235 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE15show_app_layout, align 1, !tbaa !5, !range !9, !noundef !10
  %236 = trunc nuw i8 %235 to i1
  br i1 %236, label %237, label %238

237:                                              ; preds = %234
  tail call void @_ZL20ShowExampleAppLayoutPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE15show_app_layout)
  br label %238

238:                                              ; preds = %237, %234
  %239 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE24show_app_property_editor, align 1, !tbaa !5, !range !9, !noundef !10
  %240 = trunc nuw i8 %239 to i1
  br i1 %240, label %241, label %242

241:                                              ; preds = %238
  tail call void @_ZL28ShowExampleAppPropertyEditorPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE24show_app_property_editor)
  br label %242

242:                                              ; preds = %241, %238
  %243 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE18show_app_long_text, align 1, !tbaa !5, !range !9, !noundef !10
  %244 = trunc nuw i8 %243 to i1
  br i1 %244, label %245, label %246

245:                                              ; preds = %242
  tail call void @_ZL22ShowExampleAppLongTextPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE18show_app_long_text)
  br label %246

246:                                              ; preds = %245, %242
  %247 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE20show_app_auto_resize, align 1, !tbaa !5, !range !9, !noundef !10
  %248 = trunc nuw i8 %247 to i1
  br i1 %248, label %249, label %250

249:                                              ; preds = %246
  tail call void @_ZL24ShowExampleAppAutoResizePb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE20show_app_auto_resize)
  br label %250

250:                                              ; preds = %249, %246
  %251 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE27show_app_constrained_resize, align 1, !tbaa !5, !range !9, !noundef !10
  %252 = trunc nuw i8 %251 to i1
  br i1 %252, label %253, label %254

253:                                              ; preds = %250
  tail call void @_ZL31ShowExampleAppConstrainedResizePb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE27show_app_constrained_resize)
  br label %254

254:                                              ; preds = %253, %250
  %255 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE23show_app_simple_overlay, align 1, !tbaa !5, !range !9, !noundef !10
  %256 = trunc nuw i8 %255 to i1
  br i1 %256, label %257, label %258

257:                                              ; preds = %254
  tail call void @_ZL27ShowExampleAppSimpleOverlayPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE23show_app_simple_overlay)
  br label %258

258:                                              ; preds = %257, %254
  %259 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_window_titles, align 1, !tbaa !5, !range !9, !noundef !10
  %260 = trunc nuw i8 %259 to i1
  br i1 %260, label %261, label %262

261:                                              ; preds = %258
  tail call void @_ZL26ShowExampleAppWindowTitlesPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_window_titles)
  br label %262

262:                                              ; preds = %261, %258
  %263 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE25show_app_custom_rendering, align 1, !tbaa !5, !range !9, !noundef !10
  %264 = trunc nuw i8 %263 to i1
  br i1 %264, label %265, label %266

265:                                              ; preds = %262
  tail call void @_ZL29ShowExampleAppCustomRenderingPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE25show_app_custom_rendering)
  br label %266

266:                                              ; preds = %265, %262
  %267 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_metrics, align 1, !tbaa !5, !range !9, !noundef !10
  %268 = trunc nuw i8 %267 to i1
  br i1 %268, label %269, label %270

269:                                              ; preds = %266
  tail call void @_ZN5ImGui17ShowMetricsWindowEPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_metrics)
  br label %270

270:                                              ; preds = %269, %266
  %271 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE21show_app_style_editor, align 1, !tbaa !5, !range !9, !noundef !10
  %272 = trunc nuw i8 %271 to i1
  br i1 %272, label %273, label %275

273:                                              ; preds = %270
  %274 = tail call noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef nonnull @.str.15, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE21show_app_style_editor, i32 noundef 0)
  tail call void @_ZN5ImGui15ShowStyleEditorEP10ImGuiStyle(ptr noundef null)
  tail call void @_ZN5ImGui3EndEv()
  br label %275

275:                                              ; preds = %273, %270
  %276 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14show_app_about, align 1, !tbaa !5, !range !9, !noundef !10
  %277 = trunc nuw i8 %276 to i1
  br i1 %277, label %278, label %281

278:                                              ; preds = %275
  %279 = tail call noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef nonnull @.str.16, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE14show_app_about, i32 noundef 64)
  %280 = tail call noundef ptr @_ZN5ImGui10GetVersionEv()
  tail call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.17, ptr noundef %280)
  tail call void @_ZN5ImGui9SeparatorEv()
  tail call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.18)
  tail call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.19)
  tail call void @_ZN5ImGui3EndEv()
  br label %281

281:                                              ; preds = %278, %275
  %282 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11no_titlebar, align 1, !tbaa !5, !range !9, !noundef !10
  %spec.select = zext nneg i8 %282 to i32
  %283 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12no_scrollbar, align 1, !tbaa !5, !range !9, !noundef !10
  %284 = trunc nuw i8 %283 to i1
  %285 = or disjoint i32 %spec.select, 8
  %.1 = select i1 %284, i32 %285, i32 %spec.select
  %286 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7no_menu, align 1, !tbaa !5, !range !9, !noundef !10
  %287 = trunc nuw i8 %286 to i1
  %288 = or disjoint i32 %.1, 1024
  %.2 = select i1 %287, i32 %.1, i32 %288
  %289 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7no_move, align 1, !tbaa !5, !range !9, !noundef !10
  %290 = trunc nuw i8 %289 to i1
  %291 = or i32 %.2, 4
  %.3 = select i1 %290, i32 %291, i32 %.2
  %292 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9no_resize, align 1, !tbaa !5, !range !9, !noundef !10
  %293 = trunc nuw i8 %292 to i1
  %294 = or i32 %.3, 2
  %.4 = select i1 %293, i32 %294, i32 %.3
  %295 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11no_collapse, align 1, !tbaa !5, !range !9, !noundef !10
  %296 = trunc nuw i8 %295 to i1
  %297 = or i32 %.4, 32
  %.5 = select i1 %296, i32 %297, i32 %.4
  %298 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6no_nav, align 1, !tbaa !5, !range !9, !noundef !10
  %299 = trunc nuw i8 %298 to i1
  %300 = or i32 %.5, 786432
  %.6 = select i1 %299, i32 %300, i32 %.5
  %301 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8no_close, align 1, !tbaa !5, !range !9, !noundef !10
  %302 = trunc nuw i8 %301 to i1
  %.0437 = select i1 %302, ptr null, ptr %0
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %2, float noundef 5.500000e+02, float noundef 6.800000e+02)
  call void @_ZN5ImGui17SetNextWindowSizeERK6ImVec2i(ptr noundef nonnull align 4 dereferenceable(8) %2, i32 noundef 4)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #12
  %303 = call noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef nonnull @.str.20, ptr noundef %.0437, i32 noundef %.6)
  br i1 %303, label %304, label %3219

304:                                              ; preds = %281
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.22)
  %305 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %306 = fmul float %305, -1.200000e+01
  call void @_ZN5ImGui13PushItemWidthEf(float noundef %306)
  %307 = call noundef zeroext i1 @_ZN5ImGui12BeginMenuBarEv()
  br i1 %307, label %308, label %332

308:                                              ; preds = %304
  %309 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef nonnull @.str.23, i1 noundef zeroext true)
  br i1 %309, label %310, label %311

310:                                              ; preds = %308
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui7EndMenuEv()
  br label %311

311:                                              ; preds = %310, %308
  %312 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef nonnull @.str.24, i1 noundef zeroext true)
  br i1 %312, label %313, label %325

313:                                              ; preds = %311
  %314 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.25, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_main_menu_bar, i1 noundef zeroext true)
  %315 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.26, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_console, i1 noundef zeroext true)
  %316 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.27, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12show_app_log, i1 noundef zeroext true)
  %317 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.28, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE15show_app_layout, i1 noundef zeroext true)
  %318 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.29, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE24show_app_property_editor, i1 noundef zeroext true)
  %319 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.30, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE18show_app_long_text, i1 noundef zeroext true)
  %320 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.31, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE20show_app_auto_resize, i1 noundef zeroext true)
  %321 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.32, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE27show_app_constrained_resize, i1 noundef zeroext true)
  %322 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.33, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE23show_app_simple_overlay, i1 noundef zeroext true)
  %323 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.34, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_window_titles, i1 noundef zeroext true)
  %324 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.35, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE25show_app_custom_rendering, i1 noundef zeroext true)
  call void @_ZN5ImGui7EndMenuEv()
  br label %325

325:                                              ; preds = %313, %311
  %326 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef nonnull @.str.36, i1 noundef zeroext true)
  br i1 %326, label %327, label %331

327:                                              ; preds = %325
  %328 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.37, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_metrics, i1 noundef zeroext true)
  %329 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.15, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE21show_app_style_editor, i1 noundef zeroext true)
  %330 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.16, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE14show_app_about, i1 noundef zeroext true)
  call void @_ZN5ImGui7EndMenuEv()
  br label %331

331:                                              ; preds = %327, %325
  call void @_ZN5ImGui10EndMenuBarEv()
  br label %332

332:                                              ; preds = %331, %304
  call void @_ZN5ImGui7SpacingEv()
  %333 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.36, i32 noundef 0)
  br i1 %333, label %334, label %335

334:                                              ; preds = %332
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.38)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.39)
  call void @_ZN5ImGui13ShowUserGuideEv()
  br label %335

335:                                              ; preds = %334, %332
  %336 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.40, i32 noundef 0)
  br i1 %336, label %337, label %351

337:                                              ; preds = %335
  %338 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.41, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE11no_titlebar)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %339 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.42, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12no_scrollbar)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  %340 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.43, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7no_menu)
  %341 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.44, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7no_move)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %342 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.45, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9no_resize)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  %343 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.46, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE11no_collapse)
  %344 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.47, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE8no_close)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %345 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.48, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE6no_nav)
  %346 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.49)
  br i1 %346, label %347, label %348

347:                                              ; preds = %337
  call void @_ZN5ImGui15ShowStyleEditorEP10ImGuiStyle(ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  br label %348

348:                                              ; preds = %347, %337
  %349 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.50)
  br i1 %349, label %350, label %351

350:                                              ; preds = %348
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.51)
  call void @_ZN5ImGui10LogButtonsEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %351

351:                                              ; preds = %348, %350, %335
  %352 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.52, i32 noundef 0)
  br i1 %352, label %353, label %1689

353:                                              ; preds = %351
  %354 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.53)
  br i1 %354, label %355, label %454

355:                                              ; preds = %353
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %3, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %356 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.54, ptr noundef nonnull align 4 dereferenceable(8) %3)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #12
  %.pre = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7clicked, align 4, !tbaa !11
  br i1 %356, label %357, label %359

357:                                              ; preds = %355
  %358 = add nsw i32 %.pre, 1
  store i32 %358, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7clicked, align 4, !tbaa !11
  br label %359

359:                                              ; preds = %357, %355
  %360 = phi i32 [ %358, %357 ], [ %.pre, %355 ]
  %361 = and i32 %360, 1
  %.not522 = icmp eq i32 %361, 0
  br i1 %.not522, label %.peel.next, label %362

362:                                              ; preds = %359
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.55)
  br label %.peel.next

.peel.next:                                       ; preds = %362, %359
  %363 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.56, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5check)
  %364 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.57, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1e, i32 noundef 0)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %365 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.58, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1e, i32 noundef 1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %366 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.59, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1e, i32 noundef 2)
  %367 = getelementptr inbounds i8, ptr %5, i64 8
  %368 = getelementptr inbounds i8, ptr %4, i64 8
  %369 = getelementptr inbounds i8, ptr %7, i64 8
  %370 = getelementptr inbounds i8, ptr %6, i64 8
  %371 = getelementptr inbounds i8, ptr %9, i64 8
  %372 = getelementptr inbounds i8, ptr %8, i64 8
  call void @_ZN5ImGui6PushIDEi(i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) #12
  %373 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FE3333340000000, float noundef 0x3FE3333340000000, float noundef 1.000000e+00)
  %374 = extractvalue { <2 x float>, <2 x float> } %373, 0
  store <2 x float> %374, ptr %5, align 8
  %375 = extractvalue { <2 x float>, <2 x float> } %373, 1
  store <2 x float> %375, ptr %367, align 8
  %376 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %5)
  %377 = extractvalue { <2 x float>, <2 x float> } %376, 0
  store <2 x float> %377, ptr %4, align 8
  %378 = extractvalue { <2 x float>, <2 x float> } %376, 1
  store <2 x float> %378, ptr %368, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 21, ptr noundef nonnull align 4 dereferenceable(16) %4)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #12
  %379 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FE6666660000000, float noundef 0x3FE6666660000000, float noundef 1.000000e+00)
  %380 = extractvalue { <2 x float>, <2 x float> } %379, 0
  store <2 x float> %380, ptr %7, align 8
  %381 = extractvalue { <2 x float>, <2 x float> } %379, 1
  store <2 x float> %381, ptr %369, align 8
  %382 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %7)
  %383 = extractvalue { <2 x float>, <2 x float> } %382, 0
  store <2 x float> %383, ptr %6, align 8
  %384 = extractvalue { <2 x float>, <2 x float> } %382, 1
  store <2 x float> %384, ptr %370, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 22, ptr noundef nonnull align 4 dereferenceable(16) %6)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #12
  %385 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, float noundef 1.000000e+00)
  %386 = extractvalue { <2 x float>, <2 x float> } %385, 0
  store <2 x float> %386, ptr %9, align 8
  %387 = extractvalue { <2 x float>, <2 x float> } %385, 1
  store <2 x float> %387, ptr %371, align 8
  %388 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %9)
  %389 = extractvalue { <2 x float>, <2 x float> } %388, 0
  store <2 x float> %389, ptr %8, align 8
  %390 = extractvalue { <2 x float>, <2 x float> } %388, 1
  store <2 x float> %390, ptr %372, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 23, ptr noundef nonnull align 4 dereferenceable(16) %8)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %10, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %391 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.60, ptr noundef nonnull align 4 dereferenceable(8) %10)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #12
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 3)
  call void @_ZN5ImGui5PopIDEv()
  br label %396

.loopexit638:                                     ; preds = %396
  %392 = call noundef nonnull align 4 dereferenceable(824) ptr @_ZN5ImGui8GetStyleEv()
  %393 = getelementptr inbounds i8, ptr %392, i64 76
  %394 = load float, ptr %393, align 4, !tbaa !13
  call void @_ZN5ImGui16PushButtonRepeatEb(i1 noundef zeroext true)
  %395 = call noundef zeroext i1 @_ZN5ImGui11ArrowButtonEPKci(ptr noundef nonnull @.str.61, i32 noundef 0)
  br i1 %395, label %419, label %422

396:                                              ; preds = %.peel.next, %396
  %.0439586 = phi i32 [ 1, %.peel.next ], [ %418, %396 ]
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEi(i32 noundef %.0439586)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %4) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) #12
  %397 = uitofp nneg i32 %.0439586 to float
  %398 = fdiv float %397, 7.000000e+00
  %399 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %398, float noundef 0x3FE3333340000000, float noundef 0x3FE3333340000000, float noundef 1.000000e+00)
  %400 = extractvalue { <2 x float>, <2 x float> } %399, 0
  store <2 x float> %400, ptr %5, align 8
  %401 = extractvalue { <2 x float>, <2 x float> } %399, 1
  store <2 x float> %401, ptr %367, align 8
  %402 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %5)
  %403 = extractvalue { <2 x float>, <2 x float> } %402, 0
  store <2 x float> %403, ptr %4, align 8
  %404 = extractvalue { <2 x float>, <2 x float> } %402, 1
  store <2 x float> %404, ptr %368, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 21, ptr noundef nonnull align 4 dereferenceable(16) %4)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %4) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #12
  %405 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %398, float noundef 0x3FE6666660000000, float noundef 0x3FE6666660000000, float noundef 1.000000e+00)
  %406 = extractvalue { <2 x float>, <2 x float> } %405, 0
  store <2 x float> %406, ptr %7, align 8
  %407 = extractvalue { <2 x float>, <2 x float> } %405, 1
  store <2 x float> %407, ptr %369, align 8
  %408 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %7)
  %409 = extractvalue { <2 x float>, <2 x float> } %408, 0
  store <2 x float> %409, ptr %6, align 8
  %410 = extractvalue { <2 x float>, <2 x float> } %408, 1
  store <2 x float> %410, ptr %370, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 22, ptr noundef nonnull align 4 dereferenceable(16) %6)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #12
  %411 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %398, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, float noundef 1.000000e+00)
  %412 = extractvalue { <2 x float>, <2 x float> } %411, 0
  store <2 x float> %412, ptr %9, align 8
  %413 = extractvalue { <2 x float>, <2 x float> } %411, 1
  store <2 x float> %413, ptr %371, align 8
  %414 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %9)
  %415 = extractvalue { <2 x float>, <2 x float> } %414, 0
  store <2 x float> %415, ptr %8, align 8
  %416 = extractvalue { <2 x float>, <2 x float> } %414, 1
  store <2 x float> %416, ptr %372, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 23, ptr noundef nonnull align 4 dereferenceable(16) %8)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %10, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %417 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.60, ptr noundef nonnull align 4 dereferenceable(8) %10)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #12
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 3)
  call void @_ZN5ImGui5PopIDEv()
  %418 = add nuw nsw i32 %.0439586, 1
  %exitcond.not = icmp eq i32 %418, 7
  br i1 %exitcond.not, label %.loopexit638, label %396, !llvm.loop !17

419:                                              ; preds = %.loopexit638
  %420 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !11
  %421 = add nsw i32 %420, -1
  store i32 %421, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !11
  br label %422

422:                                              ; preds = %419, %.loopexit638
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %394)
  %423 = call noundef zeroext i1 @_ZN5ImGui11ArrowButtonEPKci(ptr noundef nonnull @.str.62, i32 noundef 1)
  br i1 %423, label %424, label %427

424:                                              ; preds = %422
  %425 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !11
  %426 = add nsw i32 %425, 1
  store i32 %426, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !11
  br label %427

427:                                              ; preds = %424, %422
  call void @_ZN5ImGui15PopButtonRepeatEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %428 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !11
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.63, i32 noundef %428)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.64)
  %429 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %429, label %430, label %431

430:                                              ; preds = %427
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.65)
  br label %431

431:                                              ; preds = %430, %427
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.66)
  %432 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %432, label %433, label %435

433:                                              ; preds = %431
  call void @_ZN5ImGui12BeginTooltipEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.67)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %11, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %434 = load <2 x float>, ptr %11, align 8
  call void @_ZN5ImGui9PlotLinesEPKcPKfiiS1_ff6ImVec2i(ptr noundef nonnull @.str.68, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3arr, i32 noundef 7, i32 noundef 0, ptr noundef null, float noundef 0x47EFFFFFE0000000, float noundef 0x47EFFFFFE0000000, <2 x float> %434, i32 noundef 4)
  call void @_ZN5ImGui10EndTooltipEv()
  br label %435

435:                                              ; preds = %433, %431
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ptr, ...) @_ZN5ImGui9LabelTextEPKcS1_z(ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.70)
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %12) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(112) %12, ptr noundef nonnull align 16 dereferenceable(112) @__const._ZN5ImGui14ShowDemoWindowEPb.items, i64 112, i1 false)
  %436 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef nonnull @.str.85, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12item_current, ptr noundef nonnull %12, i32 noundef 14, i32 noundef -1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.86)
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %12) #12
  %437 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.87, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4str0, i64 noundef 128, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.88)
  %438 = call noundef zeroext i1 @_ZN5ImGui8InputIntEPKcPiiii(ptr noundef nonnull @.str.89, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2i0, i32 noundef 1, i32 noundef 100, i32 noundef 0)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.90)
  %439 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef nonnull @.str.91, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f0, float noundef 0x3F847AE140000000, float noundef 1.000000e+00, ptr noundef nonnull @.str.92, i32 noundef 0)
  %440 = call noundef zeroext i1 @_ZN5ImGui11InputDoubleEPKcPdddS1_i(ptr noundef nonnull @.str.93, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2d0, double noundef 0x3F847AE140000000, double noundef 1.000000e+00, ptr noundef nonnull @.str.94, i32 noundef 0)
  %441 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef nonnull @.str.95, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f1, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.96, i32 noundef 0)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.97)
  %442 = call noundef zeroext i1 @_ZN5ImGui11InputFloat3EPKcPfS1_i(ptr noundef nonnull @.str.98, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4a, ptr noundef nonnull @.str.92, i32 noundef 0)
  %443 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef nonnull @.str.99, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2i1, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.63)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.100)
  %444 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef nonnull @.str.101, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2i2, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 100, ptr noundef nonnull @.str.102)
  %445 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.103, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f1_0, float noundef 0x3F747AE140000000, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  %446 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.104, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f2, float noundef 0x3F1A36E2E0000000, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.105, float noundef 1.000000e+00)
  %447 = call noundef zeroext i1 @_ZN5ImGui9SliderIntEPKcPiiiS1_(ptr noundef nonnull @.str.106, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2i1_0, i32 noundef -1, i32 noundef 3, ptr noundef nonnull @.str.63)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.107)
  %448 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef nonnull @.str.108, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f1_1, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.109, float noundef 1.000000e+00)
  %449 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef nonnull @.str.110, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f2_0, float noundef -1.000000e+01, float noundef 1.000000e+01, ptr noundef nonnull @.str.111, float noundef 2.000000e+00)
  %450 = call noundef zeroext i1 @_ZN5ImGui11SliderAngleEPKcPfff(ptr noundef nonnull @.str.112, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5angle, float noundef -3.600000e+02, float noundef 3.600000e+02)
  %451 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit3EPKcPfi(ptr noundef nonnull @.str.113, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4col1, i32 noundef 0)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.114)
  %452 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.115, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4col2, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %13) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(72) %13, ptr noundef nonnull align 16 dereferenceable(72) @__const._ZN5ImGui14ShowDemoWindowEPb.listbox_items, i64 72, i1 false)
  %453 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef nonnull @.str.125, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE20listbox_item_current, ptr noundef nonnull %13, i32 noundef 9, i32 noundef 4)
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %13) #12
  call void @_ZN5ImGui7TreePopEv()
  br label %454

454:                                              ; preds = %435, %353
  %455 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.126)
  br i1 %455, label %456, label %538

456:                                              ; preds = %454
  %457 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.127)
  br i1 %457, label %.preheader585.preheader, label %474

.preheader585.preheader:                          ; preds = %456
  %458 = call noundef zeroext i1 (ptr, ptr, ...) @_ZN5ImGui8TreeNodeEPKvPKcz(ptr noundef null, ptr noundef nonnull @.str.128, i32 noundef 0)
  br i1 %458, label %459, label %.preheader585.1

459:                                              ; preds = %.preheader585.preheader
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.129)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %460 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.130)
  call void @_ZN5ImGui7TreePopEv()
  br label %.preheader585.1

.preheader585.1:                                  ; preds = %.preheader585.preheader, %459
  %461 = call noundef zeroext i1 (ptr, ptr, ...) @_ZN5ImGui8TreeNodeEPKvPKcz(ptr noundef nonnull inttoptr (i64 1 to ptr), ptr noundef nonnull @.str.128, i32 noundef 1)
  br i1 %461, label %462, label %.preheader585.2

462:                                              ; preds = %.preheader585.1
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.129)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %463 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.130)
  call void @_ZN5ImGui7TreePopEv()
  br label %.preheader585.2

.preheader585.2:                                  ; preds = %462, %.preheader585.1
  %464 = call noundef zeroext i1 (ptr, ptr, ...) @_ZN5ImGui8TreeNodeEPKvPKcz(ptr noundef nonnull inttoptr (i64 2 to ptr), ptr noundef nonnull @.str.128, i32 noundef 2)
  br i1 %464, label %465, label %.preheader585.3

465:                                              ; preds = %.preheader585.2
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.129)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %466 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.130)
  call void @_ZN5ImGui7TreePopEv()
  br label %.preheader585.3

.preheader585.3:                                  ; preds = %465, %.preheader585.2
  %467 = call noundef zeroext i1 (ptr, ptr, ...) @_ZN5ImGui8TreeNodeEPKvPKcz(ptr noundef nonnull inttoptr (i64 3 to ptr), ptr noundef nonnull @.str.128, i32 noundef 3)
  br i1 %467, label %468, label %.preheader585.4

468:                                              ; preds = %.preheader585.3
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.129)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %469 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.130)
  call void @_ZN5ImGui7TreePopEv()
  br label %.preheader585.4

.preheader585.4:                                  ; preds = %468, %.preheader585.3
  %470 = call noundef zeroext i1 (ptr, ptr, ...) @_ZN5ImGui8TreeNodeEPKvPKcz(ptr noundef nonnull inttoptr (i64 4 to ptr), ptr noundef nonnull @.str.128, i32 noundef 4)
  br i1 %470, label %471, label %473

471:                                              ; preds = %.preheader585.4
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.129)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %472 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.130)
  call void @_ZN5ImGui7TreePopEv()
  br label %473

473:                                              ; preds = %471, %.preheader585.4
  call void @_ZN5ImGui7TreePopEv()
  br label %474

474:                                              ; preds = %473, %456
  %475 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.131)
  br i1 %475, label %476, label %537

476:                                              ; preds = %474
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.132)
  %477 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.133, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.134)
  %478 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position, align 1, !tbaa !5, !range !9, !noundef !10
  %479 = trunc nuw i8 %478 to i1
  br i1 %479, label %480, label %482

480:                                              ; preds = %476
  %481 = call noundef float @_ZN5ImGui25GetTreeNodeToLabelSpacingEv()
  call void @_ZN5ImGui8UnindentEf(float noundef %481)
  br label %482

482:                                              ; preds = %476, %480
  %483 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %484 = fmul float %483, 3.000000e+00
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 15, float noundef %484)
  %485 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !11
  %486 = and i32 %485, 1
  %487 = or disjoint i32 %486, 192
  %488 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef null, i32 noundef %487, ptr noundef nonnull @.str.135, i32 noundef 0)
  %489 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  %not.844 = xor i1 %489, true
  %spec.select556 = sext i1 %not.844 to i32
  br i1 %488, label %490, label %491

490:                                              ; preds = %482
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.136)
  call void @_ZN5ImGui7TreePopEv()
  br label %491

491:                                              ; preds = %490, %482
  %492 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !11
  %493 = lshr i32 %492, 1
  %494 = and i32 %493, 1
  %495 = or disjoint i32 %494, 192
  %496 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef nonnull inttoptr (i64 1 to ptr), i32 noundef %495, ptr noundef nonnull @.str.135, i32 noundef 1)
  %497 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  %spec.select556.1 = select i1 %497, i32 1, i32 %spec.select556
  br i1 %496, label %498, label %499

498:                                              ; preds = %491
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.136)
  call void @_ZN5ImGui7TreePopEv()
  br label %499

499:                                              ; preds = %491, %498
  %500 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !11
  %501 = lshr i32 %500, 2
  %502 = and i32 %501, 1
  %503 = or disjoint i32 %502, 192
  %504 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef nonnull inttoptr (i64 2 to ptr), i32 noundef %503, ptr noundef nonnull @.str.135, i32 noundef 2)
  %505 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  %spec.select556.2 = select i1 %505, i32 2, i32 %spec.select556.1
  br i1 %504, label %506, label %507

506:                                              ; preds = %499
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.136)
  call void @_ZN5ImGui7TreePopEv()
  br label %507

507:                                              ; preds = %506, %499
  %508 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !11
  %509 = lshr i32 %508, 3
  %510 = and i32 %509, 1
  %511 = or disjoint i32 %510, 456
  %512 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef nonnull inttoptr (i64 3 to ptr), i32 noundef %511, ptr noundef nonnull @.str.137, i32 noundef 3)
  %513 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  %spec.select557.3 = select i1 %513, i32 3, i32 %spec.select556.2
  %.pre790 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !11
  %514 = lshr i32 %.pre790, 4
  %515 = and i32 %514, 1
  %516 = or disjoint i32 %515, 456
  %517 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef nonnull inttoptr (i64 4 to ptr), i32 noundef %516, ptr noundef nonnull @.str.137, i32 noundef 4)
  %518 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  %spec.select557.4 = select i1 %518, i32 4, i32 %spec.select557.3
  %.pre792 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !11
  %519 = lshr i32 %.pre792, 5
  %520 = and i32 %519, 1
  %521 = or disjoint i32 %520, 456
  %522 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef nonnull inttoptr (i64 5 to ptr), i32 noundef %521, ptr noundef nonnull @.str.137, i32 noundef 5)
  %523 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  %spec.select557.5 = select i1 %523, i32 5, i32 %spec.select557.4
  %.not523 = icmp eq i32 %spec.select557.5, -1
  br i1 %.not523, label %531, label %.sink.split

.sink.split:                                      ; preds = %507
  %524 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %525 = getelementptr inbounds i8, ptr %524, i64 281
  %526 = load i8, ptr %525, align 1, !tbaa !20, !range !9, !noundef !10
  %527 = trunc nuw i8 %526 to i1
  %528 = shl nuw nsw i32 1, %spec.select557.5
  %529 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4
  %530 = select i1 %527, i32 %529, i32 0
  %.sink = xor i32 %528, %530
  store i32 %.sink, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !11
  br label %531

531:                                              ; preds = %.sink.split, %507
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  %532 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position, align 1, !tbaa !5, !range !9, !noundef !10
  %533 = trunc nuw i8 %532 to i1
  br i1 %533, label %534, label %536

534:                                              ; preds = %531
  %535 = call noundef float @_ZN5ImGui25GetTreeNodeToLabelSpacingEv()
  call void @_ZN5ImGui6IndentEf(float noundef %535)
  br label %536

536:                                              ; preds = %534, %531
  call void @_ZN5ImGui7TreePopEv()
  br label %537

537:                                              ; preds = %536, %474
  call void @_ZN5ImGui7TreePopEv()
  br label %538

538:                                              ; preds = %537, %454
  %539 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.138)
  br i1 %539, label %540, label %548

540:                                              ; preds = %538
  %541 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.139, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE14closable_group)
  %542 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.140, i32 noundef 0)
  br i1 %542, label %.loopexit584.loopexit, label %.loopexit584

.loopexit584.loopexit:                            ; preds = %540
  %543 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %544 = zext i1 %543 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.141, i32 noundef %544)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.142, i32 noundef 0)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.142, i32 noundef 1)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.142, i32 noundef 2)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.142, i32 noundef 3)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.142, i32 noundef 4)
  br label %.loopexit584

.loopexit584:                                     ; preds = %.loopexit584.loopexit, %540
  %545 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKcPbi(ptr noundef nonnull @.str.143, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE14closable_group, i32 noundef 0)
  br i1 %545, label %.loopexit583.loopexit, label %.loopexit583

.loopexit583.loopexit:                            ; preds = %.loopexit584
  %546 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %547 = zext i1 %546 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.141, i32 noundef %547)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.144, i32 noundef 0)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.144, i32 noundef 1)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.144, i32 noundef 2)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.144, i32 noundef 3)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.144, i32 noundef 4)
  br label %.loopexit583

.loopexit583:                                     ; preds = %.loopexit583.loopexit, %.loopexit584
  call void @_ZN5ImGui7TreePopEv()
  br label %548

548:                                              ; preds = %.loopexit583, %538
  %549 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.145)
  br i1 %549, label %550, label %552

550:                                              ; preds = %548
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.146)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.147)
  call void @_ZN5ImGui6BulletEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.148)
  call void @_ZN5ImGui6BulletEv()
  %551 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.54)
  call void @_ZN5ImGui7TreePopEv()
  br label %552

552:                                              ; preds = %550, %548
  %553 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.149)
  br i1 %553, label %554, label %598

554:                                              ; preds = %552
  %555 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.150)
  br i1 %555, label %556, label %557

556:                                              ; preds = %554
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #12
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %14, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00, float noundef 1.000000e+00)
  call void (ptr, ptr, ...) @_ZN5ImGui11TextColoredERK6ImVec4PKcz(ptr noundef nonnull align 4 dereferenceable(16) %14, ptr noundef nonnull @.str.151)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #12
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %15, float noundef 1.000000e+00, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
  call void (ptr, ptr, ...) @_ZN5ImGui11TextColoredERK6ImVec4PKcz(ptr noundef nonnull align 4 dereferenceable(16) %15, ptr noundef nonnull @.str.152)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #12
  call void (ptr, ...) @_ZN5ImGui12TextDisabledEPKcz(ptr noundef nonnull @.str.153)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.154)
  call void @_ZN5ImGui7TreePopEv()
  br label %557

557:                                              ; preds = %556, %554
  %558 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.155)
  br i1 %558, label %559, label %593

559:                                              ; preds = %557
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.156)
  call void @_ZN5ImGui7SpacingEv()
  %560 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef nonnull @.str.157, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, float noundef -2.000000e+01, float noundef 6.000000e+02, ptr noundef nonnull @.str.158, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.159)
  %561 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  %562 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #12
  %.sroa.0380.0.vec.extract = extractelement <2 x float> %561, i64 0
  %563 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !23
  %564 = fadd float %.sroa.0380.0.vec.extract, %563
  %.sroa.0380.4.vec.extract = extractelement <2 x float> %561, i64 1
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %16, float noundef %564, float noundef %.sroa.0380.4.vec.extract)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #12
  %565 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !23
  %566 = fadd float %.sroa.0380.0.vec.extract, %565
  %567 = fadd float %566, 1.000000e+01
  %568 = call noundef float @_ZN5ImGui17GetTextLineHeightEv()
  %569 = fadd float %.sroa.0380.4.vec.extract, %568
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %17, float noundef %567, float noundef %569)
  call void @_ZN10ImDrawList13AddRectFilledERK6ImVec2S2_jfi(ptr noundef nonnull align 8 dereferenceable(168) %562, ptr noundef nonnull align 4 dereferenceable(8) %16, ptr noundef nonnull align 4 dereferenceable(8) %17, i32 noundef -65281, float noundef 0.000000e+00, i32 noundef 15)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #12
  %570 = call <2 x float> @_ZN5ImGui12GetCursorPosEv()
  %.sroa.0379.0.vec.extract = extractelement <2 x float> %570, i64 0
  %571 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !23
  %572 = fadd float %.sroa.0379.0.vec.extract, %571
  call void @_ZN5ImGui15PushTextWrapPosEf(float noundef %572)
  %573 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !23
  %574 = fpext float %573 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.160, double noundef %574)
  %575 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #12
  %576 = call <2 x float> @_ZN5ImGui14GetItemRectMinEv()
  store <2 x float> %576, ptr %18, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #12
  %577 = call <2 x float> @_ZN5ImGui14GetItemRectMaxEv()
  store <2 x float> %577, ptr %19, align 8
  call void @_ZN10ImDrawList7AddRectERK6ImVec2S2_jfif(ptr noundef nonnull align 8 dereferenceable(168) %575, ptr noundef nonnull align 4 dereferenceable(8) %18, ptr noundef nonnull align 4 dereferenceable(8) %19, i32 noundef -16711681, float noundef 0.000000e+00, i32 noundef 15, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #12
  call void @_ZN5ImGui14PopTextWrapPosEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.161)
  %578 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  %579 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #12
  %.sroa.0380.0.vec.extract384 = extractelement <2 x float> %578, i64 0
  %580 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !23
  %581 = fadd float %.sroa.0380.0.vec.extract384, %580
  %.sroa.0380.4.vec.extract390 = extractelement <2 x float> %578, i64 1
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %20, float noundef %581, float noundef %.sroa.0380.4.vec.extract390)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #12
  %582 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !23
  %583 = fadd float %.sroa.0380.0.vec.extract384, %582
  %584 = fadd float %583, 1.000000e+01
  %585 = call noundef float @_ZN5ImGui17GetTextLineHeightEv()
  %586 = fadd float %.sroa.0380.4.vec.extract390, %585
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %21, float noundef %584, float noundef %586)
  call void @_ZN10ImDrawList13AddRectFilledERK6ImVec2S2_jfi(ptr noundef nonnull align 8 dereferenceable(168) %579, ptr noundef nonnull align 4 dereferenceable(8) %20, ptr noundef nonnull align 4 dereferenceable(8) %21, i32 noundef -65281, float noundef 0.000000e+00, i32 noundef 15)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #12
  %587 = call <2 x float> @_ZN5ImGui12GetCursorPosEv()
  %.sroa.0377.0.vec.extract = extractelement <2 x float> %587, i64 0
  %588 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !23
  %589 = fadd float %.sroa.0377.0.vec.extract, %588
  call void @_ZN5ImGui15PushTextWrapPosEf(float noundef %589)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.162)
  %590 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #12
  %591 = call <2 x float> @_ZN5ImGui14GetItemRectMinEv()
  store <2 x float> %591, ptr %22, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #12
  %592 = call <2 x float> @_ZN5ImGui14GetItemRectMaxEv()
  store <2 x float> %592, ptr %23, align 8
  call void @_ZN10ImDrawList7AddRectERK6ImVec2S2_jfif(ptr noundef nonnull align 8 dereferenceable(168) %590, ptr noundef nonnull align 4 dereferenceable(8) %22, ptr noundef nonnull align 4 dereferenceable(8) %23, i32 noundef -16711681, float noundef 0.000000e+00, i32 noundef 15, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #12
  call void @_ZN5ImGui14PopTextWrapPosEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %593

593:                                              ; preds = %559, %557
  %594 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.163)
  br i1 %594, label %595, label %597

595:                                              ; preds = %593
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.164)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.165)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.166)
  %596 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.167, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  br label %597

597:                                              ; preds = %595, %593
  call void @_ZN5ImGui7TreePopEv()
  br label %598

598:                                              ; preds = %597, %552
  %599 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.168)
  br i1 %599, label %600, label %680

600:                                              ; preds = %598
  %601 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.169)
  %602 = getelementptr inbounds i8, ptr %601, i64 152
  %603 = load ptr, ptr %602, align 8, !tbaa !24
  %604 = getelementptr inbounds i8, ptr %603, i64 8
  %605 = load ptr, ptr %604, align 8, !tbaa !25
  %606 = getelementptr inbounds i8, ptr %603, i64 40
  %607 = load i32, ptr %606, align 8, !tbaa !30
  %608 = sitofp i32 %607 to float
  %609 = getelementptr inbounds i8, ptr %603, i64 44
  %610 = load i32, ptr %609, align 4, !tbaa !31
  %611 = sitofp i32 %610 to float
  %612 = fpext float %608 to double
  %613 = fpext float %611 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.170, double noundef %612, double noundef %613)
  %614 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %24, float noundef %608, float noundef %611)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %25, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %26, float noundef 1.000000e+00, float noundef 1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #12
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %28, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 255)
  %615 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %28)
  %616 = extractvalue { <2 x float>, <2 x float> } %615, 0
  store <2 x float> %616, ptr %27, align 8
  %617 = getelementptr inbounds i8, ptr %27, i64 8
  %618 = extractvalue { <2 x float>, <2 x float> } %615, 1
  store <2 x float> %618, ptr %617, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #12
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %30, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 128)
  %619 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %30)
  %620 = extractvalue { <2 x float>, <2 x float> } %619, 0
  store <2 x float> %620, ptr %29, align 8
  %621 = getelementptr inbounds i8, ptr %29, i64 8
  %622 = extractvalue { <2 x float>, <2 x float> } %619, 1
  store <2 x float> %622, ptr %621, align 8
  call void @_ZN5ImGui5ImageEPvRK6ImVec2S3_S3_RK6ImVec4S6_(ptr noundef %605, ptr noundef nonnull align 4 dereferenceable(8) %24, ptr noundef nonnull align 4 dereferenceable(8) %25, ptr noundef nonnull align 4 dereferenceable(8) %26, ptr noundef nonnull align 4 dereferenceable(16) %27, ptr noundef nonnull align 4 dereferenceable(16) %29)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #12
  %623 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %623, label %624, label %663

624:                                              ; preds = %600
  call void @_ZN5ImGui12BeginTooltipEv()
  %625 = getelementptr inbounds i8, ptr %601, i64 256
  %626 = load float, ptr %625, align 8, !tbaa !32
  %.sroa.0354.0.vec.extract = extractelement <2 x float> %614, i64 0
  %627 = fsub float %626, %.sroa.0354.0.vec.extract
  %628 = fadd float %627, -1.600000e+01
  %629 = fcmp olt float %628, 0.000000e+00
  br i1 %629, label %634, label %630

630:                                              ; preds = %624
  %631 = fadd float %608, -3.200000e+01
  %632 = fcmp ogt float %628, %631
  br i1 %632, label %633, label %634

633:                                              ; preds = %630
  br label %634

634:                                              ; preds = %624, %630, %633
  %.0467 = phi float [ %631, %633 ], [ %628, %630 ], [ 0.000000e+00, %624 ]
  %635 = getelementptr inbounds i8, ptr %601, i64 260
  %636 = load float, ptr %635, align 4, !tbaa !33
  %.sroa.0354.4.vec.extract = extractelement <2 x float> %614, i64 1
  %637 = fsub float %636, %.sroa.0354.4.vec.extract
  %638 = fadd float %637, -1.600000e+01
  %639 = fcmp olt float %638, 0.000000e+00
  br i1 %639, label %644, label %640

640:                                              ; preds = %634
  %641 = fadd float %611, -3.200000e+01
  %642 = fcmp ogt float %638, %641
  br i1 %642, label %643, label %644

643:                                              ; preds = %640
  br label %644

644:                                              ; preds = %634, %640, %643
  %.0469 = phi float [ %641, %643 ], [ %638, %640 ], [ 0.000000e+00, %634 ]
  %645 = fpext float %.0467 to double
  %646 = fpext float %.0469 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.171, double noundef %645, double noundef %646)
  %647 = fadd float %.0467, 3.200000e+01
  %648 = fpext float %647 to double
  %649 = fadd float %.0469, 3.200000e+01
  %650 = fpext float %649 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.172, double noundef %648, double noundef %650)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #12
  %651 = fdiv float %.0467, %608
  %652 = fdiv float %.0469, %611
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %31, float noundef %651, float noundef %652)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #12
  %653 = fdiv float %647, %608
  %654 = fdiv float %649, %611
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %32, float noundef %653, float noundef %654)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %33, float noundef 1.280000e+02, float noundef 1.280000e+02)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) #12
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %35, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 255)
  %655 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %35)
  %656 = extractvalue { <2 x float>, <2 x float> } %655, 0
  store <2 x float> %656, ptr %34, align 8
  %657 = getelementptr inbounds i8, ptr %34, i64 8
  %658 = extractvalue { <2 x float>, <2 x float> } %655, 1
  store <2 x float> %658, ptr %657, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %36) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %37) #12
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %37, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 128)
  %659 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %37)
  %660 = extractvalue { <2 x float>, <2 x float> } %659, 0
  store <2 x float> %660, ptr %36, align 8
  %661 = getelementptr inbounds i8, ptr %36, i64 8
  %662 = extractvalue { <2 x float>, <2 x float> } %659, 1
  store <2 x float> %662, ptr %661, align 8
  call void @_ZN5ImGui5ImageEPvRK6ImVec2S3_S3_RK6ImVec4S6_(ptr noundef %605, ptr noundef nonnull align 4 dereferenceable(8) %33, ptr noundef nonnull align 4 dereferenceable(8) %31, ptr noundef nonnull align 4 dereferenceable(8) %32, ptr noundef nonnull align 4 dereferenceable(16) %34, ptr noundef nonnull align 4 dereferenceable(16) %36)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #12
  call void @_ZN5ImGui10EndTooltipEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #12
  br label %663

663:                                              ; preds = %644, %600
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.173)
  %664 = fdiv float 3.200000e+01, %608
  %665 = fdiv float 3.200000e+01, %611
  %666 = getelementptr inbounds i8, ptr %41, i64 8
  br label %669

667:                                              ; preds = %678
  call void @_ZN5ImGui7NewLineEv()
  %668 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count, align 4, !tbaa !11
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.174, i32 noundef %668)
  call void @_ZN5ImGui7TreePopEv()
  br label %680

669:                                              ; preds = %663, %678
  %.0477592 = phi i32 [ 0, %663 ], [ %679, %678 ]
  call void @_ZN5ImGui6PushIDEi(i32 noundef %.0477592)
  %670 = add nsw i32 %.0477592, -1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %38, float noundef 3.200000e+01, float noundef 3.200000e+01)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %39, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %40, float noundef %664, float noundef %665)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %42) #12
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %42, i32 noundef 0, i32 noundef 0, i32 noundef 0, i32 noundef 255)
  %671 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %42)
  %672 = extractvalue { <2 x float>, <2 x float> } %671, 0
  store <2 x float> %672, ptr %41, align 8
  %673 = extractvalue { <2 x float>, <2 x float> } %671, 1
  store <2 x float> %673, ptr %666, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %43) #12
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %43, float noundef 1.000000e+00, float noundef 1.000000e+00, float noundef 1.000000e+00, float noundef 1.000000e+00)
  %674 = call noundef zeroext i1 @_ZN5ImGui11ImageButtonEPvRK6ImVec2S3_S3_iRK6ImVec4S6_(ptr noundef %605, ptr noundef nonnull align 4 dereferenceable(8) %38, ptr noundef nonnull align 4 dereferenceable(8) %39, ptr noundef nonnull align 4 dereferenceable(8) %40, i32 noundef %670, ptr noundef nonnull align 4 dereferenceable(16) %41, ptr noundef nonnull align 4 dereferenceable(16) %43)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #12
  br i1 %674, label %675, label %678

675:                                              ; preds = %669
  %676 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count, align 4, !tbaa !11
  %677 = add nsw i32 %676, 1
  store i32 %677, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count, align 4, !tbaa !11
  br label %678

678:                                              ; preds = %675, %669
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %679 = add nuw nsw i32 %.0477592, 1
  %exitcond645.not = icmp eq i32 %679, 8
  br i1 %exitcond645.not, label %667, label %669, !llvm.loop !34

680:                                              ; preds = %667, %598
  %681 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.175)
  br i1 %681, label %682, label %834

682:                                              ; preds = %680
  %683 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.176, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5flags, i32 noundef 1)
  %684 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.177, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5flags, i32 noundef 32)
  br i1 %684, label %685, label %688

685:                                              ; preds = %682
  %686 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !11
  %687 = and i32 %686, -65
  store i32 %687, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !11
  br label %688

688:                                              ; preds = %685, %682
  %689 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.178, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5flags, i32 noundef 64)
  br i1 %689, label %690, label %693

690:                                              ; preds = %688
  %691 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !11
  %692 = and i32 %691, -33
  store i32 %692, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !11
  br label %693

693:                                              ; preds = %690, %688
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %44) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(112) %44, ptr noundef nonnull align 16 dereferenceable(112) @__const._ZN5ImGui14ShowDemoWindowEPb.items.179, i64 112, i1 false)
  %694 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12item_current_0 acquire, align 8
  %695 = icmp eq i8 %694, 0
  br i1 %695, label %696, label %700, !prof !35

696:                                              ; preds = %693
  %697 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE12item_current_0) #12
  %.not524 = icmp eq i32 %697, 0
  br i1 %.not524, label %700, label %698

698:                                              ; preds = %696
  %699 = load ptr, ptr %44, align 16, !tbaa !36
  store ptr %699, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  call void @__cxa_guard_release(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE12item_current_0) #12
  br label %700

700:                                              ; preds = %698, %696, %693
  %701 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %702 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !11
  %703 = call noundef zeroext i1 @_ZN5ImGui10BeginComboEPKcS1_i(ptr noundef nonnull @.str.180, ptr noundef %701, i32 noundef %702)
  br i1 %703, label %.preheader582.preheader, label %830

.preheader582.preheader:                          ; preds = %700
  %704 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %705 = load ptr, ptr %44, align 16, !tbaa !36
  %706 = icmp eq ptr %704, %705
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %707 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %705, i1 noundef zeroext %706, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br i1 %707, label %708, label %710

708:                                              ; preds = %.preheader582.preheader
  %709 = load ptr, ptr %44, align 16, !tbaa !36
  store ptr %709, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  br label %710

710:                                              ; preds = %708, %.preheader582.preheader
  br i1 %706, label %711, label %.preheader582.1

711:                                              ; preds = %710
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader582.1

.preheader582.1:                                  ; preds = %711, %710
  %712 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %713 = getelementptr inbounds i8, ptr %44, i64 8
  %714 = load ptr, ptr %713, align 8, !tbaa !36
  %715 = icmp eq ptr %712, %714
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %716 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %714, i1 noundef zeroext %715, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br i1 %716, label %717, label %719

717:                                              ; preds = %.preheader582.1
  %718 = load ptr, ptr %713, align 8, !tbaa !36
  store ptr %718, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  br label %719

719:                                              ; preds = %717, %.preheader582.1
  br i1 %715, label %720, label %.preheader582.2

720:                                              ; preds = %719
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader582.2

.preheader582.2:                                  ; preds = %720, %719
  %721 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %722 = getelementptr inbounds i8, ptr %44, i64 16
  %723 = load ptr, ptr %722, align 16, !tbaa !36
  %724 = icmp eq ptr %721, %723
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %725 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %723, i1 noundef zeroext %724, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br i1 %725, label %726, label %728

726:                                              ; preds = %.preheader582.2
  %727 = load ptr, ptr %722, align 16, !tbaa !36
  store ptr %727, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  br label %728

728:                                              ; preds = %726, %.preheader582.2
  br i1 %724, label %729, label %.preheader582.3

729:                                              ; preds = %728
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader582.3

.preheader582.3:                                  ; preds = %729, %728
  %730 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %731 = getelementptr inbounds i8, ptr %44, i64 24
  %732 = load ptr, ptr %731, align 8, !tbaa !36
  %733 = icmp eq ptr %730, %732
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %734 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %732, i1 noundef zeroext %733, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br i1 %734, label %735, label %737

735:                                              ; preds = %.preheader582.3
  %736 = load ptr, ptr %731, align 8, !tbaa !36
  store ptr %736, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  br label %737

737:                                              ; preds = %735, %.preheader582.3
  br i1 %733, label %738, label %.preheader582.4

738:                                              ; preds = %737
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader582.4

.preheader582.4:                                  ; preds = %738, %737
  %739 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %740 = getelementptr inbounds i8, ptr %44, i64 32
  %741 = load ptr, ptr %740, align 16, !tbaa !36
  %742 = icmp eq ptr %739, %741
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %743 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %741, i1 noundef zeroext %742, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br i1 %743, label %744, label %746

744:                                              ; preds = %.preheader582.4
  %745 = load ptr, ptr %740, align 16, !tbaa !36
  store ptr %745, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  br label %746

746:                                              ; preds = %744, %.preheader582.4
  br i1 %742, label %747, label %.preheader582.5

747:                                              ; preds = %746
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader582.5

.preheader582.5:                                  ; preds = %747, %746
  %748 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %749 = getelementptr inbounds i8, ptr %44, i64 40
  %750 = load ptr, ptr %749, align 8, !tbaa !36
  %751 = icmp eq ptr %748, %750
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %752 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %750, i1 noundef zeroext %751, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br i1 %752, label %753, label %755

753:                                              ; preds = %.preheader582.5
  %754 = load ptr, ptr %749, align 8, !tbaa !36
  store ptr %754, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  br label %755

755:                                              ; preds = %753, %.preheader582.5
  br i1 %751, label %756, label %.preheader582.6

756:                                              ; preds = %755
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader582.6

.preheader582.6:                                  ; preds = %756, %755
  %757 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %758 = getelementptr inbounds i8, ptr %44, i64 48
  %759 = load ptr, ptr %758, align 16, !tbaa !36
  %760 = icmp eq ptr %757, %759
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %761 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %759, i1 noundef zeroext %760, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br i1 %761, label %762, label %764

762:                                              ; preds = %.preheader582.6
  %763 = load ptr, ptr %758, align 16, !tbaa !36
  store ptr %763, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  br label %764

764:                                              ; preds = %762, %.preheader582.6
  br i1 %760, label %765, label %.preheader582.7

765:                                              ; preds = %764
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader582.7

.preheader582.7:                                  ; preds = %765, %764
  %766 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %767 = getelementptr inbounds i8, ptr %44, i64 56
  %768 = load ptr, ptr %767, align 8, !tbaa !36
  %769 = icmp eq ptr %766, %768
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %770 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %768, i1 noundef zeroext %769, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br i1 %770, label %771, label %773

771:                                              ; preds = %.preheader582.7
  %772 = load ptr, ptr %767, align 8, !tbaa !36
  store ptr %772, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  br label %773

773:                                              ; preds = %771, %.preheader582.7
  br i1 %769, label %774, label %.preheader582.8

774:                                              ; preds = %773
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader582.8

.preheader582.8:                                  ; preds = %774, %773
  %775 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %776 = getelementptr inbounds i8, ptr %44, i64 64
  %777 = load ptr, ptr %776, align 16, !tbaa !36
  %778 = icmp eq ptr %775, %777
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %779 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %777, i1 noundef zeroext %778, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br i1 %779, label %780, label %782

780:                                              ; preds = %.preheader582.8
  %781 = load ptr, ptr %776, align 16, !tbaa !36
  store ptr %781, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  br label %782

782:                                              ; preds = %780, %.preheader582.8
  br i1 %778, label %783, label %.preheader582.9

783:                                              ; preds = %782
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader582.9

.preheader582.9:                                  ; preds = %783, %782
  %784 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %785 = getelementptr inbounds i8, ptr %44, i64 72
  %786 = load ptr, ptr %785, align 8, !tbaa !36
  %787 = icmp eq ptr %784, %786
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %788 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %786, i1 noundef zeroext %787, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br i1 %788, label %789, label %791

789:                                              ; preds = %.preheader582.9
  %790 = load ptr, ptr %785, align 8, !tbaa !36
  store ptr %790, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  br label %791

791:                                              ; preds = %789, %.preheader582.9
  br i1 %787, label %792, label %.preheader582.10

792:                                              ; preds = %791
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader582.10

.preheader582.10:                                 ; preds = %792, %791
  %793 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %794 = getelementptr inbounds i8, ptr %44, i64 80
  %795 = load ptr, ptr %794, align 16, !tbaa !36
  %796 = icmp eq ptr %793, %795
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %797 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %795, i1 noundef zeroext %796, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br i1 %797, label %798, label %800

798:                                              ; preds = %.preheader582.10
  %799 = load ptr, ptr %794, align 16, !tbaa !36
  store ptr %799, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  br label %800

800:                                              ; preds = %798, %.preheader582.10
  br i1 %796, label %801, label %.preheader582.11

801:                                              ; preds = %800
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader582.11

.preheader582.11:                                 ; preds = %801, %800
  %802 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %803 = getelementptr inbounds i8, ptr %44, i64 88
  %804 = load ptr, ptr %803, align 8, !tbaa !36
  %805 = icmp eq ptr %802, %804
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %806 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %804, i1 noundef zeroext %805, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br i1 %806, label %807, label %809

807:                                              ; preds = %.preheader582.11
  %808 = load ptr, ptr %803, align 8, !tbaa !36
  store ptr %808, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  br label %809

809:                                              ; preds = %807, %.preheader582.11
  br i1 %805, label %810, label %.preheader582.12

810:                                              ; preds = %809
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader582.12

.preheader582.12:                                 ; preds = %810, %809
  %811 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %812 = getelementptr inbounds i8, ptr %44, i64 96
  %813 = load ptr, ptr %812, align 16, !tbaa !36
  %814 = icmp eq ptr %811, %813
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %815 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %813, i1 noundef zeroext %814, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br i1 %815, label %816, label %818

816:                                              ; preds = %.preheader582.12
  %817 = load ptr, ptr %812, align 16, !tbaa !36
  store ptr %817, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  br label %818

818:                                              ; preds = %816, %.preheader582.12
  br i1 %814, label %819, label %.preheader582.13

819:                                              ; preds = %818
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader582.13

.preheader582.13:                                 ; preds = %819, %818
  %820 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  %821 = getelementptr inbounds i8, ptr %44, i64 104
  %822 = load ptr, ptr %821, align 8, !tbaa !36
  %823 = icmp eq ptr %820, %822
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %45, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %824 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %822, i1 noundef zeroext %823, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %45)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br i1 %824, label %825, label %827

825:                                              ; preds = %.preheader582.13
  %826 = load ptr, ptr %821, align 8, !tbaa !36
  store ptr %826, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !36
  br label %827

827:                                              ; preds = %825, %.preheader582.13
  br i1 %823, label %828, label %829

828:                                              ; preds = %827
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %829

829:                                              ; preds = %828, %827
  call void @_ZN5ImGui8EndComboEv()
  br label %830

830:                                              ; preds = %829, %700
  %831 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef nonnull @.str.181, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE14item_current_2, ptr noundef nonnull @.str.182, i32 noundef -1)
  %832 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef nonnull @.str.183, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE14item_current_3, ptr noundef nonnull %44, i32 noundef 14, i32 noundef -1)
  %833 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPFbPviPS1_ES3_ii(ptr noundef nonnull @.str.184, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE14item_current_4, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbEN10FuncHolder10ItemGetterEPviPPKc, ptr noundef nonnull %44, i32 noundef 14, i32 noundef -1)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %44) #12
  br label %834

834:                                              ; preds = %830, %680
  %835 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.185)
  br i1 %835, label %836, label %1047

836:                                              ; preds = %834
  %837 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.53)
  br i1 %837, label %838, label %851

838:                                              ; preds = %836
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %46, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %839 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.186, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %46)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %47, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %840 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.187, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 1), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %47)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #12
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.188)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %48, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %841 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.189, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 3), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %48)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #12
  %842 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 4), align 1, !tbaa !5, !range !9, !noundef !10
  %843 = trunc nuw i8 %842 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %844 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull @.str.190, i1 noundef zeroext %843, i32 noundef 4, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #12
  br i1 %844, label %845, label %850

845:                                              ; preds = %838
  %846 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef 0)
  br i1 %846, label %847, label %850

847:                                              ; preds = %845
  %848 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 4), align 1, !tbaa !5, !range !9, !noundef !10
  %849 = xor i8 %848, 1
  store i8 %849, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 4), align 1, !tbaa !5
  br label %850

850:                                              ; preds = %845, %847, %838
  call void @_ZN5ImGui7TreePopEv()
  br label %851

851:                                              ; preds = %850, %836
  %852 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.191)
  br i1 %852, label %.preheader581.preheader, label %879

.preheader581.preheader:                          ; preds = %851
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #12
  %853 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %50, ptr noundef nonnull dereferenceable(1) @.str.192, i32 noundef 0) #12
  %854 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !11
  %855 = icmp eq i32 %854, 0
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %51, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %856 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %50, i1 noundef zeroext %855, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %51)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #12
  br i1 %856, label %857, label %.preheader581.1

857:                                              ; preds = %.preheader581.preheader
  store i32 0, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !11
  br label %.preheader581.1

.preheader581.1:                                  ; preds = %857, %.preheader581.preheader
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #12
  %858 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %50, ptr noundef nonnull dereferenceable(1) @.str.192, i32 noundef 1) #12
  %859 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !11
  %860 = icmp eq i32 %859, 1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %51, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %861 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %50, i1 noundef zeroext %860, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %51)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #12
  br i1 %861, label %862, label %.preheader581.2

862:                                              ; preds = %.preheader581.1
  store i32 1, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !11
  br label %.preheader581.2

.preheader581.2:                                  ; preds = %862, %.preheader581.1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #12
  %863 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %50, ptr noundef nonnull dereferenceable(1) @.str.192, i32 noundef 2) #12
  %864 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !11
  %865 = icmp eq i32 %864, 2
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %51, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %866 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %50, i1 noundef zeroext %865, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %51)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #12
  br i1 %866, label %867, label %.preheader581.3

867:                                              ; preds = %.preheader581.2
  store i32 2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !11
  br label %.preheader581.3

.preheader581.3:                                  ; preds = %867, %.preheader581.2
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #12
  %868 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %50, ptr noundef nonnull dereferenceable(1) @.str.192, i32 noundef 3) #12
  %869 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !11
  %870 = icmp eq i32 %869, 3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %51, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %871 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %50, i1 noundef zeroext %870, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %51)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #12
  br i1 %871, label %872, label %.preheader581.4

872:                                              ; preds = %.preheader581.3
  store i32 3, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !11
  br label %.preheader581.4

.preheader581.4:                                  ; preds = %872, %.preheader581.3
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #12
  %873 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %50, ptr noundef nonnull dereferenceable(1) @.str.192, i32 noundef 4) #12
  %874 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !11
  %875 = icmp eq i32 %874, 4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %51, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %876 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %50, i1 noundef zeroext %875, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %51)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #12
  br i1 %876, label %877, label %878

877:                                              ; preds = %.preheader581.4
  store i32 4, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !11
  br label %878

878:                                              ; preds = %877, %.preheader581.4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #12
  call void @_ZN5ImGui7TreePopEv()
  br label %879

879:                                              ; preds = %878, %851
  %880 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.193)
  br i1 %880, label %881, label %952

881:                                              ; preds = %879
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.194)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #12
  %882 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %52, ptr noundef nonnull dereferenceable(1) @.str.192, i32 noundef 0) #12
  %883 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, align 1, !tbaa !5, !range !9, !noundef !10
  %884 = trunc nuw i8 %883 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %53, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %885 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %52, i1 noundef zeroext %884, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %53)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #12
  br i1 %885, label %886, label %895

886:                                              ; preds = %881
  %887 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %888 = getelementptr inbounds i8, ptr %887, i64 281
  %889 = load i8, ptr %888, align 1, !tbaa !20, !range !9, !noundef !10
  %890 = trunc nuw i8 %889 to i1
  br i1 %890, label %._crit_edge794, label %891

._crit_edge794:                                   ; preds = %886
  %.pre795 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, align 1, !tbaa !5, !range !9
  br label %892

891:                                              ; preds = %886
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i8 0, i64 5, i1 false)
  br label %892

892:                                              ; preds = %._crit_edge794, %891
  %893 = phi i8 [ %.pre795, %._crit_edge794 ], [ 0, %891 ]
  %894 = xor i8 %893, 1
  store i8 %894, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, align 1, !tbaa !5
  br label %895

895:                                              ; preds = %892, %881
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #12
  %896 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %52, ptr noundef nonnull dereferenceable(1) @.str.192, i32 noundef 1) #12
  %897 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 1), align 1, !tbaa !5, !range !9, !noundef !10
  %898 = trunc nuw i8 %897 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %53, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %899 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %52, i1 noundef zeroext %898, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %53)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #12
  br i1 %899, label %900, label %909

900:                                              ; preds = %895
  %901 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %902 = getelementptr inbounds i8, ptr %901, i64 281
  %903 = load i8, ptr %902, align 1, !tbaa !20, !range !9, !noundef !10
  %904 = trunc nuw i8 %903 to i1
  br i1 %904, label %._crit_edge796, label %905

._crit_edge796:                                   ; preds = %900
  %.pre797 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 1), align 1, !tbaa !5, !range !9
  br label %906

905:                                              ; preds = %900
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i8 0, i64 5, i1 false)
  br label %906

906:                                              ; preds = %._crit_edge796, %905
  %907 = phi i8 [ %.pre797, %._crit_edge796 ], [ 0, %905 ]
  %908 = xor i8 %907, 1
  store i8 %908, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 1), align 1, !tbaa !5
  br label %909

909:                                              ; preds = %906, %895
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #12
  %910 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %52, ptr noundef nonnull dereferenceable(1) @.str.192, i32 noundef 2) #12
  %911 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 2), align 1, !tbaa !5, !range !9, !noundef !10
  %912 = trunc nuw i8 %911 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %53, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %913 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %52, i1 noundef zeroext %912, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %53)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #12
  br i1 %913, label %914, label %923

914:                                              ; preds = %909
  %915 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %916 = getelementptr inbounds i8, ptr %915, i64 281
  %917 = load i8, ptr %916, align 1, !tbaa !20, !range !9, !noundef !10
  %918 = trunc nuw i8 %917 to i1
  br i1 %918, label %._crit_edge798, label %919

._crit_edge798:                                   ; preds = %914
  %.pre799 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 2), align 1, !tbaa !5, !range !9
  br label %920

919:                                              ; preds = %914
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i8 0, i64 5, i1 false)
  br label %920

920:                                              ; preds = %._crit_edge798, %919
  %921 = phi i8 [ %.pre799, %._crit_edge798 ], [ 0, %919 ]
  %922 = xor i8 %921, 1
  store i8 %922, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 2), align 1, !tbaa !5
  br label %923

923:                                              ; preds = %920, %909
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #12
  %924 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %52, ptr noundef nonnull dereferenceable(1) @.str.192, i32 noundef 3) #12
  %925 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 3), align 1, !tbaa !5, !range !9, !noundef !10
  %926 = trunc nuw i8 %925 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %53, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %927 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %52, i1 noundef zeroext %926, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %53)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #12
  br i1 %927, label %928, label %937

928:                                              ; preds = %923
  %929 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %930 = getelementptr inbounds i8, ptr %929, i64 281
  %931 = load i8, ptr %930, align 1, !tbaa !20, !range !9, !noundef !10
  %932 = trunc nuw i8 %931 to i1
  br i1 %932, label %._crit_edge800, label %933

._crit_edge800:                                   ; preds = %928
  %.pre801 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 3), align 1, !tbaa !5, !range !9
  br label %934

933:                                              ; preds = %928
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i8 0, i64 5, i1 false)
  br label %934

934:                                              ; preds = %._crit_edge800, %933
  %935 = phi i8 [ %.pre801, %._crit_edge800 ], [ 0, %933 ]
  %936 = xor i8 %935, 1
  store i8 %936, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 3), align 1, !tbaa !5
  br label %937

937:                                              ; preds = %934, %923
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #12
  %938 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %52, ptr noundef nonnull dereferenceable(1) @.str.192, i32 noundef 4) #12
  %939 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 4), align 1, !tbaa !5, !range !9, !noundef !10
  %940 = trunc nuw i8 %939 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %53, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %941 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %52, i1 noundef zeroext %940, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %53)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #12
  br i1 %941, label %942, label %951

942:                                              ; preds = %937
  %943 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %944 = getelementptr inbounds i8, ptr %943, i64 281
  %945 = load i8, ptr %944, align 1, !tbaa !20, !range !9, !noundef !10
  %946 = trunc nuw i8 %945 to i1
  br i1 %946, label %._crit_edge802, label %947

._crit_edge802:                                   ; preds = %942
  %.pre803 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 4), align 1, !tbaa !5, !range !9
  br label %948

947:                                              ; preds = %942
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i8 0, i64 5, i1 false)
  br label %948

948:                                              ; preds = %._crit_edge802, %947
  %949 = phi i8 [ %.pre803, %._crit_edge802 ], [ 0, %947 ]
  %950 = xor i8 %949, 1
  store i8 %950, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 4), align 1, !tbaa !5
  br label %951

951:                                              ; preds = %948, %937
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #12
  call void @_ZN5ImGui7TreePopEv()
  br label %952

952:                                              ; preds = %951, %879
  %953 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.195)
  br i1 %953, label %954, label %958

954:                                              ; preds = %952
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %54, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %955 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.196, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE8selected_0, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %54)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.197)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %55, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %956 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.198, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_0, i64 1), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %55)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.199)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %56, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %957 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.200, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_0, i64 2), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %56)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.197)
  call void @_ZN5ImGui7TreePopEv()
  br label %958

958:                                              ; preds = %954, %952
  %959 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.201)
  br i1 %959, label %960, label %993

960:                                              ; preds = %958
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 3, ptr noundef null, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %961 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 0) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %962 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %963 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 1) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %964 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 1), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %965 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 2) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %966 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 2), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %967 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 3) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %968 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 3), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %969 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 4) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %970 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 4), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %971 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 5) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %972 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 5), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %973 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 6) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %974 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 6), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %975 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 7) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %976 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 7), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %977 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 8) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %978 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 8), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %979 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 9) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %980 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 9), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %981 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 10) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %982 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 10), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %983 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 11) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %984 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 11), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %985 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 12) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %986 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 12), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %987 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 13) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %988 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 13), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %989 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 14) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %990 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 14), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  %991 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %57, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 15) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %992 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %57, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 15), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui7TreePopEv()
  br label %993

993:                                              ; preds = %960, %958
  %994 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.203)
  br i1 %994, label %.preheader580.preheader, label %1046

.preheader580.preheader:                          ; preds = %993
  call void @_ZN5ImGui6PushIDEi(i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %59, float noundef 5.000000e+01, float noundef 5.000000e+01)
  %995 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.204, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %59)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #12
  br i1 %995, label %.thread.peel, label %.preheader580.peel.next

.thread.peel:                                     ; preds = %.preheader580.preheader
  %996 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 1), align 1, !tbaa !5, !range !9, !noundef !10
  %997 = xor i8 %996, 1
  store i8 %997, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 1), align 1, !tbaa !5
  %998 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 4), align 4, !tbaa !5, !range !9, !noundef !10
  %999 = xor i8 %998, 1
  store i8 %999, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 4), align 4, !tbaa !5
  br label %.preheader580.peel.next

.preheader580.peel.next:                          ; preds = %.preheader580.preheader, %.thread.peel
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %59, float noundef 5.000000e+01, float noundef 5.000000e+01)
  %1000 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.204, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 1), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %59)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #12
  br i1 %1000, label %.thread.peel660, label %.preheader580.peel.next655

.thread.peel660:                                  ; preds = %.preheader580.peel.next
  %1001 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, align 16, !tbaa !5, !range !9, !noundef !10
  %1002 = xor i8 %1001, 1
  store i8 %1002, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, align 16, !tbaa !5
  %1003 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 2), align 2, !tbaa !5, !range !9, !noundef !10
  %1004 = xor i8 %1003, 1
  store i8 %1004, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 2), align 2, !tbaa !5
  %1005 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 5), align 1, !tbaa !5, !range !9, !noundef !10
  %1006 = xor i8 %1005, 1
  store i8 %1006, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 5), align 1, !tbaa !5
  br label %.preheader580.peel.next655

.preheader580.peel.next655:                       ; preds = %.preheader580.peel.next, %.thread.peel660
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 2)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %59, float noundef 5.000000e+01, float noundef 5.000000e+01)
  %1007 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.204, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 2), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %59)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #12
  br i1 %1007, label %.thread.peel669, label %.preheader580.peel.next664

.thread.peel669:                                  ; preds = %.preheader580.peel.next655
  %1008 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 1), align 1, !tbaa !5, !range !9, !noundef !10
  %1009 = xor i8 %1008, 1
  store i8 %1009, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 1), align 1, !tbaa !5
  %1010 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 3), align 1, !tbaa !5, !range !9, !noundef !10
  %1011 = xor i8 %1010, 1
  store i8 %1011, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 3), align 1, !tbaa !5
  %1012 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 6), align 2, !tbaa !5, !range !9, !noundef !10
  %1013 = xor i8 %1012, 1
  store i8 %1013, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 6), align 2, !tbaa !5
  br label %.preheader580.peel.next664

.preheader580.peel.next664:                       ; preds = %.preheader580.peel.next655, %.thread.peel669
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 3)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %59, float noundef 5.000000e+01, float noundef 5.000000e+01)
  %1014 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.204, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 3), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %59)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #12
  br i1 %1014, label %.thread.peel678, label %.preheader580.peel.next673

.thread.peel678:                                  ; preds = %.preheader580.peel.next664
  %1015 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 2), align 2, !tbaa !5, !range !9, !noundef !10
  %1016 = xor i8 %1015, 1
  store i8 %1016, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 2), align 2, !tbaa !5
  %1017 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 7), align 1, !tbaa !5, !range !9, !noundef !10
  %1018 = xor i8 %1017, 1
  store i8 %1018, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 7), align 1, !tbaa !5
  br label %.preheader580.peel.next673

.preheader580.peel.next673:                       ; preds = %.thread.peel678, %.preheader580.peel.next664
  call void @_ZN5ImGui5PopIDEv()
  br label %.preheader580

.loopexit683:                                     ; preds = %1045
  call void @_ZN5ImGui7TreePopEv()
  br label %1046

.preheader580:                                    ; preds = %.preheader580.peel.next673, %1045
  %indvars.iv = phi i64 [ 4, %.preheader580.peel.next673 ], [ %indvars.iv.next, %1045 ]
  %1019 = trunc nuw nsw i64 %indvars.iv to i32
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1019)
  %1020 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %indvars.iv
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %59, float noundef 5.000000e+01, float noundef 5.000000e+01)
  %1021 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.204, ptr noundef nonnull %1020, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %59)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #12
  %1022 = and i32 %1019, 3
  br i1 %1021, label %1023, label %.preheader580._crit_edge

1023:                                             ; preds = %.preheader580
  %cond = icmp eq i32 %1022, 0
  br i1 %cond, label %1029, label %1024

1024:                                             ; preds = %1023
  %1025 = add nsw i64 %indvars.iv, -1
  %1026 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1025
  %1027 = load i8, ptr %1026, align 1, !tbaa !5, !range !9, !noundef !10
  %1028 = xor i8 %1027, 1
  store i8 %1028, ptr %1026, align 1, !tbaa !5
  %.not551 = icmp eq i32 %1022, 3
  br i1 %.not551, label %1034, label %1029

1029:                                             ; preds = %1023, %1024
  %1030 = add nuw nsw i64 %indvars.iv, 1
  %1031 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1030
  %1032 = load i8, ptr %1031, align 1, !tbaa !5, !range !9, !noundef !10
  %1033 = xor i8 %1032, 1
  store i8 %1033, ptr %1031, align 1, !tbaa !5
  br label %1034

1034:                                             ; preds = %1024, %1029
  %1035 = add nsw i64 %indvars.iv, -4
  %1036 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1035
  %1037 = load i8, ptr %1036, align 1, !tbaa !5, !range !9, !noundef !10
  %1038 = xor i8 %1037, 1
  store i8 %1038, ptr %1036, align 1, !tbaa !5
  %1039 = icmp ult i64 %indvars.iv, 12
  br i1 %1039, label %.thread, label %.preheader580._crit_edge

.thread:                                          ; preds = %1034
  %1040 = add nuw nsw i64 %indvars.iv, 4
  %1041 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1040
  %1042 = load i8, ptr %1041, align 1, !tbaa !5, !range !9, !noundef !10
  %1043 = xor i8 %1042, 1
  store i8 %1043, ptr %1041, align 1, !tbaa !5
  br label %.preheader580._crit_edge

.preheader580._crit_edge:                         ; preds = %.preheader580, %1034, %.thread
  %.not553 = icmp eq i32 %1022, 3
  br i1 %.not553, label %1045, label %1044

1044:                                             ; preds = %.preheader580._crit_edge
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %1045

1045:                                             ; preds = %1044, %.preheader580._crit_edge
  call void @_ZN5ImGui5PopIDEv()
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond654.not = icmp eq i64 %indvars.iv.next, 16
  br i1 %exitcond654.not, label %.loopexit683, label %.preheader580, !llvm.loop !37

1046:                                             ; preds = %.loopexit683, %993
  call void @_ZN5ImGui7TreePopEv()
  br label %1047

1047:                                             ; preds = %1046, %834
  %1048 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.205)
  br i1 %1048, label %1049, label %1058

1049:                                             ; preds = %1047
  %1050 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.206, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4buf1, i64 noundef 64, i32 noundef 0, ptr noundef null, ptr noundef null)
  %1051 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.207, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4buf2, i64 noundef 64, i32 noundef 1, ptr noundef null, ptr noundef null)
  %1052 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.208, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4buf3, i64 noundef 64, i32 noundef 6, ptr noundef null, ptr noundef null)
  %1053 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.209, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4buf4, i64 noundef 64, i32 noundef 4, ptr noundef null, ptr noundef null)
  %1054 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.210, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4buf5, i64 noundef 64, i32 noundef 8, ptr noundef null, ptr noundef null)
  %1055 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.211, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4buf6, i64 noundef 64, i32 noundef 512, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbEN11TextFilters18FilterImGuiLettersEP25ImGuiTextEditCallbackData, ptr noundef null)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.212)
  %1056 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.213, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7bufpass, i64 noundef 64, i32 noundef 32776, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.214)
  %1057 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.215, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7bufpass, i64 noundef 64, i32 noundef 8, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  br label %1058

1058:                                             ; preds = %1049, %1047
  %1059 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.216)
  br i1 %1059, label %1060, label %1068

1060:                                             ; preds = %1058
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %60, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef 10, ptr noundef nonnull align 4 dereferenceable(8) %60)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #12
  %1061 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.217, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9read_only)
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #12
  %1062 = call noundef float @_ZN5ImGui17GetTextLineHeightEv()
  %1063 = fmul float %1062, 1.600000e+01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %61, float noundef -1.000000e+00, float noundef %1063)
  %1064 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9read_only, align 1, !tbaa !5, !range !9, !noundef !10
  %1065 = trunc nuw i8 %1064 to i1
  %1066 = select i1 %1065, i32 17408, i32 1024
  %1067 = call noundef zeroext i1 @_ZN5ImGui18InputTextMultilineEPKcPcmRK6ImVec2iPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.218, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4text, i64 noundef 16384, ptr noundef nonnull align 4 dereferenceable(8) %61, i32 noundef %1066, ptr noundef null, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #12
  call void @_ZN5ImGui7TreePopEv()
  br label %1068

1068:                                             ; preds = %1060, %1058
  %1069 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.219)
  br i1 %1069, label %1070, label %1140

1070:                                             ; preds = %1068
  %1071 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.220, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7animate)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1072 = load <2 x float>, ptr %62, align 8
  call void @_ZN5ImGui9PlotLinesEPKcPKfiiS1_ff6ImVec2i(ptr noundef nonnull @.str.221, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3arr_0, i32 noundef 7, i32 noundef 0, ptr noundef null, float noundef 0x47EFFFFFE0000000, float noundef 0x47EFFFFFE0000000, <2 x float> %1072, i32 noundef 4)
  %1073 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7animate, align 1, !tbaa !5, !range !9, !noundef !10
  %1074 = trunc nuw i8 %1073 to i1
  %1075 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 4
  %1076 = fcmp une float %1075, 0.000000e+00
  %or.cond.not = select i1 %1074, i1 %1076, i1 false
  br i1 %or.cond.not, label %1079, label %1077

1077:                                             ; preds = %1070
  %1078 = call noundef float @_ZN5ImGui7GetTimeEv()
  store float %1078, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 4, !tbaa !23
  br label %1079

1079:                                             ; preds = %1070, %1077
  %1080 = phi float [ %1075, %1070 ], [ %1078, %1077 ]
  %1081 = call noundef float @_ZN5ImGui7GetTimeEv()
  %1082 = fcmp olt float %1080, %1081
  br i1 %1082, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %1079, %.lr.ph
  %1083 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5phase, align 4, !tbaa !23
  %1084 = call float @cosf(float noundef %1083) #12
  %1085 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !11
  %1086 = sext i32 %1085 to i64
  %1087 = getelementptr inbounds [90 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values, i64 0, i64 %1086
  store float %1084, ptr %1087, align 4, !tbaa !23
  %1088 = add nsw i32 %1085, 1
  %1089 = srem i32 %1088, 90
  store i32 %1089, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !11
  %1090 = sitofp i32 %1089 to float
  %1091 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5phase, align 4, !tbaa !23
  %1092 = call float @llvm.fmuladd.f32(float %1090, float 0x3FB99999A0000000, float %1091)
  store float %1092, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5phase, align 4, !tbaa !23
  %1093 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 4, !tbaa !23
  %1094 = fadd float %1093, 0x3F91111120000000
  store float %1094, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 4, !tbaa !23
  %1095 = call noundef float @_ZN5ImGui7GetTimeEv()
  %1096 = fcmp olt float %1094, %1095
  br i1 %1096, label %.lr.ph, label %._crit_edge, !llvm.loop !39

._crit_edge:                                      ; preds = %.lr.ph, %1079
  %1097 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !11
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %63, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1098 = load <2 x float>, ptr %63, align 8
  call void @_ZN5ImGui9PlotLinesEPKcPKfiiS1_ff6ImVec2i(ptr noundef nonnull @.str.222, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE6values, i32 noundef 90, i32 noundef %1097, ptr noundef nonnull @.str.223, float noundef -1.000000e+00, float noundef 1.000000e+00, <2 x float> %1098, i32 noundef 4)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %64, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1099 = load <2 x float>, ptr %64, align 8
  call void @_ZN5ImGui13PlotHistogramEPKcPKfiiS1_ff6ImVec2i(ptr noundef nonnull @.str.224, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3arr_0, i32 noundef 7, i32 noundef 0, ptr noundef null, float noundef 0.000000e+00, float noundef 1.000000e+00, <2 x float> %1099, i32 noundef 4)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 1.000000e+02)
  %1100 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef nonnull @.str.225, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9func_type, ptr noundef nonnull @.str.226, i32 noundef -1)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1101 = call noundef zeroext i1 @_ZN5ImGui9SliderIntEPKcPiiiS1_(ptr noundef nonnull @.str.227, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE13display_count, i32 noundef 1, i32 noundef 400, ptr noundef nonnull @.str.63)
  %1102 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9func_type, align 4, !tbaa !11
  %1103 = icmp eq i32 %1102, 0
  %_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SinEPvi._ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SawEPvi = select i1 %1103, ptr @_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SinEPvi, ptr @_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SawEPvi
  %1104 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13display_count, align 4, !tbaa !11
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %65, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1105 = load <2 x float>, ptr %65, align 8
  call void @_ZN5ImGui9PlotLinesEPKcPFfPviES2_iiS1_ff6ImVec2(ptr noundef nonnull @.str.222, ptr noundef nonnull %_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SinEPvi._ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SawEPvi, ptr noundef null, i32 noundef %1104, i32 noundef 0, ptr noundef null, float noundef -1.000000e+00, float noundef 1.000000e+00, <2 x float> %1105)
  %1106 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13display_count, align 4, !tbaa !11
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %66, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1107 = load <2 x float>, ptr %66, align 8
  call void @_ZN5ImGui13PlotHistogramEPKcPFfPviES2_iiS1_ff6ImVec2(ptr noundef nonnull @.str.224, ptr noundef nonnull %_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SinEPvi._ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SawEPvi, ptr noundef null, i32 noundef %1106, i32 noundef 0, ptr noundef null, float noundef -1.000000e+00, float noundef 1.000000e+00, <2 x float> %1107)
  call void @_ZN5ImGui9SeparatorEv()
  %1108 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7animate, align 1, !tbaa !5, !range !9, !noundef !10
  %1109 = trunc nuw i8 %1108 to i1
  br i1 %1109, label %1110, label %._crit_edge._crit_edge

._crit_edge._crit_edge:                           ; preds = %._crit_edge
  %.pre823 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !23
  br label %1126

1110:                                             ; preds = %._crit_edge
  %1111 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !23
  %1112 = fmul float %1111, 0x3FD99999A0000000
  %1113 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %1114 = getelementptr inbounds i8, ptr %1113, i64 16
  %1115 = load float, ptr %1114, align 8, !tbaa !40
  %1116 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !23
  %1117 = call float @llvm.fmuladd.f32(float %1112, float %1115, float %1116)
  store float %1117, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !23
  %1118 = fcmp ult float %1117, 0x3FF19999A0000000
  br i1 %1118, label %1121, label %.thread567

.thread567:                                       ; preds = %1110
  store float 0x3FF19999A0000000, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !23
  %1119 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !23
  %1120 = fneg float %1119
  store float %1120, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !23
  br label %1126

1121:                                             ; preds = %1110
  %1122 = fcmp ugt float %1117, 0xBFB99999A0000000
  br i1 %1122, label %1126, label %1123

1123:                                             ; preds = %1121
  store float 0xBFB99999A0000000, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !23
  %1124 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !23
  %1125 = fneg float %1124
  store float %1125, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !23
  br label %1126

1126:                                             ; preds = %._crit_edge._crit_edge, %.thread567, %1121, %1123
  %1127 = phi float [ %.pre823, %._crit_edge._crit_edge ], [ 0x3FF19999A0000000, %.thread567 ], [ %1117, %1121 ], [ 0xBFB99999A0000000, %1123 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %67, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @_ZN5ImGui11ProgressBarEfRK6ImVec2PKc(float noundef %1127, ptr noundef nonnull align 4 dereferenceable(8) %67, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #12
  %1128 = call noundef nonnull align 4 dereferenceable(824) ptr @_ZN5ImGui8GetStyleEv()
  %1129 = getelementptr inbounds i8, ptr %1128, i64 76
  %1130 = load float, ptr %1129, align 4, !tbaa !13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %1130)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.228)
  %1131 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4
  %1132 = fcmp olt float %1131, 0.000000e+00
  %1133 = fcmp ogt float %1131, 1.000000e+00
  %1134 = select i1 %1133, float 1.000000e+00, float %1131
  %1135 = fmul float %1134, 1.753000e+03
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %68) #12
  %1136 = select i1 %1132, float 0.000000e+00, float %1135
  %1137 = fptosi float %1136 to i32
  %1138 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %68, ptr noundef nonnull dereferenceable(1) @.str.229, i32 noundef %1137, i32 noundef 1753) #12
  %1139 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %69, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @_ZN5ImGui11ProgressBarEfRK6ImVec2PKc(float noundef %1139, ptr noundef nonnull align 4 dereferenceable(8) %69, ptr noundef nonnull %68)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #12
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #12
  br label %1140

1140:                                             ; preds = %1126, %1068
  %1141 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.230)
  br i1 %1141, label %1142, label %1309

1142:                                             ; preds = %1140
  %1143 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE5color acquire, align 8
  %1144 = icmp eq i8 %1143, 0
  br i1 %1144, label %1145, label %1152, !prof !35

1145:                                             ; preds = %1142
  %1146 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE5color) #12
  %.not = icmp eq i32 %1146, 0
  br i1 %.not, label %1152, label %1147

1147:                                             ; preds = %1145
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %70) #12
  invoke void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %70, i32 noundef 114, i32 noundef 144, i32 noundef 154, i32 noundef 200)
          to label %1148 unwind label %1190

1148:                                             ; preds = %1147
  %1149 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %70)
  %1150 = extractvalue { <2 x float>, <2 x float> } %1149, 0
  store <2 x float> %1150, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5color, align 4
  %1151 = extractvalue { <2 x float>, <2 x float> } %1149, 1
  store <2 x float> %1151, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5color, i64 8), align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %70) #12
  call void @__cxa_guard_release(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE5color) #12
  br label %1152

1152:                                             ; preds = %1148, %1145, %1142
  %1153 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.231, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE13alpha_preview)
  %1154 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.232, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE18alpha_half_preview)
  %1155 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.233, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE13drag_and_drop)
  %1156 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.234, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12options_menu)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.235)
  %1157 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.236, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3hdr)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.237)
  %1158 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE3hdr, align 1, !tbaa !5, !range !9, !noundef !10
  %1159 = trunc nuw i8 %1158 to i1
  %1160 = select i1 %1159, i32 524288, i32 0
  %1161 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13drag_and_drop, align 1, !tbaa !5, !range !9, !noundef !10
  %1162 = trunc nuw i8 %1161 to i1
  %1163 = select i1 %1162, i32 0, i32 512
  %1164 = or disjoint i32 %1163, %1160
  %1165 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE18alpha_half_preview, align 1, !tbaa !5, !range !9, !noundef !10
  %1166 = trunc nuw i8 %1165 to i1
  %1167 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13alpha_preview, align 1, !range !9
  %1168 = trunc nuw i8 %1167 to i1
  %1169 = select i1 %1168, i32 131072, i32 0
  %1170 = select i1 %1166, i32 262144, i32 %1169
  %1171 = or disjoint i32 %1164, %1170
  %1172 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12options_menu, align 1, !tbaa !5, !range !9, !noundef !10
  %1173 = trunc nuw i8 %1172 to i1
  %1174 = select i1 %1173, i32 0, i32 8
  %1175 = or disjoint i32 %1171, %1174
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.238)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.239)
  %1176 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit3EPKcPfi(ptr noundef nonnull @.str.240, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1175)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.241)
  %1177 = or disjoint i32 %1175, 2097152
  %1178 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.242, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1177)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.243)
  %1179 = or disjoint i32 %1175, 16777216
  %1180 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.244, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1179)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.245)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.246)
  %1181 = or disjoint i32 %1175, 160
  %1182 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.247, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1181)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.248)
  %1183 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette acquire, align 8
  %1184 = icmp eq i8 %1183, 0
  br i1 %1184, label %1185, label %1187, !prof !35

1185:                                             ; preds = %1152
  %1186 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette) #12
  %.not526 = icmp eq i32 %1186, 0
  br i1 %.not526, label %1187, label %.preheader579.preheader

.preheader579.preheader:                          ; preds = %1185
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette)
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 16))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 32))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 48))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 64))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 80))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 96))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 112))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 128))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 144))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 160))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 176))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 192))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 208))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 224))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 240))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 256))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 272))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 288))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 304))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 320))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 336))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 352))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 368))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 384))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 400))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 416))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 432))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 448))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 464))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 480))
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 496))
  call void @__cxa_guard_release(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette) #12
  br label %1187

1187:                                             ; preds = %.preheader579.preheader, %1185, %1152
  %1188 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE20saved_palette_inited, align 1, !tbaa !5, !range !9, !noundef !10
  %1189 = trunc nuw i8 %1188 to i1
  br i1 %1189, label %.loopexit578, label %.preheader577

1190:                                             ; preds = %1147
  %1191 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %70) #12
  call void @__cxa_guard_abort(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE5color) #12
  br label %3220

.preheader577:                                    ; preds = %1187, %.preheader577
  %indvars.iv684 = phi i64 [ %indvars.iv.next685, %.preheader577 ], [ 0, %1187 ]
  %1192 = trunc nuw nsw i64 %indvars.iv684 to i32
  %1193 = uitofp nneg i32 %1192 to float
  %1194 = fdiv float %1193, 3.100000e+01
  %1195 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %indvars.iv684
  %1196 = getelementptr inbounds i8, ptr %1195, i64 4
  %1197 = getelementptr inbounds i8, ptr %1195, i64 8
  call void @_ZN5ImGui20ColorConvertHSVtoRGBEfffRfS0_S0_(float noundef %1194, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, ptr noundef nonnull align 4 dereferenceable(4) %1195, ptr noundef nonnull align 4 dereferenceable(4) %1196, ptr noundef nonnull align 4 dereferenceable(4) %1197)
  %1198 = getelementptr inbounds i8, ptr %1195, i64 12
  store float 1.000000e+00, ptr %1198, align 4, !tbaa !41
  %indvars.iv.next685 = add nuw nsw i64 %indvars.iv684, 1
  %exitcond687.not = icmp eq i64 %indvars.iv.next685, 32
  br i1 %exitcond687.not, label %.loopexit578, label %.preheader577, !llvm.loop !43

.loopexit578:                                     ; preds = %.preheader577, %1187
  store i8 1, ptr @_ZZN5ImGui14ShowDemoWindowEPbE20saved_palette_inited, align 1, !tbaa !5
  %1199 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color acquire, align 8
  %1200 = icmp eq i8 %1199, 0
  br i1 %1200, label %1201, label %1204, !prof !35

1201:                                             ; preds = %.loopexit578
  %1202 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color) #12
  %.not528 = icmp eq i32 %1202, 0
  br i1 %.not528, label %1204, label %1203

1203:                                             ; preds = %1201
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE12backup_color)
  call void @__cxa_guard_release(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color) #12
  br label %1204

1204:                                             ; preds = %1203, %1201, %.loopexit578
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %71, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1205 = load <2 x float>, ptr %71, align 8
  %1206 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef nonnull @.str.249, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1175, <2 x float> %1205)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %72, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1207 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.250, ptr noundef nonnull align 4 dereferenceable(8) %72)
  %1208 = or i1 %1206, %1207
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #12
  br i1 %1208, label %1209, label %1210

1209:                                             ; preds = %1204
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.251)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE12backup_color, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, i64 16, i1 false), !tbaa.struct !44
  br label %1210

1210:                                             ; preds = %1209, %1204
  %1211 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef nonnull @.str.251, i32 noundef 0)
  br i1 %1211, label %1212, label %1252

1212:                                             ; preds = %1210
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.252)
  call void @_ZN5ImGui9SeparatorEv()
  %1213 = or disjoint i32 %1175, 272
  %1214 = call noundef zeroext i1 @_ZN5ImGui12ColorPicker4EPKcPfiPKf(ptr noundef nonnull @.str.253, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1213, ptr noundef null)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui10BeginGroupEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.254)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %73, float noundef 6.000000e+01, float noundef 4.000000e+01)
  %1215 = load <2 x float>, ptr %73, align 8
  %1216 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef nonnull @.str.255, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef 262148, <2 x float> %1215)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.256)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %74, float noundef 6.000000e+01, float noundef 4.000000e+01)
  %1217 = load <2 x float>, ptr %74, align 8
  %1218 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef nonnull @.str.257, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE12backup_color, i32 noundef 262148, <2 x float> %1217)
  br i1 %1218, label %1219, label %1220

1219:                                             ; preds = %1212
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE12backup_color, i64 16, i1 false), !tbaa.struct !44
  br label %1220

1220:                                             ; preds = %1219, %1212
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.250)
  br label %1222

1221:                                             ; preds = %1251
  call void @_ZN5ImGui8EndGroupEv()
  call void @_ZN5ImGui8EndPopupEv()
  br label %1252

1222:                                             ; preds = %1220, %1251
  %indvars.iv688 = phi i64 [ 0, %1220 ], [ %indvars.iv.next689, %1251 ]
  %1223 = trunc nuw nsw i64 %indvars.iv688 to i32
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1223)
  %1224 = and i32 %1223, 7
  %.not547 = icmp eq i32 %1224, 0
  br i1 %.not547, label %1229, label %1225

1225:                                             ; preds = %1222
  %1226 = call noundef nonnull align 4 dereferenceable(824) ptr @_ZN5ImGui8GetStyleEv()
  %1227 = getelementptr inbounds i8, ptr %1226, i64 72
  %1228 = load float, ptr %1227, align 4, !tbaa !45
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %1228)
  br label %1229

1229:                                             ; preds = %1225, %1222
  %1230 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %indvars.iv688
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %75, float noundef 2.000000e+01, float noundef 2.000000e+01)
  %1231 = load <2 x float>, ptr %75, align 8
  %1232 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef nonnull @.str.258, ptr noundef nonnull align 4 dereferenceable(16) %1230, i32 noundef 70, <2 x float> %1231)
  br i1 %1232, label %1233, label %1240

1233:                                             ; preds = %1229
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %76) #12
  %1234 = load float, ptr %1230, align 16, !tbaa !46
  %1235 = getelementptr inbounds i8, ptr %1230, i64 4
  %1236 = load float, ptr %1235, align 4, !tbaa !47
  %1237 = getelementptr inbounds i8, ptr %1230, i64 8
  %1238 = load float, ptr %1237, align 8, !tbaa !48
  %1239 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5color, i64 12), align 4, !tbaa !41
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %76, float noundef %1234, float noundef %1236, float noundef %1238, float noundef %1239)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, ptr noundef nonnull align 4 dereferenceable(16) %76, i64 16, i1 false), !tbaa.struct !44
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %76) #12
  br label %1240

1240:                                             ; preds = %1233, %1229
  %1241 = call noundef zeroext i1 @_ZN5ImGui19BeginDragDropTargetEv()
  br i1 %1241, label %1242, label %1251

1242:                                             ; preds = %1240
  %1243 = call noundef ptr @_ZN5ImGui21AcceptDragDropPayloadEPKci(ptr noundef nonnull @.str.259, i32 noundef 0)
  %.not548 = icmp eq ptr %1243, null
  br i1 %.not548, label %1246, label %1244

1244:                                             ; preds = %1242
  %1245 = load ptr, ptr %1243, align 8, !tbaa !49
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(12) %1230, ptr noundef nonnull align 1 dereferenceable(12) %1245, i64 12, i1 false)
  br label %1246

1246:                                             ; preds = %1244, %1242
  %1247 = call noundef ptr @_ZN5ImGui21AcceptDragDropPayloadEPKci(ptr noundef nonnull @.str.260, i32 noundef 0)
  %.not549 = icmp eq ptr %1247, null
  br i1 %.not549, label %1250, label %1248

1248:                                             ; preds = %1246
  %1249 = load ptr, ptr %1247, align 8, !tbaa !49
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %1230, ptr noundef nonnull align 1 dereferenceable(16) %1249, i64 16, i1 false)
  br label %1250

1250:                                             ; preds = %1248, %1246
  call void @_ZN5ImGui17EndDragDropTargetEv()
  br label %1251

1251:                                             ; preds = %1250, %1240
  call void @_ZN5ImGui5PopIDEv()
  %indvars.iv.next689 = add nuw nsw i64 %indvars.iv688, 1
  %exitcond691.not = icmp eq i64 %indvars.iv.next689, 32
  br i1 %exitcond691.not, label %1221, label %1222, !llvm.loop !51

1252:                                             ; preds = %1221, %1210
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.261)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %77, float noundef 8.000000e+01, float noundef 8.000000e+01)
  %1253 = load <2 x float>, ptr %77, align 8
  %1254 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef nonnull @.str.262, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1175, <2 x float> %1253)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.263)
  %1255 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v acquire, align 8
  %1256 = icmp eq i8 %1255, 0
  br i1 %1256, label %1257, label %1260, !prof !35

1257:                                             ; preds = %1252
  %1258 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v) #12
  %.not529 = icmp eq i32 %1258, 0
  br i1 %.not529, label %1260, label %1259

1259:                                             ; preds = %1257
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE11ref_color_v, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00, float noundef 5.000000e-01)
  call void @__cxa_guard_release(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v) #12
  br label %1260

1260:                                             ; preds = %1259, %1257, %1252
  %1261 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.264, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5alpha)
  %1262 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.265, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9alpha_bar)
  %1263 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.266, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12side_preview)
  %1264 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12side_preview, align 1, !tbaa !5, !range !9, !noundef !10
  %1265 = trunc nuw i8 %1264 to i1
  br i1 %1265, label %1266, label %1273

1266:                                             ; preds = %1260
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1267 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.267, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9ref_color)
  %1268 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9ref_color, align 1, !tbaa !5, !range !9, !noundef !10
  %1269 = trunc nuw i8 %1268 to i1
  br i1 %1269, label %1270, label %1273

1270:                                             ; preds = %1266
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1271 = or disjoint i32 %1175, 32
  %1272 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.268, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE11ref_color_v, i32 noundef %1271)
  br label %1273

1273:                                             ; preds = %1266, %1270, %1260
  %1274 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef nonnull @.str.269, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode, ptr noundef nonnull @.str.270, i32 noundef -1)
  %1275 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef nonnull @.str.271, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE11picker_mode, ptr noundef nonnull @.str.272, i32 noundef -1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.273)
  %1276 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5alpha, align 1, !tbaa !5, !range !9, !noundef !10
  %1277 = trunc nuw i8 %1276 to i1
  %1278 = or disjoint i32 %1175, 2
  %spec.select558 = select i1 %1277, i32 %1175, i32 %1278
  %1279 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9alpha_bar, align 1, !tbaa !5, !range !9, !noundef !10
  %1280 = trunc nuw i8 %1279 to i1
  %1281 = or i32 %spec.select558, 65536
  %.1496 = select i1 %1280, i32 %1281, i32 %spec.select558
  %1282 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12side_preview, align 1, !tbaa !5, !range !9, !noundef !10
  %1283 = trunc nuw i8 %1282 to i1
  %1284 = or i32 %.1496, 256
  %.2497 = select i1 %1283, i32 %.1496, i32 %1284
  %1285 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11picker_mode, align 4, !tbaa !11
  %1286 = icmp eq i32 %1285, 1
  %1287 = or i32 %.2497, 33554432
  %.3498 = select i1 %1286, i32 %1287, i32 %.2497
  %1288 = icmp eq i32 %1285, 2
  %1289 = or i32 %.3498, 67108864
  %.4499 = select i1 %1288, i32 %1289, i32 %.3498
  %1290 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode, align 4, !tbaa !11
  %1291 = icmp eq i32 %1290, 1
  %1292 = or i32 %.4499, 32
  %.5500 = select i1 %1291, i32 %1292, i32 %.4499
  %1293 = icmp eq i32 %1290, 2
  %1294 = or i32 %.5500, 1048576
  %.6501 = select i1 %1293, i32 %1294, i32 %.5500
  %1295 = icmp eq i32 %1290, 3
  %1296 = or i32 %.6501, 2097152
  %.7 = select i1 %1295, i32 %1296, i32 %.6501
  %1297 = icmp eq i32 %1290, 4
  %1298 = or i32 %.7, 4194304
  %.8 = select i1 %1297, i32 %1298, i32 %.7
  %1299 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9ref_color, align 1, !tbaa !5, !range !9, !noundef !10
  %1300 = trunc nuw i8 %1299 to i1
  %1301 = select i1 %1300, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11ref_color_v, ptr null
  %1302 = call noundef zeroext i1 @_ZN5ImGui12ColorPicker4EPKcPfiPKf(ptr noundef nonnull @.str.274, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %.8, ptr noundef %1301)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.275)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.276)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %78) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %78, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1303 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.277, ptr noundef nonnull align 4 dereferenceable(8) %78)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #12
  br i1 %1303, label %1304, label %1305

1304:                                             ; preds = %1273
  call void @_ZN5ImGui19SetColorEditOptionsEi(i32 noundef 44040192)
  br label %1305

1305:                                             ; preds = %1304, %1273
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %79) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %79, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1306 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.278, ptr noundef nonnull align 4 dereferenceable(8) %79)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #12
  br i1 %1306, label %1307, label %1308

1307:                                             ; preds = %1305
  call void @_ZN5ImGui19SetColorEditOptionsEi(i32 noundef 84410368)
  br label %1308

1308:                                             ; preds = %1307, %1305
  call void @_ZN5ImGui7TreePopEv()
  br label %1309

1309:                                             ; preds = %1308, %1140
  %1310 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.279)
  br i1 %1310, label %1311, label %1314

1311:                                             ; preds = %1309
  %1312 = call noundef zeroext i1 @_ZN5ImGui15DragFloatRange2EPKcPfS2_fffS1_S1_f(ptr noundef nonnull @.str.280, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5begin, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3end, float noundef 2.500000e-01, float noundef 0.000000e+00, float noundef 1.000000e+02, ptr noundef nonnull @.str.281, ptr noundef nonnull @.str.282, float noundef 1.000000e+00)
  %1313 = call noundef zeroext i1 @_ZN5ImGui13DragIntRange2EPKcPiS2_fiiS1_S1_(ptr noundef nonnull @.str.283, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7begin_i, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5end_i, float noundef 5.000000e+00, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.284, ptr noundef nonnull @.str.285)
  call void @_ZN5ImGui7TreePopEv()
  br label %1314

1314:                                             ; preds = %1311, %1309
  %1315 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.286)
  br i1 %1315, label %1316, label %1392

1316:                                             ; preds = %1314
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %80) #12
  store i32 0, ptr %80, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %81) #12
  store i32 1, ptr %81, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %82) #12
  store i32 50, ptr %82, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %83) #12
  store i32 -1073741824, ptr %83, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %84) #12
  store i32 1073741823, ptr %84, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %85) #12
  store i32 1073741723, ptr %85, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %86) #12
  store i32 1073741823, ptr %86, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %87) #12
  store i32 0, ptr %87, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %88) #12
  store i32 1, ptr %88, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %89) #12
  store i32 50, ptr %89, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %90) #12
  store i32 0, ptr %90, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %91) #12
  store i32 2147483647, ptr %91, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %92) #12
  store i32 2147483547, ptr %92, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %93) #12
  store i32 2147483647, ptr %93, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %94) #12
  store i64 0, ptr %94, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %95) #12
  store i64 1, ptr %95, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %96) #12
  store i64 50, ptr %96, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %97) #12
  store i64 -4611686018427387904, ptr %97, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %98) #12
  store i64 4611686018427387903, ptr %98, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %99) #12
  store i64 4611686018427387803, ptr %99, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %100) #12
  store i64 4611686018427387903, ptr %100, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %101) #12
  store i64 0, ptr %101, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %102) #12
  store i64 1, ptr %102, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %103) #12
  store i64 50, ptr %103, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %104) #12
  store i64 0, ptr %104, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %105) #12
  store i64 9223372036854775807, ptr %105, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %106) #12
  store i64 9223372036854775707, ptr %106, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %107) #12
  store i64 9223372036854775807, ptr %107, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %108) #12
  store float 0.000000e+00, ptr %108, align 4, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %109) #12
  store float 1.000000e+00, ptr %109, align 4, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %110) #12
  store float -1.000000e+10, ptr %110, align 4, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %111) #12
  store float 1.000000e+10, ptr %111, align 4, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %112) #12
  store double 0.000000e+00, ptr %112, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %113) #12
  store double 1.000000e+00, ptr %113, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %114) #12
  store double -1.000000e+15, ptr %114, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %115) #12
  store double 1.000000e+15, ptr %115, align 8, !tbaa !54
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.287)
  %1317 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.288, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.289)
  %1318 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !5, !range !9, !noundef !10
  %1319 = trunc nuw i8 %1318 to i1
  %. = select i1 %1319, ptr %80, ptr null
  %1320 = select i1 %1319, ptr %82, ptr null
  %1321 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.290, i32 noundef 0, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, float noundef 0x3FC99999A0000000, ptr noundef %., ptr noundef %1320, ptr noundef null, float noundef 1.000000e+00)
  %1322 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !5, !range !9, !noundef !10
  %1323 = trunc nuw i8 %1322 to i1
  %1324 = select i1 %1323, ptr %87, ptr null
  %1325 = select i1 %1323, ptr %89, ptr null
  %1326 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.291, i32 noundef 1, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, float noundef 0x3FC99999A0000000, ptr noundef %1324, ptr noundef %1325, ptr noundef nonnull @.str.292, float noundef 1.000000e+00)
  %1327 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !5, !range !9, !noundef !10
  %1328 = trunc nuw i8 %1327 to i1
  %1329 = select i1 %1328, ptr %94, ptr null
  %1330 = select i1 %1328, ptr %96, ptr null
  %1331 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.293, i32 noundef 2, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, float noundef 0x3FC99999A0000000, ptr noundef %1329, ptr noundef %1330, ptr noundef null, float noundef 1.000000e+00)
  %1332 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !5, !range !9, !noundef !10
  %1333 = trunc nuw i8 %1332 to i1
  %1334 = select i1 %1333, ptr %101, ptr null
  %1335 = select i1 %1333, ptr %103, ptr null
  %1336 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.294, i32 noundef 3, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, float noundef 0x3FC99999A0000000, ptr noundef %1334, ptr noundef %1335, ptr noundef null, float noundef 1.000000e+00)
  %1337 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.103, i32 noundef 4, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, float noundef 0x3F747AE140000000, ptr noundef nonnull %108, ptr noundef nonnull %109, ptr noundef nonnull @.str.295, float noundef 1.000000e+00)
  %1338 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.296, i32 noundef 4, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, float noundef 0x3F747AE140000000, ptr noundef nonnull %108, ptr noundef nonnull %109, ptr noundef nonnull @.str.295, float noundef 2.000000e+00)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.297)
  %1339 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.298, i32 noundef 5, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, float noundef 0x3F40624DE0000000, ptr noundef nonnull %112, ptr noundef null, ptr noundef nonnull @.str.299, float noundef 1.000000e+00)
  %1340 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.300, i32 noundef 5, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, float noundef 0x3F40624DE0000000, ptr noundef nonnull %112, ptr noundef nonnull %113, ptr noundef nonnull @.str.301, float noundef 2.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.302)
  %1341 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.303, i32 noundef 0, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef nonnull %80, ptr noundef nonnull %82, ptr noundef nonnull @.str.63, float noundef 1.000000e+00)
  %1342 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.304, i32 noundef 0, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef nonnull %85, ptr noundef nonnull %86, ptr noundef nonnull @.str.63, float noundef 1.000000e+00)
  %1343 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.305, i32 noundef 0, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef nonnull %83, ptr noundef nonnull %84, ptr noundef nonnull @.str.63, float noundef 1.000000e+00)
  %1344 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.306, i32 noundef 1, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef nonnull %87, ptr noundef nonnull %89, ptr noundef nonnull @.str.307, float noundef 1.000000e+00)
  %1345 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.308, i32 noundef 1, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef nonnull %92, ptr noundef nonnull %93, ptr noundef nonnull @.str.307, float noundef 1.000000e+00)
  %1346 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.309, i32 noundef 1, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef nonnull %90, ptr noundef nonnull %91, ptr noundef nonnull @.str.307, float noundef 1.000000e+00)
  %1347 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.310, i32 noundef 2, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef nonnull %94, ptr noundef nonnull %96, ptr noundef nonnull @.str.311, float noundef 1.000000e+00)
  %1348 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.312, i32 noundef 2, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef nonnull %99, ptr noundef nonnull %100, ptr noundef nonnull @.str.311, float noundef 1.000000e+00)
  %1349 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.313, i32 noundef 2, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef nonnull %97, ptr noundef nonnull %98, ptr noundef nonnull @.str.311, float noundef 1.000000e+00)
  %1350 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.314, i32 noundef 3, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef nonnull %101, ptr noundef nonnull %103, ptr noundef nonnull @.str.315, float noundef 1.000000e+00)
  %1351 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.316, i32 noundef 3, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef nonnull %106, ptr noundef nonnull %107, ptr noundef nonnull @.str.315, float noundef 1.000000e+00)
  %1352 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.317, i32 noundef 3, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef nonnull %104, ptr noundef nonnull %105, ptr noundef nonnull @.str.315, float noundef 1.000000e+00)
  %1353 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.318, i32 noundef 4, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef nonnull %108, ptr noundef nonnull %109, ptr noundef null, float noundef 1.000000e+00)
  %1354 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.319, i32 noundef 4, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef nonnull %108, ptr noundef nonnull %109, ptr noundef nonnull @.str.320, float noundef 2.000000e+00)
  %1355 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.321, i32 noundef 4, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef nonnull %110, ptr noundef nonnull %111, ptr noundef nonnull @.str.96, float noundef 1.000000e+00)
  %1356 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.322, i32 noundef 5, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef nonnull %112, ptr noundef nonnull %113, ptr noundef nonnull @.str.299, float noundef 1.000000e+00)
  %1357 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.323, i32 noundef 5, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef nonnull %112, ptr noundef nonnull %113, ptr noundef nonnull @.str.320, float noundef 2.000000e+00)
  %1358 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.324, i32 noundef 5, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef nonnull %114, ptr noundef nonnull %115, ptr noundef nonnull @.str.325, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.326)
  %1359 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.327, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step)
  %1360 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1361 = trunc nuw i8 %1360 to i1
  %1362 = select i1 %1361, ptr %81, ptr null
  %1363 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.328, i32 noundef 0, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef %1362, ptr noundef null, ptr noundef nonnull @.str.63, i32 noundef 0)
  %1364 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1365 = trunc nuw i8 %1364 to i1
  %1366 = select i1 %1365, ptr %81, ptr null
  %1367 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.329, i32 noundef 0, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef %1366, ptr noundef null, ptr noundef nonnull @.str.330, i32 noundef 2)
  %1368 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1369 = trunc nuw i8 %1368 to i1
  %1370 = select i1 %1369, ptr %88, ptr null
  %1371 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.331, i32 noundef 1, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef %1370, ptr noundef null, ptr noundef nonnull @.str.307, i32 noundef 0)
  %1372 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1373 = trunc nuw i8 %1372 to i1
  %1374 = select i1 %1373, ptr %88, ptr null
  %1375 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.332, i32 noundef 1, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef %1374, ptr noundef null, ptr noundef nonnull @.str.330, i32 noundef 2)
  %1376 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1377 = trunc nuw i8 %1376 to i1
  %1378 = select i1 %1377, ptr %95, ptr null
  %1379 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.333, i32 noundef 2, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef %1378, ptr noundef null, ptr noundef null, i32 noundef 0)
  %1380 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1381 = trunc nuw i8 %1380 to i1
  %1382 = select i1 %1381, ptr %102, ptr null
  %1383 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.334, i32 noundef 3, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef %1382, ptr noundef null, ptr noundef null, i32 noundef 0)
  %1384 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1385 = trunc nuw i8 %1384 to i1
  %1386 = select i1 %1385, ptr %109, ptr null
  %1387 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.91, i32 noundef 4, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef %1386, ptr noundef null, ptr noundef null, i32 noundef 0)
  %1388 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1389 = trunc nuw i8 %1388 to i1
  %1390 = select i1 %1389, ptr %113, ptr null
  %1391 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.93, i32 noundef 5, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef %1390, ptr noundef null, ptr noundef null, i32 noundef 0)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %115) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %114) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %113) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %112) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %111) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %110) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %109) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %108) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %101) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %100) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %97) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %95) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %94) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %93) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %92) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %91) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %90) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %89) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %88) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %87) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %86) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %85) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %84) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %83) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %82) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %81) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %80) #12
  br label %1392

1392:                                             ; preds = %1316, %1314
  %1393 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.335)
  br i1 %1393, label %1394, label %1413

1394:                                             ; preds = %1392
  %1395 = call noundef zeroext i1 @_ZN5ImGui11InputFloat2EPKcPfS1_i(ptr noundef nonnull @.str.336, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, ptr noundef nonnull @.str.92, i32 noundef 0)
  %1396 = call noundef zeroext i1 @_ZN5ImGui10DragFloat2EPKcPffffS1_f(ptr noundef nonnull @.str.337, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0x3F847AE140000000, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  %1397 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat2EPKcPfffS1_f(ptr noundef nonnull @.str.338, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  %1398 = call noundef zeroext i1 @_ZN5ImGui9InputInt2EPKcPii(ptr noundef nonnull @.str.339, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0)
  %1399 = call noundef zeroext i1 @_ZN5ImGui8DragInt2EPKcPifiiS1_(ptr noundef nonnull @.str.340, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 255, ptr noundef nonnull @.str.63)
  %1400 = call noundef zeroext i1 @_ZN5ImGui10SliderInt2EPKcPiiiS1_(ptr noundef nonnull @.str.341, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0, i32 noundef 255, ptr noundef nonnull @.str.63)
  call void @_ZN5ImGui7SpacingEv()
  %1401 = call noundef zeroext i1 @_ZN5ImGui11InputFloat3EPKcPfS1_i(ptr noundef nonnull @.str.98, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, ptr noundef nonnull @.str.92, i32 noundef 0)
  %1402 = call noundef zeroext i1 @_ZN5ImGui10DragFloat3EPKcPffffS1_f(ptr noundef nonnull @.str.342, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0x3F847AE140000000, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  %1403 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat3EPKcPfffS1_f(ptr noundef nonnull @.str.343, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  %1404 = call noundef zeroext i1 @_ZN5ImGui9InputInt3EPKcPii(ptr noundef nonnull @.str.344, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0)
  %1405 = call noundef zeroext i1 @_ZN5ImGui8DragInt3EPKcPifiiS1_(ptr noundef nonnull @.str.345, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 255, ptr noundef nonnull @.str.63)
  %1406 = call noundef zeroext i1 @_ZN5ImGui10SliderInt3EPKcPiiiS1_(ptr noundef nonnull @.str.346, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0, i32 noundef 255, ptr noundef nonnull @.str.63)
  call void @_ZN5ImGui7SpacingEv()
  %1407 = call noundef zeroext i1 @_ZN5ImGui11InputFloat4EPKcPfS1_i(ptr noundef nonnull @.str.347, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, ptr noundef nonnull @.str.92, i32 noundef 0)
  %1408 = call noundef zeroext i1 @_ZN5ImGui10DragFloat4EPKcPffffS1_f(ptr noundef nonnull @.str.348, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0x3F847AE140000000, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  %1409 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat4EPKcPfffS1_f(ptr noundef nonnull @.str.349, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  %1410 = call noundef zeroext i1 @_ZN5ImGui9InputInt4EPKcPii(ptr noundef nonnull @.str.350, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0)
  %1411 = call noundef zeroext i1 @_ZN5ImGui8DragInt4EPKcPifiiS1_(ptr noundef nonnull @.str.351, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 255, ptr noundef nonnull @.str.63)
  %1412 = call noundef zeroext i1 @_ZN5ImGui10SliderInt4EPKcPiiiS1_(ptr noundef nonnull @.str.352, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0, i32 noundef 255, ptr noundef nonnull @.str.63)
  call void @_ZN5ImGui7TreePopEv()
  br label %1413

1413:                                             ; preds = %1394, %1392
  %1414 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.353)
  br i1 %1414, label %1415, label %1593

1415:                                             ; preds = %1413
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %116) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %116, float noundef 4.000000e+00, float noundef 4.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef 13, ptr noundef nonnull align 4 dereferenceable(8) %116)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %116) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %117) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %117, float noundef 1.800000e+01, float noundef 1.600000e+02)
  %1416 = call noundef zeroext i1 @_ZN5ImGui10VSliderIntEPKcRK6ImVec2PiiiS1_(ptr noundef nonnull @.str.354, ptr noundef nonnull align 4 dereferenceable(8) %117, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9int_value, i32 noundef 0, i32 noundef 5, ptr noundef nonnull @.str.63)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %117) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef nonnull @.str.355)
  %1417 = getelementptr inbounds i8, ptr %119, i64 8
  %1418 = getelementptr inbounds i8, ptr %118, i64 8
  %1419 = getelementptr inbounds i8, ptr %121, i64 8
  %1420 = getelementptr inbounds i8, ptr %120, i64 8
  %1421 = getelementptr inbounds i8, ptr %123, i64 8
  %1422 = getelementptr inbounds i8, ptr %122, i64 8
  %1423 = getelementptr inbounds i8, ptr %125, i64 8
  %1424 = getelementptr inbounds i8, ptr %124, i64 8
  call void @_ZN5ImGui6PushIDEi(i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %118) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %119) #12
  %1425 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 5.000000e-01, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1426 = extractvalue { <2 x float>, <2 x float> } %1425, 0
  store <2 x float> %1426, ptr %119, align 8
  %1427 = extractvalue { <2 x float>, <2 x float> } %1425, 1
  store <2 x float> %1427, ptr %1417, align 8
  %1428 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %119)
  %1429 = extractvalue { <2 x float>, <2 x float> } %1428, 0
  store <2 x float> %1429, ptr %118, align 8
  %1430 = extractvalue { <2 x float>, <2 x float> } %1428, 1
  store <2 x float> %1430, ptr %1418, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 7, ptr noundef nonnull align 4 dereferenceable(16) %118)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %119) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %118) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %120) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %121) #12
  %1431 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FE3333340000000, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1432 = extractvalue { <2 x float>, <2 x float> } %1431, 0
  store <2 x float> %1432, ptr %121, align 8
  %1433 = extractvalue { <2 x float>, <2 x float> } %1431, 1
  store <2 x float> %1433, ptr %1419, align 8
  %1434 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %121)
  %1435 = extractvalue { <2 x float>, <2 x float> } %1434, 0
  store <2 x float> %1435, ptr %120, align 8
  %1436 = extractvalue { <2 x float>, <2 x float> } %1434, 1
  store <2 x float> %1436, ptr %1420, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 8, ptr noundef nonnull align 4 dereferenceable(16) %120)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %121) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %120) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %122) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %123) #12
  %1437 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FE6666660000000, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1438 = extractvalue { <2 x float>, <2 x float> } %1437, 0
  store <2 x float> %1438, ptr %123, align 8
  %1439 = extractvalue { <2 x float>, <2 x float> } %1437, 1
  store <2 x float> %1439, ptr %1421, align 8
  %1440 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %123)
  %1441 = extractvalue { <2 x float>, <2 x float> } %1440, 0
  store <2 x float> %1441, ptr %122, align 8
  %1442 = extractvalue { <2 x float>, <2 x float> } %1440, 1
  store <2 x float> %1442, ptr %1422, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 9, ptr noundef nonnull align 4 dereferenceable(16) %122)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %123) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %122) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %124) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %125) #12
  %1443 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FECCCCCC0000000, float noundef 0x3FECCCCCC0000000, float noundef 1.000000e+00)
  %1444 = extractvalue { <2 x float>, <2 x float> } %1443, 0
  store <2 x float> %1444, ptr %125, align 8
  %1445 = extractvalue { <2 x float>, <2 x float> } %1443, 1
  store <2 x float> %1445, ptr %1423, align 8
  %1446 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %125)
  %1447 = extractvalue { <2 x float>, <2 x float> } %1446, 0
  store <2 x float> %1447, ptr %124, align 8
  %1448 = extractvalue { <2 x float>, <2 x float> } %1446, 1
  store <2 x float> %1448, ptr %1424, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 19, ptr noundef nonnull align 4 dereferenceable(16) %124)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %125) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %124) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %126) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %126, float noundef 1.800000e+01, float noundef 1.600000e+02)
  %1449 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %126, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.357, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %126) #12
  %1450 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1450, label %1453, label %1451

1451:                                             ; preds = %1415
  %1452 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1452, label %1453, label %.peel.next697

1453:                                             ; preds = %1451, %1415
  %1454 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, align 16, !tbaa !23
  %1455 = fpext float %1454 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.92, double noundef %1455)
  br label %.peel.next697

.peel.next697:                                    ; preds = %1451, %1453
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 4)
  call void @_ZN5ImGui5PopIDEv()
  br label %1482

1456:                                             ; preds = %1518
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef nonnull @.str.358)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %127) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %127, float noundef 1.800000e+01, float noundef 0x4049555560000000)
  call void @_ZN5ImGui10BeginGroupEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 0)
  %1457 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %127, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7values2, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.357, float noundef 1.000000e+00)
  %1458 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1458, label %1461, label %1459

1459:                                             ; preds = %1456
  %1460 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1460, label %1461, label %1464

1461:                                             ; preds = %1459, %1456
  %1462 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, align 16, !tbaa !23
  %1463 = fpext float %1462 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.92, double noundef %1463)
  br label %1464

1464:                                             ; preds = %1461, %1459
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 1)
  %1465 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %127, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7values2, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.357, float noundef 1.000000e+00)
  %1466 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1466, label %1469, label %1467

1467:                                             ; preds = %1464
  %1468 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1468, label %1469, label %1472

1469:                                             ; preds = %1467, %1464
  %1470 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, align 16, !tbaa !23
  %1471 = fpext float %1470 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.92, double noundef %1471)
  br label %1472

1472:                                             ; preds = %1469, %1467
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 2)
  %1473 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %127, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7values2, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.357, float noundef 1.000000e+00)
  %1474 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1474, label %1477, label %1475

1475:                                             ; preds = %1472
  %1476 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1476, label %1477, label %.peel.next707

1477:                                             ; preds = %1475, %1472
  %1478 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, align 16, !tbaa !23
  %1479 = fpext float %1478 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.92, double noundef %1479)
  br label %.peel.next707

.peel.next707:                                    ; preds = %1475, %1477
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8EndGroupEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui10BeginGroupEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 3)
  %1480 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %127, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 4), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.357, float noundef 1.000000e+00)
  %1481 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1481, label %1521, label %1519

1482:                                             ; preds = %.peel.next697, %1518
  %indvars.iv692 = phi i64 [ 1, %.peel.next697 ], [ %indvars.iv.next693, %1518 ]
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1483 = trunc nuw nsw i64 %indvars.iv692 to i32
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1483)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %118) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %119) #12
  %1484 = uitofp nneg i32 %1483 to float
  %1485 = fdiv float %1484, 7.000000e+00
  %1486 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1485, float noundef 5.000000e-01, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1487 = extractvalue { <2 x float>, <2 x float> } %1486, 0
  store <2 x float> %1487, ptr %119, align 8
  %1488 = extractvalue { <2 x float>, <2 x float> } %1486, 1
  store <2 x float> %1488, ptr %1417, align 8
  %1489 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %119)
  %1490 = extractvalue { <2 x float>, <2 x float> } %1489, 0
  store <2 x float> %1490, ptr %118, align 8
  %1491 = extractvalue { <2 x float>, <2 x float> } %1489, 1
  store <2 x float> %1491, ptr %1418, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 7, ptr noundef nonnull align 4 dereferenceable(16) %118)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %119) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %118) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %120) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %121) #12
  %1492 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1485, float noundef 0x3FE3333340000000, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1493 = extractvalue { <2 x float>, <2 x float> } %1492, 0
  store <2 x float> %1493, ptr %121, align 8
  %1494 = extractvalue { <2 x float>, <2 x float> } %1492, 1
  store <2 x float> %1494, ptr %1419, align 8
  %1495 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %121)
  %1496 = extractvalue { <2 x float>, <2 x float> } %1495, 0
  store <2 x float> %1496, ptr %120, align 8
  %1497 = extractvalue { <2 x float>, <2 x float> } %1495, 1
  store <2 x float> %1497, ptr %1420, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 8, ptr noundef nonnull align 4 dereferenceable(16) %120)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %121) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %120) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %122) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %123) #12
  %1498 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1485, float noundef 0x3FE6666660000000, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1499 = extractvalue { <2 x float>, <2 x float> } %1498, 0
  store <2 x float> %1499, ptr %123, align 8
  %1500 = extractvalue { <2 x float>, <2 x float> } %1498, 1
  store <2 x float> %1500, ptr %1421, align 8
  %1501 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %123)
  %1502 = extractvalue { <2 x float>, <2 x float> } %1501, 0
  store <2 x float> %1502, ptr %122, align 8
  %1503 = extractvalue { <2 x float>, <2 x float> } %1501, 1
  store <2 x float> %1503, ptr %1422, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 9, ptr noundef nonnull align 4 dereferenceable(16) %122)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %123) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %122) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %124) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %125) #12
  %1504 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1485, float noundef 0x3FECCCCCC0000000, float noundef 0x3FECCCCCC0000000, float noundef 1.000000e+00)
  %1505 = extractvalue { <2 x float>, <2 x float> } %1504, 0
  store <2 x float> %1505, ptr %125, align 8
  %1506 = extractvalue { <2 x float>, <2 x float> } %1504, 1
  store <2 x float> %1506, ptr %1423, align 8
  %1507 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %125)
  %1508 = extractvalue { <2 x float>, <2 x float> } %1507, 0
  store <2 x float> %1508, ptr %124, align 8
  %1509 = extractvalue { <2 x float>, <2 x float> } %1507, 1
  store <2 x float> %1509, ptr %1424, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 19, ptr noundef nonnull align 4 dereferenceable(16) %124)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %125) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %124) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %126) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %126, float noundef 1.800000e+01, float noundef 1.600000e+02)
  %1510 = getelementptr inbounds [7 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, i64 0, i64 %indvars.iv692
  %1511 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %126, ptr noundef nonnull %1510, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.357, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %126) #12
  %1512 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1512, label %1515, label %1513

1513:                                             ; preds = %1482
  %1514 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1514, label %1515, label %1518

1515:                                             ; preds = %1513, %1482
  %1516 = load float, ptr %1510, align 4, !tbaa !23
  %1517 = fpext float %1516 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.92, double noundef %1517)
  br label %1518

1518:                                             ; preds = %1515, %1513
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 4)
  call void @_ZN5ImGui5PopIDEv()
  %indvars.iv.next693 = add nuw nsw i64 %indvars.iv692, 1
  %exitcond695.not = icmp eq i64 %indvars.iv.next693, 7
  br i1 %exitcond695.not, label %1456, label %1482, !llvm.loop !56

1519:                                             ; preds = %.peel.next707
  %1520 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1520, label %1521, label %1524

1521:                                             ; preds = %1519, %.peel.next707
  %1522 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 4), align 4, !tbaa !23
  %1523 = fpext float %1522 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.92, double noundef %1523)
  br label %1524

1524:                                             ; preds = %1521, %1519
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 4)
  %1525 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %127, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 4), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.357, float noundef 1.000000e+00)
  %1526 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1526, label %1529, label %1527

1527:                                             ; preds = %1524
  %1528 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1528, label %1529, label %1532

1529:                                             ; preds = %1527, %1524
  %1530 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 4), align 4, !tbaa !23
  %1531 = fpext float %1530 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.92, double noundef %1531)
  br label %1532

1532:                                             ; preds = %1529, %1527
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 5)
  %1533 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %127, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 4), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.357, float noundef 1.000000e+00)
  %1534 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1534, label %1537, label %1535

1535:                                             ; preds = %1532
  %1536 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1536, label %1537, label %1540

1537:                                             ; preds = %1535, %1532
  %1538 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 4), align 4, !tbaa !23
  %1539 = fpext float %1538 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.92, double noundef %1539)
  br label %1540

1540:                                             ; preds = %1537, %1535
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8EndGroupEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui10BeginGroupEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 6)
  %1541 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %127, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 8), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.357, float noundef 1.000000e+00)
  %1542 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1542, label %1545, label %1543

1543:                                             ; preds = %1540
  %1544 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1544, label %1545, label %1548

1545:                                             ; preds = %1543, %1540
  %1546 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 8), align 8, !tbaa !23
  %1547 = fpext float %1546 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.92, double noundef %1547)
  br label %1548

1548:                                             ; preds = %1545, %1543
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 7)
  %1549 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %127, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 8), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.357, float noundef 1.000000e+00)
  %1550 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1550, label %1553, label %1551

1551:                                             ; preds = %1548
  %1552 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1552, label %1553, label %1556

1553:                                             ; preds = %1551, %1548
  %1554 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 8), align 8, !tbaa !23
  %1555 = fpext float %1554 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.92, double noundef %1555)
  br label %1556

1556:                                             ; preds = %1553, %1551
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 8)
  %1557 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %127, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 8), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.357, float noundef 1.000000e+00)
  %1558 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1558, label %1561, label %1559

1559:                                             ; preds = %1556
  %1560 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1560, label %1561, label %1564

1561:                                             ; preds = %1559, %1556
  %1562 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 8), align 8, !tbaa !23
  %1563 = fpext float %1562 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.92, double noundef %1563)
  br label %1564

1564:                                             ; preds = %1561, %1559
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8EndGroupEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui10BeginGroupEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 9)
  %1565 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %127, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 12), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.357, float noundef 1.000000e+00)
  %1566 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1566, label %1569, label %1567

1567:                                             ; preds = %1564
  %1568 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1568, label %1569, label %1572

1569:                                             ; preds = %1567, %1564
  %1570 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 12), align 4, !tbaa !23
  %1571 = fpext float %1570 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.92, double noundef %1571)
  br label %1572

1572:                                             ; preds = %1569, %1567
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 10)
  %1573 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %127, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 12), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.357, float noundef 1.000000e+00)
  %1574 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1574, label %1577, label %1575

1575:                                             ; preds = %1572
  %1576 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1576, label %1577, label %1580

1577:                                             ; preds = %1575, %1572
  %1578 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 12), align 4, !tbaa !23
  %1579 = fpext float %1578 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.92, double noundef %1579)
  br label %1580

1580:                                             ; preds = %1577, %1575
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 11)
  %1581 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %127, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 12), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.357, float noundef 1.000000e+00)
  %1582 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1582, label %1585, label %1583

1583:                                             ; preds = %1580
  %1584 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1584, label %1585, label %1588

1585:                                             ; preds = %1583, %1580
  %1586 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 12), align 4, !tbaa !23
  %1587 = fpext float %1586 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.92, double noundef %1587)
  br label %1588

1588:                                             ; preds = %1585, %1583
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8EndGroupEv()
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef nonnull @.str.359)
  call void @_ZN5ImGui6PushIDEi(i32 noundef 0)
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 18, float noundef 4.000000e+01)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %128) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %128, float noundef 4.000000e+01, float noundef 1.600000e+02)
  %1589 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %128, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.360, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %128) #12
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEi(i32 noundef 1)
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 18, float noundef 4.000000e+01)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %128) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %128, float noundef 4.000000e+01, float noundef 1.600000e+02)
  %1590 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %128, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, i64 4), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.360, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %128) #12
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEi(i32 noundef 2)
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 18, float noundef 4.000000e+01)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %128) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %128, float noundef 4.000000e+01, float noundef 1.600000e+02)
  %1591 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %128, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, i64 8), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.360, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %128) #12
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEi(i32 noundef 3)
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 18, float noundef 4.000000e+01)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %128) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %128, float noundef 4.000000e+01, float noundef 1.600000e+02)
  %1592 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.356, ptr noundef nonnull align 4 dereferenceable(8) %128, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, i64 12), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.360, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %128) #12
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %127) #12
  br label %1593

1593:                                             ; preds = %1588, %1413
  %1594 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.361)
  br i1 %1594, label %1595, label %1689

1595:                                             ; preds = %1593
  %1596 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.149, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 0)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1597 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.54, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1598 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.362, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 2)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1599 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.363, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 3)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1600 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.364, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 4)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1601 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.365, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 5)
  %1602 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !11
  %1603 = icmp eq i32 %1602, 0
  br i1 %1603, label %1604, label %1605

1604:                                             ; preds = %1595
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.366)
  %.pr = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !11
  br label %1605

1605:                                             ; preds = %1604, %1595
  %1606 = phi i32 [ %.pr, %1604 ], [ %1602, %1595 ]
  %1607 = icmp eq i32 %1606, 1
  br i1 %1607, label %1608, label %1610

1608:                                             ; preds = %1605
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %129) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %129, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1609 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.367, ptr noundef nonnull align 4 dereferenceable(8) %129)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %129) #12
  %.pre830 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !11
  br label %1610

1610:                                             ; preds = %1608, %1605
  %1611 = phi i32 [ %.pre830, %1608 ], [ %1606, %1605 ]
  %.0505 = phi i1 [ %1609, %1608 ], [ false, %1605 ]
  %1612 = icmp eq i32 %1611, 2
  br i1 %1612, label %1613, label %1615

1613:                                             ; preds = %1610
  %1614 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.368, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1b)
  %.pr568 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !11
  br label %1615

1615:                                             ; preds = %1613, %1610
  %1616 = phi i32 [ %.pr568, %1613 ], [ %1611, %1610 ]
  %.1506 = phi i1 [ %1614, %1613 ], [ %.0505, %1610 ]
  %1617 = icmp eq i32 %1616, 3
  br i1 %1617, label %1618, label %1620

1618:                                             ; preds = %1615
  %1619 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef nonnull @.str.369, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5col4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  %.pre831 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !11
  br label %1620

1620:                                             ; preds = %1618, %1615
  %1621 = phi i32 [ %.pre831, %1618 ], [ %1616, %1615 ]
  %.2507 = phi i1 [ %1619, %1618 ], [ %.1506, %1615 ]
  %1622 = icmp eq i32 %1621, 4
  br i1 %1622, label %1623, label %1625

1623:                                             ; preds = %1620
  %1624 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.370, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5col4f, i32 noundef 0)
  %.pr569 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !11
  br label %1625

1625:                                             ; preds = %1623, %1620
  %1626 = phi i32 [ %.pr569, %1623 ], [ %1621, %1620 ]
  %.3508 = phi i1 [ %1624, %1623 ], [ %.2507, %1620 ]
  %1627 = icmp eq i32 %1626, 5
  br i1 %1627, label %1628, label %1630

1628:                                             ; preds = %1625
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %130) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %130, ptr noundef nonnull align 16 dereferenceable(32) @__const._ZN5ImGui14ShowDemoWindowEPb.items.371, i64 32, i1 false)
  %1629 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef nonnull @.str.372, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7current, ptr noundef nonnull %130, i32 noundef 4, i32 noundef 4)
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %130) #12
  br label %1630

1630:                                             ; preds = %1628, %1625
  %.4509 = phi i1 [ %1629, %1628 ], [ %.3508, %1625 ]
  %1631 = zext i1 %.4509 to i32
  %1632 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  %1633 = zext i1 %1632 to i32
  %1634 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %1635 = zext i1 %1634 to i32
  %1636 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 8)
  %1637 = zext i1 %1636 to i32
  %1638 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 32)
  %1639 = zext i1 %1638 to i32
  %1640 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 64)
  %1641 = zext i1 %1640 to i32
  %1642 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 104)
  %1643 = zext i1 %1642 to i32
  %1644 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  %1645 = zext i1 %1644 to i32
  %1646 = call noundef zeroext i1 @_ZN5ImGui17IsItemDeactivatedEv()
  %1647 = zext i1 %1646 to i32
  %1648 = call noundef zeroext i1 @_ZN5ImGui28IsItemDeactivatedAfterChangeEv()
  %1649 = zext i1 %1648 to i32
  %1650 = call noundef zeroext i1 @_ZN5ImGui13IsItemVisibleEv()
  %1651 = zext i1 %1650 to i32
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.373, i32 noundef %1631, i32 noundef %1633, i32 noundef %1635, i32 noundef %1637, i32 noundef %1639, i32 noundef %1641, i32 noundef %1643, i32 noundef %1645, i32 noundef %1647, i32 noundef %1649, i32 noundef %1651)
  %1652 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.374, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window)
  %1653 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window, align 1, !tbaa !5, !range !9, !noundef !10
  %1654 = trunc nuw i8 %1653 to i1
  br i1 %1654, label %1655, label %1659

1655:                                             ; preds = %1630
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %131) #12
  %1656 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %1657 = fmul float %1656, 2.000000e+01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %131, float noundef 0.000000e+00, float noundef %1657)
  %1658 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef nonnull @.str.375, ptr noundef nonnull align 4 dereferenceable(8) %131, i1 noundef zeroext true, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %131) #12
  br label %1659

1659:                                             ; preds = %1655, %1630
  %1660 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 0)
  %1661 = zext i1 %1660 to i32
  %1662 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 1)
  %1663 = zext i1 %1662 to i32
  %1664 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 3)
  %1665 = zext i1 %1664 to i32
  %1666 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 2)
  %1667 = zext i1 %1666 to i32
  %1668 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 4)
  %1669 = zext i1 %1668 to i32
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.376, i32 noundef %1661, i32 noundef %1663, i32 noundef %1665, i32 noundef %1667, i32 noundef %1669)
  %1670 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 0)
  %1671 = zext i1 %1670 to i32
  %1672 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 8)
  %1673 = zext i1 %1672 to i32
  %1674 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 32)
  %1675 = zext i1 %1674 to i32
  %1676 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 1)
  %1677 = zext i1 %1676 to i32
  %1678 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 3)
  %1679 = zext i1 %1678 to i32
  %1680 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 2)
  %1681 = zext i1 %1680 to i32
  %1682 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 4)
  %1683 = zext i1 %1682 to i32
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.377, i32 noundef %1671, i32 noundef %1673, i32 noundef %1675, i32 noundef %1677, i32 noundef %1679, i32 noundef %1681, i32 noundef %1683)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %132) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %132, float noundef 0.000000e+00, float noundef 5.000000e+01)
  %1684 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef nonnull @.str.378, ptr noundef nonnull align 4 dereferenceable(8) %132, i1 noundef zeroext true, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %132) #12
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.379)
  call void @_ZN5ImGui8EndChildEv()
  %1685 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window, align 1, !tbaa !5, !range !9, !noundef !10
  %1686 = trunc nuw i8 %1685 to i1
  br i1 %1686, label %1687, label %1688

1687:                                             ; preds = %1659
  call void @_ZN5ImGui8EndChildEv()
  br label %1688

1688:                                             ; preds = %1687, %1659
  call void @_ZN5ImGui7TreePopEv()
  br label %1689

1689:                                             ; preds = %1593, %1688, %351
  %1690 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.380, i32 noundef 0)
  br i1 %1690, label %1691, label %2047

1691:                                             ; preds = %1689
  %1692 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.381)
  br i1 %1692, label %1693, label %1738

1693:                                             ; preds = %1691
  %1694 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.382, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE19disable_mouse_wheel)
  %1695 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.383, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12disable_menu)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %133) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %133, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1696 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.384, ptr noundef nonnull align 4 dereferenceable(8) %133)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %133) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 1.000000e+02)
  %1697 = call noundef zeroext i1 @_ZN5ImGui8InputIntEPKcPiiii(ptr noundef nonnull @.str.385, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4line, i32 noundef 0, i32 noundef 0, i32 noundef 32)
  %1698 = or i1 %1696, %1697
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %134) #12
  %1699 = call noundef float @_ZN5ImGui27GetWindowContentRegionWidthEv()
  %1700 = fmul float %1699, 5.000000e-01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %134, float noundef %1700, float noundef 3.000000e+02)
  %1701 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE19disable_mouse_wheel, align 1, !tbaa !5, !range !9, !noundef !10
  %1702 = trunc nuw i8 %1701 to i1
  %1703 = select i1 %1702, i32 2064, i32 2048
  %1704 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef nonnull @.str.386, ptr noundef nonnull align 4 dereferenceable(8) %134, i1 noundef zeroext false, i32 noundef %1703)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %134) #12
  br label %1708

1705:                                             ; preds = %1712
  %1706 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4line, align 4
  %1707 = icmp sgt i32 %1706, 99
  %or.cond3 = select i1 %1698, i1 %1707, i1 false
  br i1 %or.cond3, label %1714, label %1715

1708:                                             ; preds = %1693, %1712
  %.0504604 = phi i32 [ 0, %1693 ], [ %1713, %1712 ]
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.387, i32 noundef %.0504604)
  %1709 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4line, align 4
  %1710 = icmp eq i32 %1709, %.0504604
  %or.cond = select i1 %1698, i1 %1710, i1 false
  br i1 %or.cond, label %1711, label %1712

1711:                                             ; preds = %1708
  call void @_ZN5ImGui13SetScrollHereEf(float noundef 5.000000e-01)
  br label %1712

1712:                                             ; preds = %1708, %1711
  %1713 = add nuw nsw i32 %.0504604, 1
  %exitcond715.not = icmp eq i32 %1713, 100
  br i1 %exitcond715.not, label %1705, label %1708, !llvm.loop !57

1714:                                             ; preds = %1705
  call void @_ZN5ImGui13SetScrollHereEf(float noundef 5.000000e-01)
  br label %1715

1715:                                             ; preds = %1714, %1705
  call void @_ZN5ImGui8EndChildEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 6, float noundef 5.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %135) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %135, float noundef 0.000000e+00, float noundef 3.000000e+02)
  %1716 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE19disable_mouse_wheel, align 1, !tbaa !5, !range !9, !noundef !10
  %1717 = trunc nuw i8 %1716 to i1
  %1718 = select i1 %1717, i32 16, i32 0
  %1719 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12disable_menu, align 1, !tbaa !5, !range !9, !noundef !10
  %1720 = trunc nuw i8 %1719 to i1
  %1721 = select i1 %1720, i32 0, i32 1024
  %1722 = or disjoint i32 %1721, %1718
  %1723 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef nonnull @.str.388, ptr noundef nonnull align 4 dereferenceable(8) %135, i1 noundef zeroext true, i32 noundef %1722)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %135) #12
  %1724 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12disable_menu, align 1, !tbaa !5, !range !9, !noundef !10
  %1725 = trunc nuw i8 %1724 to i1
  br i1 %1725, label %1732, label %1726

1726:                                             ; preds = %1715
  %1727 = call noundef zeroext i1 @_ZN5ImGui12BeginMenuBarEv()
  br i1 %1727, label %1728, label %1732

1728:                                             ; preds = %1726
  %1729 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef nonnull @.str.23, i1 noundef zeroext true)
  br i1 %1729, label %1730, label %1731

1730:                                             ; preds = %1728
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui7EndMenuEv()
  br label %1731

1731:                                             ; preds = %1730, %1728
  call void @_ZN5ImGui10EndMenuBarEv()
  br label %1732

1732:                                             ; preds = %1731, %1726, %1715
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 2, ptr noundef null, i1 noundef zeroext true)
  br label %1734

1733:                                             ; preds = %1734
  call void @_ZN5ImGui8EndChildEv()
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @_ZN5ImGui7TreePopEv()
  br label %1738

1734:                                             ; preds = %1732, %1734
  %.0503605 = phi i32 [ 0, %1732 ], [ %1737, %1734 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %136) #12
  %1735 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %136, ptr noundef nonnull dereferenceable(1) @.str.389, i32 noundef %.0503605) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %137) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %137, float noundef -1.000000e+00, float noundef 0.000000e+00)
  %1736 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull %136, ptr noundef nonnull align 4 dereferenceable(8) %137)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %137) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %136) #12
  %1737 = add nuw nsw i32 %.0503605, 1
  %exitcond716.not = icmp eq i32 %1737, 100
  br i1 %exitcond716.not, label %1733, label %1734, !llvm.loop !58

1738:                                             ; preds = %1733, %1691
  %1739 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.390)
  br i1 %1739, label %1740, label %1750

1740:                                             ; preds = %1738
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.391)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.392)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 1.000000e+02)
  %1741 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.393, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.394)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.395)
  %1742 = call noundef float @_ZN5ImGui14GetWindowWidthEv()
  %1743 = fmul float %1742, 5.000000e-01
  call void @_ZN5ImGui13PushItemWidthEf(float noundef %1743)
  %1744 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.396, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.397)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.398)
  %1745 = call noundef float @_ZN5ImGui26GetContentRegionAvailWidthEv()
  %1746 = fmul float %1745, 5.000000e-01
  call void @_ZN5ImGui13PushItemWidthEf(float noundef %1746)
  %1747 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.399, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.400)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.401)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef -1.000000e+02)
  %1748 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.402, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.403)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.404)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef -1.000000e+00)
  %1749 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.405, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %1750

1750:                                             ; preds = %1740, %1738
  %1751 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.406)
  br i1 %1751, label %1752, label %1773

1752:                                             ; preds = %1750
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.407)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.408)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %138) #12
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %138, float noundef 1.000000e+00, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
  call void (ptr, ptr, ...) @_ZN5ImGui11TextColoredERK6ImVec4PKcz(ptr noundef nonnull align 4 dereferenceable(16) %138, ptr noundef nonnull @.str.204)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %138) #12
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.409)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef 2.000000e+01)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %139) #12
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %139, float noundef 1.000000e+00, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
  call void (ptr, ptr, ...) @_ZN5ImGui11TextColoredERK6ImVec4PKcz(ptr noundef nonnull align 4 dereferenceable(16) %139, ptr noundef nonnull @.str.204)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %139) #12
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.410)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %140) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %140, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1753 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.117, ptr noundef nonnull align 4 dereferenceable(8) %140)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %140) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %141) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %141, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1754 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.116, ptr noundef nonnull align 4 dereferenceable(8) %141)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %141) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %142) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %142, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1755 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.411, ptr noundef nonnull align 4 dereferenceable(8) %142)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %142) #12
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.412)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1756 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.413)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.414)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.415)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.416)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.417)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.415)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %1757 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.416)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  %1758 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.417)
  %1759 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.418, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2c1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1760 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.419, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2c2)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1761 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.420, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2c3)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1762 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.421, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2c4)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 8.000000e+01)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %143) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %143, ptr noundef nonnull align 16 dereferenceable(32) @__const._ZN5ImGui14ShowDemoWindowEPb.items.422, i64 32, i1 false)
  %1763 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef nonnull @.str.175, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4item, ptr noundef nonnull %143, i32 noundef 4, i32 noundef -1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1764 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef nonnull @.str.423, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f0_0, float noundef 0.000000e+00, float noundef 5.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1765 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef nonnull @.str.424, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f1_2, float noundef 0.000000e+00, float noundef 5.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1766 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef nonnull @.str.425, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f2_1, float noundef 0.000000e+00, float noundef 5.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 8.000000e+01)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.426)
  call void @_ZN5ImGui6PushIDEi(i32 noundef 0)
  %1767 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef nonnull @.str.357, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9selection_1, ptr noundef nonnull %143, i32 noundef 4, i32 noundef -1)
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEi(i32 noundef 1)
  %1768 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef nonnull @.str.357, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_1, i64 4), ptr noundef nonnull %143, i32 noundef 4, i32 noundef -1)
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEi(i32 noundef 2)
  %1769 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef nonnull @.str.357, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_1, i64 8), ptr noundef nonnull %143, i32 noundef 4, i32 noundef -1)
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEi(i32 noundef 3)
  %1770 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef nonnull @.str.357, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_1, i64 12), ptr noundef nonnull %143, i32 noundef 4, i32 noundef -1)
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %144) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %144, float noundef 3.000000e+01, float noundef 3.000000e+01)
  %1771 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.427, ptr noundef nonnull align 4 dereferenceable(8) %144)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui5DummyERK6ImVec2(ptr noundef nonnull align 4 dereferenceable(8) %144)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1772 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.428, ptr noundef nonnull align 4 dereferenceable(8) %144)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %144) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %143) #12
  br label %1773

1773:                                             ; preds = %1752, %1750
  %1774 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.429)
  br i1 %1774, label %1775, label %1808

1775:                                             ; preds = %1773
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.430)
  call void @_ZN5ImGui10BeginGroupEv()
  call void @_ZN5ImGui10BeginGroupEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %145) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %145, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1776 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.431, ptr noundef nonnull align 4 dereferenceable(8) %145)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %145) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %146) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %146, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1777 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.432, ptr noundef nonnull align 4 dereferenceable(8) %146)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %146) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui10BeginGroupEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %147) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %147, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1778 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.433, ptr noundef nonnull align 4 dereferenceable(8) %147)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %147) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %148) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %148, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1779 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.434, ptr noundef nonnull align 4 dereferenceable(8) %148)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %148) #12
  call void @_ZN5ImGui8EndGroupEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %149) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %149, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1780 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.435, ptr noundef nonnull align 4 dereferenceable(8) %149)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %149) #12
  call void @_ZN5ImGui8EndGroupEv()
  %1781 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1781, label %1782, label %1783

1782:                                             ; preds = %1775
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.436)
  br label %1783

1783:                                             ; preds = %1782, %1775
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %150) #12
  %1784 = call <2 x float> @_ZN5ImGui15GetItemRectSizeEv()
  store <2 x float> %1784, ptr %150, align 8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %151) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %151, ptr noundef nonnull align 16 dereferenceable(20) @__const._ZN5ImGui14ShowDemoWindowEPb.values, i64 20, i1 false)
  call void @_ZN5ImGui13PlotHistogramEPKcPKfiiS1_ff6ImVec2i(ptr noundef nonnull @.str.437, ptr noundef nonnull %151, i32 noundef 5, i32 noundef 0, ptr noundef null, float noundef 0.000000e+00, float noundef 1.000000e+00, <2 x float> %1784, i32 noundef 4)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %152) #12
  %1785 = load float, ptr %150, align 8, !tbaa !59
  %1786 = call noundef nonnull align 4 dereferenceable(824) ptr @_ZN5ImGui8GetStyleEv()
  %1787 = getelementptr inbounds i8, ptr %1786, i64 68
  %1788 = load float, ptr %1787, align 4, !tbaa !60
  %1789 = fsub float %1785, %1788
  %1790 = fmul float %1789, 5.000000e-01
  %1791 = getelementptr inbounds i8, ptr %150, i64 4
  %1792 = load float, ptr %1791, align 4, !tbaa !61
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %152, float noundef %1790, float noundef %1792)
  %1793 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.438, ptr noundef nonnull align 4 dereferenceable(8) %152)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %152) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %153) #12
  %1794 = load float, ptr %150, align 8, !tbaa !59
  %1795 = call noundef nonnull align 4 dereferenceable(824) ptr @_ZN5ImGui8GetStyleEv()
  %1796 = getelementptr inbounds i8, ptr %1795, i64 68
  %1797 = load float, ptr %1796, align 4, !tbaa !60
  %1798 = fsub float %1794, %1797
  %1799 = fmul float %1798, 5.000000e-01
  %1800 = load float, ptr %1791, align 4, !tbaa !61
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %153, float noundef %1799, float noundef %1800)
  %1801 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.439, ptr noundef nonnull align 4 dereferenceable(8) %153)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %153) #12
  call void @_ZN5ImGui8EndGroupEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1802 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.440, ptr noundef nonnull align 4 dereferenceable(8) %150)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1803 = call noundef zeroext i1 @_ZN5ImGui13ListBoxHeaderEPKcRK6ImVec2(ptr noundef nonnull @.str.441, ptr noundef nonnull align 4 dereferenceable(8) %150)
  br i1 %1803, label %1804, label %1807

1804:                                             ; preds = %1783
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %154) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %154, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1805 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull @.str.442, i1 noundef zeroext true, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %154)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %154) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %155) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %155, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1806 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull @.str.443, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %155)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %155) #12
  call void @_ZN5ImGui13ListBoxFooterEv()
  br label %1807

1807:                                             ; preds = %1804, %1783
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %151) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %150) #12
  br label %1808

1808:                                             ; preds = %1807, %1773
  %1809 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.444)
  br i1 %1809, label %1810, label %1829

1810:                                             ; preds = %1808
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.445)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.446)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.447)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.117)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.117)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.447)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.446)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %156) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %156, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1811 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.448, ptr noundef nonnull align 4 dereferenceable(8) %156)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %156) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.117)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.447)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.117)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %157) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %157, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1812 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.449, ptr noundef nonnull align 4 dereferenceable(8) %157)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %157) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.447)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.117)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %158) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %158, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1813 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.450, ptr noundef nonnull align 4 dereferenceable(8) %158)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %158) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.451)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1814 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.452)
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.453)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %159) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %159, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1815 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.454, ptr noundef nonnull align 4 dereferenceable(8) %159)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %159) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.455)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1816 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.456)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %160) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %160, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1817 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.457, ptr noundef nonnull align 4 dereferenceable(8) %160)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %160) #12
  %1818 = call noundef nonnull align 4 dereferenceable(824) ptr @_ZN5ImGui8GetStyleEv()
  %1819 = getelementptr inbounds i8, ptr %1818, i64 76
  %1820 = load float, ptr %1819, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %161) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %161, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1821 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.458, ptr noundef nonnull align 4 dereferenceable(8) %161)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %161) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %1820)
  %1822 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.459)
  br i1 %1822, label %.preheader576.preheader, label %1823

.preheader576.preheader:                          ; preds = %1810
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.460, i32 noundef 0)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.460, i32 noundef 1)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.460, i32 noundef 2)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.460, i32 noundef 3)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.460, i32 noundef 4)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.460, i32 noundef 5)
  call void @_ZN5ImGui7TreePopEv()
  br label %1823

1823:                                             ; preds = %.preheader576.preheader, %1810
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  %1824 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.461)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %1820)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %162) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %162, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1825 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.462, ptr noundef nonnull align 4 dereferenceable(8) %162)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %162) #12
  br i1 %1824, label %.preheader575.preheader, label %1826

.preheader575.preheader:                          ; preds = %1823
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.460, i32 noundef 0)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.460, i32 noundef 1)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.460, i32 noundef 2)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.460, i32 noundef 3)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.460, i32 noundef 4)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.460, i32 noundef 5)
  call void @_ZN5ImGui7TreePopEv()
  br label %1826

1826:                                             ; preds = %.preheader575.preheader, %1823
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %163) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %163, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1827 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.463, ptr noundef nonnull align 4 dereferenceable(8) %163)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %163) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %1820)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.464)
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.465)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %1820)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %164) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %164, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1828 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.466, ptr noundef nonnull align 4 dereferenceable(8) %164)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %164) #12
  call void @_ZN5ImGui7TreePopEv()
  br label %1829

1829:                                             ; preds = %1826, %1808
  %1830 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.467)
  br i1 %1830, label %1831, label %1882

1831:                                             ; preds = %1829
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.468)
  %1832 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.469, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5track)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 1.000000e+02)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.300000e+02, float noundef -1.000000e+00)
  %1833 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef nonnull @.str.470, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE10track_line, float noundef 2.500000e-01, i32 noundef 0, i32 noundef 99, ptr noundef nonnull @.str.471)
  %1834 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !5, !range !9, !noundef !10
  %1835 = zext i1 %1833 to i8
  %1836 = or i8 %1834, %1835
  store i8 %1836, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %165) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %165, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1837 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.472, ptr noundef nonnull align 4 dereferenceable(8) %165)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %165) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 1.300000e+02, float noundef -1.000000e+00)
  %1838 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef nonnull @.str.473, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12scroll_to_px, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 9999, ptr noundef nonnull @.str.474)
  %1839 = or i1 %1837, %1838
  call void @_ZN5ImGui12PopItemWidthEv()
  br i1 %1839, label %1840, label %1841

1840:                                             ; preds = %1831
  store i8 0, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !5
  br label %1841

1841:                                             ; preds = %1840, %1831
  %1842 = getelementptr inbounds i8, ptr %167, i64 8
  br label %1844

1843:                                             ; preds = %1865
  call void @_ZN5ImGui7TreePopEv()
  br label %1882

1844:                                             ; preds = %1841, %1865
  %indvars.iv724 = phi i64 [ 0, %1841 ], [ %indvars.iv.next725, %1865 ]
  %.not542 = icmp eq i64 %indvars.iv724, 0
  br i1 %.not542, label %.thread570, label %1845

.thread570:                                       ; preds = %1844
  call void @_ZN5ImGui10BeginGroupEv()
  br label %.fold.split

1845:                                             ; preds = %1844
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui10BeginGroupEv()
  %1846 = trunc nuw nsw i64 %indvars.iv724 to i32
  switch i32 %1846, label %1847 [
    i32 2, label %.fold.split560
    i32 1, label %.fold.split
  ]

1847:                                             ; preds = %1845
  %1848 = icmp eq i64 %indvars.iv724, 3
  %1849 = select i1 %1848, ptr @.str.479, ptr @.str.480
  br label %.fold.split

.fold.split560:                                   ; preds = %1845
  br label %.fold.split

.fold.split:                                      ; preds = %1845, %.thread570, %.fold.split560, %1847
  %1850 = phi ptr [ %1849, %1847 ], [ @.str.478, %.fold.split560 ], [ @.str.476, %.thread570 ], [ @.str.477, %1845 ]
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.475, ptr noundef nonnull %1850)
  %1851 = inttoptr i64 %indvars.iv724 to ptr
  %1852 = call noundef i32 @_ZN5ImGui5GetIDEPKv(ptr noundef %1851)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %166) #12
  %1853 = call noundef float @_ZN5ImGui14GetWindowWidthEv()
  %1854 = fmul float %1853, 0x3FC5C28F60000000
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %166, float noundef %1854, float noundef 2.000000e+02)
  %1855 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEjRK6ImVec2bi(i32 noundef %1852, ptr noundef nonnull align 4 dereferenceable(8) %166, i1 noundef zeroext true, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %166) #12
  br i1 %1839, label %1856, label %.fold.split._crit_edge

.fold.split._crit_edge:                           ; preds = %.fold.split
  %.pre838 = trunc nuw nsw i64 %indvars.iv724 to i32
  %.pre840 = uitofp nneg i32 %.pre838 to float
  %.pre842 = fmul float %.pre840, 2.500000e-01
  br label %1864

1856:                                             ; preds = %.fold.split
  %1857 = call <2 x float> @_ZN5ImGui17GetCursorStartPosEv()
  %.sroa.0174.4.vec.extract = extractelement <2 x float> %1857, i64 1
  %1858 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12scroll_to_px, align 4, !tbaa !11
  %1859 = sitofp i32 %1858 to float
  %1860 = fadd float %.sroa.0174.4.vec.extract, %1859
  %1861 = trunc nuw nsw i64 %indvars.iv724 to i32
  %1862 = uitofp nneg i32 %1861 to float
  %1863 = fmul float %1862, 2.500000e-01
  call void @_ZN5ImGui17SetScrollFromPosYEff(float noundef %1860, float noundef %1863)
  br label %1864

1864:                                             ; preds = %.fold.split._crit_edge, %1856
  %.pre-phi843 = phi float [ %.pre842, %.fold.split._crit_edge ], [ %1863, %1856 ]
  br label %1870

1865:                                             ; preds = %1880
  %1866 = call noundef float @_ZN5ImGui10GetScrollYEv()
  %1867 = call noundef float @_ZN5ImGui13GetScrollMaxYEv()
  call void @_ZN5ImGui8EndChildEv()
  %1868 = fpext float %1866 to double
  %1869 = fpext float %1867 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.482, double noundef %1868, double noundef %1869)
  call void @_ZN5ImGui8EndGroupEv()
  %indvars.iv.next725 = add nuw nsw i64 %indvars.iv724, 1
  %exitcond727.not = icmp eq i64 %indvars.iv.next725, 5
  br i1 %exitcond727.not, label %1843, label %1844, !llvm.loop !62

1870:                                             ; preds = %1864, %1880
  %.0487609 = phi i32 [ 0, %1864 ], [ %1881, %1880 ]
  %1871 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !5, !range !9, !noundef !10
  %1872 = trunc nuw i8 %1871 to i1
  %1873 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10track_line, align 4
  %1874 = icmp eq i32 %.0487609, %1873
  %or.cond562 = select i1 %1872, i1 %1874, i1 false
  br i1 %or.cond562, label %1875, label %1879

1875:                                             ; preds = %1870
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %167) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %168) #12
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %168, i32 noundef 255, i32 noundef 255, i32 noundef 0, i32 noundef 255)
  %1876 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %168)
  %1877 = extractvalue { <2 x float>, <2 x float> } %1876, 0
  store <2 x float> %1877, ptr %167, align 8
  %1878 = extractvalue { <2 x float>, <2 x float> } %1876, 1
  store <2 x float> %1878, ptr %1842, align 8
  call void (ptr, ptr, ...) @_ZN5ImGui11TextColoredERK6ImVec4PKcz(ptr noundef nonnull align 4 dereferenceable(16) %167, ptr noundef nonnull @.str.481, i32 noundef %.0487609)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %168) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %167) #12
  call void @_ZN5ImGui13SetScrollHereEf(float noundef %.pre-phi843)
  br label %1880

1879:                                             ; preds = %1870
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.481, i32 noundef %.0487609)
  br label %1880

1880:                                             ; preds = %1875, %1879
  %1881 = add nuw nsw i32 %.0487609, 1
  %exitcond723.not = icmp eq i32 %1881, 100
  br i1 %exitcond723.not, label %1865, label %1870, !llvm.loop !63

1882:                                             ; preds = %1843, %1829
  %1883 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.483)
  br i1 %1883, label %1884, label %1990

1884:                                             ; preds = %1882
  call void @_ZN5ImGui6BulletEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.484)
  call void @_ZN5ImGui6BulletEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.485)
  %1885 = call noundef zeroext i1 @_ZN5ImGui9SliderIntEPKcPiiiS1_(ptr noundef nonnull @.str.222, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5lines, i32 noundef 1, i32 noundef 15, ptr noundef nonnull @.str.63)
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 11, float noundef 3.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %169) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %169, float noundef 2.000000e+00, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef 10, ptr noundef nonnull align 4 dereferenceable(8) %169)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %169) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %170) #12
  %1886 = call noundef float @_ZN5ImGui25GetFrameHeightWithSpacingEv()
  %1887 = call float @llvm.fmuladd.f32(float %1886, float 7.000000e+00, float 3.000000e+01)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %170, float noundef 0.000000e+00, float noundef %1887)
  %1888 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef nonnull @.str.486, ptr noundef nonnull align 4 dereferenceable(8) %170, i1 noundef zeroext true, i32 noundef 2048)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %170) #12
  %1889 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5lines, align 4, !tbaa !11
  %1890 = icmp sgt i32 %1889, 0
  br i1 %1890, label %.lr.ph614, label %._crit_edge615

.lr.ph614:                                        ; preds = %1884
  %1891 = getelementptr inbounds i8, ptr %173, i64 8
  %1892 = getelementptr inbounds i8, ptr %172, i64 8
  %1893 = getelementptr inbounds i8, ptr %175, i64 8
  %1894 = getelementptr inbounds i8, ptr %174, i64 8
  %1895 = getelementptr inbounds i8, ptr %177, i64 8
  %1896 = getelementptr inbounds i8, ptr %176, i64 8
  br label %1901

._crit_edge615:                                   ; preds = %.loopexit733, %1884
  %1897 = call noundef float @_ZN5ImGui10GetScrollXEv()
  %1898 = call noundef float @_ZN5ImGui13GetScrollMaxXEv()
  call void @_ZN5ImGui8EndChildEv()
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 2)
  %1899 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.490)
  %1900 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1900, label %1968, label %1973

1901:                                             ; preds = %.lr.ph614, %.loopexit733
  %.0483612 = phi i32 [ 0, %.lr.ph614 ], [ %1929, %.loopexit733 ]
  %1902 = and i32 %.0483612, 1
  %.not537 = icmp eq i32 %1902, 0
  %.v = select i1 %.not537, i32 3, i32 9
  %1903 = mul nuw nsw i32 %.0483612, 1000
  %1904 = mul i32 %.v, %.0483612
  %1905 = add i32 %1904, 10
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1903)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %171) #12
  %1906 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %171, ptr noundef nonnull dereferenceable(1) @.str.63, i32 noundef 0) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %172) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %173) #12
  %1907 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FE3333340000000, float noundef 0x3FE3333340000000, float noundef 1.000000e+00)
  %1908 = extractvalue { <2 x float>, <2 x float> } %1907, 0
  store <2 x float> %1908, ptr %173, align 8
  %1909 = extractvalue { <2 x float>, <2 x float> } %1907, 1
  store <2 x float> %1909, ptr %1891, align 8
  %1910 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %173)
  %1911 = extractvalue { <2 x float>, <2 x float> } %1910, 0
  store <2 x float> %1911, ptr %172, align 8
  %1912 = extractvalue { <2 x float>, <2 x float> } %1910, 1
  store <2 x float> %1912, ptr %1892, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 21, ptr noundef nonnull align 4 dereferenceable(16) %172)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %173) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %172) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %174) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %175) #12
  %1913 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FE6666660000000, float noundef 0x3FE6666660000000, float noundef 1.000000e+00)
  %1914 = extractvalue { <2 x float>, <2 x float> } %1913, 0
  store <2 x float> %1914, ptr %175, align 8
  %1915 = extractvalue { <2 x float>, <2 x float> } %1913, 1
  store <2 x float> %1915, ptr %1893, align 8
  %1916 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %175)
  %1917 = extractvalue { <2 x float>, <2 x float> } %1916, 0
  store <2 x float> %1917, ptr %174, align 8
  %1918 = extractvalue { <2 x float>, <2 x float> } %1916, 1
  store <2 x float> %1918, ptr %1894, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 22, ptr noundef nonnull align 4 dereferenceable(16) %174)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %175) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %174) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %176) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %177) #12
  %1919 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, float noundef 1.000000e+00)
  %1920 = extractvalue { <2 x float>, <2 x float> } %1919, 0
  store <2 x float> %1920, ptr %177, align 8
  %1921 = extractvalue { <2 x float>, <2 x float> } %1919, 1
  store <2 x float> %1921, ptr %1895, align 8
  %1922 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %177)
  %1923 = extractvalue { <2 x float>, <2 x float> } %1922, 0
  store <2 x float> %1923, ptr %176, align 8
  %1924 = extractvalue { <2 x float>, <2 x float> } %1922, 1
  store <2 x float> %1924, ptr %1896, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 23, ptr noundef nonnull align 4 dereferenceable(16) %176)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %177) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %176) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %178) #12
  %1925 = uitofp nneg i32 %.0483612 to float
  %1926 = call float @sinf(float noundef %1925) #12
  %1927 = call float @llvm.fmuladd.f32(float %1926, float 2.000000e+01, float 4.000000e+01)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %178, float noundef %1927, float noundef 0.000000e+00)
  %1928 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.487, ptr noundef nonnull align 4 dereferenceable(8) %178)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %178) #12
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 3)
  call void @_ZN5ImGui5PopIDEv()
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %171) #12
  %exitcond728.peel.not = icmp ult i32 %1905, 2
  br i1 %exitcond728.peel.not, label %.loopexit733, label %.peel.next730

.loopexit733:                                     ; preds = %1940, %1901
  %1929 = add nuw nsw i32 %.0483612, 1
  %1930 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5lines, align 4, !tbaa !11
  %1931 = icmp slt i32 %1929, %1930
  br i1 %1931, label %1901, label %._crit_edge615, !llvm.loop !64

.peel.next730:                                    ; preds = %1901, %1940
  %.0481611 = phi i32 [ %1967, %1940 ], [ 1, %1901 ]
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1932 = add nuw nsw i32 %.0481611, %1903
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1932)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %171) #12
  %1933 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %171, ptr noundef nonnull dereferenceable(1) @.str.63, i32 noundef %.0481611) #12
  %1934 = urem i32 %.0481611, 15
  %.not539 = icmp eq i32 %1934, 0
  br i1 %.not539, label %1940, label %1935

1935:                                             ; preds = %.peel.next730
  %1936 = urem i32 %.0481611, 3
  %.not540 = icmp eq i32 %1936, 0
  br i1 %.not540, label %1940, label %1937

1937:                                             ; preds = %1935
  %1938 = urem i32 %.0481611, 5
  %.not541 = icmp eq i32 %1938, 0
  %1939 = select i1 %.not541, ptr @.str.489, ptr %171
  br label %1940

1940:                                             ; preds = %1937, %1935, %.peel.next730
  %1941 = phi ptr [ @.str.487, %.peel.next730 ], [ %1939, %1937 ], [ @.str.488, %1935 ]
  %1942 = uitofp nneg i32 %.0481611 to float
  %1943 = fmul float %1942, 0x3FA99999A0000000
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %172) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %173) #12
  %1944 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1943, float noundef 0x3FE3333340000000, float noundef 0x3FE3333340000000, float noundef 1.000000e+00)
  %1945 = extractvalue { <2 x float>, <2 x float> } %1944, 0
  store <2 x float> %1945, ptr %173, align 8
  %1946 = extractvalue { <2 x float>, <2 x float> } %1944, 1
  store <2 x float> %1946, ptr %1891, align 8
  %1947 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %173)
  %1948 = extractvalue { <2 x float>, <2 x float> } %1947, 0
  store <2 x float> %1948, ptr %172, align 8
  %1949 = extractvalue { <2 x float>, <2 x float> } %1947, 1
  store <2 x float> %1949, ptr %1892, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 21, ptr noundef nonnull align 4 dereferenceable(16) %172)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %173) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %172) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %174) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %175) #12
  %1950 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1943, float noundef 0x3FE6666660000000, float noundef 0x3FE6666660000000, float noundef 1.000000e+00)
  %1951 = extractvalue { <2 x float>, <2 x float> } %1950, 0
  store <2 x float> %1951, ptr %175, align 8
  %1952 = extractvalue { <2 x float>, <2 x float> } %1950, 1
  store <2 x float> %1952, ptr %1893, align 8
  %1953 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %175)
  %1954 = extractvalue { <2 x float>, <2 x float> } %1953, 0
  store <2 x float> %1954, ptr %174, align 8
  %1955 = extractvalue { <2 x float>, <2 x float> } %1953, 1
  store <2 x float> %1955, ptr %1894, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 22, ptr noundef nonnull align 4 dereferenceable(16) %174)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %175) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %174) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %176) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %177) #12
  %1956 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1943, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, float noundef 1.000000e+00)
  %1957 = extractvalue { <2 x float>, <2 x float> } %1956, 0
  store <2 x float> %1957, ptr %177, align 8
  %1958 = extractvalue { <2 x float>, <2 x float> } %1956, 1
  store <2 x float> %1958, ptr %1895, align 8
  %1959 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %177)
  %1960 = extractvalue { <2 x float>, <2 x float> } %1959, 0
  store <2 x float> %1960, ptr %176, align 8
  %1961 = extractvalue { <2 x float>, <2 x float> } %1959, 1
  store <2 x float> %1961, ptr %1896, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 23, ptr noundef nonnull align 4 dereferenceable(16) %176)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %177) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %176) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %178) #12
  %1962 = add nuw nsw i32 %.0481611, %.0483612
  %1963 = uitofp nneg i32 %1962 to float
  %1964 = call float @sinf(float noundef %1963) #12
  %1965 = call float @llvm.fmuladd.f32(float %1964, float 2.000000e+01, float 4.000000e+01)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %178, float noundef %1965, float noundef 0.000000e+00)
  %1966 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef %1941, ptr noundef nonnull align 4 dereferenceable(8) %178)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %178) #12
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 3)
  call void @_ZN5ImGui5PopIDEv()
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %171) #12
  %1967 = add nuw i32 %.0481611, 1
  %exitcond728.not = icmp eq i32 %1905, %1967
  br i1 %exitcond728.not, label %.loopexit733, label %.peel.next730, !llvm.loop !65

1968:                                             ; preds = %._crit_edge615
  %1969 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %1970 = getelementptr inbounds i8, ptr %1969, i64 16
  %1971 = load float, ptr %1970, align 8, !tbaa !40
  %1972 = fmul float %1971, -1.000000e+03
  br label %1973

1973:                                             ; preds = %1968, %._crit_edge615
  %.0475 = phi float [ %1972, %1968 ], [ 0.000000e+00, %._crit_edge615 ]
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.491)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1974 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.492)
  %1975 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1975, label %1976, label %1981

1976:                                             ; preds = %1973
  %1977 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %1978 = getelementptr inbounds i8, ptr %1977, i64 16
  %1979 = load float, ptr %1978, align 8, !tbaa !40
  %1980 = fmul float %1979, 1.000000e+03
  br label %1981

1981:                                             ; preds = %1976, %1973
  %.1476 = phi float [ %1980, %1976 ], [ %.0475, %1973 ]
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1982 = fpext float %1897 to double
  %1983 = fpext float %1898 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.493, double noundef %1982, double noundef %1983)
  %1984 = fcmp une float %.1476, 0.000000e+00
  br i1 %1984, label %1985, label %1989

1985:                                             ; preds = %1981
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %179) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %179, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1986 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef nonnull @.str.486, ptr noundef nonnull align 4 dereferenceable(8) %179, i1 noundef zeroext false, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %179) #12
  %1987 = call noundef float @_ZN5ImGui10GetScrollXEv()
  %1988 = fadd float %.1476, %1987
  call void @_ZN5ImGui10SetScrollXEf(float noundef %1988)
  call void @_ZN5ImGui3EndEv()
  br label %1989

1989:                                             ; preds = %1985, %1981
  call void @_ZN5ImGui7TreePopEv()
  br label %1990

1990:                                             ; preds = %1989, %1882
  %1991 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.494)
  br i1 %1991, label %1992, label %2047

1992:                                             ; preds = %1990
  %1993 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE4size acquire, align 8
  %1994 = icmp eq i8 %1993, 0
  br i1 %1994, label %1995, label %1998, !prof !35

1995:                                             ; preds = %1992
  %1996 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE4size) #12
  %.not530 = icmp eq i32 %1996, 0
  br i1 %.not530, label %1998, label %1997

1997:                                             ; preds = %1995
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) @_ZZN5ImGui14ShowDemoWindowEPbE4size, float noundef 1.000000e+02, float noundef 1.000000e+02)
  call void @__cxa_guard_release(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE4size) #12
  br label %1998

1998:                                             ; preds = %1997, %1995, %1992
  %1999 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6offset acquire, align 8
  %2000 = icmp eq i8 %1999, 0
  br i1 %2000, label %2001, label %2004, !prof !35

2001:                                             ; preds = %1998
  %2002 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE6offset) #12
  %.not531 = icmp eq i32 %2002, 0
  br i1 %.not531, label %2004, label %2003

2003:                                             ; preds = %2001
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) @_ZZN5ImGui14ShowDemoWindowEPbE6offset, float noundef 5.000000e+01, float noundef 2.000000e+01)
  call void @__cxa_guard_release(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE6offset) #12
  br label %2004

2004:                                             ; preds = %2003, %2001, %1998
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.495)
  %2005 = call noundef zeroext i1 @_ZN5ImGui10DragFloat2EPKcPffffS1_f(ptr noundef nonnull @.str.496, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4size, float noundef 5.000000e-01, float noundef 0.000000e+00, float noundef 2.000000e+02, ptr noundef nonnull @.str.158, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.497)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %180) #12
  %2006 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  store <2 x float> %2006, ptr %180, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %181) #12
  %2007 = extractelement <2 x float> %2006, i64 0
  %2008 = getelementptr inbounds i8, ptr %180, i64 4
  %2009 = extractelement <2 x float> %2006, i64 1
  %2010 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, align 4, !tbaa !59
  %2011 = fadd float %2007, %2010
  %2012 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, i64 4), align 4, !tbaa !61
  %2013 = fadd float %2009, %2012
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %181, float noundef %2007, float noundef %2009, float noundef %2011, float noundef %2013)
  %2014 = call noundef zeroext i1 @_ZN5ImGui15InvisibleButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.498, ptr noundef nonnull align 4 dereferenceable(8) @_ZZN5ImGui14ShowDemoWindowEPbE4size)
  %2015 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %2015, label %2016, label %2029

2016:                                             ; preds = %2004
  %2017 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 0, float noundef -1.000000e+00)
  br i1 %2017, label %2018, label %2029

2018:                                             ; preds = %2016
  %2019 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %2020 = getelementptr inbounds i8, ptr %2019, i64 940
  %2021 = load float, ptr %2020, align 4, !tbaa !66
  %2022 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, align 4, !tbaa !59
  %2023 = fadd float %2021, %2022
  store float %2023, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, align 4, !tbaa !59
  %2024 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %2025 = getelementptr inbounds i8, ptr %2024, i64 944
  %2026 = load float, ptr %2025, align 8, !tbaa !67
  %2027 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, i64 4), align 4, !tbaa !61
  %2028 = fadd float %2026, %2027
  store float %2028, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, i64 4), align 4, !tbaa !61
  br label %2029

2029:                                             ; preds = %2018, %2016, %2004
  %2030 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %182) #12
  %2031 = load float, ptr %180, align 8, !tbaa !59
  %2032 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, align 4, !tbaa !59
  %2033 = fadd float %2031, %2032
  %2034 = load float, ptr %2008, align 4, !tbaa !61
  %2035 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, i64 4), align 4, !tbaa !61
  %2036 = fadd float %2034, %2035
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %182, float noundef %2033, float noundef %2036)
  call void @_ZN10ImDrawList13AddRectFilledERK6ImVec2S2_jfi(ptr noundef nonnull align 8 dereferenceable(168) %2030, ptr noundef nonnull align 4 dereferenceable(8) %180, ptr noundef nonnull align 4 dereferenceable(8) %182, i32 noundef -8889766, float noundef 0.000000e+00, i32 noundef 15)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %182) #12
  %2037 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  %2038 = call noundef ptr @_ZN5ImGui7GetFontEv()
  %2039 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %2040 = fmul float %2039, 2.000000e+00
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %183) #12
  %2041 = load float, ptr %180, align 8, !tbaa !59
  %2042 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, align 4, !tbaa !59
  %2043 = fadd float %2041, %2042
  %2044 = load float, ptr %2008, align 4, !tbaa !61
  %2045 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, i64 4), align 4, !tbaa !61
  %2046 = fadd float %2044, %2045
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %183, float noundef %2043, float noundef %2046)
  call void @_ZN10ImDrawList7AddTextEPK6ImFontfRK6ImVec2jPKcS7_fPK6ImVec4(ptr noundef nonnull align 8 dereferenceable(168) %2037, ptr noundef %2038, float noundef %2040, ptr noundef nonnull align 4 dereferenceable(8) %183, i32 noundef -1, ptr noundef nonnull @.str.499, ptr noundef null, float noundef 0.000000e+00, ptr noundef nonnull %181)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %183) #12
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %181) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %180) #12
  br label %2047

2047:                                             ; preds = %1990, %2029, %1689
  %2048 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.500, i32 noundef 0)
  br i1 %2048, label %2049, label %2195

2049:                                             ; preds = %2047
  %2050 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.501)
  br i1 %2050, label %2051, label %2128

2051:                                             ; preds = %2049
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.502)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %184) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %184, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2052 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.508, ptr noundef nonnull align 4 dereferenceable(8) %184)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %184) #12
  br i1 %2052, label %2053, label %2054

2053:                                             ; preds = %2051
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.509)
  br label %2054

2054:                                             ; preds = %2053, %2051
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2055 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !11
  %2056 = icmp eq i32 %2055, -1
  br i1 %2056, label %2061, label %2057

2057:                                             ; preds = %2054
  %2058 = sext i32 %2055 to i64
  %2059 = getelementptr inbounds [5 x ptr], ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 0, i64 %2058
  %2060 = load ptr, ptr %2059, align 8, !tbaa !36
  br label %2061

2061:                                             ; preds = %2054, %2057
  %2062 = phi ptr [ %2060, %2057 ], [ @.str.510, %2054 ]
  call void @_ZN5ImGui15TextUnformattedEPKcS1_(ptr noundef %2062, ptr noundef null)
  %2063 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef nonnull @.str.509, i32 noundef 0)
  br i1 %2063, label %2064, label %2085

2064:                                             ; preds = %2061
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.511)
  call void @_ZN5ImGui9SeparatorEv()
  %2065 = load ptr, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, align 16, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %185) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %185, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2066 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %2065, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %185)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %185) #12
  br i1 %2066, label %2067, label %2068

2067:                                             ; preds = %2064
  store i32 0, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !11
  br label %2068

2068:                                             ; preds = %2064, %2067
  %2069 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 8), align 8, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %185) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %185, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2070 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %2069, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %185)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %185) #12
  br i1 %2070, label %2071, label %2072

2071:                                             ; preds = %2068
  store i32 1, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !11
  br label %2072

2072:                                             ; preds = %2071, %2068
  %2073 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 16), align 16, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %185) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %185, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2074 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %2073, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %185)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %185) #12
  br i1 %2074, label %2075, label %2076

2075:                                             ; preds = %2072
  store i32 2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !11
  br label %2076

2076:                                             ; preds = %2075, %2072
  %2077 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 24), align 8, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %185) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %185, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2078 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %2077, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %185)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %185) #12
  br i1 %2078, label %2079, label %2080

2079:                                             ; preds = %2076
  store i32 3, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !11
  br label %2080

2080:                                             ; preds = %2079, %2076
  %2081 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 32), align 16, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %185) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %185, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2082 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %2081, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %185)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %185) #12
  br i1 %2082, label %2083, label %2084

2083:                                             ; preds = %2080
  store i32 4, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !11
  br label %2084

2084:                                             ; preds = %2083, %2080
  call void @_ZN5ImGui8EndPopupEv()
  br label %2085

2085:                                             ; preds = %2084, %2061
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %186) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %186, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2086 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.512, ptr noundef nonnull align 4 dereferenceable(8) %186)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %186) #12
  br i1 %2086, label %2087, label %2088

2087:                                             ; preds = %2085
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.513)
  br label %2088

2088:                                             ; preds = %2087, %2085
  %2089 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef nonnull @.str.513, i32 noundef 0)
  br i1 %2089, label %.preheader574.preheader, label %2121

.preheader574.preheader:                          ; preds = %2088
  %2090 = load ptr, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, align 16, !tbaa !36
  %2091 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2090, ptr noundef nonnull @.str.357, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i1 noundef zeroext true)
  %2092 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 8), align 8, !tbaa !36
  %2093 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2092, ptr noundef nonnull @.str.357, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 1), i1 noundef zeroext true)
  %2094 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 16), align 16, !tbaa !36
  %2095 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2094, ptr noundef nonnull @.str.357, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 2), i1 noundef zeroext true)
  %2096 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 24), align 8, !tbaa !36
  %2097 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2096, ptr noundef nonnull @.str.357, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 3), i1 noundef zeroext true)
  %2098 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 32), align 16, !tbaa !36
  %2099 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2098, ptr noundef nonnull @.str.357, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 4), i1 noundef zeroext true)
  %2100 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef nonnull @.str.514, i1 noundef zeroext true)
  br i1 %2100, label %2101, label %2103

2101:                                             ; preds = %.preheader574.preheader
  %2102 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef nonnull @.str.515, ptr noundef null, i1 noundef zeroext false, i1 noundef zeroext true)
  call void @_ZN5ImGui7EndMenuEv()
  br label %2103

2103:                                             ; preds = %2101, %.preheader574.preheader
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.516)
  %2104 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %2104, label %2105, label %2106

2105:                                             ; preds = %2103
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.517)
  br label %2106

2106:                                             ; preds = %2105, %2103
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %187) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %187, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2107 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.518, ptr noundef nonnull align 4 dereferenceable(8) %187)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %187) #12
  br i1 %2107, label %2108, label %2109

2108:                                             ; preds = %2106
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.519)
  br label %2109

2109:                                             ; preds = %2108, %2106
  %2110 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef nonnull @.str.519, i32 noundef 0)
  br i1 %2110, label %.preheader573.preheader, label %2120

.preheader573.preheader:                          ; preds = %2109
  %2111 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2090, ptr noundef nonnull @.str.357, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i1 noundef zeroext true)
  %2112 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2092, ptr noundef nonnull @.str.357, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 1), i1 noundef zeroext true)
  %2113 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2094, ptr noundef nonnull @.str.357, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 2), i1 noundef zeroext true)
  %2114 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2096, ptr noundef nonnull @.str.357, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 3), i1 noundef zeroext true)
  %2115 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2098, ptr noundef nonnull @.str.357, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 4), i1 noundef zeroext true)
  %2116 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef nonnull @.str.514, i1 noundef zeroext true)
  br i1 %2116, label %2117, label %2119

2117:                                             ; preds = %.preheader573.preheader
  %2118 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef nonnull @.str.515, ptr noundef null, i1 noundef zeroext false, i1 noundef zeroext true)
  call void @_ZN5ImGui7EndMenuEv()
  br label %2119

2119:                                             ; preds = %2117, %.preheader573.preheader
  call void @_ZN5ImGui8EndPopupEv()
  br label %2120

2120:                                             ; preds = %2119, %2109
  call void @_ZN5ImGui8EndPopupEv()
  br label %2121

2121:                                             ; preds = %2120, %2088
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %188) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %188, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2122 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.520, ptr noundef nonnull align 4 dereferenceable(8) %188)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %188) #12
  br i1 %2122, label %2123, label %2124

2123:                                             ; preds = %2121
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.521)
  br label %2124

2124:                                             ; preds = %2123, %2121
  %2125 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef nonnull @.str.521, i32 noundef 0)
  br i1 %2125, label %2126, label %2127

2126:                                             ; preds = %2124
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui8EndPopupEv()
  br label %2127

2127:                                             ; preds = %2126, %2124
  call void @_ZN5ImGui7TreePopEv()
  br label %2128

2128:                                             ; preds = %2127, %2049
  %2129 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.522)
  br i1 %2129, label %2130, label %2152

2130:                                             ; preds = %2128
  %2131 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5value, align 4, !tbaa !23
  %2132 = fpext float %2131 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.523, double noundef %2132)
  %2133 = call noundef zeroext i1 @_ZN5ImGui21BeginPopupContextItemEPKci(ptr noundef nonnull @.str.524, i32 noundef 1)
  br i1 %2133, label %2134, label %2142

2134:                                             ; preds = %2130
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %189) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %189, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2135 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull @.str.525, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %189)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %189) #12
  br i1 %2135, label %2136, label %2137

2136:                                             ; preds = %2134
  store float 0.000000e+00, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5value, align 4, !tbaa !23
  br label %2137

2137:                                             ; preds = %2136, %2134
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %190) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %190, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2138 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull @.str.526, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %190)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %190) #12
  br i1 %2138, label %2139, label %2140

2139:                                             ; preds = %2137
  store float 0x400921CAC0000000, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5value, align 4, !tbaa !23
  br label %2140

2140:                                             ; preds = %2139, %2137
  call void @_ZN5ImGui13PushItemWidthEf(float noundef -1.000000e+00)
  %2141 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.527, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5value, float noundef 0x3FB99999A0000000, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui8EndPopupEv()
  br label %2142

2142:                                             ; preds = %2140, %2130
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %191) #12
  %2143 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %191, ptr noundef nonnull dereferenceable(1) @.str.528, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4name) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %192) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %192, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2144 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull %191, ptr noundef nonnull align 4 dereferenceable(8) %192)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %192) #12
  %2145 = call noundef zeroext i1 @_ZN5ImGui21BeginPopupContextItemEPKci(ptr noundef null, i32 noundef 1)
  br i1 %2145, label %2146, label %2151

2146:                                             ; preds = %2142
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.529)
  %2147 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.530, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4name, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %193) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %193, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2148 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.531, ptr noundef nonnull align 4 dereferenceable(8) %193)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %193) #12
  br i1 %2148, label %2149, label %2150

2149:                                             ; preds = %2146
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2150

2150:                                             ; preds = %2149, %2146
  call void @_ZN5ImGui8EndPopupEv()
  br label %2151

2151:                                             ; preds = %2150, %2142
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.532)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %191) #12
  br label %2152

2152:                                             ; preds = %2151, %2128
  %2153 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.533)
  br i1 %2153, label %2154, label %2188

2154:                                             ; preds = %2152
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.534)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %194) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %194, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2155 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.535, ptr noundef nonnull align 4 dereferenceable(8) %194)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %194) #12
  br i1 %2155, label %2156, label %2157

2156:                                             ; preds = %2154
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.536)
  br label %2157

2157:                                             ; preds = %2156, %2154
  %2158 = call noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef nonnull @.str.536, ptr noundef null, i32 noundef 64)
  br i1 %2158, label %2159, label %2167

2159:                                             ; preds = %2157
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.537)
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %195) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %195, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef 10, ptr noundef nonnull align 4 dereferenceable(8) %195)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %195) #12
  %2160 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.538, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE21dont_ask_me_next_time)
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %196) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %196, float noundef 1.200000e+02, float noundef 0.000000e+00)
  %2161 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.539, ptr noundef nonnull align 4 dereferenceable(8) %196)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %196) #12
  br i1 %2161, label %2162, label %2163

2162:                                             ; preds = %2159
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2163

2163:                                             ; preds = %2162, %2159
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %197) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %197, float noundef 1.200000e+02, float noundef 0.000000e+00)
  %2164 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.540, ptr noundef nonnull align 4 dereferenceable(8) %197)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %197) #12
  br i1 %2164, label %2165, label %2166

2165:                                             ; preds = %2163
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2166

2166:                                             ; preds = %2165, %2163
  call void @_ZN5ImGui8EndPopupEv()
  br label %2167

2167:                                             ; preds = %2166, %2157
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %198) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %198, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2168 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.541, ptr noundef nonnull align 4 dereferenceable(8) %198)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %198) #12
  br i1 %2168, label %2169, label %2170

2169:                                             ; preds = %2167
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.542)
  br label %2170

2170:                                             ; preds = %2169, %2167
  %2171 = call noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef nonnull @.str.542, ptr noundef null, i32 noundef 0)
  br i1 %2171, label %2172, label %2187

2172:                                             ; preds = %2170
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.543)
  %2173 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef nonnull @.str.175, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4item_0, ptr noundef nonnull @.str.182, i32 noundef -1)
  %2174 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.544, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5color_0, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %199) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %199, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2175 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.545, ptr noundef nonnull align 4 dereferenceable(8) %199)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %199) #12
  br i1 %2175, label %2176, label %2177

2176:                                             ; preds = %2172
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.546)
  br label %2177

2177:                                             ; preds = %2176, %2172
  %2178 = call noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef nonnull @.str.546, ptr noundef null, i32 noundef 0)
  br i1 %2178, label %2179, label %2183

2179:                                             ; preds = %2177
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.547)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %200) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %200, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2180 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.531, ptr noundef nonnull align 4 dereferenceable(8) %200)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %200) #12
  br i1 %2180, label %2181, label %2182

2181:                                             ; preds = %2179
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2182

2182:                                             ; preds = %2181, %2179
  call void @_ZN5ImGui8EndPopupEv()
  br label %2183

2183:                                             ; preds = %2182, %2177
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %201) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %201, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2184 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.531, ptr noundef nonnull align 4 dereferenceable(8) %201)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %201) #12
  br i1 %2184, label %2185, label %2186

2185:                                             ; preds = %2183
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2186

2186:                                             ; preds = %2185, %2183
  call void @_ZN5ImGui8EndPopupEv()
  br label %2187

2187:                                             ; preds = %2186, %2170
  call void @_ZN5ImGui7TreePopEv()
  br label %2188

2188:                                             ; preds = %2187, %2152
  %2189 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.548)
  br i1 %2189, label %2190, label %2195

2190:                                             ; preds = %2188
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.549)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef nonnull @.str.550)
  %2191 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef nonnull @.str.551, ptr noundef nonnull @.str.552, i1 noundef zeroext false, i1 noundef zeroext true)
  %2192 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef nonnull @.str.553, i1 noundef zeroext true)
  br i1 %2192, label %2193, label %2194

2193:                                             ; preds = %2190
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui7EndMenuEv()
  br label %2194

2194:                                             ; preds = %2193, %2190
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %2195

2195:                                             ; preds = %2188, %2194, %2047
  %2196 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.554, i32 noundef 0)
  br i1 %2196, label %2197, label %2476

2197:                                             ; preds = %2195
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef nonnull @.str.554)
  %2198 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.53)
  br i1 %2198, label %2199, label %2258

2199:                                             ; preds = %2197
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.555)
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 3, ptr noundef nonnull @.str.556, i1 noundef zeroext false)
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %202) #12
  %2200 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %202, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 0) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2201 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %202, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %202) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %202) #12
  %2202 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %202, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 1) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2203 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %202, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %202) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %202) #12
  %2204 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %202, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 2) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2205 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %202, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %202) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %202) #12
  %2206 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %202, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 3) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2207 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %202, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %202) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %202) #12
  %2208 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %202, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 4) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2209 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %202, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %202) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %202) #12
  %2210 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %202, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 5) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2211 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %202, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %202) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %202) #12
  %2212 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %202, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 6) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2213 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %202, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %202) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %202) #12
  %2214 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %202, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 7) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2215 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %202, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %202) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %202) #12
  %2216 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %202, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 8) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2217 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %202, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %202) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %202) #12
  %2218 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %202, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 9) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2219 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %202, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %202) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %202) #12
  %2220 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %202, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 10) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2221 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %202, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %202) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %202) #12
  %2222 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %202, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 11) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2223 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %202, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %202) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %202) #12
  %2224 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %202, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 12) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2225 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %202, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %202) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %202) #12
  %2226 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %202, ptr noundef nonnull dereferenceable(1) @.str.202, i32 noundef 13) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2227 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %202, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %202) #12
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.557)
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 4, ptr noundef nonnull @.str.558, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.559)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.560)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.561)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.562)
  call void @_ZN5ImGui10NextColumnEv()
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %204) #12
  %2228 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %204, ptr noundef nonnull dereferenceable(1) @.str.570, i32 noundef 0) #12
  %2229 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !11
  %2230 = icmp eq i32 %2229, 0
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %205) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %205, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2231 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %204, i1 noundef zeroext %2230, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(8) %205)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %205) #12
  br i1 %2231, label %2232, label %2233

2232:                                             ; preds = %2199
  store i32 0, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !11
  br label %2233

2233:                                             ; preds = %2232, %2199
  %2234 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  call void @_ZN5ImGui10NextColumnEv()
  %2235 = load ptr, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names.566, align 16, !tbaa !36
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %2235)
  call void @_ZN5ImGui10NextColumnEv()
  %2236 = load ptr, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.paths, align 16, !tbaa !36
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %2236)
  call void @_ZN5ImGui10NextColumnEv()
  %2237 = zext i1 %2234 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.63, i32 noundef %2237)
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %204) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %204) #12
  %2238 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %204, ptr noundef nonnull dereferenceable(1) @.str.570, i32 noundef 1) #12
  %2239 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !11
  %2240 = icmp eq i32 %2239, 1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %205) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %205, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2241 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %204, i1 noundef zeroext %2240, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(8) %205)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %205) #12
  br i1 %2241, label %2242, label %2243

2242:                                             ; preds = %2233
  store i32 1, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !11
  br label %2243

2243:                                             ; preds = %2242, %2233
  %2244 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  call void @_ZN5ImGui10NextColumnEv()
  %2245 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names.566, i64 8), align 8, !tbaa !36
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %2245)
  call void @_ZN5ImGui10NextColumnEv()
  %2246 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.paths, i64 8), align 8, !tbaa !36
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %2246)
  call void @_ZN5ImGui10NextColumnEv()
  %2247 = zext i1 %2244 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.63, i32 noundef %2247)
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %204) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %204) #12
  %2248 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %204, ptr noundef nonnull dereferenceable(1) @.str.570, i32 noundef 2) #12
  %2249 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !11
  %2250 = icmp eq i32 %2249, 2
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %205) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %205, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2251 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %204, i1 noundef zeroext %2250, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(8) %205)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %205) #12
  br i1 %2251, label %2252, label %2253

2252:                                             ; preds = %2243
  store i32 2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !11
  br label %2253

2253:                                             ; preds = %2252, %2243
  %2254 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  call void @_ZN5ImGui10NextColumnEv()
  %2255 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names.566, i64 16), align 16, !tbaa !36
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %2255)
  call void @_ZN5ImGui10NextColumnEv()
  %2256 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.paths, i64 16), align 16, !tbaa !36
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %2256)
  call void @_ZN5ImGui10NextColumnEv()
  %2257 = zext i1 %2254 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.63, i32 noundef %2257)
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %204) #12
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %2258

2258:                                             ; preds = %2253, %2197
  %2259 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.571)
  br i1 %2259, label %2260, label %2275

2260:                                             ; preds = %2258
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 3, ptr noundef nonnull @.str.572, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.573)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %206) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %206, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2261 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.117, ptr noundef nonnull align 4 dereferenceable(8) %206)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %206) #12
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.574)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %207) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %207, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2262 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.116, ptr noundef nonnull align 4 dereferenceable(8) %207)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %207) #12
  %2263 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef nonnull @.str.575, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3foo, float noundef 0x3FA99999A0000000, float noundef 0.000000e+00, ptr noundef nonnull @.str.92, i32 noundef 0)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.576)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.204)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2264 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.411, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #12
  %2265 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef nonnull @.str.577, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3bar, float noundef 0x3FA99999A0000000, float noundef 0.000000e+00, ptr noundef nonnull @.str.92, i32 noundef 0)
  call void @_ZN5ImGui10NextColumnEv()
  %2266 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.578, i32 noundef 0)
  br i1 %2266, label %2267, label %2268

2267:                                             ; preds = %2260
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.579)
  br label %2268

2268:                                             ; preds = %2267, %2260
  call void @_ZN5ImGui10NextColumnEv()
  %2269 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.580, i32 noundef 0)
  br i1 %2269, label %2270, label %2271

2270:                                             ; preds = %2268
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.579)
  br label %2271

2271:                                             ; preds = %2270, %2268
  call void @_ZN5ImGui10NextColumnEv()
  %2272 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.581, i32 noundef 0)
  br i1 %2272, label %2273, label %2274

2273:                                             ; preds = %2271
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.579)
  br label %2274

2274:                                             ; preds = %2273, %2271
  call void @_ZN5ImGui10NextColumnEv()
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %2275

2275:                                             ; preds = %2274, %2258
  %2276 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.582)
  br i1 %2276, label %2277, label %2278

2277:                                             ; preds = %2275
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 2, ptr noundef nonnull @.str.583, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.584)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.585)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.584)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.586)
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %2278

2278:                                             ; preds = %2277, %2275
  %2279 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.587)
  br i1 %2279, label %2280, label %2421

2280:                                             ; preds = %2278
  %2281 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.588, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2282 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.589, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9v_borders)
  %2283 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9v_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2284 = trunc nuw i8 %2283 to i1
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 4, ptr noundef null, i1 noundef zeroext %2284)
  %2285 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2286 = trunc nuw i8 %2285 to i1
  br i1 %2286, label %2287, label %2291

2287:                                             ; preds = %2280
  %2288 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2289 = icmp eq i32 %2288, 0
  br i1 %2289, label %2290, label %2291

2290:                                             ; preds = %2287
  call void @_ZN5ImGui9SeparatorEv()
  br label %2291

2291:                                             ; preds = %2290, %2287, %2280
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.590, i32 noundef 97, i32 noundef 97, i32 noundef 97)
  %2292 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2293 = fpext float %2292 to double
  %2294 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2295 = fpext float %2294 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.591, double noundef %2293, double noundef %2295)
  call void @_ZN5ImGui10NextColumnEv()
  %2296 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2297 = trunc nuw i8 %2296 to i1
  br i1 %2297, label %2298, label %2302

2298:                                             ; preds = %2291
  %2299 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2300 = icmp eq i32 %2299, 0
  br i1 %2300, label %2301, label %2302

2301:                                             ; preds = %2298
  call void @_ZN5ImGui9SeparatorEv()
  br label %2302

2302:                                             ; preds = %2301, %2298, %2291
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.590, i32 noundef 98, i32 noundef 98, i32 noundef 98)
  %2303 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2304 = fpext float %2303 to double
  %2305 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2306 = fpext float %2305 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.591, double noundef %2304, double noundef %2306)
  call void @_ZN5ImGui10NextColumnEv()
  %2307 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2308 = trunc nuw i8 %2307 to i1
  br i1 %2308, label %2309, label %2313

2309:                                             ; preds = %2302
  %2310 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2311 = icmp eq i32 %2310, 0
  br i1 %2311, label %2312, label %2313

2312:                                             ; preds = %2309
  call void @_ZN5ImGui9SeparatorEv()
  br label %2313

2313:                                             ; preds = %2312, %2309, %2302
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.590, i32 noundef 99, i32 noundef 99, i32 noundef 99)
  %2314 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2315 = fpext float %2314 to double
  %2316 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2317 = fpext float %2316 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.591, double noundef %2315, double noundef %2317)
  call void @_ZN5ImGui10NextColumnEv()
  %2318 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2319 = trunc nuw i8 %2318 to i1
  br i1 %2319, label %2320, label %2324

2320:                                             ; preds = %2313
  %2321 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2322 = icmp eq i32 %2321, 0
  br i1 %2322, label %2323, label %2324

2323:                                             ; preds = %2320
  call void @_ZN5ImGui9SeparatorEv()
  br label %2324

2324:                                             ; preds = %2323, %2320, %2313
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.590, i32 noundef 100, i32 noundef 100, i32 noundef 100)
  %2325 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2326 = fpext float %2325 to double
  %2327 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2328 = fpext float %2327 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.591, double noundef %2326, double noundef %2328)
  call void @_ZN5ImGui10NextColumnEv()
  %2329 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2330 = trunc nuw i8 %2329 to i1
  br i1 %2330, label %2331, label %2335

2331:                                             ; preds = %2324
  %2332 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2333 = icmp eq i32 %2332, 0
  br i1 %2333, label %2334, label %2335

2334:                                             ; preds = %2331
  call void @_ZN5ImGui9SeparatorEv()
  br label %2335

2335:                                             ; preds = %2334, %2331, %2324
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.590, i32 noundef 101, i32 noundef 101, i32 noundef 101)
  %2336 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2337 = fpext float %2336 to double
  %2338 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2339 = fpext float %2338 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.591, double noundef %2337, double noundef %2339)
  call void @_ZN5ImGui10NextColumnEv()
  %2340 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2341 = trunc nuw i8 %2340 to i1
  br i1 %2341, label %2342, label %2346

2342:                                             ; preds = %2335
  %2343 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2344 = icmp eq i32 %2343, 0
  br i1 %2344, label %2345, label %2346

2345:                                             ; preds = %2342
  call void @_ZN5ImGui9SeparatorEv()
  br label %2346

2346:                                             ; preds = %2345, %2342, %2335
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.590, i32 noundef 102, i32 noundef 102, i32 noundef 102)
  %2347 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2348 = fpext float %2347 to double
  %2349 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2350 = fpext float %2349 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.591, double noundef %2348, double noundef %2350)
  call void @_ZN5ImGui10NextColumnEv()
  %2351 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2352 = trunc nuw i8 %2351 to i1
  br i1 %2352, label %2353, label %2357

2353:                                             ; preds = %2346
  %2354 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2355 = icmp eq i32 %2354, 0
  br i1 %2355, label %2356, label %2357

2356:                                             ; preds = %2353
  call void @_ZN5ImGui9SeparatorEv()
  br label %2357

2357:                                             ; preds = %2356, %2353, %2346
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.590, i32 noundef 103, i32 noundef 103, i32 noundef 103)
  %2358 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2359 = fpext float %2358 to double
  %2360 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2361 = fpext float %2360 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.591, double noundef %2359, double noundef %2361)
  call void @_ZN5ImGui10NextColumnEv()
  %2362 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2363 = trunc nuw i8 %2362 to i1
  br i1 %2363, label %2364, label %2368

2364:                                             ; preds = %2357
  %2365 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2366 = icmp eq i32 %2365, 0
  br i1 %2366, label %2367, label %2368

2367:                                             ; preds = %2364
  call void @_ZN5ImGui9SeparatorEv()
  br label %2368

2368:                                             ; preds = %2367, %2364, %2357
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.590, i32 noundef 104, i32 noundef 104, i32 noundef 104)
  %2369 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2370 = fpext float %2369 to double
  %2371 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2372 = fpext float %2371 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.591, double noundef %2370, double noundef %2372)
  call void @_ZN5ImGui10NextColumnEv()
  %2373 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2374 = trunc nuw i8 %2373 to i1
  br i1 %2374, label %2375, label %2379

2375:                                             ; preds = %2368
  %2376 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2377 = icmp eq i32 %2376, 0
  br i1 %2377, label %2378, label %2379

2378:                                             ; preds = %2375
  call void @_ZN5ImGui9SeparatorEv()
  br label %2379

2379:                                             ; preds = %2378, %2375, %2368
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.590, i32 noundef 105, i32 noundef 105, i32 noundef 105)
  %2380 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2381 = fpext float %2380 to double
  %2382 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2383 = fpext float %2382 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.591, double noundef %2381, double noundef %2383)
  call void @_ZN5ImGui10NextColumnEv()
  %2384 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2385 = trunc nuw i8 %2384 to i1
  br i1 %2385, label %2386, label %2390

2386:                                             ; preds = %2379
  %2387 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2388 = icmp eq i32 %2387, 0
  br i1 %2388, label %2389, label %2390

2389:                                             ; preds = %2386
  call void @_ZN5ImGui9SeparatorEv()
  br label %2390

2390:                                             ; preds = %2389, %2386, %2379
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.590, i32 noundef 106, i32 noundef 106, i32 noundef 106)
  %2391 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2392 = fpext float %2391 to double
  %2393 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2394 = fpext float %2393 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.591, double noundef %2392, double noundef %2394)
  call void @_ZN5ImGui10NextColumnEv()
  %2395 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2396 = trunc nuw i8 %2395 to i1
  br i1 %2396, label %2397, label %2401

2397:                                             ; preds = %2390
  %2398 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2399 = icmp eq i32 %2398, 0
  br i1 %2399, label %2400, label %2401

2400:                                             ; preds = %2397
  call void @_ZN5ImGui9SeparatorEv()
  br label %2401

2401:                                             ; preds = %2400, %2397, %2390
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.590, i32 noundef 107, i32 noundef 107, i32 noundef 107)
  %2402 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2403 = fpext float %2402 to double
  %2404 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2405 = fpext float %2404 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.591, double noundef %2403, double noundef %2405)
  call void @_ZN5ImGui10NextColumnEv()
  %2406 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2407 = trunc nuw i8 %2406 to i1
  br i1 %2407, label %2408, label %2412

2408:                                             ; preds = %2401
  %2409 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2410 = icmp eq i32 %2409, 0
  br i1 %2410, label %2411, label %2412

2411:                                             ; preds = %2408
  call void @_ZN5ImGui9SeparatorEv()
  br label %2412

2412:                                             ; preds = %2411, %2408, %2401
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.590, i32 noundef 108, i32 noundef 108, i32 noundef 108)
  %2413 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2414 = fpext float %2413 to double
  %2415 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2416 = fpext float %2415 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.591, double noundef %2414, double noundef %2416)
  call void @_ZN5ImGui10NextColumnEv()
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  %2417 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2418 = trunc nuw i8 %2417 to i1
  br i1 %2418, label %2419, label %2420

2419:                                             ; preds = %2412
  call void @_ZN5ImGui9SeparatorEv()
  br label %2420

2420:                                             ; preds = %2419, %2412
  call void @_ZN5ImGui7TreePopEv()
  br label %2421

2421:                                             ; preds = %2420, %2278
  %2422 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.483)
  br i1 %2422, label %2423, label %2466

2423:                                             ; preds = %2421
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %209) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %209, float noundef 1.500000e+03, float noundef 0.000000e+00)
  call void @_ZN5ImGui24SetNextWindowContentSizeERK6ImVec2(ptr noundef nonnull align 4 dereferenceable(8) %209)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %209) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %210) #12
  %2424 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %2425 = fmul float %2424, 2.000000e+01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %210, float noundef 0.000000e+00, float noundef %2425)
  %2426 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef nonnull @.str.592, ptr noundef nonnull align 4 dereferenceable(8) %210, i1 noundef zeroext false, i32 noundef 2048)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %210) #12
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 10, ptr noundef null, i1 noundef zeroext true)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %211) #12
  call void @_ZN16ImGuiListClipperC2Eif(ptr noundef nonnull align 4 dereferenceable(24) %211, i32 noundef 2000, float noundef -1.000000e+00)
  %2427 = getelementptr inbounds i8, ptr %211, i64 16
  %2428 = getelementptr inbounds i8, ptr %211, i64 20
  br label %2429

.loopexit571:                                     ; preds = %2455, %2432
  br label %2429, !llvm.loop !68

2429:                                             ; preds = %.loopexit571, %2423
  %2430 = invoke noundef zeroext i1 @_ZN16ImGuiListClipper4StepEv(ptr noundef nonnull align 4 dereferenceable(24) %211)
          to label %2431 unwind label %.loopexit572

2431:                                             ; preds = %2429
  br i1 %2430, label %2432, label %2461

2432:                                             ; preds = %2431
  %2433 = load i32, ptr %2427, align 4, !tbaa !69
  %2434 = load i32, ptr %2428, align 4, !tbaa !71
  %2435 = icmp slt i32 %2433, %2434
  br i1 %2435, label %.preheader, label %.loopexit571

.preheader:                                       ; preds = %2432, %2455
  %.0466623 = phi i32 [ %2456, %2455 ], [ %2433, %2432 ]
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.593, i32 noundef %.0466623, i32 noundef 0)
          to label %2436 unwind label %2459

.loopexit572:                                     ; preds = %2429
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %2465

.loopexit.split-lp:                               ; preds = %2461, %2462, %2463
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %2465

2436:                                             ; preds = %.preheader
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2437 unwind label %2459

2437:                                             ; preds = %2436
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.593, i32 noundef %.0466623, i32 noundef 1)
          to label %2438 unwind label %2459

2438:                                             ; preds = %2437
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2439 unwind label %2459

2439:                                             ; preds = %2438
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.593, i32 noundef %.0466623, i32 noundef 2)
          to label %2440 unwind label %2459

2440:                                             ; preds = %2439
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2441 unwind label %2459

2441:                                             ; preds = %2440
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.593, i32 noundef %.0466623, i32 noundef 3)
          to label %2442 unwind label %2459

2442:                                             ; preds = %2441
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2443 unwind label %2459

2443:                                             ; preds = %2442
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.593, i32 noundef %.0466623, i32 noundef 4)
          to label %2444 unwind label %2459

2444:                                             ; preds = %2443
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2445 unwind label %2459

2445:                                             ; preds = %2444
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.593, i32 noundef %.0466623, i32 noundef 5)
          to label %2446 unwind label %2459

2446:                                             ; preds = %2445
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2447 unwind label %2459

2447:                                             ; preds = %2446
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.593, i32 noundef %.0466623, i32 noundef 6)
          to label %2448 unwind label %2459

2448:                                             ; preds = %2447
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2449 unwind label %2459

2449:                                             ; preds = %2448
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.593, i32 noundef %.0466623, i32 noundef 7)
          to label %2450 unwind label %2459

2450:                                             ; preds = %2449
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2451 unwind label %2459

2451:                                             ; preds = %2450
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.593, i32 noundef %.0466623, i32 noundef 8)
          to label %2452 unwind label %2459

2452:                                             ; preds = %2451
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2453 unwind label %2459

2453:                                             ; preds = %2452
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.593, i32 noundef %.0466623, i32 noundef 9)
          to label %2454 unwind label %2459

2454:                                             ; preds = %2453
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2455 unwind label %2459

2455:                                             ; preds = %2454
  %2456 = add nsw i32 %.0466623, 1
  %2457 = load i32, ptr %2428, align 4, !tbaa !71
  %2458 = icmp slt i32 %2456, %2457
  br i1 %2458, label %.preheader, label %.loopexit571, !llvm.loop !72

2459:                                             ; preds = %2454, %2453, %2452, %2451, %2450, %2449, %2448, %2447, %2446, %2445, %2444, %2443, %2442, %2441, %2440, %2439, %2438, %2437, %2436, %.preheader
  %2460 = landingpad { ptr, i32 }
          cleanup
  br label %2465

2461:                                             ; preds = %2431
  invoke void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
          to label %2462 unwind label %.loopexit.split-lp

2462:                                             ; preds = %2461
  invoke void @_ZN5ImGui8EndChildEv()
          to label %2463 unwind label %.loopexit.split-lp

2463:                                             ; preds = %2462
  invoke void @_ZN5ImGui7TreePopEv()
          to label %2464 unwind label %.loopexit.split-lp

2464:                                             ; preds = %2463
  call void @_ZN16ImGuiListClipperD2Ev(ptr noundef nonnull align 4 dereferenceable(24) %211) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %211) #12
  br label %2466

2465:                                             ; preds = %.loopexit572, %.loopexit.split-lp, %2459
  %.pn = phi { ptr, i32 } [ %2460, %2459 ], [ %lpad.loopexit, %.loopexit572 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZN16ImGuiListClipperD2Ev(ptr noundef nonnull align 4 dereferenceable(24) %211) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %211) #12
  br label %3220

2466:                                             ; preds = %2464, %2421
  %2467 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.594)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.595)
  br i1 %2467, label %2468, label %2475

2468:                                             ; preds = %2466
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 2, ptr noundef nonnull @.str.596, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  %2469 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.573)
  br i1 %2469, label %2470, label %2471

2470:                                             ; preds = %2468
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.204)
  call void @_ZN5ImGui7TreePopEv()
  br label %2471

2471:                                             ; preds = %2470, %2468
  call void @_ZN5ImGui10NextColumnEv()
  %2472 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.597)
  br i1 %2472, label %2473, label %2474

2473:                                             ; preds = %2471
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.598)
  call void @_ZN5ImGui7TreePopEv()
  br label %2474

2474:                                             ; preds = %2473, %2471
  call void @_ZN5ImGui10NextColumnEv()
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %2475

2475:                                             ; preds = %2474, %2466
  call void @_ZN5ImGui5PopIDEv()
  br label %2476

2476:                                             ; preds = %2475, %2195
  %2477 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.599, i32 noundef 0)
  br i1 %2477, label %2478, label %.loopexit

2478:                                             ; preds = %2476
  %2479 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter acquire, align 8
  %2480 = icmp eq i8 %2479, 0
  br i1 %2480, label %2481, label %2486, !prof !35

2481:                                             ; preds = %2478
  %2482 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter) #12
  %.not532 = icmp eq i32 %2482, 0
  br i1 %.not532, label %2486, label %2483

2483:                                             ; preds = %2481
  invoke void @_ZN15ImGuiTextFilterC1EPKc(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef nonnull @.str.357)
          to label %2484 unwind label %2490

2484:                                             ; preds = %2483
  %2485 = call i32 @__cxa_atexit(ptr nonnull @_ZN15ImGuiTextFilterD2Ev, ptr nonnull @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr nonnull @__dso_handle) #12
  call void @__cxa_guard_release(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter) #12
  br label %2486

2486:                                             ; preds = %2484, %2481, %2478
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.600)
  %2487 = call noundef zeroext i1 @_ZN15ImGuiTextFilter4DrawEPKcf(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef nonnull @.str.601, float noundef 0.000000e+00)
  %2488 = load ptr, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, align 16, !tbaa !36
  %2489 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2488, ptr noundef null)
  br i1 %2489, label %2492, label %2493

2490:                                             ; preds = %2483
  %2491 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_guard_abort(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter) #12
  br label %3220

2492:                                             ; preds = %2486
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.475, ptr noundef %2488)
  br label %2493

2493:                                             ; preds = %2486, %2492
  %2494 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 8), align 8, !tbaa !36
  %2495 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2494, ptr noundef null)
  br i1 %2495, label %2496, label %2497

2496:                                             ; preds = %2493
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.475, ptr noundef %2494)
  br label %2497

2497:                                             ; preds = %2496, %2493
  %2498 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 16), align 16, !tbaa !36
  %2499 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2498, ptr noundef null)
  br i1 %2499, label %2500, label %2501

2500:                                             ; preds = %2497
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.475, ptr noundef %2498)
  br label %2501

2501:                                             ; preds = %2500, %2497
  %2502 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 24), align 8, !tbaa !36
  %2503 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2502, ptr noundef null)
  br i1 %2503, label %2504, label %2505

2504:                                             ; preds = %2501
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.475, ptr noundef %2502)
  br label %2505

2505:                                             ; preds = %2504, %2501
  %2506 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 32), align 16, !tbaa !36
  %2507 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2506, ptr noundef null)
  br i1 %2507, label %2508, label %2509

2508:                                             ; preds = %2505
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.475, ptr noundef %2506)
  br label %2509

2509:                                             ; preds = %2508, %2505
  %2510 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 40), align 8, !tbaa !36
  %2511 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2510, ptr noundef null)
  br i1 %2511, label %2512, label %2513

2512:                                             ; preds = %2509
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.475, ptr noundef %2510)
  br label %2513

2513:                                             ; preds = %2512, %2509
  %2514 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 48), align 16, !tbaa !36
  %2515 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2514, ptr noundef null)
  br i1 %2515, label %2516, label %2517

2516:                                             ; preds = %2513
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.475, ptr noundef %2514)
  br label %2517

2517:                                             ; preds = %2516, %2513
  %2518 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 56), align 8, !tbaa !36
  %2519 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2518, ptr noundef null)
  br i1 %2519, label %2520, label %.loopexit

2520:                                             ; preds = %2517
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.475, ptr noundef %2518)
  br label %.loopexit

.loopexit:                                        ; preds = %2517, %2520, %2476
  %2521 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.610, i32 noundef 0)
  br i1 %2521, label %2522, label %3219

2522:                                             ; preds = %.loopexit
  %2523 = call noundef nonnull align 8 dereferenceable(5400) ptr @_ZN5ImGui5GetIOEv()
  %2524 = getelementptr inbounds i8, ptr %2523, i64 916
  %2525 = load i8, ptr %2524, align 4, !tbaa !73, !range !9, !noundef !10
  %2526 = zext nneg i8 %2525 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.611, i32 noundef %2526)
  %2527 = getelementptr inbounds i8, ptr %2523, i64 917
  %2528 = load i8, ptr %2527, align 1, !tbaa !74, !range !9, !noundef !10
  %2529 = zext nneg i8 %2528 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.612, i32 noundef %2529)
  %2530 = getelementptr inbounds i8, ptr %2523, i64 918
  %2531 = load i8, ptr %2530, align 2, !tbaa !75, !range !9, !noundef !10
  %2532 = zext nneg i8 %2531 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.613, i32 noundef %2532)
  %2533 = getelementptr inbounds i8, ptr %2523, i64 919
  %2534 = load i8, ptr %2533, align 1, !tbaa !76, !range !9, !noundef !10
  %2535 = zext nneg i8 %2534 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.614, i32 noundef %2535)
  %2536 = getelementptr inbounds i8, ptr %2523, i64 921
  %2537 = load i8, ptr %2536, align 1, !tbaa !77, !range !9, !noundef !10
  %2538 = zext nneg i8 %2537 to i32
  %2539 = getelementptr inbounds i8, ptr %2523, i64 922
  %2540 = load i8, ptr %2539, align 2, !tbaa !78, !range !9, !noundef !10
  %2541 = zext nneg i8 %2540 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.615, i32 noundef %2538, i32 noundef %2541)
  %2542 = getelementptr inbounds i8, ptr %2523, i64 280
  %2543 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.616, ptr noundef nonnull %2542)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.617)
  %2544 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.618, ptr noundef nonnull %2523, i32 noundef 2)
  %2545 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.619, ptr noundef nonnull %2523, i32 noundef 1)
  %2546 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.620, ptr noundef nonnull %2523, i32 noundef 4)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.621)
  %2547 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.622, ptr noundef nonnull %2523, i32 noundef 32)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.623)
  %2548 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.624)
  br i1 %2548, label %2549, label %3074

2549:                                             ; preds = %2522
  %2550 = call noundef zeroext i1 @_ZN5ImGui15IsMousePosValidEPK6ImVec2(ptr noundef null)
  br i1 %2550, label %2551, label %2558

2551:                                             ; preds = %2549
  %2552 = getelementptr inbounds i8, ptr %2523, i64 256
  %2553 = load float, ptr %2552, align 8, !tbaa !32
  %2554 = fpext float %2553 to double
  %2555 = getelementptr inbounds i8, ptr %2523, i64 260
  %2556 = load float, ptr %2555, align 4, !tbaa !33
  %2557 = fpext float %2556 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.625, double noundef %2554, double noundef %2557)
  br label %2559

2558:                                             ; preds = %2549
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.626)
  br label %2559

2559:                                             ; preds = %2558, %2551
  %2560 = getelementptr inbounds i8, ptr %2523, i64 940
  %2561 = load float, ptr %2560, align 4, !tbaa !66
  %2562 = fpext float %2561 to double
  %2563 = getelementptr inbounds i8, ptr %2523, i64 944
  %2564 = load float, ptr %2563, align 8, !tbaa !67
  %2565 = fpext float %2564 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.627, double noundef %2562, double noundef %2565)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.628)
  %2566 = getelementptr inbounds i8, ptr %2523, i64 1036
  %2567 = load float, ptr %2566, align 4, !tbaa !23
  %2568 = fcmp ult float %2567, 0.000000e+00
  br i1 %2568, label %2572, label %2569

2569:                                             ; preds = %2559
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2570 = load float, ptr %2566, align 4, !tbaa !23
  %2571 = fpext float %2570 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.629, i32 noundef 0, double noundef %2571)
  br label %2572

2572:                                             ; preds = %2559, %2569
  %2573 = getelementptr inbounds i8, ptr %2523, i64 1040
  %2574 = load float, ptr %2573, align 8, !tbaa !23
  %2575 = fcmp ult float %2574, 0.000000e+00
  br i1 %2575, label %2579, label %2576

2576:                                             ; preds = %2572
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2577 = load float, ptr %2573, align 8, !tbaa !23
  %2578 = fpext float %2577 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.629, i32 noundef 1, double noundef %2578)
  br label %2579

2579:                                             ; preds = %2576, %2572
  %2580 = getelementptr inbounds i8, ptr %2523, i64 1044
  %2581 = load float, ptr %2580, align 4, !tbaa !23
  %2582 = fcmp ult float %2581, 0.000000e+00
  br i1 %2582, label %2586, label %2583

2583:                                             ; preds = %2579
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2584 = load float, ptr %2580, align 4, !tbaa !23
  %2585 = fpext float %2584 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.629, i32 noundef 2, double noundef %2585)
  br label %2586

2586:                                             ; preds = %2583, %2579
  %2587 = getelementptr inbounds i8, ptr %2523, i64 1048
  %2588 = load float, ptr %2587, align 8, !tbaa !23
  %2589 = fcmp ult float %2588, 0.000000e+00
  br i1 %2589, label %2593, label %2590

2590:                                             ; preds = %2586
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2591 = load float, ptr %2587, align 8, !tbaa !23
  %2592 = fpext float %2591 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.629, i32 noundef 3, double noundef %2592)
  br label %2593

2593:                                             ; preds = %2590, %2586
  %2594 = getelementptr inbounds i8, ptr %2523, i64 1052
  %2595 = load float, ptr %2594, align 4, !tbaa !23
  %2596 = fcmp ult float %2595, 0.000000e+00
  br i1 %2596, label %2600, label %2597

2597:                                             ; preds = %2593
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2598 = load float, ptr %2594, align 4, !tbaa !23
  %2599 = fpext float %2598 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.629, i32 noundef 4, double noundef %2599)
  br label %2600

2600:                                             ; preds = %2597, %2593
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.630)
  %2601 = call noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef 0, i1 noundef zeroext false)
  br i1 %2601, label %2602, label %2603

2602:                                             ; preds = %2600
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 0)
  br label %2603

2603:                                             ; preds = %2600, %2602
  %2604 = call noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef 1, i1 noundef zeroext false)
  br i1 %2604, label %2605, label %2606

2605:                                             ; preds = %2603
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 1)
  br label %2606

2606:                                             ; preds = %2605, %2603
  %2607 = call noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef 2, i1 noundef zeroext false)
  br i1 %2607, label %2608, label %2609

2608:                                             ; preds = %2606
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 2)
  br label %2609

2609:                                             ; preds = %2608, %2606
  %2610 = call noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef 3, i1 noundef zeroext false)
  br i1 %2610, label %2611, label %2612

2611:                                             ; preds = %2609
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 3)
  br label %2612

2612:                                             ; preds = %2611, %2609
  %2613 = call noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef 4, i1 noundef zeroext false)
  br i1 %2613, label %2614, label %2615

2614:                                             ; preds = %2612
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 4)
  br label %2615

2615:                                             ; preds = %2614, %2612
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.632)
  %2616 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef 0)
  br i1 %2616, label %2617, label %2618

2617:                                             ; preds = %2615
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 0)
  br label %2618

2618:                                             ; preds = %2615, %2617
  %2619 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef 1)
  br i1 %2619, label %2620, label %2621

2620:                                             ; preds = %2618
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 1)
  br label %2621

2621:                                             ; preds = %2620, %2618
  %2622 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef 2)
  br i1 %2622, label %2623, label %2624

2623:                                             ; preds = %2621
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 2)
  br label %2624

2624:                                             ; preds = %2623, %2621
  %2625 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef 3)
  br i1 %2625, label %2626, label %2627

2626:                                             ; preds = %2624
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 3)
  br label %2627

2627:                                             ; preds = %2626, %2624
  %2628 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef 4)
  br i1 %2628, label %2629, label %2630

2629:                                             ; preds = %2627
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 4)
  br label %2630

2630:                                             ; preds = %2629, %2627
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.633)
  %2631 = call noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef 0)
  br i1 %2631, label %2632, label %2633

2632:                                             ; preds = %2630
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 0)
  br label %2633

2633:                                             ; preds = %2630, %2632
  %2634 = call noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef 1)
  br i1 %2634, label %2635, label %2636

2635:                                             ; preds = %2633
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 1)
  br label %2636

2636:                                             ; preds = %2635, %2633
  %2637 = call noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef 2)
  br i1 %2637, label %2638, label %2639

2638:                                             ; preds = %2636
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 2)
  br label %2639

2639:                                             ; preds = %2638, %2636
  %2640 = call noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef 3)
  br i1 %2640, label %2641, label %2642

2641:                                             ; preds = %2639
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 3)
  br label %2642

2642:                                             ; preds = %2641, %2639
  %2643 = call noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef 4)
  br i1 %2643, label %2644, label %2645

2644:                                             ; preds = %2642
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.631, i32 noundef 4)
  br label %2645

2645:                                             ; preds = %2644, %2642
  %2646 = getelementptr inbounds i8, ptr %2523, i64 272
  %2647 = load float, ptr %2646, align 8, !tbaa !79
  %2648 = fpext float %2647 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.634, double noundef %2648)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.635)
  %2649 = getelementptr inbounds i8, ptr %2523, i64 1136
  br label %2651

2650:                                             ; preds = %2659
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.637)
  br label %2661

2651:                                             ; preds = %2645, %2659
  %indvars.iv764 = phi i64 [ 0, %2645 ], [ %indvars.iv.next765, %2659 ]
  %2652 = getelementptr inbounds [512 x float], ptr %2649, i64 0, i64 %indvars.iv764
  %2653 = load float, ptr %2652, align 4, !tbaa !23
  %2654 = fcmp ult float %2653, 0.000000e+00
  br i1 %2654, label %2659, label %2655

2655:                                             ; preds = %2651
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2656 = load float, ptr %2652, align 4, !tbaa !23
  %2657 = fpext float %2656 to double
  %2658 = trunc nuw nsw i64 %indvars.iv764 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.636, i32 noundef %2658, double noundef %2657)
  br label %2659

2659:                                             ; preds = %2651, %2655
  %indvars.iv.next765 = add nuw nsw i64 %indvars.iv764, 1
  %exitcond767.not = icmp eq i64 %indvars.iv.next765, 512
  br i1 %exitcond767.not, label %2650, label %2651, !llvm.loop !80

2660:                                             ; preds = %2664
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.638)
  br label %2686

2661:                                             ; preds = %2650, %2664
  %.0456630 = phi i32 [ 0, %2650 ], [ %2665, %2664 ]
  %2662 = call noundef zeroext i1 @_ZN5ImGui12IsKeyPressedEib(i32 noundef %.0456630, i1 noundef zeroext true)
  br i1 %2662, label %2663, label %2664

2663:                                             ; preds = %2661
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.63, i32 noundef %.0456630)
  br label %2664

2664:                                             ; preds = %2661, %2663
  %2665 = add nuw nsw i32 %.0456630, 1
  %exitcond768.not = icmp eq i32 %2665, 512
  br i1 %exitcond768.not, label %2660, label %2661, !llvm.loop !81

2666:                                             ; preds = %2689
  %2667 = getelementptr inbounds i8, ptr %2523, i64 281
  %2668 = load i8, ptr %2667, align 1, !tbaa !20, !range !9, !noundef !10
  %2669 = trunc nuw i8 %2668 to i1
  %2670 = select i1 %2669, ptr @.str.640, ptr @.str.357
  %2671 = getelementptr inbounds i8, ptr %2523, i64 282
  %2672 = load i8, ptr %2671, align 2, !tbaa !82, !range !9, !noundef !10
  %2673 = trunc nuw i8 %2672 to i1
  %2674 = select i1 %2673, ptr @.str.641, ptr @.str.357
  %2675 = getelementptr inbounds i8, ptr %2523, i64 283
  %2676 = load i8, ptr %2675, align 1, !tbaa !83, !range !9, !noundef !10
  %2677 = trunc nuw i8 %2676 to i1
  %2678 = select i1 %2677, ptr @.str.642, ptr @.str.357
  %2679 = getelementptr inbounds i8, ptr %2523, i64 284
  %2680 = load i8, ptr %2679, align 4, !tbaa !84, !range !9, !noundef !10
  %2681 = trunc nuw i8 %2680 to i1
  %2682 = select i1 %2681, ptr @.str.643, ptr @.str.357
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.639, ptr noundef nonnull %2670, ptr noundef nonnull %2674, ptr noundef nonnull %2678, ptr noundef nonnull %2682)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.644)
  %2683 = getelementptr inbounds i8, ptr %2523, i64 832
  %2684 = load float, ptr %2683, align 8, !tbaa !23
  %2685 = fcmp ogt float %2684, 0.000000e+00
  br i1 %2685, label %2691, label %2694

2686:                                             ; preds = %2660, %2689
  %.0455631 = phi i32 [ 0, %2660 ], [ %2690, %2689 ]
  %2687 = call noundef zeroext i1 @_ZN5ImGui13IsKeyReleasedEi(i32 noundef %.0455631)
  br i1 %2687, label %2688, label %2689

2688:                                             ; preds = %2686
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.63, i32 noundef %.0455631)
  br label %2689

2689:                                             ; preds = %2686, %2688
  %2690 = add nuw nsw i32 %.0455631, 1
  %exitcond769.not = icmp eq i32 %2690, 512
  br i1 %exitcond769.not, label %2666, label %2686, !llvm.loop !85

2691:                                             ; preds = %2666
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2692 = load float, ptr %2683, align 8, !tbaa !23
  %2693 = fpext float %2692 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 0, double noundef %2693)
  br label %2694

2694:                                             ; preds = %2666, %2691
  %2695 = getelementptr inbounds i8, ptr %2523, i64 836
  %2696 = load float, ptr %2695, align 4, !tbaa !23
  %2697 = fcmp ogt float %2696, 0.000000e+00
  br i1 %2697, label %2698, label %2701

2698:                                             ; preds = %2694
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2699 = load float, ptr %2695, align 4, !tbaa !23
  %2700 = fpext float %2699 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 1, double noundef %2700)
  br label %2701

2701:                                             ; preds = %2698, %2694
  %2702 = getelementptr inbounds i8, ptr %2523, i64 840
  %2703 = load float, ptr %2702, align 8, !tbaa !23
  %2704 = fcmp ogt float %2703, 0.000000e+00
  br i1 %2704, label %2705, label %2708

2705:                                             ; preds = %2701
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2706 = load float, ptr %2702, align 8, !tbaa !23
  %2707 = fpext float %2706 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 2, double noundef %2707)
  br label %2708

2708:                                             ; preds = %2705, %2701
  %2709 = getelementptr inbounds i8, ptr %2523, i64 844
  %2710 = load float, ptr %2709, align 4, !tbaa !23
  %2711 = fcmp ogt float %2710, 0.000000e+00
  br i1 %2711, label %2712, label %2715

2712:                                             ; preds = %2708
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2713 = load float, ptr %2709, align 4, !tbaa !23
  %2714 = fpext float %2713 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 3, double noundef %2714)
  br label %2715

2715:                                             ; preds = %2712, %2708
  %2716 = getelementptr inbounds i8, ptr %2523, i64 848
  %2717 = load float, ptr %2716, align 8, !tbaa !23
  %2718 = fcmp ogt float %2717, 0.000000e+00
  br i1 %2718, label %2719, label %2722

2719:                                             ; preds = %2715
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2720 = load float, ptr %2716, align 8, !tbaa !23
  %2721 = fpext float %2720 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 4, double noundef %2721)
  br label %2722

2722:                                             ; preds = %2719, %2715
  %2723 = getelementptr inbounds i8, ptr %2523, i64 852
  %2724 = load float, ptr %2723, align 4, !tbaa !23
  %2725 = fcmp ogt float %2724, 0.000000e+00
  br i1 %2725, label %2726, label %2729

2726:                                             ; preds = %2722
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2727 = load float, ptr %2723, align 4, !tbaa !23
  %2728 = fpext float %2727 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 5, double noundef %2728)
  br label %2729

2729:                                             ; preds = %2726, %2722
  %2730 = getelementptr inbounds i8, ptr %2523, i64 856
  %2731 = load float, ptr %2730, align 8, !tbaa !23
  %2732 = fcmp ogt float %2731, 0.000000e+00
  br i1 %2732, label %2733, label %2736

2733:                                             ; preds = %2729
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2734 = load float, ptr %2730, align 8, !tbaa !23
  %2735 = fpext float %2734 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 6, double noundef %2735)
  br label %2736

2736:                                             ; preds = %2733, %2729
  %2737 = getelementptr inbounds i8, ptr %2523, i64 860
  %2738 = load float, ptr %2737, align 4, !tbaa !23
  %2739 = fcmp ogt float %2738, 0.000000e+00
  br i1 %2739, label %2740, label %2743

2740:                                             ; preds = %2736
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2741 = load float, ptr %2737, align 4, !tbaa !23
  %2742 = fpext float %2741 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 7, double noundef %2742)
  br label %2743

2743:                                             ; preds = %2740, %2736
  %2744 = getelementptr inbounds i8, ptr %2523, i64 864
  %2745 = load float, ptr %2744, align 8, !tbaa !23
  %2746 = fcmp ogt float %2745, 0.000000e+00
  br i1 %2746, label %2747, label %2750

2747:                                             ; preds = %2743
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2748 = load float, ptr %2744, align 8, !tbaa !23
  %2749 = fpext float %2748 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 8, double noundef %2749)
  br label %2750

2750:                                             ; preds = %2747, %2743
  %2751 = getelementptr inbounds i8, ptr %2523, i64 868
  %2752 = load float, ptr %2751, align 4, !tbaa !23
  %2753 = fcmp ogt float %2752, 0.000000e+00
  br i1 %2753, label %2754, label %2757

2754:                                             ; preds = %2750
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2755 = load float, ptr %2751, align 4, !tbaa !23
  %2756 = fpext float %2755 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 9, double noundef %2756)
  br label %2757

2757:                                             ; preds = %2754, %2750
  %2758 = getelementptr inbounds i8, ptr %2523, i64 872
  %2759 = load float, ptr %2758, align 8, !tbaa !23
  %2760 = fcmp ogt float %2759, 0.000000e+00
  br i1 %2760, label %2761, label %2764

2761:                                             ; preds = %2757
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2762 = load float, ptr %2758, align 8, !tbaa !23
  %2763 = fpext float %2762 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 10, double noundef %2763)
  br label %2764

2764:                                             ; preds = %2761, %2757
  %2765 = getelementptr inbounds i8, ptr %2523, i64 876
  %2766 = load float, ptr %2765, align 4, !tbaa !23
  %2767 = fcmp ogt float %2766, 0.000000e+00
  br i1 %2767, label %2768, label %2771

2768:                                             ; preds = %2764
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2769 = load float, ptr %2765, align 4, !tbaa !23
  %2770 = fpext float %2769 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 11, double noundef %2770)
  br label %2771

2771:                                             ; preds = %2768, %2764
  %2772 = getelementptr inbounds i8, ptr %2523, i64 880
  %2773 = load float, ptr %2772, align 8, !tbaa !23
  %2774 = fcmp ogt float %2773, 0.000000e+00
  br i1 %2774, label %2775, label %2778

2775:                                             ; preds = %2771
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2776 = load float, ptr %2772, align 8, !tbaa !23
  %2777 = fpext float %2776 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 12, double noundef %2777)
  br label %2778

2778:                                             ; preds = %2775, %2771
  %2779 = getelementptr inbounds i8, ptr %2523, i64 884
  %2780 = load float, ptr %2779, align 4, !tbaa !23
  %2781 = fcmp ogt float %2780, 0.000000e+00
  br i1 %2781, label %2782, label %2785

2782:                                             ; preds = %2778
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2783 = load float, ptr %2779, align 4, !tbaa !23
  %2784 = fpext float %2783 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 13, double noundef %2784)
  br label %2785

2785:                                             ; preds = %2782, %2778
  %2786 = getelementptr inbounds i8, ptr %2523, i64 888
  %2787 = load float, ptr %2786, align 8, !tbaa !23
  %2788 = fcmp ogt float %2787, 0.000000e+00
  br i1 %2788, label %2789, label %2792

2789:                                             ; preds = %2785
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2790 = load float, ptr %2786, align 8, !tbaa !23
  %2791 = fpext float %2790 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 14, double noundef %2791)
  br label %2792

2792:                                             ; preds = %2789, %2785
  %2793 = getelementptr inbounds i8, ptr %2523, i64 892
  %2794 = load float, ptr %2793, align 4, !tbaa !23
  %2795 = fcmp ogt float %2794, 0.000000e+00
  br i1 %2795, label %2796, label %2799

2796:                                             ; preds = %2792
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2797 = load float, ptr %2793, align 4, !tbaa !23
  %2798 = fpext float %2797 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 15, double noundef %2798)
  br label %2799

2799:                                             ; preds = %2796, %2792
  %2800 = getelementptr inbounds i8, ptr %2523, i64 896
  %2801 = load float, ptr %2800, align 8, !tbaa !23
  %2802 = fcmp ogt float %2801, 0.000000e+00
  br i1 %2802, label %2803, label %2806

2803:                                             ; preds = %2799
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2804 = load float, ptr %2800, align 8, !tbaa !23
  %2805 = fpext float %2804 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 16, double noundef %2805)
  br label %2806

2806:                                             ; preds = %2803, %2799
  %2807 = getelementptr inbounds i8, ptr %2523, i64 900
  %2808 = load float, ptr %2807, align 4, !tbaa !23
  %2809 = fcmp ogt float %2808, 0.000000e+00
  br i1 %2809, label %2810, label %2813

2810:                                             ; preds = %2806
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2811 = load float, ptr %2807, align 4, !tbaa !23
  %2812 = fpext float %2811 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 17, double noundef %2812)
  br label %2813

2813:                                             ; preds = %2810, %2806
  %2814 = getelementptr inbounds i8, ptr %2523, i64 904
  %2815 = load float, ptr %2814, align 8, !tbaa !23
  %2816 = fcmp ogt float %2815, 0.000000e+00
  br i1 %2816, label %2817, label %2820

2817:                                             ; preds = %2813
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2818 = load float, ptr %2814, align 8, !tbaa !23
  %2819 = fpext float %2818 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 18, double noundef %2819)
  br label %2820

2820:                                             ; preds = %2817, %2813
  %2821 = getelementptr inbounds i8, ptr %2523, i64 908
  %2822 = load float, ptr %2821, align 4, !tbaa !23
  %2823 = fcmp ogt float %2822, 0.000000e+00
  br i1 %2823, label %2824, label %2827

2824:                                             ; preds = %2820
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2825 = load float, ptr %2821, align 4, !tbaa !23
  %2826 = fpext float %2825 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 19, double noundef %2826)
  br label %2827

2827:                                             ; preds = %2824, %2820
  %2828 = getelementptr inbounds i8, ptr %2523, i64 912
  %2829 = load float, ptr %2828, align 8, !tbaa !23
  %2830 = fcmp ogt float %2829, 0.000000e+00
  br i1 %2830, label %2831, label %2834

2831:                                             ; preds = %2827
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2832 = load float, ptr %2828, align 8, !tbaa !23
  %2833 = fpext float %2832 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 20, double noundef %2833)
  br label %2834

2834:                                             ; preds = %2831, %2827
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.646)
  %2835 = getelementptr inbounds i8, ptr %2523, i64 5232
  %2836 = load float, ptr %2835, align 8, !tbaa !23
  %2837 = fcmp oeq float %2836, 0.000000e+00
  br i1 %2837, label %2838, label %2839

2838:                                             ; preds = %2834
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 0)
  br label %2839

2839:                                             ; preds = %2834, %2838
  %2840 = getelementptr inbounds i8, ptr %2523, i64 5236
  %2841 = load float, ptr %2840, align 4, !tbaa !23
  %2842 = fcmp oeq float %2841, 0.000000e+00
  br i1 %2842, label %2843, label %2844

2843:                                             ; preds = %2839
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 1)
  br label %2844

2844:                                             ; preds = %2843, %2839
  %2845 = getelementptr inbounds i8, ptr %2523, i64 5240
  %2846 = load float, ptr %2845, align 8, !tbaa !23
  %2847 = fcmp oeq float %2846, 0.000000e+00
  br i1 %2847, label %2848, label %2849

2848:                                             ; preds = %2844
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 2)
  br label %2849

2849:                                             ; preds = %2848, %2844
  %2850 = getelementptr inbounds i8, ptr %2523, i64 5244
  %2851 = load float, ptr %2850, align 4, !tbaa !23
  %2852 = fcmp oeq float %2851, 0.000000e+00
  br i1 %2852, label %2853, label %2854

2853:                                             ; preds = %2849
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 3)
  br label %2854

2854:                                             ; preds = %2853, %2849
  %2855 = getelementptr inbounds i8, ptr %2523, i64 5248
  %2856 = load float, ptr %2855, align 8, !tbaa !23
  %2857 = fcmp oeq float %2856, 0.000000e+00
  br i1 %2857, label %2858, label %2859

2858:                                             ; preds = %2854
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 4)
  br label %2859

2859:                                             ; preds = %2858, %2854
  %2860 = getelementptr inbounds i8, ptr %2523, i64 5252
  %2861 = load float, ptr %2860, align 4, !tbaa !23
  %2862 = fcmp oeq float %2861, 0.000000e+00
  br i1 %2862, label %2863, label %2864

2863:                                             ; preds = %2859
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 5)
  br label %2864

2864:                                             ; preds = %2863, %2859
  %2865 = getelementptr inbounds i8, ptr %2523, i64 5256
  %2866 = load float, ptr %2865, align 8, !tbaa !23
  %2867 = fcmp oeq float %2866, 0.000000e+00
  br i1 %2867, label %2868, label %2869

2868:                                             ; preds = %2864
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 6)
  br label %2869

2869:                                             ; preds = %2868, %2864
  %2870 = getelementptr inbounds i8, ptr %2523, i64 5260
  %2871 = load float, ptr %2870, align 4, !tbaa !23
  %2872 = fcmp oeq float %2871, 0.000000e+00
  br i1 %2872, label %2873, label %2874

2873:                                             ; preds = %2869
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 7)
  br label %2874

2874:                                             ; preds = %2873, %2869
  %2875 = getelementptr inbounds i8, ptr %2523, i64 5264
  %2876 = load float, ptr %2875, align 8, !tbaa !23
  %2877 = fcmp oeq float %2876, 0.000000e+00
  br i1 %2877, label %2878, label %2879

2878:                                             ; preds = %2874
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 8)
  br label %2879

2879:                                             ; preds = %2878, %2874
  %2880 = getelementptr inbounds i8, ptr %2523, i64 5268
  %2881 = load float, ptr %2880, align 4, !tbaa !23
  %2882 = fcmp oeq float %2881, 0.000000e+00
  br i1 %2882, label %2883, label %2884

2883:                                             ; preds = %2879
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 9)
  br label %2884

2884:                                             ; preds = %2883, %2879
  %2885 = getelementptr inbounds i8, ptr %2523, i64 5272
  %2886 = load float, ptr %2885, align 8, !tbaa !23
  %2887 = fcmp oeq float %2886, 0.000000e+00
  br i1 %2887, label %2888, label %2889

2888:                                             ; preds = %2884
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 10)
  br label %2889

2889:                                             ; preds = %2888, %2884
  %2890 = getelementptr inbounds i8, ptr %2523, i64 5276
  %2891 = load float, ptr %2890, align 4, !tbaa !23
  %2892 = fcmp oeq float %2891, 0.000000e+00
  br i1 %2892, label %2893, label %2894

2893:                                             ; preds = %2889
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 11)
  br label %2894

2894:                                             ; preds = %2893, %2889
  %2895 = getelementptr inbounds i8, ptr %2523, i64 5280
  %2896 = load float, ptr %2895, align 8, !tbaa !23
  %2897 = fcmp oeq float %2896, 0.000000e+00
  br i1 %2897, label %2898, label %2899

2898:                                             ; preds = %2894
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 12)
  br label %2899

2899:                                             ; preds = %2898, %2894
  %2900 = getelementptr inbounds i8, ptr %2523, i64 5284
  %2901 = load float, ptr %2900, align 4, !tbaa !23
  %2902 = fcmp oeq float %2901, 0.000000e+00
  br i1 %2902, label %2903, label %2904

2903:                                             ; preds = %2899
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 13)
  br label %2904

2904:                                             ; preds = %2903, %2899
  %2905 = getelementptr inbounds i8, ptr %2523, i64 5288
  %2906 = load float, ptr %2905, align 8, !tbaa !23
  %2907 = fcmp oeq float %2906, 0.000000e+00
  br i1 %2907, label %2908, label %2909

2908:                                             ; preds = %2904
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 14)
  br label %2909

2909:                                             ; preds = %2908, %2904
  %2910 = getelementptr inbounds i8, ptr %2523, i64 5292
  %2911 = load float, ptr %2910, align 4, !tbaa !23
  %2912 = fcmp oeq float %2911, 0.000000e+00
  br i1 %2912, label %2913, label %2914

2913:                                             ; preds = %2909
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 15)
  br label %2914

2914:                                             ; preds = %2913, %2909
  %2915 = getelementptr inbounds i8, ptr %2523, i64 5296
  %2916 = load float, ptr %2915, align 8, !tbaa !23
  %2917 = fcmp oeq float %2916, 0.000000e+00
  br i1 %2917, label %2918, label %2919

2918:                                             ; preds = %2914
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 16)
  br label %2919

2919:                                             ; preds = %2918, %2914
  %2920 = getelementptr inbounds i8, ptr %2523, i64 5300
  %2921 = load float, ptr %2920, align 4, !tbaa !23
  %2922 = fcmp oeq float %2921, 0.000000e+00
  br i1 %2922, label %2923, label %2924

2923:                                             ; preds = %2919
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 17)
  br label %2924

2924:                                             ; preds = %2923, %2919
  %2925 = getelementptr inbounds i8, ptr %2523, i64 5304
  %2926 = load float, ptr %2925, align 8, !tbaa !23
  %2927 = fcmp oeq float %2926, 0.000000e+00
  br i1 %2927, label %2928, label %2929

2928:                                             ; preds = %2924
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 18)
  br label %2929

2929:                                             ; preds = %2928, %2924
  %2930 = getelementptr inbounds i8, ptr %2523, i64 5308
  %2931 = load float, ptr %2930, align 4, !tbaa !23
  %2932 = fcmp oeq float %2931, 0.000000e+00
  br i1 %2932, label %2933, label %2934

2933:                                             ; preds = %2929
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 19)
  br label %2934

2934:                                             ; preds = %2933, %2929
  %2935 = getelementptr inbounds i8, ptr %2523, i64 5312
  %2936 = load float, ptr %2935, align 8, !tbaa !23
  %2937 = fcmp oeq float %2936, 0.000000e+00
  br i1 %2937, label %2938, label %2939

2938:                                             ; preds = %2934
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.647, i32 noundef 20)
  br label %2939

2939:                                             ; preds = %2938, %2934
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.648)
  %2940 = load float, ptr %2835, align 8, !tbaa !23
  %2941 = fcmp ult float %2940, 0.000000e+00
  br i1 %2941, label %2945, label %2942

2942:                                             ; preds = %2939
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2943 = load float, ptr %2835, align 8, !tbaa !23
  %2944 = fpext float %2943 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 0, double noundef %2944)
  br label %2945

2945:                                             ; preds = %2939, %2942
  %2946 = load float, ptr %2840, align 4, !tbaa !23
  %2947 = fcmp ult float %2946, 0.000000e+00
  br i1 %2947, label %2951, label %2948

2948:                                             ; preds = %2945
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2949 = load float, ptr %2840, align 4, !tbaa !23
  %2950 = fpext float %2949 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 1, double noundef %2950)
  br label %2951

2951:                                             ; preds = %2948, %2945
  %2952 = load float, ptr %2845, align 8, !tbaa !23
  %2953 = fcmp ult float %2952, 0.000000e+00
  br i1 %2953, label %2957, label %2954

2954:                                             ; preds = %2951
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2955 = load float, ptr %2845, align 8, !tbaa !23
  %2956 = fpext float %2955 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 2, double noundef %2956)
  br label %2957

2957:                                             ; preds = %2954, %2951
  %2958 = load float, ptr %2850, align 4, !tbaa !23
  %2959 = fcmp ult float %2958, 0.000000e+00
  br i1 %2959, label %2963, label %2960

2960:                                             ; preds = %2957
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2961 = load float, ptr %2850, align 4, !tbaa !23
  %2962 = fpext float %2961 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 3, double noundef %2962)
  br label %2963

2963:                                             ; preds = %2960, %2957
  %2964 = load float, ptr %2855, align 8, !tbaa !23
  %2965 = fcmp ult float %2964, 0.000000e+00
  br i1 %2965, label %2969, label %2966

2966:                                             ; preds = %2963
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2967 = load float, ptr %2855, align 8, !tbaa !23
  %2968 = fpext float %2967 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 4, double noundef %2968)
  br label %2969

2969:                                             ; preds = %2966, %2963
  %2970 = load float, ptr %2860, align 4, !tbaa !23
  %2971 = fcmp ult float %2970, 0.000000e+00
  br i1 %2971, label %2975, label %2972

2972:                                             ; preds = %2969
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2973 = load float, ptr %2860, align 4, !tbaa !23
  %2974 = fpext float %2973 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 5, double noundef %2974)
  br label %2975

2975:                                             ; preds = %2972, %2969
  %2976 = load float, ptr %2865, align 8, !tbaa !23
  %2977 = fcmp ult float %2976, 0.000000e+00
  br i1 %2977, label %2981, label %2978

2978:                                             ; preds = %2975
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2979 = load float, ptr %2865, align 8, !tbaa !23
  %2980 = fpext float %2979 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 6, double noundef %2980)
  br label %2981

2981:                                             ; preds = %2978, %2975
  %2982 = load float, ptr %2870, align 4, !tbaa !23
  %2983 = fcmp ult float %2982, 0.000000e+00
  br i1 %2983, label %2987, label %2984

2984:                                             ; preds = %2981
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2985 = load float, ptr %2870, align 4, !tbaa !23
  %2986 = fpext float %2985 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 7, double noundef %2986)
  br label %2987

2987:                                             ; preds = %2984, %2981
  %2988 = load float, ptr %2875, align 8, !tbaa !23
  %2989 = fcmp ult float %2988, 0.000000e+00
  br i1 %2989, label %2993, label %2990

2990:                                             ; preds = %2987
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2991 = load float, ptr %2875, align 8, !tbaa !23
  %2992 = fpext float %2991 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 8, double noundef %2992)
  br label %2993

2993:                                             ; preds = %2990, %2987
  %2994 = load float, ptr %2880, align 4, !tbaa !23
  %2995 = fcmp ult float %2994, 0.000000e+00
  br i1 %2995, label %2999, label %2996

2996:                                             ; preds = %2993
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2997 = load float, ptr %2880, align 4, !tbaa !23
  %2998 = fpext float %2997 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 9, double noundef %2998)
  br label %2999

2999:                                             ; preds = %2996, %2993
  %3000 = load float, ptr %2885, align 8, !tbaa !23
  %3001 = fcmp ult float %3000, 0.000000e+00
  br i1 %3001, label %3005, label %3002

3002:                                             ; preds = %2999
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3003 = load float, ptr %2885, align 8, !tbaa !23
  %3004 = fpext float %3003 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 10, double noundef %3004)
  br label %3005

3005:                                             ; preds = %3002, %2999
  %3006 = load float, ptr %2890, align 4, !tbaa !23
  %3007 = fcmp ult float %3006, 0.000000e+00
  br i1 %3007, label %3011, label %3008

3008:                                             ; preds = %3005
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3009 = load float, ptr %2890, align 4, !tbaa !23
  %3010 = fpext float %3009 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 11, double noundef %3010)
  br label %3011

3011:                                             ; preds = %3008, %3005
  %3012 = load float, ptr %2895, align 8, !tbaa !23
  %3013 = fcmp ult float %3012, 0.000000e+00
  br i1 %3013, label %3017, label %3014

3014:                                             ; preds = %3011
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3015 = load float, ptr %2895, align 8, !tbaa !23
  %3016 = fpext float %3015 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 12, double noundef %3016)
  br label %3017

3017:                                             ; preds = %3014, %3011
  %3018 = load float, ptr %2900, align 4, !tbaa !23
  %3019 = fcmp ult float %3018, 0.000000e+00
  br i1 %3019, label %3023, label %3020

3020:                                             ; preds = %3017
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3021 = load float, ptr %2900, align 4, !tbaa !23
  %3022 = fpext float %3021 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 13, double noundef %3022)
  br label %3023

3023:                                             ; preds = %3020, %3017
  %3024 = load float, ptr %2905, align 8, !tbaa !23
  %3025 = fcmp ult float %3024, 0.000000e+00
  br i1 %3025, label %3029, label %3026

3026:                                             ; preds = %3023
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3027 = load float, ptr %2905, align 8, !tbaa !23
  %3028 = fpext float %3027 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 14, double noundef %3028)
  br label %3029

3029:                                             ; preds = %3026, %3023
  %3030 = load float, ptr %2910, align 4, !tbaa !23
  %3031 = fcmp ult float %3030, 0.000000e+00
  br i1 %3031, label %3035, label %3032

3032:                                             ; preds = %3029
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3033 = load float, ptr %2910, align 4, !tbaa !23
  %3034 = fpext float %3033 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 15, double noundef %3034)
  br label %3035

3035:                                             ; preds = %3032, %3029
  %3036 = load float, ptr %2915, align 8, !tbaa !23
  %3037 = fcmp ult float %3036, 0.000000e+00
  br i1 %3037, label %3041, label %3038

3038:                                             ; preds = %3035
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3039 = load float, ptr %2915, align 8, !tbaa !23
  %3040 = fpext float %3039 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 16, double noundef %3040)
  br label %3041

3041:                                             ; preds = %3038, %3035
  %3042 = load float, ptr %2920, align 4, !tbaa !23
  %3043 = fcmp ult float %3042, 0.000000e+00
  br i1 %3043, label %3047, label %3044

3044:                                             ; preds = %3041
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3045 = load float, ptr %2920, align 4, !tbaa !23
  %3046 = fpext float %3045 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 17, double noundef %3046)
  br label %3047

3047:                                             ; preds = %3044, %3041
  %3048 = load float, ptr %2925, align 8, !tbaa !23
  %3049 = fcmp ult float %3048, 0.000000e+00
  br i1 %3049, label %3053, label %3050

3050:                                             ; preds = %3047
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3051 = load float, ptr %2925, align 8, !tbaa !23
  %3052 = fpext float %3051 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 18, double noundef %3052)
  br label %3053

3053:                                             ; preds = %3050, %3047
  %3054 = load float, ptr %2930, align 4, !tbaa !23
  %3055 = fcmp ult float %3054, 0.000000e+00
  br i1 %3055, label %3059, label %3056

3056:                                             ; preds = %3053
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3057 = load float, ptr %2930, align 4, !tbaa !23
  %3058 = fpext float %3057 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 19, double noundef %3058)
  br label %3059

3059:                                             ; preds = %3056, %3053
  %3060 = load float, ptr %2935, align 8, !tbaa !23
  %3061 = fcmp ult float %3060, 0.000000e+00
  br i1 %3061, label %3065, label %3062

3062:                                             ; preds = %3059
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3063 = load float, ptr %2935, align 8, !tbaa !23
  %3064 = fpext float %3063 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.645, i32 noundef 20, double noundef %3064)
  br label %3065

3065:                                             ; preds = %3062, %3059
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %212) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %212, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3066 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.649, ptr noundef nonnull align 4 dereferenceable(8) %212)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %212) #12
  %3067 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3067, label %3068, label %3069

3068:                                             ; preds = %3065
  call void @_ZN5ImGui22CaptureKeyboardFromAppEb(i1 noundef zeroext true)
  br label %3069

3069:                                             ; preds = %3068, %3065
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %213) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %213, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3070 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.650, ptr noundef nonnull align 4 dereferenceable(8) %213)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %213) #12
  %3071 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %3071, label %3072, label %3073

3072:                                             ; preds = %3069
  call void @_ZN5ImGui22CaptureKeyboardFromAppEb(i1 noundef zeroext false)
  br label %3073

3073:                                             ; preds = %3072, %3069
  call void @_ZN5ImGui7TreePopEv()
  br label %3074

3074:                                             ; preds = %3073, %2522
  %3075 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.651)
  br i1 %3075, label %3076, label %3082

3076:                                             ; preds = %3074
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.652)
  %3077 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.653, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3078 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.654, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3079 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.655, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui22PushAllowKeyboardFocusEb(i1 noundef zeroext false)
  %3080 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.656, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui21PopAllowKeyboardFocusEv()
  %3081 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.657, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  br label %3082

3082:                                             ; preds = %3076, %3074
  %3083 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.658)
  br i1 %3083, label %3084, label %3109

3084:                                             ; preds = %3082
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %214) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %214, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3085 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.659, ptr noundef nonnull align 4 dereferenceable(8) %214)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %214) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %215) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %215, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3086 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.660, ptr noundef nonnull align 4 dereferenceable(8) %215)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %215) #12
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %216) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %216, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3087 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.661, ptr noundef nonnull align 4 dereferenceable(8) %216)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %216) #12
  br i1 %3085, label %3088, label %3089

3088:                                             ; preds = %3084
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef 0)
  br label %3089

3089:                                             ; preds = %3088, %3084
  %3090 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.653, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_1, i64 noundef 128, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3091 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  %spec.select563 = zext i1 %3091 to i32
  br i1 %3086, label %3092, label %3093

3092:                                             ; preds = %3089
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef 0)
  br label %3093

3093:                                             ; preds = %3092, %3089
  %3094 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.654, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_1, i64 noundef 128, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3095 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  %spec.select564 = select i1 %3095, i32 2, i32 %spec.select563
  call void @_ZN5ImGui22PushAllowKeyboardFocusEb(i1 noundef zeroext false)
  br i1 %3087, label %3096, label %3097

3096:                                             ; preds = %3093
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef 0)
  br label %3097

3097:                                             ; preds = %3096, %3093
  %3098 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef nonnull @.str.662, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_1, i64 noundef 128, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3099 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  %spec.select565 = select i1 %3099, i32 3, i32 %spec.select564
  call void @_ZN5ImGui21PopAllowKeyboardFocusEv()
  %.not533 = icmp eq i32 %spec.select565, 0
  br i1 %.not533, label %3101, label %3100

3100:                                             ; preds = %3097
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.663, i32 noundef %spec.select565)
  br label %3102

3101:                                             ; preds = %3097
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.664)
  br label %3102

3102:                                             ; preds = %3101, %3100
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %217) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %217, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3103 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.665, ptr noundef nonnull align 4 dereferenceable(8) %217)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %217) #12
  %not. = xor i1 %3103, true
  %spec.select566 = sext i1 %not. to i32
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %218) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %218, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3104 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.666, ptr noundef nonnull align 4 dereferenceable(8) %218)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %218) #12
  %.1443 = select i1 %3104, i32 1, i32 %spec.select566
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %219) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %219, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3105 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.667, ptr noundef nonnull align 4 dereferenceable(8) %219)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %219) #12
  %.2444 = select i1 %3105, i32 2, i32 %.1443
  %.not534 = icmp eq i32 %.2444, -1
  br i1 %.not534, label %3107, label %3106

3106:                                             ; preds = %3102
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef %.2444)
  br label %3107

3107:                                             ; preds = %3106, %3102
  %3108 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat3EPKcPfffS1_f(ptr noundef nonnull @.str.668, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f3, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.92, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.669)
  call void @_ZN5ImGui7TreePopEv()
  br label %3109

3109:                                             ; preds = %3107, %3082
  %3110 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.670)
  br i1 %3110, label %3111, label %3147

3111:                                             ; preds = %3109
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.671)
  %3112 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 0, float noundef -1.000000e+00)
  %3113 = zext i1 %3112 to i32
  %3114 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 0, float noundef 0.000000e+00)
  %3115 = zext i1 %3114 to i32
  %3116 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 0, float noundef 2.000000e+01)
  %3117 = zext i1 %3116 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.672, i32 noundef 0, i32 noundef %3113, i32 noundef %3115, i32 noundef %3117)
  %3118 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 1, float noundef -1.000000e+00)
  %3119 = zext i1 %3118 to i32
  %3120 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 1, float noundef 0.000000e+00)
  %3121 = zext i1 %3120 to i32
  %3122 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 1, float noundef 2.000000e+01)
  %3123 = zext i1 %3122 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.672, i32 noundef 1, i32 noundef %3119, i32 noundef %3121, i32 noundef %3123)
  %3124 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 2, float noundef -1.000000e+00)
  %3125 = zext i1 %3124 to i32
  %3126 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 2, float noundef 0.000000e+00)
  %3127 = zext i1 %3126 to i32
  %3128 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 2, float noundef 2.000000e+01)
  %3129 = zext i1 %3128 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.672, i32 noundef 2, i32 noundef %3125, i32 noundef %3127, i32 noundef %3129)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %220) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %220, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3130 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.673, ptr noundef nonnull align 4 dereferenceable(8) %220)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %220) #12
  %3131 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %3131, label %3132, label %3146

3132:                                             ; preds = %3111
  %3133 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @_ZN10ImDrawList22PushClipRectFullScreenEv(ptr noundef nonnull align 8 dereferenceable(168) %3133)
  %3134 = getelementptr inbounds i8, ptr %2523, i64 956
  %3135 = getelementptr inbounds i8, ptr %2523, i64 256
  %3136 = call noundef i32 @_ZN5ImGui11GetColorU32Eif(i32 noundef 21, float noundef 1.000000e+00)
  call void @_ZN10ImDrawList7AddLineERK6ImVec2S2_jf(ptr noundef nonnull align 8 dereferenceable(168) %3133, ptr noundef nonnull align 4 dereferenceable(8) %3134, ptr noundef nonnull align 4 dereferenceable(8) %3135, i32 noundef %3136, float noundef 4.000000e+00)
  call void @_ZN10ImDrawList11PopClipRectEv(ptr noundef nonnull align 8 dereferenceable(168) %3133)
  %3137 = call <2 x float> @_ZN5ImGui17GetMouseDragDeltaEif(i32 noundef 0, float noundef 0.000000e+00)
  %3138 = call <2 x float> @_ZN5ImGui17GetMouseDragDeltaEif(i32 noundef 0, float noundef -1.000000e+00)
  %3139 = getelementptr inbounds i8, ptr %2523, i64 940
  %.sroa.0.0.copyload = load float, ptr %3139, align 4, !tbaa !23
  %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %2523, i64 944
  %.sroa.4.0.copyload = load float, ptr %.sroa.4.0..sroa_idx, align 8, !tbaa !23
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %.sroa.09.0.vec.extract = extractelement <2 x float> %3137, i64 0
  %3140 = fpext float %.sroa.09.0.vec.extract to double
  %.sroa.09.4.vec.extract = extractelement <2 x float> %3137, i64 1
  %3141 = fpext float %.sroa.09.4.vec.extract to double
  %.sroa.08.0.vec.extract = extractelement <2 x float> %3138, i64 0
  %3142 = fpext float %.sroa.08.0.vec.extract to double
  %.sroa.08.4.vec.extract = extractelement <2 x float> %3138, i64 1
  %3143 = fpext float %.sroa.08.4.vec.extract to double
  %3144 = fpext float %.sroa.0.0.copyload to double
  %3145 = fpext float %.sroa.4.0.copyload to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.674, double noundef %3140, double noundef %3141, double noundef %3142, double noundef %3143, double noundef %3144, double noundef %3145)
  br label %3146

3146:                                             ; preds = %3132, %3111
  call void @_ZN5ImGui7TreePopEv()
  br label %3147

3147:                                             ; preds = %3146, %3109
  %3148 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.675)
  br i1 %3148, label %3149, label %3219

3149:                                             ; preds = %3147
  %3150 = call noundef i32 @_ZN5ImGui14GetMouseCursorEv()
  %3151 = call noundef i32 @_ZN5ImGui14GetMouseCursorEv()
  %3152 = sext i32 %3151 to i64
  %3153 = getelementptr inbounds [8 x ptr], ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 0, i64 %3152
  %3154 = load ptr, ptr %3153, align 8, !tbaa !36
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.684, i32 noundef %3150, ptr noundef %3154)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.685)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.686)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %221) #12
  %3155 = load ptr, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, align 16, !tbaa !36
  %3156 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %221, ptr noundef nonnull dereferenceable(1) @.str.687, i32 noundef 0, ptr noundef %3155) #12
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %222) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %222, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3157 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %221, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %222)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %222) #12
  %3158 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3158, label %3161, label %3159

3159:                                             ; preds = %3149
  %3160 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3160, label %3161, label %3162

3161:                                             ; preds = %3159, %3149
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 0)
  br label %3162

3162:                                             ; preds = %3161, %3159
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %221) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %221) #12
  %3163 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 8), align 8, !tbaa !36
  %3164 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %221, ptr noundef nonnull dereferenceable(1) @.str.687, i32 noundef 1, ptr noundef %3163) #12
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %222) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %222, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3165 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %221, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %222)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %222) #12
  %3166 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3166, label %3169, label %3167

3167:                                             ; preds = %3162
  %3168 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3168, label %3169, label %3170

3169:                                             ; preds = %3167, %3162
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 1)
  br label %3170

3170:                                             ; preds = %3169, %3167
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %221) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %221) #12
  %3171 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 16), align 16, !tbaa !36
  %3172 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %221, ptr noundef nonnull dereferenceable(1) @.str.687, i32 noundef 2, ptr noundef %3171) #12
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %222) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %222, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3173 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %221, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %222)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %222) #12
  %3174 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3174, label %3177, label %3175

3175:                                             ; preds = %3170
  %3176 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3176, label %3177, label %3178

3177:                                             ; preds = %3175, %3170
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 2)
  br label %3178

3178:                                             ; preds = %3177, %3175
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %221) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %221) #12
  %3179 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 24), align 8, !tbaa !36
  %3180 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %221, ptr noundef nonnull dereferenceable(1) @.str.687, i32 noundef 3, ptr noundef %3179) #12
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %222) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %222, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3181 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %221, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %222)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %222) #12
  %3182 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3182, label %3185, label %3183

3183:                                             ; preds = %3178
  %3184 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3184, label %3185, label %3186

3185:                                             ; preds = %3183, %3178
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 3)
  br label %3186

3186:                                             ; preds = %3185, %3183
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %221) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %221) #12
  %3187 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 32), align 16, !tbaa !36
  %3188 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %221, ptr noundef nonnull dereferenceable(1) @.str.687, i32 noundef 4, ptr noundef %3187) #12
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %222) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %222, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3189 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %221, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %222)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %222) #12
  %3190 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3190, label %3193, label %3191

3191:                                             ; preds = %3186
  %3192 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3192, label %3193, label %3194

3193:                                             ; preds = %3191, %3186
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 4)
  br label %3194

3194:                                             ; preds = %3193, %3191
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %221) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %221) #12
  %3195 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 40), align 8, !tbaa !36
  %3196 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %221, ptr noundef nonnull dereferenceable(1) @.str.687, i32 noundef 5, ptr noundef %3195) #12
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %222) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %222, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3197 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %221, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %222)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %222) #12
  %3198 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3198, label %3201, label %3199

3199:                                             ; preds = %3194
  %3200 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3200, label %3201, label %3202

3201:                                             ; preds = %3199, %3194
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 5)
  br label %3202

3202:                                             ; preds = %3201, %3199
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %221) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %221) #12
  %3203 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 48), align 16, !tbaa !36
  %3204 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %221, ptr noundef nonnull dereferenceable(1) @.str.687, i32 noundef 6, ptr noundef %3203) #12
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %222) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %222, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3205 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %221, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %222)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %222) #12
  %3206 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3206, label %3209, label %3207

3207:                                             ; preds = %3202
  %3208 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3208, label %3209, label %3210

3209:                                             ; preds = %3207, %3202
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 6)
  br label %3210

3210:                                             ; preds = %3209, %3207
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %221) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %221) #12
  %3211 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 56), align 8, !tbaa !36
  %3212 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %221, ptr noundef nonnull dereferenceable(1) @.str.687, i32 noundef 7, ptr noundef %3211) #12
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %222) #12
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %222, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3213 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %221, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %222)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %222) #12
  %3214 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3214, label %3217, label %3215

3215:                                             ; preds = %3210
  %3216 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3216, label %3217, label %3218

3217:                                             ; preds = %3215, %3210
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 7)
  br label %3218

3218:                                             ; preds = %3217, %3215
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %221) #12
  call void @_ZN5ImGui7TreePopEv()
  br label %3219

3219:                                             ; preds = %.loopexit, %3218, %3147, %281
  call void @_ZN5ImGui3EndEv()
  ret void

3220:                                             ; preds = %2490, %2465, %1190
  %.pn.pn = phi { ptr, i32 } [ %.pn, %2465 ], [ %2491, %2490 ], [ %1191, %1190 ]
  resume { ptr, i32 } %.pn.pn
}

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL25ShowExampleAppMainMenuBarv() local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL21ShowExampleAppConsolePb(ptr noundef) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL17ShowExampleAppLogPb(ptr noundef) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL20ShowExampleAppLayoutPb(ptr noundef) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL28ShowExampleAppPropertyEditorPb(ptr noundef) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL22ShowExampleAppLongTextPb(ptr noundef) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL24ShowExampleAppAutoResizePb(ptr noundef) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL31ShowExampleAppConstrainedResizePb(ptr noundef) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL27ShowExampleAppSimpleOverlayPb(ptr noundef) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL26ShowExampleAppWindowTitlesPb(ptr noundef) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL29ShowExampleAppCustomRenderingPb(ptr noundef) local_unnamed_addr #2

declare void @_ZN5ImGui17ShowMetricsWindowEPb(ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5ImGui15ShowStyleEditorEP10ImGuiStyle(ptr noundef) local_unnamed_addr #2

declare void @_ZN5ImGui3EndEv() local_unnamed_addr #1

declare void @_ZN5ImGui4TextEPKcz(ptr noundef, ...) local_unnamed_addr #1

declare noundef ptr @_ZN5ImGui10GetVersionEv() local_unnamed_addr #1

declare void @_ZN5ImGui9SeparatorEv() local_unnamed_addr #1

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

declare void @_ZN5ImGui17SetNextWindowSizeERK6ImVec2i(ptr noundef nonnull align 4 dereferenceable(8), i32 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8), float noundef, float noundef) unnamed_addr #4 align 2

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

declare void @_ZN5ImGui13PushItemWidthEf(float noundef) local_unnamed_addr #1

declare noundef float @_ZN5ImGui11GetFontSizeEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui12BeginMenuBarEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef, i1 noundef zeroext) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL19ShowExampleMenuFilev() local_unnamed_addr #2

declare void @_ZN5ImGui7EndMenuEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) local_unnamed_addr #1

declare void @_ZN5ImGui10EndMenuBarEv() local_unnamed_addr #1

declare void @_ZN5ImGui7SpacingEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef, i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui11TextWrappedEPKcz(ptr noundef, ...) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef, ptr noundef) local_unnamed_addr #1

declare void @_ZN5ImGui8SameLineEff(float noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef) local_unnamed_addr #1

declare void @_ZN5ImGui7TreePopEv() local_unnamed_addr #1

declare void @_ZN5ImGui10LogButtonsEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8)) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui6PushIDEi(i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef, ptr noundef nonnull align 4 dereferenceable(16)) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef, float noundef, float noundef, float noundef) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16)) local_unnamed_addr #5 align 2

declare void @_ZN5ImGui13PopStyleColorEi(i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui5PopIDEv() local_unnamed_addr #1

declare noundef nonnull align 4 dereferenceable(824) ptr @_ZN5ImGui8GetStyleEv() local_unnamed_addr #1

declare void @_ZN5ImGui16PushButtonRepeatEb(i1 noundef zeroext) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui11ArrowButtonEPKci(ptr noundef, i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui15PopButtonRepeatEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui10SetTooltipEPKcz(ptr noundef, ...) local_unnamed_addr #1

declare void @_ZN5ImGui12BeginTooltipEv() local_unnamed_addr #1

declare void @_ZN5ImGui9PlotLinesEPKcPKfiiS1_ff6ImVec2i(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef, float noundef, float noundef, <2 x float>, i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui10EndTooltipEv() local_unnamed_addr #1

declare void @_ZN5ImGui9LabelTextEPKcS1_z(ptr noundef, ptr noundef, ...) local_unnamed_addr #1

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #6

declare noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14ShowHelpMarkerPKc(ptr noundef) local_unnamed_addr #0

declare noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef, ptr noundef, i64 noundef, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui8InputIntEPKcPiiii(ptr noundef, ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef, ptr noundef, float noundef, float noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui11InputDoubleEPKcPdddS1_i(ptr noundef, ptr noundef, double noundef, double noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui11InputFloat3EPKcPfS1_i(ptr noundef, ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef, ptr noundef, float noundef, i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, float noundef, ptr noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui9SliderIntEPKcPiiiS1_(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, ptr noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui11SliderAngleEPKcPfff(ptr noundef, ptr noundef, float noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10ColorEdit3EPKcPfi(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKvPKcz(ptr noundef, ptr noundef, ...) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef) local_unnamed_addr #1

declare noundef float @_ZN5ImGui25GetTreeNodeToLabelSpacingEv() local_unnamed_addr #1

declare void @_ZN5ImGui12PushStyleVarEif(i32 noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef, i32 noundef, ptr noundef, ...) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui11PopStyleVarEi(i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKcPbi(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui6BulletEv() local_unnamed_addr #1

declare void @_ZN5ImGui11TextColoredERK6ImVec4PKcz(ptr noundef nonnull align 4 dereferenceable(16), ptr noundef, ...) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16), float noundef, float noundef, float noundef, float noundef) unnamed_addr #4 align 2

declare void @_ZN5ImGui12TextDisabledEPKcz(ptr noundef, ...) local_unnamed_addr #1

declare <2 x float> @_ZN5ImGui18GetCursorScreenPosEv() local_unnamed_addr #1

declare noundef ptr @_ZN5ImGui17GetWindowDrawListEv() local_unnamed_addr #1

declare void @_ZN10ImDrawList13AddRectFilledERK6ImVec2S2_jfi(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, float noundef, i32 noundef) local_unnamed_addr #1

declare noundef float @_ZN5ImGui17GetTextLineHeightEv() local_unnamed_addr #1

declare void @_ZN5ImGui15PushTextWrapPosEf(float noundef) local_unnamed_addr #1

declare <2 x float> @_ZN5ImGui12GetCursorPosEv() local_unnamed_addr #1

declare void @_ZN10ImDrawList7AddRectERK6ImVec2S2_jfif(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, float noundef, i32 noundef, float noundef) local_unnamed_addr #1

declare <2 x float> @_ZN5ImGui14GetItemRectMinEv() local_unnamed_addr #1

declare <2 x float> @_ZN5ImGui14GetItemRectMaxEv() local_unnamed_addr #1

declare void @_ZN5ImGui14PopTextWrapPosEv() local_unnamed_addr #1

declare void @_ZN5ImGui5ImageEPvRK6ImVec2S3_S3_RK6ImVec4S6_(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(16)) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16), i32 noundef, i32 noundef, i32 noundef, i32 noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #7

declare noundef zeroext i1 @_ZN5ImGui11ImageButtonEPvRK6ImVec2S3_S3_iRK6ImVec4S6_(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, ptr noundef nonnull align 4 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(16)) local_unnamed_addr #1

declare void @_ZN5ImGui7NewLineEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

; Function Attrs: nofree nounwind
declare i32 @__cxa_guard_acquire(ptr) local_unnamed_addr #8

; Function Attrs: nofree nounwind
declare void @__cxa_guard_release(ptr) local_unnamed_addr #8

declare noundef zeroext i1 @_ZN5ImGui10BeginComboEPKcS1_i(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef, i1 noundef zeroext, i32 noundef, ptr noundef nonnull align 4 dereferenceable(8)) local_unnamed_addr #1

declare void @_ZN5ImGui19SetItemDefaultFocusEv() local_unnamed_addr #1

declare void @_ZN5ImGui8EndComboEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef, ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPFbPviPS1_ES3_ii(ptr noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef zeroext i1 @_ZZN5ImGui14ShowDemoWindowEPbEN10FuncHolder10ItemGetterEPviPPKc(ptr noundef, i32 noundef, ptr noundef) #4 align 2

declare noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef, ptr noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(8)) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef) local_unnamed_addr #1

; Function Attrs: nofree nounwind
declare noundef i32 @sprintf(ptr noalias nocapture noundef writeonly, ptr nocapture noundef readonly, ...) local_unnamed_addr #9

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #10

declare void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef, ptr noundef, i1 noundef zeroext) local_unnamed_addr #1

declare void @_ZN5ImGui10NextColumnEv() local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef i32 @_ZZN5ImGui14ShowDemoWindowEPbEN11TextFilters18FilterImGuiLettersEP25ImGuiTextEditCallbackData(ptr noundef) #4 align 2

declare void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef, ptr noundef nonnull align 4 dereferenceable(8)) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui18InputTextMultilineEPKcPcmRK6ImVec2iPFiP25ImGuiTextEditCallbackDataEPv(ptr noundef, ptr noundef, i64 noundef, ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

declare noundef float @_ZN5ImGui7GetTimeEv() local_unnamed_addr #1

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare float @cosf(float noundef) local_unnamed_addr #11

declare void @_ZN5ImGui13PlotHistogramEPKcPKfiiS1_ff6ImVec2i(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef, float noundef, float noundef, <2 x float>, i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui12PopItemWidthEv() local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef float @_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SinEPvi(ptr noundef, i32 noundef) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef float @_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SawEPvi(ptr noundef, i32 noundef) #4 align 2

declare void @_ZN5ImGui9PlotLinesEPKcPFfPviES2_iiS1_ff6ImVec2(ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef, float noundef, float noundef, <2 x float>) local_unnamed_addr #1

declare void @_ZN5ImGui13PlotHistogramEPKcPFfPviES2_iiS1_ff6ImVec2(ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef, float noundef, float noundef, <2 x float>) local_unnamed_addr #1

declare void @_ZN5ImGui11ProgressBarEfRK6ImVec2PKc(float noundef, ptr noundef nonnull align 4 dereferenceable(8), ptr noundef) local_unnamed_addr #1

declare i32 @__gxx_personality_v0(...)

; Function Attrs: nofree nounwind
declare void @__cxa_guard_abort(ptr) local_unnamed_addr #8

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16)) unnamed_addr #4 align 2

declare void @_ZN5ImGui20ColorConvertHSVtoRGBEfffRfS0_S0_(float noundef, float noundef, float noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef, ptr noundef nonnull align 4 dereferenceable(16), i32 noundef, <2 x float>) local_unnamed_addr #1

declare void @_ZN5ImGui9OpenPopupEPKc(ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui12ColorPicker4EPKcPfiPKf(ptr noundef, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #1

declare void @_ZN5ImGui10BeginGroupEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui19BeginDragDropTargetEv() local_unnamed_addr #1

declare noundef ptr @_ZN5ImGui21AcceptDragDropPayloadEPKci(ptr noundef, i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui17EndDragDropTargetEv() local_unnamed_addr #1

declare void @_ZN5ImGui8EndGroupEv() local_unnamed_addr #1

declare void @_ZN5ImGui8EndPopupEv() local_unnamed_addr #1

declare void @_ZN5ImGui19SetColorEditOptionsEi(i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui15DragFloatRange2EPKcPfS2_fffS1_S1_f(ptr noundef, ptr noundef, ptr noundef, float noundef, float noundef, float noundef, ptr noundef, ptr noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui13DragIntRange2EPKcPiS2_fiiS1_S1_(ptr noundef, ptr noundef, ptr noundef, float noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef, i32 noundef, ptr noundef, float noundef, ptr noundef, ptr noundef, ptr noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui11InputFloat2EPKcPfS1_i(ptr noundef, ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10DragFloat2EPKcPffffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, float noundef, ptr noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui12SliderFloat2EPKcPfffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, ptr noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui9InputInt2EPKcPii(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui8DragInt2EPKcPifiiS1_(ptr noundef, ptr noundef, float noundef, i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10SliderInt2EPKcPiiiS1_(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10DragFloat3EPKcPffffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, float noundef, ptr noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui12SliderFloat3EPKcPfffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, ptr noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui9InputInt3EPKcPii(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui8DragInt3EPKcPifiiS1_(ptr noundef, ptr noundef, float noundef, i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10SliderInt3EPKcPiiiS1_(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui11InputFloat4EPKcPfS1_i(ptr noundef, ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10DragFloat4EPKcPffffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, float noundef, ptr noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui12SliderFloat4EPKcPfffS1_f(ptr noundef, ptr noundef, float noundef, float noundef, ptr noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui9InputInt4EPKcPii(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui8DragInt4EPKcPifiiS1_(ptr noundef, ptr noundef, float noundef, i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10SliderInt4EPKcPiiiS1_(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10VSliderIntEPKcRK6ImVec2PiiiS1_(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8), ptr noundef, i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #1

declare void @_ZN5ImGui6PushIDEPKc(ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8), ptr noundef, float noundef, float noundef, ptr noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui17IsItemDeactivatedEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui28IsItemDeactivatedAfterChangeEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui13IsItemVisibleEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8), i1 noundef zeroext, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui8EndChildEv() local_unnamed_addr #1

declare noundef float @_ZN5ImGui27GetWindowContentRegionWidthEv() local_unnamed_addr #1

declare void @_ZN5ImGui13SetScrollHereEf(float noundef) local_unnamed_addr #1

declare noundef float @_ZN5ImGui14GetWindowWidthEv() local_unnamed_addr #1

declare noundef float @_ZN5ImGui26GetContentRegionAvailWidthEv() local_unnamed_addr #1

declare void @_ZN5ImGui23AlignTextToFramePaddingEv() local_unnamed_addr #1

declare void @_ZN5ImGui5DummyERK6ImVec2(ptr noundef nonnull align 4 dereferenceable(8)) local_unnamed_addr #1

declare <2 x float> @_ZN5ImGui15GetItemRectSizeEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui13ListBoxHeaderEPKcRK6ImVec2(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8)) local_unnamed_addr #1

declare void @_ZN5ImGui13ListBoxFooterEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui10BeginChildEjRK6ImVec2bi(i32 noundef, ptr noundef nonnull align 4 dereferenceable(8), i1 noundef zeroext, i32 noundef) local_unnamed_addr #1

declare noundef i32 @_ZN5ImGui5GetIDEPKv(ptr noundef) local_unnamed_addr #1

declare void @_ZN5ImGui17SetScrollFromPosYEff(float noundef, float noundef) local_unnamed_addr #1

declare <2 x float> @_ZN5ImGui17GetCursorStartPosEv() local_unnamed_addr #1

declare noundef float @_ZN5ImGui10GetScrollYEv() local_unnamed_addr #1

declare noundef float @_ZN5ImGui13GetScrollMaxYEv() local_unnamed_addr #1

declare noundef float @_ZN5ImGui25GetFrameHeightWithSpacingEv() local_unnamed_addr #1

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare float @sinf(float noundef) local_unnamed_addr #11

declare noundef float @_ZN5ImGui10GetScrollXEv() local_unnamed_addr #1

declare noundef float @_ZN5ImGui13GetScrollMaxXEv() local_unnamed_addr #1

declare void @_ZN5ImGui10SetScrollXEf(float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui15InvisibleButtonEPKcRK6ImVec2(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8)) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef, float noundef) local_unnamed_addr #1

declare void @_ZN10ImDrawList7AddTextEPK6ImFontfRK6ImVec2jPKcS7_fPK6ImVec4(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef, float noundef, ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, ptr noundef, ptr noundef, float noundef, ptr noundef) local_unnamed_addr #1

declare noundef ptr @_ZN5ImGui7GetFontEv() local_unnamed_addr #1

declare void @_ZN5ImGui15TextUnformattedEPKcS1_(ptr noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef, ptr noundef, i1 noundef zeroext, i1 noundef zeroext) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui21BeginPopupContextItemEPKci(ptr noundef, i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui17CloseCurrentPopupEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare noundef i32 @_ZN5ImGui14GetColumnIndexEv() local_unnamed_addr #1

declare noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef) local_unnamed_addr #1

declare noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui24SetNextWindowContentSizeERK6ImVec2(ptr noundef nonnull align 4 dereferenceable(8)) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN16ImGuiListClipperC2Eif(ptr noundef nonnull align 4 dereferenceable(24), i32 noundef, float noundef) unnamed_addr #0 align 2

declare noundef zeroext i1 @_ZN16ImGuiListClipper4StepEv(ptr noundef nonnull align 4 dereferenceable(24)) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN16ImGuiListClipperD2Ev(ptr noundef nonnull align 4 dereferenceable(24)) unnamed_addr #4 align 2

declare void @_ZN15ImGuiTextFilterC1EPKc(ptr noundef nonnull align 8 dereferenceable(276), ptr noundef) unnamed_addr #1

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN15ImGuiTextFilterD2Ev(ptr noundef nonnull align 8 dereferenceable(276)) unnamed_addr #5 align 2

; Function Attrs: nofree nounwind
declare i32 @__cxa_atexit(ptr, ptr, ptr) local_unnamed_addr #8

declare noundef zeroext i1 @_ZN15ImGuiTextFilter4DrawEPKcf(ptr noundef nonnull align 8 dereferenceable(276), ptr noundef, float noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276), ptr noundef, ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui15IsMousePosValidEPK6ImVec2(ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef, i1 noundef zeroext) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui12IsKeyPressedEib(i32 noundef, i1 noundef zeroext) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui13IsKeyReleasedEi(i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui22CaptureKeyboardFromAppEb(i1 noundef zeroext) local_unnamed_addr #1

declare void @_ZN5ImGui22PushAllowKeyboardFocusEb(i1 noundef zeroext) local_unnamed_addr #1

declare void @_ZN5ImGui21PopAllowKeyboardFocusEv() local_unnamed_addr #1

declare void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef) local_unnamed_addr #1

declare void @_ZN10ImDrawList22PushClipRectFullScreenEv(ptr noundef nonnull align 8 dereferenceable(168)) local_unnamed_addr #1

declare void @_ZN10ImDrawList7AddLineERK6ImVec2S2_jf(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, float noundef) local_unnamed_addr #1

declare noundef i32 @_ZN5ImGui11GetColorU32Eif(i32 noundef, float noundef) local_unnamed_addr #1

declare void @_ZN10ImDrawList11PopClipRectEv(ptr noundef nonnull align 8 dereferenceable(168)) local_unnamed_addr #1

declare <2 x float> @_ZN5ImGui17GetMouseDragDeltaEif(i32 noundef, float noundef) local_unnamed_addr #1

declare noundef i32 @_ZN5ImGui14GetMouseCursorEv() local_unnamed_addr #1

declare void @_ZN5ImGui14SetMouseCursorEi(i32 noundef) local_unnamed_addr #1

attributes #0 = { mustprogress 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 #1 = { "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 = { mustprogress uwtable "min-legal-vector-width"="64" "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 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress 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 #5 = { inlinehint mustprogress 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 #6 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #7 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #8 = { nofree nounwind }
attributes #9 = { nofree nounwind "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 #10 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #11 = { mustprogress nofree nounwind willreturn memory(write) "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 #12 = { 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 = !{!"bool", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{i8 0, i8 2}
!10 = !{}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{!14, !15, i64 76}
!14 = !{!"_ZTS10ImGuiStyle", !15, i64 0, !16, i64 4, !15, i64 12, !15, i64 16, !16, i64 20, !16, i64 28, !15, i64 36, !15, i64 40, !15, i64 44, !15, i64 48, !16, i64 52, !15, i64 60, !15, i64 64, !16, i64 68, !16, i64 76, !16, i64 84, !15, i64 92, !15, i64 96, !15, i64 100, !15, i64 104, !15, i64 108, !15, i64 112, !16, i64 116, !16, i64 124, !16, i64 132, !15, i64 140, !6, i64 144, !6, i64 145, !15, i64 148, !7, i64 152}
!15 = !{!"float", !7, i64 0}
!16 = !{!"_ZTS6ImVec2", !15, i64 0, !15, i64 4}
!17 = distinct !{!17, !18, !19}
!18 = !{!"llvm.loop.mustprogress"}
!19 = !{!"llvm.loop.peeled.count", i32 1}
!20 = !{!21, !6, i64 281}
!21 = !{!"_ZTS7ImGuiIO", !12, i64 0, !12, i64 4, !16, i64 8, !15, i64 16, !15, i64 20, !22, i64 24, !22, i64 32, !15, i64 40, !15, i64 44, !15, i64 48, !7, i64 52, !15, i64 136, !15, i64 140, !22, i64 144, !22, i64 152, !15, i64 160, !6, i64 164, !22, i64 168, !16, i64 176, !16, i64 184, !16, i64 192, !6, i64 200, !6, i64 201, !22, i64 208, !22, i64 216, !22, i64 224, !22, i64 232, !22, i64 240, !22, i64 248, !16, i64 256, !7, i64 264, !15, i64 272, !15, i64 276, !6, i64 280, !6, i64 281, !6, i64 282, !6, i64 283, !6, i64 284, !7, i64 285, !7, i64 798, !7, i64 832, !6, i64 916, !6, i64 917, !6, i64 918, !6, i64 919, !6, i64 920, !6, i64 921, !6, i64 922, !15, i64 924, !12, i64 928, !12, i64 932, !12, i64 936, !16, i64 940, !16, i64 948, !7, i64 956, !7, i64 996, !7, i64 1016, !7, i64 1021, !7, i64 1026, !7, i64 1031, !7, i64 1036, !7, i64 1056, !7, i64 1076, !7, i64 1116, !7, i64 1136, !7, i64 3184, !7, i64 5232, !7, i64 5316}
!22 = !{!"any pointer", !7, i64 0}
!23 = !{!15, !15, i64 0}
!24 = !{!21, !22, i64 152}
!25 = !{!26, !22, i64 8}
!26 = !{!"_ZTS11ImFontAtlas", !12, i64 0, !22, i64 8, !12, i64 16, !12, i64 20, !22, i64 24, !22, i64 32, !12, i64 40, !12, i64 44, !16, i64 48, !16, i64 56, !27, i64 64, !28, i64 80, !29, i64 96, !7, i64 112}
!27 = !{!"_ZTS8ImVectorIP6ImFontE", !12, i64 0, !12, i64 4, !22, i64 8}
!28 = !{!"_ZTS8ImVectorIN11ImFontAtlas10CustomRectEE", !12, i64 0, !12, i64 4, !22, i64 8}
!29 = !{!"_ZTS8ImVectorI12ImFontConfigE", !12, i64 0, !12, i64 4, !22, i64 8}
!30 = !{!26, !12, i64 40}
!31 = !{!26, !12, i64 44}
!32 = !{!21, !15, i64 256}
!33 = !{!21, !15, i64 260}
!34 = distinct !{!34, !18}
!35 = !{!"branch_weights", i32 1, i32 1048575}
!36 = !{!22, !22, i64 0}
!37 = distinct !{!37, !18, !38}
!38 = !{!"llvm.loop.peeled.count", i32 4}
!39 = distinct !{!39, !18}
!40 = !{!21, !15, i64 16}
!41 = !{!42, !15, i64 12}
!42 = !{!"_ZTS6ImVec4", !15, i64 0, !15, i64 4, !15, i64 8, !15, i64 12}
!43 = distinct !{!43, !18}
!44 = !{i64 0, i64 4, !23, i64 4, i64 4, !23, i64 8, i64 4, !23, i64 12, i64 4, !23}
!45 = !{!14, !15, i64 72}
!46 = !{!42, !15, i64 0}
!47 = !{!42, !15, i64 4}
!48 = !{!42, !15, i64 8}
!49 = !{!50, !22, i64 0}
!50 = !{!"_ZTS12ImGuiPayload", !22, i64 0, !12, i64 8, !12, i64 12, !12, i64 16, !12, i64 20, !7, i64 24, !6, i64 57, !6, i64 58}
!51 = distinct !{!51, !18}
!52 = !{!53, !53, i64 0}
!53 = !{!"long long", !7, i64 0}
!54 = !{!55, !55, i64 0}
!55 = !{!"double", !7, i64 0}
!56 = distinct !{!56, !18, !19}
!57 = distinct !{!57, !18}
!58 = distinct !{!58, !18}
!59 = !{!16, !15, i64 0}
!60 = !{!14, !15, i64 68}
!61 = !{!16, !15, i64 4}
!62 = distinct !{!62, !18}
!63 = distinct !{!63, !18}
!64 = distinct !{!64, !18}
!65 = distinct !{!65, !18, !19}
!66 = !{!21, !15, i64 940}
!67 = !{!21, !15, i64 944}
!68 = distinct !{!68, !18}
!69 = !{!70, !12, i64 16}
!70 = !{!"_ZTS16ImGuiListClipper", !15, i64 0, !15, i64 4, !12, i64 8, !12, i64 12, !12, i64 16, !12, i64 20}
!71 = !{!70, !12, i64 20}
!72 = distinct !{!72, !18}
!73 = !{!21, !6, i64 916}
!74 = !{!21, !6, i64 917}
!75 = !{!21, !6, i64 918}
!76 = !{!21, !6, i64 919}
!77 = !{!21, !6, i64 921}
!78 = !{!21, !6, i64 922}
!79 = !{!21, !15, i64 272}
!80 = distinct !{!80, !18}
!81 = distinct !{!81, !18}
!82 = !{!21, !6, i64 282}
!83 = !{!21, !6, i64 283}
!84 = !{!21, !6, i64 284}
!85 = distinct !{!85, !18}


; Effective O3 passes: BDCEPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LCSSAPass,LICMPass,LoopFullUnrollPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass