; LLVM IR from Angelo1211/HybridRenderingEngine :: libs/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.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, i8, i8, ptr, ptr, ptr, ptr, ptr, ptr, %struct.ImVec2, [5 x i8], float, float, i8, i8, i8, i8, [512 x i8], [17 x i16], [21 x float], i8, i8, i8, i8, i8, i8, i8, float, i32, i32, i32, i32, i32, %struct.ImVec2, %struct.ImVec2, [5 x %struct.ImVec2], [5 x double], [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.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, [43 x %struct.ImVec4] }
%struct.ImFontAtlas = type <{ i8, [3 x i8], i32, 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
@_ZZN5ImGui14ShowDemoWindowEPbE17no_bring_to_front = 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 [18 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [164 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [184 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [347 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [146 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7clicked = external hidden global i32, align 4
@.str.85 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [24 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5check = external hidden global i8, align 1
@.str.87 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE1e = external hidden global i32, align 4
@.str.88 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [16 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7counter = external hidden global i32, align 4
@.str.93 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [21 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3arr = external hidden global [7 x float], align 16
@.str.100 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.102 = 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.117 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.118 = 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.119 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [406 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [134 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f0 = external hidden global float, align 4
@.str.123 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2d0 = external hidden global double, align 8
@.str.125 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f1 = external hidden global float, align 4
@.str.127 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [87 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5vec4a = external hidden global [4 x float], align 16
@.str.130 = 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.131 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.134 = 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.135 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2i1_0 = external hidden global i32, align 4
@.str.138 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.139 = 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.140 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5angle = external hidden global float, align 4
@.str.144 = 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.145 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [192 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.149 = 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.157 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [140 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position = external hidden global i8, align 1
@.str.165 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [7 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask = external hidden global i32, align 4
@.str.167 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [19 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14closable_group = external hidden global i8, align 1
@.str.171 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [180 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width = external hidden global float, align 4
@.str.189 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [151 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [206 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [28 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3buf = external hidden global [32 x i8], align 16
@.str.199 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [233 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [32 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count = external hidden global i32, align 4
@.str.206 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5flags = external hidden global i32, align 4
@.str.208 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.209 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.210 = external hidden unnamed_addr constant [26 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.items.211 = 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.212 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14item_current_2 = external hidden global i32, align 4
@.str.213 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [27 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14item_current_3 = external hidden global i32, align 4
@.str.215 = external hidden unnamed_addr constant [16 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14item_current_4 = external hidden global i32, align 4
@.str.216 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [12 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9selection = external hidden global [5 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [34 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected = external hidden global i32, align 4
@.str.224 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [46 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9selection_0 = external hidden global [5 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [39 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected_0 = external hidden global [3 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [11 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected_1 = external hidden global [16 x i8], align 16
@.str.234 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected_2 = external hidden global [16 x i8], align 16
@.str.236 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [20 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf1 = external hidden global [64 x i8], align 16
@.str.238 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf2 = external hidden global [64 x i8], align 16
@.str.239 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf3 = external hidden global [64 x i8], align 16
@.str.240 = external hidden unnamed_addr constant [12 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf4 = external hidden global [64 x i8], align 16
@.str.241 = external hidden unnamed_addr constant [10 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf5 = external hidden global [64 x i8], align 16
@.str.242 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf6 = external hidden global [64 x i8], align 16
@.str.243 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [15 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7bufpass = external hidden global [64 x i8], align 16
@.str.245 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.248 = 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.249 = external hidden unnamed_addr constant [213 x i8], align 1
@.str.250 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.251 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.252 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7animate = external hidden global i8, align 1
@.str.253 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3arr_0 = external hidden global [7 x float], align 16
@.str.254 = 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 double, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE5phase = external hidden global float, align 4
@.str.255 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.256 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.257 = 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.258 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.259 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.260 = 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.261 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.262 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.263 = 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.264 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.265 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.266 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.267 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.268 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.269 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.270 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.271 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.272 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.273 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.274 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.275 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.276 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.277 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.278 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.279 = external hidden unnamed_addr constant [215 x i8], align 1
@.str.280 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.281 = 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.282 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.283 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.284 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.285 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.286 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.287 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.288 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.289 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.290 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.291 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.292 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.293 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.294 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.295 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.296 = 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.297 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.298 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.299 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.300 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.301 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.302 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.303 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.304 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.305 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.306 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.307 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.308 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.309 = external hidden unnamed_addr constant [340 x i8], align 1
@.str.310 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.311 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.312 = 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.313 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.314 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.315 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.316 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.317 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.318 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.319 = 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.320 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.321 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.322 = external hidden unnamed_addr constant [171 x i8], align 1
@.str.323 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.324 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.325 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.326 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.327 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.328 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.329 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.330 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.331 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.332 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.333 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.334 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.335 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.336 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.337 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.338 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.339 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.340 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.341 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.342 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.343 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.344 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.345 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.346 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.347 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.348 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.349 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.350 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.351 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.352 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.353 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.354 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.355 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.356 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.357 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.358 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step = external hidden global i8, align 1
@.str.359 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.360 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.361 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.362 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.363 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.364 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.365 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.366 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.367 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.368 = 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.369 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.370 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.371 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.372 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.373 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.374 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.375 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.376 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.377 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.378 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.379 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.380 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.381 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.382 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.383 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.384 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.385 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.386 = external hidden unnamed_addr constant [17 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9int_value = external hidden global i32, align 4
@.str.387 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE6values_0 = external hidden global [7 x float], align 16
@.str.388 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.389 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.390 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.391 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7values2 = external hidden global [4 x float], align 16
@.str.392 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.393 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.394 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.395 = external hidden unnamed_addr constant [34 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4col1_0 = external hidden global [3 x float], align 4
@_ZZN5ImGui14ShowDemoWindowEPbE4col2_0 = external hidden global [4 x float], align 16
@.str.396 = external hidden unnamed_addr constant [33 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4mode = external hidden global i32, align 4
@.str.397 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.398 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.399 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5names = external hidden global [9 x ptr], align 16
@.str.409 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.410 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.411 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.412 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.413 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.414 = external hidden unnamed_addr constant [92 x i8], align 1
@__PRETTY_FUNCTION__._ZN5ImGui14ShowDemoWindowEPb = external hidden unnamed_addr constant [35 x i8], align 1
@.str.415 = external hidden unnamed_addr constant [46 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.416 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.417 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.418 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.419 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.420 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.421 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.422 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.423 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.424 = external hidden unnamed_addr constant [17 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.items.425 = external hidden unnamed_addr constant [4 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE7current = external hidden global i32, align 4
@.str.426 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.427 = external hidden unnamed_addr constant [438 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window = external hidden global i8, align 1
@.str.428 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.429 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.430 = external hidden unnamed_addr constant [175 x i8], align 1
@.str.431 = external hidden unnamed_addr constant [274 x i8], align 1
@.str.432 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.433 = external hidden unnamed_addr constant [70 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE11test_window = external hidden global i8, align 1
@.str.434 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.435 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.436 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.437 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.438 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.439 = 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.440 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.441 = external hidden unnamed_addr constant [13 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4line = external hidden global i32, align 4
@.str.442 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.443 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.444 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.445 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.446 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.447 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.448 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE1f = external hidden global float, align 4
@.str.449 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.450 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.451 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.452 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.453 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.454 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.455 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.456 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.457 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.458 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.459 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.460 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.461 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.462 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.463 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.464 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.465 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.466 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.467 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.468 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.469 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.470 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.471 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.472 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.473 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.474 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.475 = 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.476 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.477 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.478 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.479 = 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.480 = external hidden unnamed_addr constant [4 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE4item = external hidden global i32, align 4
@.str.481 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.482 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.483 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.484 = external hidden unnamed_addr constant [7 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9selection_1 = external hidden global [4 x i32], align 16
@.str.485 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.486 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.487 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.488 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.489 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.490 = external hidden unnamed_addr constant [206 x i8], align 1
@.str.491 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.492 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.493 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.494 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.495 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.496 = external hidden unnamed_addr constant [20 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.values = external hidden unnamed_addr constant [5 x float], align 16
@.str.497 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.498 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.499 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.500 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.501 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.502 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.503 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.504 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.505 = external hidden unnamed_addr constant [211 x i8], align 1
@.str.506 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.507 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.508 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.509 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.510 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.511 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.512 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.513 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.514 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.515 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.516 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.517 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.518 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.519 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.520 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.521 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.522 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.523 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.524 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.525 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.526 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.527 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.528 = external hidden unnamed_addr constant [77 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.529 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.530 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.531 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.532 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.533 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.534 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.535 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.536 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.537 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.538 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.539 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.540 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.541 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.542 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.543 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.544 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.545 = external hidden unnamed_addr constant [104 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5lines = external hidden global i32, align 4
@.str.546 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.547 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.548 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.549 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.550 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.551 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.552 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.553 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.554 = 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.555 = external hidden unnamed_addr constant [266 x i8], align 1
@.str.556 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.557 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.558 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.559 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.560 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.561 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.562 = 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.568 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.569 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.570 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.571 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.572 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.573 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.574 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.575 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.576 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.577 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.578 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.579 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.580 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.581 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.582 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5value = external hidden global float, align 4
@.str.583 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.584 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.585 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.586 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.587 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4name = external hidden global [32 x i8], align 16
@.str.588 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.589 = external hidden unnamed_addr constant [11 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 [7 x i8], align 1
@.str.593 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.594 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.595 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.596 = external hidden unnamed_addr constant [78 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE21dont_ask_me_next_time = external hidden global i8, align 1
@.str.597 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.598 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.599 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.600 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.601 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.602 = external hidden unnamed_addr constant [86 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4item_0 = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE5color_0 = external hidden global [4 x float], align 16
@.str.603 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.604 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.605 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.606 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.607 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.608 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.609 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.610 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.611 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.612 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.613 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.614 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.615 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.616 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.617 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.618 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.619 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.620 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.621 = external hidden unnamed_addr constant [8 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.names.625 = 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.629 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.630 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.631 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.632 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.633 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3foo = external hidden global float, align 4
@.str.634 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.635 = external hidden unnamed_addr constant [20 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3bar = external hidden global float, align 4
@.str.636 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.637 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.638 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.639 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.640 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.641 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.642 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.643 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.644 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.645 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.646 = 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.647 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.648 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.649 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.650 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.651 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.652 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.653 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.654 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.655 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.656 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.657 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.658 = 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.659 = external hidden unnamed_addr constant [183 x i8], align 1
@.str.660 = external hidden unnamed_addr constant [18 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.lines = external hidden unnamed_addr constant [8 x ptr], align 16
@.str.669 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.670 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.671 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.672 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.673 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.674 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.675 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.676 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.677 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.678 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.679 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.680 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.681 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.682 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.683 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.684 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.685 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.686 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.687 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.688 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.689 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.690 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.691 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.692 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.693 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.694 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.695 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.696 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.697 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.698 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.699 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.700 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.701 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.702 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.703 = external hidden unnamed_addr constant [61 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3buf_0 = external hidden global [32 x i8], align 16
@.str.704 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.705 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.706 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.707 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.708 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.709 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.710 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.711 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.712 = external hidden unnamed_addr constant [11 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3buf_1 = external hidden global [128 x i8], align 16
@.str.713 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.714 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.715 = external hidden unnamed_addr constant [24 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f3 = external hidden global [3 x float], align 4
@.str.716 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.717 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.718 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.719 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.720 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.721 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.722 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.723 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.724 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.725 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.726 = 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.734 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.735 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.736 = external hidden unnamed_addr constant [242 x i8], align 1
@.str.737 = 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(5432) 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 %struct.ImVec2, align 4
  %6 = alloca %struct.ImVec2, align 4
  %7 = alloca i32, align 4
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca %struct.ImVec2, align 4
  %11 = alloca %struct.ImVec2, align 4
  %12 = alloca i32, align 4
  %13 = alloca %struct.ImVec4, align 4
  %14 = alloca %struct.ImColor, align 4
  %15 = alloca %struct.ImVec4, align 4
  %16 = alloca %struct.ImColor, align 4
  %17 = alloca %struct.ImVec4, align 4
  %18 = alloca %struct.ImColor, align 4
  %19 = alloca %struct.ImVec2, align 4
  %20 = alloca float, align 4
  %21 = alloca %struct.ImVec2, align 4
  %22 = alloca [14 x ptr], align 16
  %23 = alloca [9 x ptr], align 16
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i8, align 1
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca %struct.ImVec4, align 4
  %32 = alloca %struct.ImVec4, 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 %struct.ImVec2, align 4
  %41 = alloca %struct.ImVec2, align 4
  %42 = alloca %struct.ImVec2, align 4
  %43 = alloca %struct.ImVec2, align 4
  %44 = alloca %struct.ImVec2, align 4
  %45 = alloca ptr, align 8
  %46 = alloca ptr, align 8
  %47 = alloca float, align 4
  %48 = alloca float, align 4
  %49 = alloca %struct.ImVec2, align 4
  %50 = alloca %struct.ImVec2, align 4
  %51 = alloca %struct.ImVec2, align 4
  %52 = alloca %struct.ImVec2, align 4
  %53 = alloca %struct.ImVec4, align 4
  %54 = alloca %struct.ImColor, align 4
  %55 = alloca %struct.ImVec4, align 4
  %56 = alloca %struct.ImColor, align 4
  %57 = alloca float, align 4
  %58 = alloca float, align 4
  %59 = alloca float, align 4
  %60 = alloca float, align 4
  %61 = alloca %struct.ImVec2, align 4
  %62 = alloca %struct.ImVec2, align 4
  %63 = alloca %struct.ImVec2, align 4
  %64 = alloca %struct.ImVec4, align 4
  %65 = alloca %struct.ImColor, align 4
  %66 = alloca %struct.ImVec4, align 4
  %67 = alloca %struct.ImColor, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca %struct.ImVec2, align 4
  %71 = alloca %struct.ImVec2, align 4
  %72 = alloca %struct.ImVec2, align 4
  %73 = alloca %struct.ImVec4, align 4
  %74 = alloca %struct.ImColor, align 4
  %75 = alloca %struct.ImVec4, align 4
  %76 = alloca [14 x ptr], align 16
  %77 = alloca i32, align 4
  %78 = alloca i8, align 1
  %79 = alloca %struct.ImVec2, align 4
  %80 = alloca %struct.ImVec2, align 4
  %81 = alloca %struct.ImVec2, align 4
  %82 = alloca %struct.ImVec2, align 4
  %83 = alloca %struct.ImVec2, align 4
  %84 = alloca i32, align 4
  %85 = alloca [32 x i8], align 16
  %86 = alloca %struct.ImVec2, align 4
  %87 = alloca i32, align 4
  %88 = alloca [32 x i8], align 16
  %89 = alloca %struct.ImVec2, align 4
  %90 = alloca %struct.ImVec2, align 4
  %91 = alloca %struct.ImVec2, align 4
  %92 = alloca %struct.ImVec2, align 4
  %93 = alloca i32, align 4
  %94 = alloca [32 x i8], align 16
  %95 = alloca %struct.ImVec2, align 4
  %96 = alloca i32, align 4
  %97 = alloca %struct.ImVec2, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca %struct.ImVec2, align 4
  %102 = alloca %struct.ImVec2, align 4
  %103 = alloca %struct.ImVec2, align 4
  %104 = alloca %struct.ImVec2, align 4
  %105 = alloca ptr, align 8
  %106 = alloca %struct.ImVec2, align 4
  %107 = alloca %struct.ImVec2, align 4
  %108 = alloca %struct.ImVec2, align 4
  %109 = alloca float, align 4
  %110 = alloca [32 x i8], align 16
  %111 = alloca %struct.ImVec2, align 4
  %112 = alloca %struct.ImColor, align 4
  %113 = alloca ptr, align 8
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca i8, align 1
  %118 = alloca %struct.ImVec2, align 4
  %119 = alloca %struct.ImVec2, align 4
  %120 = alloca %struct.ImVec2, align 4
  %121 = alloca %struct.ImVec2, align 4
  %122 = alloca i32, align 4
  %123 = alloca %struct.ImVec2, align 4
  %124 = alloca %struct.ImVec4, align 4
  %125 = alloca ptr, align 8
  %126 = alloca ptr, align 8
  %127 = alloca %struct.ImVec2, align 4
  %128 = alloca i32, align 4
  %129 = alloca %struct.ImVec2, align 4
  %130 = alloca %struct.ImVec2, 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 i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %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 i64, align 8
  %155 = alloca i64, align 8
  %156 = alloca i64, align 8
  %157 = alloca i64, align 8
  %158 = alloca i64, align 8
  %159 = alloca float, align 4
  %160 = alloca float, align 4
  %161 = alloca float, align 4
  %162 = alloca float, align 4
  %163 = alloca double, align 8
  %164 = alloca double, align 8
  %165 = alloca double, align 8
  %166 = alloca double, align 8
  %167 = alloca float, align 4
  %168 = alloca float, align 4
  %169 = alloca %struct.ImVec2, align 4
  %170 = alloca %struct.ImVec2, align 4
  %171 = alloca i32, align 4
  %172 = alloca %struct.ImVec4, align 4
  %173 = alloca %struct.ImColor, align 4
  %174 = alloca %struct.ImVec4, align 4
  %175 = alloca %struct.ImColor, align 4
  %176 = alloca %struct.ImVec4, align 4
  %177 = alloca %struct.ImColor, align 4
  %178 = alloca %struct.ImVec4, align 4
  %179 = alloca %struct.ImColor, align 4
  %180 = alloca %struct.ImVec2, align 4
  %181 = alloca i32, align 4
  %182 = alloca %struct.ImVec2, align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca %struct.ImVec2, align 4
  %187 = alloca i32, align 4
  %188 = alloca %struct.ImVec2, align 4
  %189 = alloca ptr, align 8
  %190 = alloca i32, align 4
  %191 = alloca ptr, align 8
  %192 = alloca i8, align 1
  %193 = alloca %struct.ImVec2, align 4
  %194 = alloca [4 x ptr], align 16
  %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 %struct.ImVec2, align 4
  %203 = alloca i8, align 1
  %204 = alloca %struct.ImVec2, align 4
  %205 = alloca %struct.ImVec2, align 4
  %206 = alloca i32, align 4
  %207 = alloca %struct.ImVec2, align 4
  %208 = alloca i32, align 4
  %209 = alloca [32 x i8], align 16
  %210 = alloca %struct.ImVec2, align 4
  %211 = alloca %struct.ImVec4, align 4
  %212 = alloca %struct.ImVec4, align 4
  %213 = alloca %struct.ImVec2, align 4
  %214 = alloca %struct.ImVec2, align 4
  %215 = alloca %struct.ImVec2, align 4
  %216 = alloca [4 x ptr], align 16
  %217 = alloca i32, align 4
  %218 = alloca %struct.ImVec2, align 4
  %219 = alloca ptr, align 8
  %220 = alloca i32, align 4
  %221 = alloca float, align 4
  %222 = alloca %struct.ImVec2, align 4
  %223 = alloca %struct.ImVec2, align 4
  %224 = alloca i32, align 4
  %225 = alloca float, align 4
  %226 = alloca %struct.ImVec2, align 4
  %227 = alloca float, align 4
  %228 = alloca %struct.ImVec2, align 4
  %229 = alloca %struct.ImVec2, align 4
  %230 = alloca %struct.ImVec2, align 4
  %231 = alloca %struct.ImVec2, align 4
  %232 = alloca %struct.ImVec2, align 4
  %233 = alloca %struct.ImVec2, align 4
  %234 = alloca [5 x float], align 16
  %235 = alloca %struct.ImVec2, align 4
  %236 = alloca %struct.ImVec2, align 4
  %237 = alloca %struct.ImVec2, align 4
  %238 = alloca %struct.ImVec2, align 4
  %239 = alloca %struct.ImVec2, align 4
  %240 = alloca %struct.ImVec2, align 4
  %241 = alloca %struct.ImVec2, align 4
  %242 = alloca %struct.ImVec2, align 4
  %243 = alloca %struct.ImVec2, align 4
  %244 = alloca %struct.ImVec2, align 4
  %245 = alloca float, align 4
  %246 = alloca %struct.ImVec2, align 4
  %247 = alloca i32, align 4
  %248 = alloca i8, align 1
  %249 = alloca %struct.ImVec2, align 4
  %250 = alloca i32, align 4
  %251 = alloca %struct.ImVec2, align 4
  %252 = alloca %struct.ImVec2, align 4
  %253 = alloca i8, align 1
  %254 = alloca %struct.ImVec2, align 4
  %255 = alloca i32, align 4
  %256 = alloca %struct.ImVec2, align 4
  %257 = alloca %struct.ImVec2, align 4
  %258 = alloca i32, align 4
  %259 = alloca %struct.ImVec4, align 4
  %260 = alloca %struct.ImColor, align 4
  %261 = alloca float, align 4
  %262 = alloca float, align 4
  %263 = alloca %struct.ImVec2, align 4
  %264 = alloca %struct.ImVec2, align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca i32, align 4
  %268 = alloca [16 x i8], align 16
  %269 = alloca ptr, align 8
  %270 = alloca float, align 4
  %271 = alloca %struct.ImVec4, align 4
  %272 = alloca %struct.ImColor, align 4
  %273 = alloca %struct.ImVec4, align 4
  %274 = alloca %struct.ImColor, align 4
  %275 = alloca %struct.ImVec4, align 4
  %276 = alloca %struct.ImColor, align 4
  %277 = alloca %struct.ImVec2, align 4
  %278 = alloca float, align 4
  %279 = alloca float, align 4
  %280 = alloca float, align 4
  %281 = alloca %struct.ImVec2, align 4
  %282 = alloca %struct.ImVec2, align 4
  %283 = alloca %struct.ImVec4, align 4
  %284 = alloca %struct.ImVec2, align 4
  %285 = alloca %struct.ImVec2, align 4
  %286 = alloca [5 x ptr], align 16
  %287 = alloca %struct.ImVec2, align 4
  %288 = alloca i32, align 4
  %289 = alloca %struct.ImVec2, align 4
  %290 = alloca %struct.ImVec2, align 4
  %291 = alloca i32, align 4
  %292 = alloca %struct.ImVec2, align 4
  %293 = alloca i32, align 4
  %294 = alloca %struct.ImVec2, align 4
  %295 = alloca %struct.ImVec2, align 4
  %296 = alloca %struct.ImVec2, align 4
  %297 = alloca [64 x i8], align 16
  %298 = alloca %struct.ImVec2, align 4
  %299 = alloca %struct.ImVec2, align 4
  %300 = alloca %struct.ImVec2, align 4
  %301 = alloca %struct.ImVec2, align 4
  %302 = alloca %struct.ImVec2, align 4
  %303 = alloca %struct.ImVec2, align 4
  %304 = alloca %struct.ImVec2, align 4
  %305 = alloca %struct.ImVec2, align 4
  %306 = alloca %struct.ImVec2, align 4
  %307 = alloca %struct.ImVec2, align 4
  %308 = alloca i32, align 4
  %309 = alloca [32 x i8], align 16
  %310 = alloca %struct.ImVec2, align 4
  %311 = alloca [3 x ptr], align 16
  %312 = alloca [3 x ptr], align 16
  %313 = alloca i32, align 4
  %314 = alloca [32 x i8], align 16
  %315 = alloca %struct.ImVec2, align 4
  %316 = alloca i8, align 1
  %317 = alloca %struct.ImVec2, align 4
  %318 = alloca %struct.ImVec2, align 4
  %319 = alloca %struct.ImVec2, align 4
  %320 = alloca i32, align 4
  %321 = alloca %struct.ImVec2, align 4
  %322 = alloca %struct.ImVec2, align 4
  %323 = alloca i32, align 4
  %324 = alloca %struct.ImGuiListClipper, align 4
  %325 = alloca i32, align 4
  %326 = alloca i32, align 4
  %327 = alloca i8, align 1
  %328 = alloca [8 x ptr], align 16
  %329 = alloca i32, align 4
  %330 = alloca ptr, align 8
  %331 = alloca i32, align 4
  %332 = alloca i32, align 4
  %333 = alloca i32, align 4
  %334 = alloca i32, align 4
  %335 = alloca i32, align 4
  %336 = alloca i32, align 4
  %337 = alloca i32, align 4
  %338 = alloca i32, align 4
  %339 = alloca i32, align 4
  %340 = alloca i32, align 4
  %341 = alloca %struct.ImVec2, align 4
  %342 = alloca %struct.ImVec2, align 4
  %343 = alloca i8, align 1
  %344 = alloca %struct.ImVec2, align 4
  %345 = alloca i8, align 1
  %346 = alloca %struct.ImVec2, align 4
  %347 = alloca i8, align 1
  %348 = alloca %struct.ImVec2, align 4
  %349 = alloca i32, align 4
  %350 = alloca i32, align 4
  %351 = alloca %struct.ImVec2, align 4
  %352 = alloca %struct.ImVec2, align 4
  %353 = alloca %struct.ImVec2, align 4
  %354 = alloca i32, align 4
  %355 = alloca %struct.ImVec2, align 4
  %356 = alloca ptr, align 8
  %357 = alloca %struct.ImVec2, align 4
  %358 = alloca %struct.ImVec2, align 4
  %359 = alloca %struct.ImVec2, align 4
  %360 = alloca [8 x ptr], align 16
  %361 = alloca i32, align 4
  %362 = alloca [32 x i8], align 16
  %363 = alloca %struct.ImVec2, align 4
  store ptr %0, ptr %2, align 8, !tbaa !5
  %364 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_main_menu_bar, align 1, !tbaa !9, !range !11, !noundef !12
  %365 = trunc i8 %364 to i1
  br i1 %365, label %366, label %367

366:                                              ; preds = %1
  call void @_ZL25ShowExampleAppMainMenuBarv()
  br label %367

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

370:                                              ; preds = %367
  call void @_ZL21ShowExampleAppConsolePb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_console)
  br label %371

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

374:                                              ; preds = %371
  call void @_ZL17ShowExampleAppLogPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12show_app_log)
  br label %375

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

378:                                              ; preds = %375
  call void @_ZL20ShowExampleAppLayoutPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE15show_app_layout)
  br label %379

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

382:                                              ; preds = %379
  call void @_ZL28ShowExampleAppPropertyEditorPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE24show_app_property_editor)
  br label %383

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

386:                                              ; preds = %383
  call void @_ZL22ShowExampleAppLongTextPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE18show_app_long_text)
  br label %387

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

390:                                              ; preds = %387
  call void @_ZL24ShowExampleAppAutoResizePb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE20show_app_auto_resize)
  br label %391

391:                                              ; preds = %390, %387
  %392 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE27show_app_constrained_resize, align 1, !tbaa !9, !range !11, !noundef !12
  %393 = trunc i8 %392 to i1
  br i1 %393, label %394, label %395

394:                                              ; preds = %391
  call void @_ZL31ShowExampleAppConstrainedResizePb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE27show_app_constrained_resize)
  br label %395

395:                                              ; preds = %394, %391
  %396 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE23show_app_simple_overlay, align 1, !tbaa !9, !range !11, !noundef !12
  %397 = trunc i8 %396 to i1
  br i1 %397, label %398, label %399

398:                                              ; preds = %395
  call void @_ZL27ShowExampleAppSimpleOverlayPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE23show_app_simple_overlay)
  br label %399

399:                                              ; preds = %398, %395
  %400 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_window_titles, align 1, !tbaa !9, !range !11, !noundef !12
  %401 = trunc i8 %400 to i1
  br i1 %401, label %402, label %403

402:                                              ; preds = %399
  call void @_ZL26ShowExampleAppWindowTitlesPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_window_titles)
  br label %403

403:                                              ; preds = %402, %399
  %404 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE25show_app_custom_rendering, align 1, !tbaa !9, !range !11, !noundef !12
  %405 = trunc i8 %404 to i1
  br i1 %405, label %406, label %407

406:                                              ; preds = %403
  call void @_ZL29ShowExampleAppCustomRenderingPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE25show_app_custom_rendering)
  br label %407

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

410:                                              ; preds = %407
  call void @_ZN5ImGui17ShowMetricsWindowEPb(ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_metrics)
  br label %411

411:                                              ; preds = %410, %407
  %412 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE21show_app_style_editor, align 1, !tbaa !9, !range !11, !noundef !12
  %413 = trunc i8 %412 to i1
  br i1 %413, label %414, label %416

414:                                              ; preds = %411
  %415 = 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 %416

416:                                              ; preds = %414, %411
  %417 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14show_app_about, align 1, !tbaa !9, !range !11, !noundef !12
  %418 = trunc i8 %417 to i1
  br i1 %418, label %419, label %422

419:                                              ; preds = %416
  %420 = call noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef @.str.16, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE14show_app_about, i32 noundef 64)
  %421 = call noundef ptr @_ZN5ImGui10GetVersionEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.17, ptr noundef %421)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.18)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.19)
  call void @_ZN5ImGui3EndEv()
  br label %422

422:                                              ; preds = %419, %416
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #9
  store i32 0, ptr %3, align 4, !tbaa !13
  %423 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11no_titlebar, align 1, !tbaa !9, !range !11, !noundef !12
  %424 = trunc i8 %423 to i1
  br i1 %424, label %425, label %428

425:                                              ; preds = %422
  %426 = load i32, ptr %3, align 4, !tbaa !13
  %427 = or i32 %426, 1
  store i32 %427, ptr %3, align 4, !tbaa !13
  br label %428

428:                                              ; preds = %425, %422
  %429 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12no_scrollbar, align 1, !tbaa !9, !range !11, !noundef !12
  %430 = trunc i8 %429 to i1
  br i1 %430, label %431, label %434

431:                                              ; preds = %428
  %432 = load i32, ptr %3, align 4, !tbaa !13
  %433 = or i32 %432, 8
  store i32 %433, ptr %3, align 4, !tbaa !13
  br label %434

434:                                              ; preds = %431, %428
  %435 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7no_menu, align 1, !tbaa !9, !range !11, !noundef !12
  %436 = trunc i8 %435 to i1
  br i1 %436, label %440, label %437

437:                                              ; preds = %434
  %438 = load i32, ptr %3, align 4, !tbaa !13
  %439 = or i32 %438, 1024
  store i32 %439, ptr %3, align 4, !tbaa !13
  br label %440

440:                                              ; preds = %437, %434
  %441 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7no_move, align 1, !tbaa !9, !range !11, !noundef !12
  %442 = trunc i8 %441 to i1
  br i1 %442, label %443, label %446

443:                                              ; preds = %440
  %444 = load i32, ptr %3, align 4, !tbaa !13
  %445 = or i32 %444, 4
  store i32 %445, ptr %3, align 4, !tbaa !13
  br label %446

446:                                              ; preds = %443, %440
  %447 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9no_resize, align 1, !tbaa !9, !range !11, !noundef !12
  %448 = trunc i8 %447 to i1
  br i1 %448, label %449, label %452

449:                                              ; preds = %446
  %450 = load i32, ptr %3, align 4, !tbaa !13
  %451 = or i32 %450, 2
  store i32 %451, ptr %3, align 4, !tbaa !13
  br label %452

452:                                              ; preds = %449, %446
  %453 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11no_collapse, align 1, !tbaa !9, !range !11, !noundef !12
  %454 = trunc i8 %453 to i1
  br i1 %454, label %455, label %458

455:                                              ; preds = %452
  %456 = load i32, ptr %3, align 4, !tbaa !13
  %457 = or i32 %456, 32
  store i32 %457, ptr %3, align 4, !tbaa !13
  br label %458

458:                                              ; preds = %455, %452
  %459 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6no_nav, align 1, !tbaa !9, !range !11, !noundef !12
  %460 = trunc i8 %459 to i1
  br i1 %460, label %461, label %464

461:                                              ; preds = %458
  %462 = load i32, ptr %3, align 4, !tbaa !13
  %463 = or i32 %462, 786432
  store i32 %463, ptr %3, align 4, !tbaa !13
  br label %464

464:                                              ; preds = %461, %458
  %465 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE17no_bring_to_front, align 1, !tbaa !9, !range !11, !noundef !12
  %466 = trunc i8 %465 to i1
  br i1 %466, label %467, label %470

467:                                              ; preds = %464
  %468 = load i32, ptr %3, align 4, !tbaa !13
  %469 = or i32 %468, 8192
  store i32 %469, ptr %3, align 4, !tbaa !13
  br label %470

470:                                              ; preds = %467, %464
  %471 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8no_close, align 1, !tbaa !9, !range !11, !noundef !12
  %472 = trunc i8 %471 to i1
  br i1 %472, label %473, label %474

473:                                              ; preds = %470
  store ptr null, ptr %2, align 8, !tbaa !5
  br label %474

474:                                              ; preds = %473, %470
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %4, float noundef 6.500000e+02, float noundef 2.000000e+01)
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %5, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @_ZN5ImGui16SetNextWindowPosERK6ImVec2iS2_(ptr noundef nonnull align 4 dereferenceable(8) %4, i32 noundef 4, ptr noundef nonnull align 4 dereferenceable(8) %5)
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %6, float noundef 5.500000e+02, float noundef 6.800000e+02)
  call void @_ZN5ImGui17SetNextWindowSizeERK6ImVec2i(ptr noundef nonnull align 4 dereferenceable(8) %6, i32 noundef 4)
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #9
  %475 = load ptr, ptr %2, align 8, !tbaa !5
  %476 = load i32, ptr %3, align 4, !tbaa !13
  %477 = call noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef @.str.20, ptr noundef %475, i32 noundef %476)
  br i1 %477, label %479, label %478

478:                                              ; preds = %474
  call void @_ZN5ImGui3EndEv()
  store i32 1, ptr %7, align 4
  br label %3815

479:                                              ; preds = %474
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.21, ptr noundef @.str.22)
  %480 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %481 = fmul float %480, -1.200000e+01
  call void @_ZN5ImGui13PushItemWidthEf(float noundef %481)
  %482 = call noundef zeroext i1 @_ZN5ImGui12BeginMenuBarEv()
  br i1 %482, label %483, label %507

483:                                              ; preds = %479
  %484 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef @.str.23, i1 noundef zeroext true)
  br i1 %484, label %485, label %486

485:                                              ; preds = %483
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui7EndMenuEv()
  br label %486

486:                                              ; preds = %485, %483
  %487 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef @.str.24, i1 noundef zeroext true)
  br i1 %487, label %488, label %500

488:                                              ; preds = %486
  %489 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.25, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_main_menu_bar, i1 noundef zeroext true)
  %490 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.26, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_console, i1 noundef zeroext true)
  %491 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.27, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12show_app_log, i1 noundef zeroext true)
  %492 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.28, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE15show_app_layout, i1 noundef zeroext true)
  %493 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.29, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE24show_app_property_editor, i1 noundef zeroext true)
  %494 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.30, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE18show_app_long_text, i1 noundef zeroext true)
  %495 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.31, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE20show_app_auto_resize, i1 noundef zeroext true)
  %496 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.32, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE27show_app_constrained_resize, i1 noundef zeroext true)
  %497 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.33, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE23show_app_simple_overlay, i1 noundef zeroext true)
  %498 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.34, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_window_titles, i1 noundef zeroext true)
  %499 = 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 %500

500:                                              ; preds = %488, %486
  %501 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef @.str.36, i1 noundef zeroext true)
  br i1 %501, label %502, label %506

502:                                              ; preds = %500
  %503 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.37, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_metrics, i1 noundef zeroext true)
  %504 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef @.str.15, ptr noundef null, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE21show_app_style_editor, i1 noundef zeroext true)
  %505 = 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 %506

506:                                              ; preds = %502, %500
  call void @_ZN5ImGui10EndMenuBarEv()
  br label %507

507:                                              ; preds = %506, %479
  call void @_ZN5ImGui7SpacingEv()
  %508 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.36, i32 noundef 0)
  br i1 %508, label %509, label %510

509:                                              ; preds = %507
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.38)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.39)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.40)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.41)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.42)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.43)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.44)
  call void @_ZN5ImGui13ShowUserGuideEv()
  br label %510

510:                                              ; preds = %509, %507
  %511 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.45, i32 noundef 0)
  br i1 %511, label %512, label %580

512:                                              ; preds = %510
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #9
  %513 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  store ptr %513, ptr %8, align 8, !tbaa !5
  %514 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.46)
  br i1 %514, label %515, label %561

515:                                              ; preds = %512
  %516 = load ptr, ptr %8, align 8, !tbaa !5
  %517 = getelementptr inbounds %struct.ImGuiIO, ptr %516, i32 0, i32 0
  %518 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.47, ptr noundef %517, i32 noundef 1)
  %519 = load ptr, ptr %8, align 8, !tbaa !5
  %520 = getelementptr inbounds %struct.ImGuiIO, ptr %519, i32 0, i32 0
  %521 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.48, ptr noundef %520, i32 noundef 2)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.49)
  %522 = load ptr, ptr %8, align 8, !tbaa !5
  %523 = getelementptr inbounds %struct.ImGuiIO, ptr %522, i32 0, i32 0
  %524 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.50, ptr noundef %523, i32 noundef 4)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.51)
  %525 = load ptr, ptr %8, align 8, !tbaa !5
  %526 = getelementptr inbounds %struct.ImGuiIO, ptr %525, i32 0, i32 0
  %527 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.52, ptr noundef %526, i32 noundef 16)
  %528 = load ptr, ptr %8, align 8, !tbaa !5
  %529 = getelementptr inbounds %struct.ImGuiIO, ptr %528, i32 0, i32 0
  %530 = load i32, ptr %529, align 8, !tbaa !15
  %531 = and i32 %530, 16
  %532 = icmp ne i32 %531, 0
  br i1 %532, label %533, label %548

533:                                              ; preds = %515
  %534 = call noundef double @_ZN5ImGui7GetTimeEv()
  %535 = fptrunc double %534 to float
  %536 = call float @fmodf(float noundef %535, float noundef 0x3FD99999A0000000) #9
  %537 = fcmp olt float %536, 0x3FC99999A0000000
  br i1 %537, label %538, label %539

538:                                              ; preds = %533
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.53)
  br label %539

539:                                              ; preds = %538, %533
  %540 = call noundef i32 @_ZN5ImGui11GetKeyIndexEi(i32 noundef 12)
  %541 = call noundef zeroext i1 @_ZN5ImGui12IsKeyPressedEib(i32 noundef %540, i1 noundef zeroext true)
  br i1 %541, label %542, label %547

542:                                              ; preds = %539
  %543 = load ptr, ptr %8, align 8, !tbaa !5
  %544 = getelementptr inbounds %struct.ImGuiIO, ptr %543, i32 0, i32 0
  %545 = load i32, ptr %544, align 8, !tbaa !15
  %546 = and i32 %545, -17
  store i32 %546, ptr %544, align 8, !tbaa !15
  br label %547

547:                                              ; preds = %542, %539
  br label %548

548:                                              ; preds = %547, %515
  %549 = load ptr, ptr %8, align 8, !tbaa !5
  %550 = getelementptr inbounds %struct.ImGuiIO, ptr %549, i32 0, i32 0
  %551 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.54, ptr noundef %550, i32 noundef 32)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.55)
  %552 = load ptr, ptr %8, align 8, !tbaa !5
  %553 = getelementptr inbounds %struct.ImGuiIO, ptr %552, i32 0, i32 23
  %554 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.56, ptr noundef %553)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.57)
  %555 = load ptr, ptr %8, align 8, !tbaa !5
  %556 = getelementptr inbounds %struct.ImGuiIO, ptr %555, i32 0, i32 24
  %557 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.58, ptr noundef %556)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.59)
  %558 = load ptr, ptr %8, align 8, !tbaa !5
  %559 = getelementptr inbounds %struct.ImGuiIO, ptr %558, i32 0, i32 21
  %560 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.60, ptr noundef %559)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.61)
  call void @_ZN5ImGui7TreePopEv()
  call void @_ZN5ImGui9SeparatorEv()
  br label %561

561:                                              ; preds = %548, %512
  %562 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.62)
  br i1 %562, label %563, label %570

563:                                              ; preds = %561
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #9
  %564 = load ptr, ptr %8, align 8, !tbaa !5
  %565 = getelementptr inbounds %struct.ImGuiIO, ptr %564, i32 0, i32 1
  %566 = load i32, ptr %565, align 4, !tbaa !19
  store i32 %566, ptr %9, align 4, !tbaa !13
  %567 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.63, ptr noundef %9, i32 noundef 1)
  %568 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.64, ptr noundef %9, i32 noundef 2)
  %569 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.65, ptr noundef %9, i32 noundef 4)
  call void @_ZN5ImGui7TreePopEv()
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #9
  br label %570

570:                                              ; preds = %563, %561
  %571 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.66)
  br i1 %571, label %572, label %573

572:                                              ; preds = %570
  call void @_ZN5ImGui15ShowStyleEditorEP10ImGuiStyle(ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  call void @_ZN5ImGui9SeparatorEv()
  br label %573

573:                                              ; preds = %572, %570
  %574 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.67)
  br i1 %574, label %575, label %579

575:                                              ; preds = %573
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.68)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.69)
  call void @_ZN5ImGui10LogButtonsEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.70)
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %10, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %576 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.71, ptr noundef nonnull align 4 dereferenceable(8) %10)
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #9
  br i1 %576, label %577, label %578

577:                                              ; preds = %575
  call void @_ZN5ImGui14LogToClipboardEi(i32 noundef -1)
  call void (ptr, ...) @_ZN5ImGui7LogTextEPKcz(ptr noundef @.str.72)
  call void @_ZN5ImGui9LogFinishEv()
  br label %578

578:                                              ; preds = %577, %575
  call void @_ZN5ImGui7TreePopEv()
  br label %579

579:                                              ; preds = %578, %573
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #9
  br label %580

580:                                              ; preds = %579, %510
  %581 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.73, i32 noundef 0)
  br i1 %581, label %582, label %592

582:                                              ; preds = %580
  %583 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.74, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE11no_titlebar)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %584 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.75, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12no_scrollbar)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  %585 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.76, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE7no_menu)
  %586 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.77, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE7no_move)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %587 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.78, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9no_resize)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  %588 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.79, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE11no_collapse)
  %589 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.80, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE8no_close)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %590 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.81, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE6no_nav)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  %591 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.82, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE17no_bring_to_front)
  br label %592

592:                                              ; preds = %582, %580
  %593 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.83, i32 noundef 0)
  br i1 %593, label %594, label %2375

594:                                              ; preds = %592
  %595 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.84)
  br i1 %595, label %596, label %711

596:                                              ; preds = %594
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %11, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %597 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.85, ptr noundef nonnull align 4 dereferenceable(8) %11)
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #9
  br i1 %597, label %598, label %601

598:                                              ; preds = %596
  %599 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7clicked, align 4, !tbaa !13
  %600 = add nsw i32 %599, 1
  store i32 %600, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7clicked, align 4, !tbaa !13
  br label %601

601:                                              ; preds = %598, %596
  %602 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7clicked, align 4, !tbaa !13
  %603 = and i32 %602, 1
  %604 = icmp ne i32 %603, 0
  br i1 %604, label %605, label %606

605:                                              ; preds = %601
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.86)
  br label %606

606:                                              ; preds = %605, %601
  %607 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.87, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5check)
  %608 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.88, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1e, i32 noundef 0)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %609 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.89, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1e, i32 noundef 1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %610 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.90, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1e, i32 noundef 2)
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #9
  store i32 0, ptr %12, align 4, !tbaa !13
  br label %611

611:                                              ; preds = %664, %606
  %612 = load i32, ptr %12, align 4, !tbaa !13
  %613 = icmp slt i32 %612, 7
  br i1 %613, label %615, label %614

614:                                              ; preds = %611
  store i32 2, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #9
  br label %667

615:                                              ; preds = %611
  %616 = load i32, ptr %12, align 4, !tbaa !13
  %617 = icmp sgt i32 %616, 0
  br i1 %617, label %618, label %619

618:                                              ; preds = %615
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %619

619:                                              ; preds = %618, %615
  %620 = load i32, ptr %12, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %620)
  call void @llvm.lifetime.start.p0(i64 16, ptr %13) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #9
  %621 = load i32, ptr %12, align 4, !tbaa !13
  %622 = sitofp i32 %621 to float
  %623 = fdiv float %622, 7.000000e+00
  %624 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %623, float noundef 0x3FE3333340000000, float noundef 0x3FE3333340000000, float noundef 1.000000e+00)
  %625 = getelementptr inbounds %struct.ImColor, ptr %14, i32 0, i32 0
  %626 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %625, i32 0, i32 0
  %627 = extractvalue { <2 x float>, <2 x float> } %624, 0
  store <2 x float> %627, ptr %626, align 4
  %628 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %625, i32 0, i32 1
  %629 = extractvalue { <2 x float>, <2 x float> } %624, 1
  store <2 x float> %629, ptr %628, align 4
  %630 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %14)
  %631 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %13, i32 0, i32 0
  %632 = extractvalue { <2 x float>, <2 x float> } %630, 0
  store <2 x float> %632, ptr %631, align 4
  %633 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %13, i32 0, i32 1
  %634 = extractvalue { <2 x float>, <2 x float> } %630, 1
  store <2 x float> %634, ptr %633, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 21, ptr noundef nonnull align 4 dereferenceable(16) %13)
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %15) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #9
  %635 = load i32, ptr %12, align 4, !tbaa !13
  %636 = sitofp i32 %635 to float
  %637 = fdiv float %636, 7.000000e+00
  %638 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %637, float noundef 0x3FE6666660000000, float noundef 0x3FE6666660000000, float noundef 1.000000e+00)
  %639 = getelementptr inbounds %struct.ImColor, ptr %16, i32 0, i32 0
  %640 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %639, i32 0, i32 0
  %641 = extractvalue { <2 x float>, <2 x float> } %638, 0
  store <2 x float> %641, ptr %640, align 4
  %642 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %639, i32 0, i32 1
  %643 = extractvalue { <2 x float>, <2 x float> } %638, 1
  store <2 x float> %643, ptr %642, align 4
  %644 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %16)
  %645 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %15, i32 0, i32 0
  %646 = extractvalue { <2 x float>, <2 x float> } %644, 0
  store <2 x float> %646, ptr %645, align 4
  %647 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %15, i32 0, i32 1
  %648 = extractvalue { <2 x float>, <2 x float> } %644, 1
  store <2 x float> %648, ptr %647, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 22, ptr noundef nonnull align 4 dereferenceable(16) %15)
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %15) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #9
  %649 = load i32, ptr %12, align 4, !tbaa !13
  %650 = sitofp i32 %649 to float
  %651 = fdiv float %650, 7.000000e+00
  %652 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %651, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, float noundef 1.000000e+00)
  %653 = getelementptr inbounds %struct.ImColor, ptr %18, i32 0, i32 0
  %654 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %653, i32 0, i32 0
  %655 = extractvalue { <2 x float>, <2 x float> } %652, 0
  store <2 x float> %655, ptr %654, align 4
  %656 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %653, i32 0, i32 1
  %657 = extractvalue { <2 x float>, <2 x float> } %652, 1
  store <2 x float> %657, ptr %656, align 4
  %658 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %18)
  %659 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %17, i32 0, i32 0
  %660 = extractvalue { <2 x float>, <2 x float> } %658, 0
  store <2 x float> %660, ptr %659, align 4
  %661 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %17, i32 0, i32 1
  %662 = extractvalue { <2 x float>, <2 x float> } %658, 1
  store <2 x float> %662, ptr %661, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 23, ptr noundef nonnull align 4 dereferenceable(16) %17)
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %19, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %663 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.91, ptr noundef nonnull align 4 dereferenceable(8) %19)
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #9
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 3)
  call void @_ZN5ImGui5PopIDEv()
  br label %664

664:                                              ; preds = %619
  %665 = load i32, ptr %12, align 4, !tbaa !13
  %666 = add nsw i32 %665, 1
  store i32 %666, ptr %12, align 4, !tbaa !13
  br label %611, !llvm.loop !20

667:                                              ; preds = %614
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.92)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #9
  %668 = call noundef nonnull align 4 dereferenceable(840) ptr @_ZN5ImGui8GetStyleEv()
  %669 = getelementptr inbounds %struct.ImGuiStyle, ptr %668, i32 0, i32 14
  %670 = getelementptr inbounds %struct.ImVec2, ptr %669, i32 0, i32 0
  %671 = load float, ptr %670, align 4, !tbaa !22
  store float %671, ptr %20, align 4, !tbaa !24
  call void @_ZN5ImGui16PushButtonRepeatEb(i1 noundef zeroext true)
  %672 = call noundef zeroext i1 @_ZN5ImGui11ArrowButtonEPKci(ptr noundef @.str.93, i32 noundef 0)
  br i1 %672, label %673, label %676

673:                                              ; preds = %667
  %674 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !13
  %675 = add nsw i32 %674, -1
  store i32 %675, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !13
  br label %676

676:                                              ; preds = %673, %667
  %677 = load float, ptr %20, align 4, !tbaa !24
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %677)
  %678 = call noundef zeroext i1 @_ZN5ImGui11ArrowButtonEPKci(ptr noundef @.str.94, i32 noundef 1)
  br i1 %678, label %679, label %682

679:                                              ; preds = %676
  %680 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !13
  %681 = add nsw i32 %680, 1
  store i32 %681, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !13
  br label %682

682:                                              ; preds = %679, %676
  call void @_ZN5ImGui15PopButtonRepeatEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %683 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.95, i32 noundef %683)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.96)
  %684 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %684, label %685, label %686

685:                                              ; preds = %682
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef @.str.97)
  br label %686

686:                                              ; preds = %685, %682
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.98)
  %687 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %687, label %688, label %690

688:                                              ; preds = %686
  call void @_ZN5ImGui12BeginTooltipEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.99)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %21, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %689 = load <2 x float>, ptr %21, align 4
  call void @_ZN5ImGui9PlotLinesEPKcPKfiiS1_ff6ImVec2i(ptr noundef @.str.100, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3arr, i32 noundef 7, i32 noundef 0, ptr noundef null, float noundef 0x47EFFFFFE0000000, float noundef 0x47EFFFFFE0000000, <2 x float> %689, i32 noundef 4)
  call void @_ZN5ImGui10EndTooltipEv()
  br label %690

690:                                              ; preds = %688, %686
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ptr, ...) @_ZN5ImGui9LabelTextEPKcS1_z(ptr noundef @.str.101, ptr noundef @.str.102)
  call void @llvm.lifetime.start.p0(i64 112, ptr %22) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %22, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.items, i64 112, i1 false)
  %691 = getelementptr inbounds [14 x ptr], ptr %22, i64 0, i64 0
  %692 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef @.str.117, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12item_current, ptr noundef %691, 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.118)
  call void @llvm.lifetime.end.p0(i64 112, ptr %22) #9
  %693 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.119, 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.120)
  %694 = call noundef zeroext i1 @_ZN5ImGui8InputIntEPKcPiiii(ptr noundef @.str.121, 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.122)
  %695 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef @.str.123, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f0, float noundef 0x3F847AE140000000, float noundef 1.000000e+00, ptr noundef @.str.124, i32 noundef 0)
  %696 = call noundef zeroext i1 @_ZN5ImGui11InputDoubleEPKcPdddS1_i(ptr noundef @.str.125, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2d0, double noundef 0x3F847AE140000000, double noundef 1.000000e+00, ptr noundef @.str.126, i32 noundef 0)
  %697 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef @.str.127, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f1, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.128, i32 noundef 0)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.129)
  %698 = call noundef zeroext i1 @_ZN5ImGui11InputFloat3EPKcPfS1_i(ptr noundef @.str.130, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4a, ptr noundef @.str.124, i32 noundef 0)
  %699 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef @.str.131, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2i1, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 0, ptr noundef @.str.95)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.132)
  %700 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef @.str.133, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2i2, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 100, ptr noundef @.str.134)
  %701 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.135, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f1_0, float noundef 0x3F747AE140000000, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  %702 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.136, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f2, float noundef 0x3F1A36E2E0000000, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.137, float noundef 1.000000e+00)
  %703 = call noundef zeroext i1 @_ZN5ImGui9SliderIntEPKcPiiiS1_(ptr noundef @.str.138, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2i1_0, i32 noundef -1, i32 noundef 3, ptr noundef @.str.95)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.139)
  %704 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef @.str.140, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f1_1, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.141, float noundef 1.000000e+00)
  %705 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef @.str.142, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f2_0, float noundef -1.000000e+01, float noundef 1.000000e+01, ptr noundef @.str.143, float noundef 2.000000e+00)
  %706 = call noundef zeroext i1 @_ZN5ImGui11SliderAngleEPKcPfff(ptr noundef @.str.144, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5angle, float noundef -3.600000e+02, float noundef 3.600000e+02)
  %707 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit3EPKcPfi(ptr noundef @.str.145, 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.146)
  %708 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.147, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4col2, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 72, ptr %23) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %23, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.listbox_items, i64 72, i1 false)
  %709 = getelementptr inbounds [9 x ptr], ptr %23, i64 0, i64 0
  %710 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef @.str.157, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE20listbox_item_current, ptr noundef %709, i32 noundef 9, i32 noundef 4)
  call void @llvm.lifetime.end.p0(i64 72, ptr %23) #9
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #9
  br label %711

711:                                              ; preds = %690, %594
  %712 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.158)
  br i1 %712, label %713, label %818

713:                                              ; preds = %711
  %714 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.159)
  br i1 %714, label %715, label %735

715:                                              ; preds = %713
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #9
  store i32 0, ptr %24, align 4, !tbaa !13
  br label %716

716:                                              ; preds = %731, %715
  %717 = load i32, ptr %24, align 4, !tbaa !13
  %718 = icmp slt i32 %717, 5
  br i1 %718, label %720, label %719

719:                                              ; preds = %716
  store i32 5, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #9
  br label %734

720:                                              ; preds = %716
  %721 = load i32, ptr %24, align 4, !tbaa !13
  %722 = sext i32 %721 to i64
  %723 = inttoptr i64 %722 to ptr
  %724 = load i32, ptr %24, align 4, !tbaa !13
  %725 = call noundef zeroext i1 (ptr, ptr, ...) @_ZN5ImGui8TreeNodeEPKvPKcz(ptr noundef %723, ptr noundef @.str.160, i32 noundef %724)
  br i1 %725, label %726, label %730

726:                                              ; preds = %720
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.161)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %727 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.162)
  br i1 %727, label %728, label %729

728:                                              ; preds = %726
  br label %729

729:                                              ; preds = %728, %726
  call void @_ZN5ImGui7TreePopEv()
  br label %730

730:                                              ; preds = %729, %720
  br label %731

731:                                              ; preds = %730
  %732 = load i32, ptr %24, align 4, !tbaa !13
  %733 = add nsw i32 %732, 1
  store i32 %733, ptr %24, align 4, !tbaa !13
  br label %716, !llvm.loop !25

734:                                              ; preds = %719
  call void @_ZN5ImGui7TreePopEv()
  br label %735

735:                                              ; preds = %734, %713
  %736 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.163)
  br i1 %736, label %737, label %817

737:                                              ; preds = %735
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.164)
  %738 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.165, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.166)
  %739 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position, align 1, !tbaa !9, !range !11, !noundef !12
  %740 = trunc i8 %739 to i1
  br i1 %740, label %741, label %743

741:                                              ; preds = %737
  %742 = call noundef float @_ZN5ImGui25GetTreeNodeToLabelSpacingEv()
  call void @_ZN5ImGui8UnindentEf(float noundef %742)
  br label %743

743:                                              ; preds = %741, %737
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #9
  store i32 -1, ptr %25, align 4, !tbaa !13
  %744 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %745 = fmul float %744, 3.000000e+00
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 15, float noundef %745)
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #9
  store i32 0, ptr %26, align 4, !tbaa !13
  br label %746

746:                                              ; preds = %791, %743
  %747 = load i32, ptr %26, align 4, !tbaa !13
  %748 = icmp slt i32 %747, 6
  br i1 %748, label %750, label %749

749:                                              ; preds = %746
  store i32 8, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  br label %794

750:                                              ; preds = %746
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #9
  %751 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !13
  %752 = load i32, ptr %26, align 4, !tbaa !13
  %753 = shl i32 1, %752
  %754 = and i32 %751, %753
  %755 = icmp ne i32 %754, 0
  %756 = zext i1 %755 to i64
  %757 = select i1 %755, i32 1, i32 0
  %758 = or i32 192, %757
  store i32 %758, ptr %27, align 4, !tbaa !13
  %759 = load i32, ptr %26, align 4, !tbaa !13
  %760 = icmp slt i32 %759, 3
  br i1 %760, label %761, label %777

761:                                              ; preds = %750
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #9
  %762 = load i32, ptr %26, align 4, !tbaa !13
  %763 = sext i32 %762 to i64
  %764 = inttoptr i64 %763 to ptr
  %765 = load i32, ptr %27, align 4, !tbaa !13
  %766 = load i32, ptr %26, align 4, !tbaa !13
  %767 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef %764, i32 noundef %765, ptr noundef @.str.167, i32 noundef %766)
  %768 = zext i1 %767 to i8
  store i8 %768, ptr %28, align 1, !tbaa !9
  %769 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  br i1 %769, label %770, label %772

770:                                              ; preds = %761
  %771 = load i32, ptr %26, align 4, !tbaa !13
  store i32 %771, ptr %25, align 4, !tbaa !13
  br label %772

772:                                              ; preds = %770, %761
  %773 = load i8, ptr %28, align 1, !tbaa !9, !range !11, !noundef !12
  %774 = trunc i8 %773 to i1
  br i1 %774, label %775, label %776

775:                                              ; preds = %772
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.168)
  call void @_ZN5ImGui7TreePopEv()
  br label %776

776:                                              ; preds = %775, %772
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #9
  br label %790

777:                                              ; preds = %750
  %778 = load i32, ptr %27, align 4, !tbaa !13
  %779 = or i32 %778, 264
  store i32 %779, ptr %27, align 4, !tbaa !13
  %780 = load i32, ptr %26, align 4, !tbaa !13
  %781 = sext i32 %780 to i64
  %782 = inttoptr i64 %781 to ptr
  %783 = load i32, ptr %27, align 4, !tbaa !13
  %784 = load i32, ptr %26, align 4, !tbaa !13
  %785 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef %782, i32 noundef %783, ptr noundef @.str.169, i32 noundef %784)
  %786 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  br i1 %786, label %787, label %789

787:                                              ; preds = %777
  %788 = load i32, ptr %26, align 4, !tbaa !13
  store i32 %788, ptr %25, align 4, !tbaa !13
  br label %789

789:                                              ; preds = %787, %777
  br label %790

790:                                              ; preds = %789, %776
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  br label %791

791:                                              ; preds = %790
  %792 = load i32, ptr %26, align 4, !tbaa !13
  %793 = add nsw i32 %792, 1
  store i32 %793, ptr %26, align 4, !tbaa !13
  br label %746, !llvm.loop !26

794:                                              ; preds = %749
  %795 = load i32, ptr %25, align 4, !tbaa !13
  %796 = icmp ne i32 %795, -1
  br i1 %796, label %797, label %811

797:                                              ; preds = %794
  %798 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %799 = getelementptr inbounds %struct.ImGuiIO, ptr %798, i32 0, i32 35
  %800 = load i8, ptr %799, align 8, !tbaa !27, !range !11, !noundef !12
  %801 = trunc i8 %800 to i1
  br i1 %801, label %802, label %807

802:                                              ; preds = %797
  %803 = load i32, ptr %25, align 4, !tbaa !13
  %804 = shl i32 1, %803
  %805 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !13
  %806 = xor i32 %805, %804
  store i32 %806, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !13
  br label %810

807:                                              ; preds = %797
  %808 = load i32, ptr %25, align 4, !tbaa !13
  %809 = shl i32 1, %808
  store i32 %809, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !13
  br label %810

810:                                              ; preds = %807, %802
  br label %811

811:                                              ; preds = %810, %794
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  %812 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position, align 1, !tbaa !9, !range !11, !noundef !12
  %813 = trunc i8 %812 to i1
  br i1 %813, label %814, label %816

814:                                              ; preds = %811
  %815 = call noundef float @_ZN5ImGui25GetTreeNodeToLabelSpacingEv()
  call void @_ZN5ImGui6IndentEf(float noundef %815)
  br label %816

816:                                              ; preds = %814, %811
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  br label %817

817:                                              ; preds = %816, %735
  call void @_ZN5ImGui7TreePopEv()
  br label %818

818:                                              ; preds = %817, %711
  %819 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.170)
  br i1 %819, label %820, label %852

820:                                              ; preds = %818
  %821 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.171, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE14closable_group)
  %822 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.172, i32 noundef 0)
  br i1 %822, label %823, label %836

823:                                              ; preds = %820
  %824 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %825 = zext i1 %824 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.173, i32 noundef %825)
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #9
  store i32 0, ptr %29, align 4, !tbaa !13
  br label %826

826:                                              ; preds = %832, %823
  %827 = load i32, ptr %29, align 4, !tbaa !13
  %828 = icmp slt i32 %827, 5
  br i1 %828, label %830, label %829

829:                                              ; preds = %826
  store i32 11, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  br label %835

830:                                              ; preds = %826
  %831 = load i32, ptr %29, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.174, i32 noundef %831)
  br label %832

832:                                              ; preds = %830
  %833 = load i32, ptr %29, align 4, !tbaa !13
  %834 = add nsw i32 %833, 1
  store i32 %834, ptr %29, align 4, !tbaa !13
  br label %826, !llvm.loop !28

835:                                              ; preds = %829
  br label %836

836:                                              ; preds = %835, %820
  %837 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKcPbi(ptr noundef @.str.175, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE14closable_group, i32 noundef 0)
  br i1 %837, label %838, label %851

838:                                              ; preds = %836
  %839 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %840 = zext i1 %839 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.173, i32 noundef %840)
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #9
  store i32 0, ptr %30, align 4, !tbaa !13
  br label %841

841:                                              ; preds = %847, %838
  %842 = load i32, ptr %30, align 4, !tbaa !13
  %843 = icmp slt i32 %842, 5
  br i1 %843, label %845, label %844

844:                                              ; preds = %841
  store i32 14, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #9
  br label %850

845:                                              ; preds = %841
  %846 = load i32, ptr %30, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.176, i32 noundef %846)
  br label %847

847:                                              ; preds = %845
  %848 = load i32, ptr %30, align 4, !tbaa !13
  %849 = add nsw i32 %848, 1
  store i32 %849, ptr %30, align 4, !tbaa !13
  br label %841, !llvm.loop !29

850:                                              ; preds = %844
  br label %851

851:                                              ; preds = %850, %836
  call void @_ZN5ImGui7TreePopEv()
  br label %852

852:                                              ; preds = %851, %818
  %853 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.177)
  br i1 %853, label %854, label %856

854:                                              ; preds = %852
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.178)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.179)
  call void @_ZN5ImGui6BulletEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.180)
  call void @_ZN5ImGui6BulletEv()
  %855 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.85)
  call void @_ZN5ImGui7TreePopEv()
  br label %856

856:                                              ; preds = %854, %852
  %857 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.181)
  br i1 %857, label %858, label %922

858:                                              ; preds = %856
  %859 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.182)
  br i1 %859, label %860, label %861

860:                                              ; preds = %858
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #9
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %31, 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) %31, ptr noundef @.str.183)
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #9
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %32, 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) %32, ptr noundef @.str.184)
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #9
  call void (ptr, ...) @_ZN5ImGui12TextDisabledEPKcz(ptr noundef @.str.185)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.186)
  call void @_ZN5ImGui7TreePopEv()
  br label %861

861:                                              ; preds = %860, %858
  %862 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.187)
  br i1 %862, label %863, label %917

863:                                              ; preds = %861
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.188)
  call void @_ZN5ImGui7SpacingEv()
  %864 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef @.str.189, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, float noundef -2.000000e+01, float noundef 6.000000e+02, ptr noundef @.str.190, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.191)
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #9
  %865 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  store <2 x float> %865, ptr %33, align 4
  %866 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #9
  %867 = getelementptr inbounds %struct.ImVec2, ptr %33, i32 0, i32 0
  %868 = load float, ptr %867, align 4, !tbaa !30
  %869 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !24
  %870 = fadd float %868, %869
  %871 = getelementptr inbounds %struct.ImVec2, ptr %33, i32 0, i32 1
  %872 = load float, ptr %871, align 4, !tbaa !31
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %34, float noundef %870, float noundef %872)
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #9
  %873 = getelementptr inbounds %struct.ImVec2, ptr %33, i32 0, i32 0
  %874 = load float, ptr %873, align 4, !tbaa !30
  %875 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !24
  %876 = fadd float %874, %875
  %877 = fadd float %876, 1.000000e+01
  %878 = getelementptr inbounds %struct.ImVec2, ptr %33, i32 0, i32 1
  %879 = load float, ptr %878, align 4, !tbaa !31
  %880 = call noundef float @_ZN5ImGui17GetTextLineHeightEv()
  %881 = fadd float %879, %880
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %35, float noundef %877, float noundef %881)
  call void @_ZN10ImDrawList13AddRectFilledERK6ImVec2S2_jfi(ptr noundef nonnull align 8 dereferenceable(168) %866, ptr noundef nonnull align 4 dereferenceable(8) %34, ptr noundef nonnull align 4 dereferenceable(8) %35, i32 noundef -65281, float noundef 0.000000e+00, i32 noundef 15)
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #9
  %882 = call <2 x float> @_ZN5ImGui12GetCursorPosEv()
  store <2 x float> %882, ptr %36, align 4
  %883 = getelementptr inbounds %struct.ImVec2, ptr %36, i32 0, i32 0
  %884 = load float, ptr %883, align 4, !tbaa !30
  %885 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !24
  %886 = fadd float %884, %885
  call void @_ZN5ImGui15PushTextWrapPosEf(float noundef %886)
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  %887 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !24
  %888 = fpext float %887 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.192, double noundef %888)
  %889 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #9
  %890 = call <2 x float> @_ZN5ImGui14GetItemRectMinEv()
  store <2 x float> %890, ptr %37, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #9
  %891 = call <2 x float> @_ZN5ImGui14GetItemRectMaxEv()
  store <2 x float> %891, ptr %38, align 4
  call void @_ZN10ImDrawList7AddRectERK6ImVec2S2_jfif(ptr noundef nonnull align 8 dereferenceable(168) %889, ptr noundef nonnull align 4 dereferenceable(8) %37, ptr noundef nonnull align 4 dereferenceable(8) %38, 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 %38) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #9
  call void @_ZN5ImGui14PopTextWrapPosEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.193)
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #9
  %892 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  store <2 x float> %892, ptr %39, align 4
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %33, ptr align 4 %39, i64 8, i1 false), !tbaa.struct !32
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #9
  %893 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #9
  %894 = getelementptr inbounds %struct.ImVec2, ptr %33, i32 0, i32 0
  %895 = load float, ptr %894, align 4, !tbaa !30
  %896 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !24
  %897 = fadd float %895, %896
  %898 = getelementptr inbounds %struct.ImVec2, ptr %33, i32 0, i32 1
  %899 = load float, ptr %898, align 4, !tbaa !31
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %40, float noundef %897, float noundef %899)
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #9
  %900 = getelementptr inbounds %struct.ImVec2, ptr %33, i32 0, i32 0
  %901 = load float, ptr %900, align 4, !tbaa !30
  %902 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !24
  %903 = fadd float %901, %902
  %904 = fadd float %903, 1.000000e+01
  %905 = getelementptr inbounds %struct.ImVec2, ptr %33, i32 0, i32 1
  %906 = load float, ptr %905, align 4, !tbaa !31
  %907 = call noundef float @_ZN5ImGui17GetTextLineHeightEv()
  %908 = fadd float %906, %907
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %41, float noundef %904, float noundef %908)
  call void @_ZN10ImDrawList13AddRectFilledERK6ImVec2S2_jfi(ptr noundef nonnull align 8 dereferenceable(168) %893, ptr noundef nonnull align 4 dereferenceable(8) %40, ptr noundef nonnull align 4 dereferenceable(8) %41, i32 noundef -65281, float noundef 0.000000e+00, i32 noundef 15)
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #9
  %909 = call <2 x float> @_ZN5ImGui12GetCursorPosEv()
  store <2 x float> %909, ptr %42, align 4
  %910 = getelementptr inbounds %struct.ImVec2, ptr %42, i32 0, i32 0
  %911 = load float, ptr %910, align 4, !tbaa !30
  %912 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !24
  %913 = fadd float %911, %912
  call void @_ZN5ImGui15PushTextWrapPosEf(float noundef %913)
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #9
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.194)
  %914 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #9
  %915 = call <2 x float> @_ZN5ImGui14GetItemRectMinEv()
  store <2 x float> %915, ptr %43, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #9
  %916 = call <2 x float> @_ZN5ImGui14GetItemRectMaxEv()
  store <2 x float> %916, ptr %44, align 4
  call void @_ZN10ImDrawList7AddRectERK6ImVec2S2_jfif(ptr noundef nonnull align 8 dereferenceable(168) %914, ptr noundef nonnull align 4 dereferenceable(8) %43, ptr noundef nonnull align 4 dereferenceable(8) %44, 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 %44) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #9
  call void @_ZN5ImGui14PopTextWrapPosEv()
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #9
  br label %917

917:                                              ; preds = %863, %861
  %918 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.195)
  br i1 %918, label %919, label %921

919:                                              ; preds = %917
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.196)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.197)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.198)
  %920 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.199, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  br label %921

921:                                              ; preds = %919, %917
  call void @_ZN5ImGui7TreePopEv()
  br label %922

922:                                              ; preds = %921, %856
  %923 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.200)
  br i1 %923, label %924, label %1088

924:                                              ; preds = %922
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #9
  %925 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  store ptr %925, ptr %45, align 8, !tbaa !5
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.201)
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #9
  %926 = load ptr, ptr %45, align 8, !tbaa !5
  %927 = getelementptr inbounds %struct.ImGuiIO, ptr %926, i32 0, i32 14
  %928 = load ptr, ptr %927, align 8, !tbaa !33
  %929 = getelementptr inbounds %struct.ImFontAtlas, ptr %928, i32 0, i32 3
  %930 = load ptr, ptr %929, align 8, !tbaa !34
  store ptr %930, ptr %46, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #9
  %931 = load ptr, ptr %45, align 8, !tbaa !5
  %932 = getelementptr inbounds %struct.ImGuiIO, ptr %931, i32 0, i32 14
  %933 = load ptr, ptr %932, align 8, !tbaa !33
  %934 = getelementptr inbounds %struct.ImFontAtlas, ptr %933, i32 0, i32 8
  %935 = load i32, ptr %934, align 8, !tbaa !39
  %936 = sitofp i32 %935 to float
  store float %936, ptr %47, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #9
  %937 = load ptr, ptr %45, align 8, !tbaa !5
  %938 = getelementptr inbounds %struct.ImGuiIO, ptr %937, i32 0, i32 14
  %939 = load ptr, ptr %938, align 8, !tbaa !33
  %940 = getelementptr inbounds %struct.ImFontAtlas, ptr %939, i32 0, i32 9
  %941 = load i32, ptr %940, align 4, !tbaa !40
  %942 = sitofp i32 %941 to float
  store float %942, ptr %48, align 4, !tbaa !24
  %943 = load float, ptr %47, align 4, !tbaa !24
  %944 = fpext float %943 to double
  %945 = load float, ptr %48, align 4, !tbaa !24
  %946 = fpext float %945 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.202, double noundef %944, double noundef %946)
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #9
  %947 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  store <2 x float> %947, ptr %49, align 4
  %948 = load ptr, ptr %46, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #9
  %949 = load float, ptr %47, align 4, !tbaa !24
  %950 = load float, ptr %48, align 4, !tbaa !24
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %50, float noundef %949, float noundef %950)
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %51, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %52, float noundef 1.000000e+00, float noundef 1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #9
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %54, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 255)
  %951 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %54)
  %952 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %53, i32 0, i32 0
  %953 = extractvalue { <2 x float>, <2 x float> } %951, 0
  store <2 x float> %953, ptr %952, align 4
  %954 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %53, i32 0, i32 1
  %955 = extractvalue { <2 x float>, <2 x float> } %951, 1
  store <2 x float> %955, ptr %954, align 4
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #9
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %56, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 128)
  %956 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %56)
  %957 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %55, i32 0, i32 0
  %958 = extractvalue { <2 x float>, <2 x float> } %956, 0
  store <2 x float> %958, ptr %957, align 4
  %959 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %55, i32 0, i32 1
  %960 = extractvalue { <2 x float>, <2 x float> } %956, 1
  store <2 x float> %960, ptr %959, align 4
  call void @_ZN5ImGui5ImageEPvRK6ImVec2S3_S3_RK6ImVec4S6_(ptr noundef %948, ptr noundef nonnull align 4 dereferenceable(8) %50, ptr noundef nonnull align 4 dereferenceable(8) %51, ptr noundef nonnull align 4 dereferenceable(8) %52, ptr noundef nonnull align 4 dereferenceable(16) %53, ptr noundef nonnull align 4 dereferenceable(16) %55)
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #9
  %961 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %961, label %962, label %1058

962:                                              ; preds = %924
  call void @_ZN5ImGui12BeginTooltipEv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #9
  store float 3.200000e+01, ptr %57, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #9
  %963 = load ptr, ptr %45, align 8, !tbaa !5
  %964 = getelementptr inbounds %struct.ImGuiIO, ptr %963, i32 0, i32 31
  %965 = getelementptr inbounds %struct.ImVec2, ptr %964, i32 0, i32 0
  %966 = load float, ptr %965, align 8, !tbaa !41
  %967 = getelementptr inbounds %struct.ImVec2, ptr %49, i32 0, i32 0
  %968 = load float, ptr %967, align 4, !tbaa !30
  %969 = fsub float %966, %968
  %970 = load float, ptr %57, align 4, !tbaa !24
  %971 = fneg float %970
  %972 = call float @llvm.fmuladd.f32(float %971, float 5.000000e-01, float %969)
  store float %972, ptr %58, align 4, !tbaa !24
  %973 = load float, ptr %58, align 4, !tbaa !24
  %974 = fcmp olt float %973, 0.000000e+00
  br i1 %974, label %975, label %976

975:                                              ; preds = %962
  store float 0.000000e+00, ptr %58, align 4, !tbaa !24
  br label %987

976:                                              ; preds = %962
  %977 = load float, ptr %58, align 4, !tbaa !24
  %978 = load float, ptr %47, align 4, !tbaa !24
  %979 = load float, ptr %57, align 4, !tbaa !24
  %980 = fsub float %978, %979
  %981 = fcmp ogt float %977, %980
  br i1 %981, label %982, label %986

982:                                              ; preds = %976
  %983 = load float, ptr %47, align 4, !tbaa !24
  %984 = load float, ptr %57, align 4, !tbaa !24
  %985 = fsub float %983, %984
  store float %985, ptr %58, align 4, !tbaa !24
  br label %986

986:                                              ; preds = %982, %976
  br label %987

987:                                              ; preds = %986, %975
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #9
  %988 = load ptr, ptr %45, align 8, !tbaa !5
  %989 = getelementptr inbounds %struct.ImGuiIO, ptr %988, i32 0, i32 31
  %990 = getelementptr inbounds %struct.ImVec2, ptr %989, i32 0, i32 1
  %991 = load float, ptr %990, align 4, !tbaa !42
  %992 = getelementptr inbounds %struct.ImVec2, ptr %49, i32 0, i32 1
  %993 = load float, ptr %992, align 4, !tbaa !31
  %994 = fsub float %991, %993
  %995 = load float, ptr %57, align 4, !tbaa !24
  %996 = fneg float %995
  %997 = call float @llvm.fmuladd.f32(float %996, float 5.000000e-01, float %994)
  store float %997, ptr %59, align 4, !tbaa !24
  %998 = load float, ptr %59, align 4, !tbaa !24
  %999 = fcmp olt float %998, 0.000000e+00
  br i1 %999, label %1000, label %1001

1000:                                             ; preds = %987
  store float 0.000000e+00, ptr %59, align 4, !tbaa !24
  br label %1012

1001:                                             ; preds = %987
  %1002 = load float, ptr %59, align 4, !tbaa !24
  %1003 = load float, ptr %48, align 4, !tbaa !24
  %1004 = load float, ptr %57, align 4, !tbaa !24
  %1005 = fsub float %1003, %1004
  %1006 = fcmp ogt float %1002, %1005
  br i1 %1006, label %1007, label %1011

1007:                                             ; preds = %1001
  %1008 = load float, ptr %48, align 4, !tbaa !24
  %1009 = load float, ptr %57, align 4, !tbaa !24
  %1010 = fsub float %1008, %1009
  store float %1010, ptr %59, align 4, !tbaa !24
  br label %1011

1011:                                             ; preds = %1007, %1001
  br label %1012

1012:                                             ; preds = %1011, %1000
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #9
  store float 4.000000e+00, ptr %60, align 4, !tbaa !24
  %1013 = load float, ptr %58, align 4, !tbaa !24
  %1014 = fpext float %1013 to double
  %1015 = load float, ptr %59, align 4, !tbaa !24
  %1016 = fpext float %1015 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.203, double noundef %1014, double noundef %1016)
  %1017 = load float, ptr %58, align 4, !tbaa !24
  %1018 = load float, ptr %57, align 4, !tbaa !24
  %1019 = fadd float %1017, %1018
  %1020 = fpext float %1019 to double
  %1021 = load float, ptr %59, align 4, !tbaa !24
  %1022 = load float, ptr %57, align 4, !tbaa !24
  %1023 = fadd float %1021, %1022
  %1024 = fpext float %1023 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.204, double noundef %1020, double noundef %1024)
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #9
  %1025 = load float, ptr %58, align 4, !tbaa !24
  %1026 = load float, ptr %47, align 4, !tbaa !24
  %1027 = fdiv float %1025, %1026
  %1028 = load float, ptr %59, align 4, !tbaa !24
  %1029 = load float, ptr %48, align 4, !tbaa !24
  %1030 = fdiv float %1028, %1029
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %61, float noundef %1027, float noundef %1030)
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #9
  %1031 = load float, ptr %58, align 4, !tbaa !24
  %1032 = load float, ptr %57, align 4, !tbaa !24
  %1033 = fadd float %1031, %1032
  %1034 = load float, ptr %47, align 4, !tbaa !24
  %1035 = fdiv float %1033, %1034
  %1036 = load float, ptr %59, align 4, !tbaa !24
  %1037 = load float, ptr %57, align 4, !tbaa !24
  %1038 = fadd float %1036, %1037
  %1039 = load float, ptr %48, align 4, !tbaa !24
  %1040 = fdiv float %1038, %1039
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef %1035, float noundef %1040)
  %1041 = load ptr, ptr %46, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #9
  %1042 = load float, ptr %57, align 4, !tbaa !24
  %1043 = load float, ptr %60, align 4, !tbaa !24
  %1044 = fmul float %1042, %1043
  %1045 = load float, ptr %57, align 4, !tbaa !24
  %1046 = load float, ptr %60, align 4, !tbaa !24
  %1047 = fmul float %1045, %1046
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %63, float noundef %1044, float noundef %1047)
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #9
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %65, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 255)
  %1048 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %65)
  %1049 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %64, i32 0, i32 0
  %1050 = extractvalue { <2 x float>, <2 x float> } %1048, 0
  store <2 x float> %1050, ptr %1049, align 4
  %1051 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %64, i32 0, i32 1
  %1052 = extractvalue { <2 x float>, <2 x float> } %1048, 1
  store <2 x float> %1052, ptr %1051, align 4
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #9
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %67, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 128)
  %1053 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %67)
  %1054 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %66, i32 0, i32 0
  %1055 = extractvalue { <2 x float>, <2 x float> } %1053, 0
  store <2 x float> %1055, ptr %1054, align 4
  %1056 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %66, i32 0, i32 1
  %1057 = extractvalue { <2 x float>, <2 x float> } %1053, 1
  store <2 x float> %1057, ptr %1056, align 4
  call void @_ZN5ImGui5ImageEPvRK6ImVec2S3_S3_RK6ImVec4S6_(ptr noundef %1041, ptr noundef nonnull align 4 dereferenceable(8) %63, ptr noundef nonnull align 4 dereferenceable(8) %61, ptr noundef nonnull align 4 dereferenceable(8) %62, ptr noundef nonnull align 4 dereferenceable(16) %64, ptr noundef nonnull align 4 dereferenceable(16) %66)
  call void @llvm.lifetime.end.p0(i64 16, ptr %67) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #9
  call void @_ZN5ImGui10EndTooltipEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %1058

1058:                                             ; preds = %1012, %924
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.205)
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #9
  store i32 0, ptr %68, align 4, !tbaa !13
  br label %1059

1059:                                             ; preds = %1083, %1058
  %1060 = load i32, ptr %68, align 4, !tbaa !13
  %1061 = icmp slt i32 %1060, 8
  br i1 %1061, label %1063, label %1062

1062:                                             ; preds = %1059
  store i32 17, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #9
  br label %1086

1063:                                             ; preds = %1059
  %1064 = load i32, ptr %68, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1064)
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #9
  %1065 = load i32, ptr %68, align 4, !tbaa !13
  %1066 = add nsw i32 -1, %1065
  store i32 %1066, ptr %69, align 4, !tbaa !13
  %1067 = load ptr, ptr %46, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %70, float noundef 3.200000e+01, float noundef 3.200000e+01)
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %71, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #9
  %1068 = load float, ptr %47, align 4, !tbaa !24
  %1069 = fdiv float 3.200000e+01, %1068
  %1070 = load float, ptr %48, align 4, !tbaa !24
  %1071 = fdiv float 3.200000e+01, %1070
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %72, float noundef %1069, float noundef %1071)
  %1072 = load i32, ptr %69, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #9
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %74, i32 noundef 0, i32 noundef 0, i32 noundef 0, i32 noundef 255)
  %1073 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %74)
  %1074 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %73, i32 0, i32 0
  %1075 = extractvalue { <2 x float>, <2 x float> } %1073, 0
  store <2 x float> %1075, ptr %1074, align 4
  %1076 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %73, i32 0, i32 1
  %1077 = extractvalue { <2 x float>, <2 x float> } %1073, 1
  store <2 x float> %1077, ptr %1076, align 4
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #9
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %75, float noundef 1.000000e+00, float noundef 1.000000e+00, float noundef 1.000000e+00, float noundef 1.000000e+00)
  %1078 = call noundef zeroext i1 @_ZN5ImGui11ImageButtonEPvRK6ImVec2S3_S3_iRK6ImVec4S6_(ptr noundef %1067, ptr noundef nonnull align 4 dereferenceable(8) %70, ptr noundef nonnull align 4 dereferenceable(8) %71, ptr noundef nonnull align 4 dereferenceable(8) %72, i32 noundef %1072, ptr noundef nonnull align 4 dereferenceable(16) %73, ptr noundef nonnull align 4 dereferenceable(16) %75)
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #9
  br i1 %1078, label %1079, label %1082

1079:                                             ; preds = %1063
  %1080 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count, align 4, !tbaa !13
  %1081 = add nsw i32 %1080, 1
  store i32 %1081, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count, align 4, !tbaa !13
  br label %1082

1082:                                             ; preds = %1079, %1063
  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 %69) #9
  br label %1083

1083:                                             ; preds = %1082
  %1084 = load i32, ptr %68, align 4, !tbaa !13
  %1085 = add nsw i32 %1084, 1
  store i32 %1085, ptr %68, align 4, !tbaa !13
  br label %1059, !llvm.loop !43

1086:                                             ; preds = %1062
  call void @_ZN5ImGui7NewLineEv()
  %1087 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.206, i32 noundef %1087)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #9
  br label %1088

1088:                                             ; preds = %1086, %922
  %1089 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.207)
  br i1 %1089, label %1090, label %1154

1090:                                             ; preds = %1088
  %1091 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.208, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5flags, i32 noundef 1)
  %1092 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.209, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5flags, i32 noundef 32)
  br i1 %1092, label %1093, label %1096

1093:                                             ; preds = %1090
  %1094 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !13
  %1095 = and i32 %1094, -65
  store i32 %1095, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !13
  br label %1096

1096:                                             ; preds = %1093, %1090
  %1097 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef @.str.210, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5flags, i32 noundef 64)
  br i1 %1097, label %1098, label %1101

1098:                                             ; preds = %1096
  %1099 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !13
  %1100 = and i32 %1099, -33
  store i32 %1100, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !13
  br label %1101

1101:                                             ; preds = %1098, %1096
  call void @llvm.lifetime.start.p0(i64 112, ptr %76) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %76, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.items.211, i64 112, i1 false)
  %1102 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12item_current_0 acquire, align 8
  %1103 = icmp eq i8 %1102, 0
  br i1 %1103, label %1104, label %1110, !prof !44

1104:                                             ; preds = %1101
  %1105 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12item_current_0) #9
  %1106 = icmp ne i32 %1105, 0
  br i1 %1106, label %1107, label %1110

1107:                                             ; preds = %1104
  %1108 = getelementptr inbounds [14 x ptr], ptr %76, i64 0, i64 0
  %1109 = load ptr, ptr %1108, align 16, !tbaa !5
  store ptr %1109, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !5
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12item_current_0) #9
  br label %1110

1110:                                             ; preds = %1107, %1104, %1101
  %1111 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !5
  %1112 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !13
  %1113 = call noundef zeroext i1 @_ZN5ImGui10BeginComboEPKcS1_i(ptr noundef @.str.212, ptr noundef %1111, i32 noundef %1112)
  br i1 %1113, label %1114, label %1148

1114:                                             ; preds = %1110
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #9
  store i32 0, ptr %77, align 4, !tbaa !13
  br label %1115

1115:                                             ; preds = %1144, %1114
  %1116 = load i32, ptr %77, align 4, !tbaa !13
  %1117 = icmp slt i32 %1116, 14
  br i1 %1117, label %1119, label %1118

1118:                                             ; preds = %1115
  store i32 20, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #9
  br label %1147

1119:                                             ; preds = %1115
  call void @llvm.lifetime.start.p0(i64 1, ptr %78) #9
  %1120 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !5
  %1121 = load i32, ptr %77, align 4, !tbaa !13
  %1122 = sext i32 %1121 to i64
  %1123 = getelementptr inbounds [14 x ptr], ptr %76, i64 0, i64 %1122
  %1124 = load ptr, ptr %1123, align 8, !tbaa !5
  %1125 = icmp eq ptr %1120, %1124
  %1126 = zext i1 %1125 to i8
  store i8 %1126, ptr %78, align 1, !tbaa !9
  %1127 = load i32, ptr %77, align 4, !tbaa !13
  %1128 = sext i32 %1127 to i64
  %1129 = getelementptr inbounds [14 x ptr], ptr %76, i64 0, i64 %1128
  %1130 = load ptr, ptr %1129, align 8, !tbaa !5
  %1131 = load i8, ptr %78, align 1, !tbaa !9, !range !11, !noundef !12
  %1132 = trunc i8 %1131 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %79, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1133 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %1130, i1 noundef zeroext %1132, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %79)
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #9
  br i1 %1133, label %1134, label %1139

1134:                                             ; preds = %1119
  %1135 = load i32, ptr %77, align 4, !tbaa !13
  %1136 = sext i32 %1135 to i64
  %1137 = getelementptr inbounds [14 x ptr], ptr %76, i64 0, i64 %1136
  %1138 = load ptr, ptr %1137, align 8, !tbaa !5
  store ptr %1138, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !5
  br label %1139

1139:                                             ; preds = %1134, %1119
  %1140 = load i8, ptr %78, align 1, !tbaa !9, !range !11, !noundef !12
  %1141 = trunc i8 %1140 to i1
  br i1 %1141, label %1142, label %1143

1142:                                             ; preds = %1139
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %1143

1143:                                             ; preds = %1142, %1139
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #9
  br label %1144

1144:                                             ; preds = %1143
  %1145 = load i32, ptr %77, align 4, !tbaa !13
  %1146 = add nsw i32 %1145, 1
  store i32 %1146, ptr %77, align 4, !tbaa !13
  br label %1115, !llvm.loop !45

1147:                                             ; preds = %1118
  call void @_ZN5ImGui8EndComboEv()
  br label %1148

1148:                                             ; preds = %1147, %1110
  %1149 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef @.str.213, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE14item_current_2, ptr noundef @.str.214, i32 noundef -1)
  %1150 = getelementptr inbounds [14 x ptr], ptr %76, i64 0, i64 0
  %1151 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef @.str.215, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE14item_current_3, ptr noundef %1150, i32 noundef 14, i32 noundef -1)
  %1152 = getelementptr inbounds [14 x ptr], ptr %76, i64 0, i64 0
  %1153 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPFbPviPS1_ES3_ii(ptr noundef @.str.216, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE14item_current_4, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbEN10FuncHolder10ItemGetterEPviPPKc, ptr noundef %1152, i32 noundef 14, i32 noundef -1)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 112, ptr %76) #9
  br label %1154

1154:                                             ; preds = %1148, %1088
  %1155 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.217)
  br i1 %1155, label %1156, label %1349

1156:                                             ; preds = %1154
  %1157 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.84)
  br i1 %1157, label %1158, label %1174

1158:                                             ; preds = %1156
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %80, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1159 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef @.str.218, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %80)
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %81, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1160 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef @.str.219, ptr noundef getelementptr inbounds ([5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 0, i64 1), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %81)
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #9
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.220)
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %82, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1161 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef @.str.221, ptr noundef getelementptr inbounds ([5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 0, i64 3), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %82)
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #9
  %1162 = load i8, ptr getelementptr inbounds ([5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 0, i64 4), align 1, !tbaa !9, !range !11, !noundef !12
  %1163 = trunc i8 %1162 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %83, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1164 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef @.str.222, i1 noundef zeroext %1163, i32 noundef 4, ptr noundef nonnull align 4 dereferenceable(8) %83)
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #9
  br i1 %1164, label %1165, label %1173

1165:                                             ; preds = %1158
  %1166 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef 0)
  br i1 %1166, label %1167, label %1172

1167:                                             ; preds = %1165
  %1168 = load i8, ptr getelementptr inbounds ([5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 0, i64 4), align 1, !tbaa !9, !range !11, !noundef !12
  %1169 = trunc i8 %1168 to i1
  %1170 = xor i1 %1169, true
  %1171 = zext i1 %1170 to i8
  store i8 %1171, ptr getelementptr inbounds ([5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 0, i64 4), align 1, !tbaa !9
  br label %1172

1172:                                             ; preds = %1167, %1165
  br label %1173

1173:                                             ; preds = %1172, %1158
  call void @_ZN5ImGui7TreePopEv()
  br label %1174

1174:                                             ; preds = %1173, %1156
  %1175 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.223)
  br i1 %1175, label %1176, label %1197

1176:                                             ; preds = %1174
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #9
  store i32 0, ptr %84, align 4, !tbaa !13
  br label %1177

1177:                                             ; preds = %1193, %1176
  %1178 = load i32, ptr %84, align 4, !tbaa !13
  %1179 = icmp slt i32 %1178, 5
  br i1 %1179, label %1181, label %1180

1180:                                             ; preds = %1177
  store i32 23, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #9
  br label %1196

1181:                                             ; preds = %1177
  call void @llvm.lifetime.start.p0(i64 32, ptr %85) #9
  %1182 = getelementptr inbounds [32 x i8], ptr %85, i64 0, i64 0
  %1183 = load i32, ptr %84, align 4, !tbaa !13
  %1184 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %1182, ptr noundef @.str.224, i32 noundef %1183) #9
  %1185 = getelementptr inbounds [32 x i8], ptr %85, i64 0, i64 0
  %1186 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !13
  %1187 = load i32, ptr %84, align 4, !tbaa !13
  %1188 = icmp eq i32 %1186, %1187
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %86, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1189 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %1185, i1 noundef zeroext %1188, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %86)
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #9
  br i1 %1189, label %1190, label %1192

1190:                                             ; preds = %1181
  %1191 = load i32, ptr %84, align 4, !tbaa !13
  store i32 %1191, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !13
  br label %1192

1192:                                             ; preds = %1190, %1181
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #9
  br label %1193

1193:                                             ; preds = %1192
  %1194 = load i32, ptr %84, align 4, !tbaa !13
  %1195 = add nsw i32 %1194, 1
  store i32 %1195, ptr %84, align 4, !tbaa !13
  br label %1177, !llvm.loop !46

1196:                                             ; preds = %1180
  call void @_ZN5ImGui7TreePopEv()
  br label %1197

1197:                                             ; preds = %1196, %1174
  %1198 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.225)
  br i1 %1198, label %1199, label %1236

1199:                                             ; preds = %1197
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.226)
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #9
  store i32 0, ptr %87, align 4, !tbaa !13
  br label %1200

1200:                                             ; preds = %1232, %1199
  %1201 = load i32, ptr %87, align 4, !tbaa !13
  %1202 = icmp slt i32 %1201, 5
  br i1 %1202, label %1204, label %1203

1203:                                             ; preds = %1200
  store i32 26, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #9
  br label %1235

1204:                                             ; preds = %1200
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #9
  %1205 = getelementptr inbounds [32 x i8], ptr %88, i64 0, i64 0
  %1206 = load i32, ptr %87, align 4, !tbaa !13
  %1207 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %1205, ptr noundef @.str.224, i32 noundef %1206) #9
  %1208 = getelementptr inbounds [32 x i8], ptr %88, i64 0, i64 0
  %1209 = load i32, ptr %87, align 4, !tbaa !13
  %1210 = sext i32 %1209 to i64
  %1211 = getelementptr inbounds [5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 0, i64 %1210
  %1212 = load i8, ptr %1211, align 1, !tbaa !9, !range !11, !noundef !12
  %1213 = trunc i8 %1212 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %89, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1214 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %1208, i1 noundef zeroext %1213, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %89)
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #9
  br i1 %1214, label %1215, label %1231

1215:                                             ; preds = %1204
  %1216 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %1217 = getelementptr inbounds %struct.ImGuiIO, ptr %1216, i32 0, i32 35
  %1218 = load i8, ptr %1217, align 8, !tbaa !27, !range !11, !noundef !12
  %1219 = trunc i8 %1218 to i1
  br i1 %1219, label %1221, label %1220

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

1221:                                             ; preds = %1220, %1215
  %1222 = load i32, ptr %87, align 4, !tbaa !13
  %1223 = sext i32 %1222 to i64
  %1224 = getelementptr inbounds [5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 0, i64 %1223
  %1225 = load i8, ptr %1224, align 1, !tbaa !9, !range !11, !noundef !12
  %1226 = trunc i8 %1225 to i1
  %1227 = zext i1 %1226 to i32
  %1228 = xor i32 %1227, 1
  %1229 = icmp ne i32 %1228, 0
  %1230 = zext i1 %1229 to i8
  store i8 %1230, ptr %1224, align 1, !tbaa !9
  br label %1231

1231:                                             ; preds = %1221, %1204
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #9
  br label %1232

1232:                                             ; preds = %1231
  %1233 = load i32, ptr %87, align 4, !tbaa !13
  %1234 = add nsw i32 %1233, 1
  store i32 %1234, ptr %87, align 4, !tbaa !13
  br label %1200, !llvm.loop !47

1235:                                             ; preds = %1203
  call void @_ZN5ImGui7TreePopEv()
  br label %1236

1236:                                             ; preds = %1235, %1197
  %1237 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.227)
  br i1 %1237, label %1238, label %1242

1238:                                             ; preds = %1236
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %90, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1239 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef @.str.228, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE8selected_0, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %90)
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #9
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.229)
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %91, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1240 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef @.str.230, ptr noundef getelementptr inbounds ([3 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_0, i64 0, i64 1), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %91)
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #9
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.231)
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %92, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1241 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef @.str.232, ptr noundef getelementptr inbounds ([3 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_0, i64 0, i64 2), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %92)
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #9
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.229)
  call void @_ZN5ImGui7TreePopEv()
  br label %1242

1242:                                             ; preds = %1238, %1236
  %1243 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.233)
  br i1 %1243, label %1244, label %1264

1244:                                             ; preds = %1242
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 3, ptr noundef null, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #9
  store i32 0, ptr %93, align 4, !tbaa !13
  br label %1245

1245:                                             ; preds = %1260, %1244
  %1246 = load i32, ptr %93, align 4, !tbaa !13
  %1247 = icmp slt i32 %1246, 16
  br i1 %1247, label %1249, label %1248

1248:                                             ; preds = %1245
  store i32 29, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #9
  br label %1263

1249:                                             ; preds = %1245
  call void @llvm.lifetime.start.p0(i64 32, ptr %94) #9
  %1250 = getelementptr inbounds [32 x i8], ptr %94, i64 0, i64 0
  %1251 = load i32, ptr %93, align 4, !tbaa !13
  %1252 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %1250, ptr noundef @.str.234, i32 noundef %1251) #9
  %1253 = getelementptr inbounds [32 x i8], ptr %94, i64 0, i64 0
  %1254 = load i32, ptr %93, align 4, !tbaa !13
  %1255 = sext i32 %1254 to i64
  %1256 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 0, i64 %1255
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %95, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1257 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef %1253, ptr noundef %1256, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %95)
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #9
  br i1 %1257, label %1258, label %1259

1258:                                             ; preds = %1249
  br label %1259

1259:                                             ; preds = %1258, %1249
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #9
  br label %1260

1260:                                             ; preds = %1259
  %1261 = load i32, ptr %93, align 4, !tbaa !13
  %1262 = add nsw i32 %1261, 1
  store i32 %1262, ptr %93, align 4, !tbaa !13
  br label %1245, !llvm.loop !48

1263:                                             ; preds = %1248
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui7TreePopEv()
  br label %1264

1264:                                             ; preds = %1263, %1242
  %1265 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.235)
  br i1 %1265, label %1266, label %1348

1266:                                             ; preds = %1264
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #9
  store i32 0, ptr %96, align 4, !tbaa !13
  br label %1267

1267:                                             ; preds = %1344, %1266
  %1268 = load i32, ptr %96, align 4, !tbaa !13
  %1269 = icmp slt i32 %1268, 16
  br i1 %1269, label %1271, label %1270

1270:                                             ; preds = %1267
  store i32 32, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #9
  br label %1347

1271:                                             ; preds = %1267
  %1272 = load i32, ptr %96, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1272)
  %1273 = load i32, ptr %96, align 4, !tbaa !13
  %1274 = sext i32 %1273 to i64
  %1275 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1274
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %97, float noundef 5.000000e+01, float noundef 5.000000e+01)
  %1276 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef @.str.236, ptr noundef %1275, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %97)
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #9
  br i1 %1276, label %1277, label %1338

1277:                                             ; preds = %1271
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #9
  %1278 = load i32, ptr %96, align 4, !tbaa !13
  %1279 = srem i32 %1278, 4
  store i32 %1279, ptr %98, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #9
  %1280 = load i32, ptr %96, align 4, !tbaa !13
  %1281 = sdiv i32 %1280, 4
  store i32 %1281, ptr %99, align 4, !tbaa !13
  %1282 = load i32, ptr %98, align 4, !tbaa !13
  %1283 = icmp sgt i32 %1282, 0
  br i1 %1283, label %1284, label %1295

1284:                                             ; preds = %1277
  %1285 = load i32, ptr %96, align 4, !tbaa !13
  %1286 = sub nsw i32 %1285, 1
  %1287 = sext i32 %1286 to i64
  %1288 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1287
  %1289 = load i8, ptr %1288, align 1, !tbaa !9, !range !11, !noundef !12
  %1290 = trunc i8 %1289 to i1
  %1291 = zext i1 %1290 to i32
  %1292 = xor i32 %1291, 1
  %1293 = icmp ne i32 %1292, 0
  %1294 = zext i1 %1293 to i8
  store i8 %1294, ptr %1288, align 1, !tbaa !9
  br label %1295

1295:                                             ; preds = %1284, %1277
  %1296 = load i32, ptr %98, align 4, !tbaa !13
  %1297 = icmp slt i32 %1296, 3
  br i1 %1297, label %1298, label %1309

1298:                                             ; preds = %1295
  %1299 = load i32, ptr %96, align 4, !tbaa !13
  %1300 = add nsw i32 %1299, 1
  %1301 = sext i32 %1300 to i64
  %1302 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1301
  %1303 = load i8, ptr %1302, align 1, !tbaa !9, !range !11, !noundef !12
  %1304 = trunc i8 %1303 to i1
  %1305 = zext i1 %1304 to i32
  %1306 = xor i32 %1305, 1
  %1307 = icmp ne i32 %1306, 0
  %1308 = zext i1 %1307 to i8
  store i8 %1308, ptr %1302, align 1, !tbaa !9
  br label %1309

1309:                                             ; preds = %1298, %1295
  %1310 = load i32, ptr %99, align 4, !tbaa !13
  %1311 = icmp sgt i32 %1310, 0
  br i1 %1311, label %1312, label %1323

1312:                                             ; preds = %1309
  %1313 = load i32, ptr %96, align 4, !tbaa !13
  %1314 = sub nsw i32 %1313, 4
  %1315 = sext i32 %1314 to i64
  %1316 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1315
  %1317 = load i8, ptr %1316, align 1, !tbaa !9, !range !11, !noundef !12
  %1318 = trunc i8 %1317 to i1
  %1319 = zext i1 %1318 to i32
  %1320 = xor i32 %1319, 1
  %1321 = icmp ne i32 %1320, 0
  %1322 = zext i1 %1321 to i8
  store i8 %1322, ptr %1316, align 1, !tbaa !9
  br label %1323

1323:                                             ; preds = %1312, %1309
  %1324 = load i32, ptr %99, align 4, !tbaa !13
  %1325 = icmp slt i32 %1324, 3
  br i1 %1325, label %1326, label %1337

1326:                                             ; preds = %1323
  %1327 = load i32, ptr %96, align 4, !tbaa !13
  %1328 = add nsw i32 %1327, 4
  %1329 = sext i32 %1328 to i64
  %1330 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1329
  %1331 = load i8, ptr %1330, align 1, !tbaa !9, !range !11, !noundef !12
  %1332 = trunc i8 %1331 to i1
  %1333 = zext i1 %1332 to i32
  %1334 = xor i32 %1333, 1
  %1335 = icmp ne i32 %1334, 0
  %1336 = zext i1 %1335 to i8
  store i8 %1336, ptr %1330, align 1, !tbaa !9
  br label %1337

1337:                                             ; preds = %1326, %1323
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #9
  br label %1338

1338:                                             ; preds = %1337, %1271
  %1339 = load i32, ptr %96, align 4, !tbaa !13
  %1340 = srem i32 %1339, 4
  %1341 = icmp slt i32 %1340, 3
  br i1 %1341, label %1342, label %1343

1342:                                             ; preds = %1338
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %1343

1343:                                             ; preds = %1342, %1338
  call void @_ZN5ImGui5PopIDEv()
  br label %1344

1344:                                             ; preds = %1343
  %1345 = load i32, ptr %96, align 4, !tbaa !13
  %1346 = add nsw i32 %1345, 1
  store i32 %1346, ptr %96, align 4, !tbaa !13
  br label %1267, !llvm.loop !49

1347:                                             ; preds = %1270
  call void @_ZN5ImGui7TreePopEv()
  br label %1348

1348:                                             ; preds = %1347, %1264
  call void @_ZN5ImGui7TreePopEv()
  br label %1349

1349:                                             ; preds = %1348, %1154
  %1350 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.237)
  br i1 %1350, label %1351, label %1360

1351:                                             ; preds = %1349
  %1352 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.238, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4buf1, i64 noundef 64, i32 noundef 0, ptr noundef null, ptr noundef null)
  %1353 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.239, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4buf2, i64 noundef 64, i32 noundef 1, ptr noundef null, ptr noundef null)
  %1354 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.240, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4buf3, i64 noundef 64, i32 noundef 6, ptr noundef null, ptr noundef null)
  %1355 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.241, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4buf4, i64 noundef 64, i32 noundef 4, ptr noundef null, ptr noundef null)
  %1356 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.242, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4buf5, i64 noundef 64, i32 noundef 8, ptr noundef null, ptr noundef null)
  %1357 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.243, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4buf6, i64 noundef 64, i32 noundef 512, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbEN11TextFilters18FilterImGuiLettersEP26ImGuiInputTextCallbackData, ptr noundef null)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.244)
  %1358 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.245, 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.246)
  %1359 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.247, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE7bufpass, i64 noundef 64, i32 noundef 8, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  br label %1360

1360:                                             ; preds = %1351, %1349
  %1361 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.248)
  br i1 %1361, label %1362, label %1373

1362:                                             ; preds = %1360
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.249)
  %1363 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.250, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9read_only)
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #9
  %1364 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9read_only, align 1, !tbaa !9, !range !11, !noundef !12
  %1365 = trunc i8 %1364 to i1
  %1366 = zext i1 %1365 to i64
  %1367 = select i1 %1365, i32 16384, i32 0
  %1368 = or i32 1024, %1367
  store i32 %1368, ptr %100, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #9
  %1369 = call noundef float @_ZN5ImGui17GetTextLineHeightEv()
  %1370 = fmul float %1369, 1.600000e+01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %101, float noundef -1.000000e+00, float noundef %1370)
  %1371 = load i32, ptr %100, align 4, !tbaa !13
  %1372 = call noundef zeroext i1 @_ZN5ImGui18InputTextMultilineEPKcPcmRK6ImVec2iPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.251, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4text, i64 noundef 16384, ptr noundef nonnull align 4 dereferenceable(8) %101, i32 noundef %1371, ptr noundef null, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #9
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #9
  br label %1373

1373:                                             ; preds = %1362, %1360
  %1374 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.252)
  br i1 %1374, label %1375, label %1471

1375:                                             ; preds = %1373
  %1376 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.253, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE7animate)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %102, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1377 = load <2 x float>, ptr %102, align 4
  call void @_ZN5ImGui9PlotLinesEPKcPKfiiS1_ff6ImVec2i(ptr noundef @.str.254, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3arr_0, i32 noundef 7, i32 noundef 0, ptr noundef null, float noundef 0x47EFFFFFE0000000, float noundef 0x47EFFFFFE0000000, <2 x float> %1377, i32 noundef 4)
  %1378 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7animate, align 1, !tbaa !9, !range !11, !noundef !12
  %1379 = trunc i8 %1378 to i1
  br i1 %1379, label %1380, label %1383

1380:                                             ; preds = %1375
  %1381 = load double, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 8, !tbaa !50
  %1382 = fcmp oeq double %1381, 0.000000e+00
  br i1 %1382, label %1383, label %1385

1383:                                             ; preds = %1380, %1375
  %1384 = call noundef double @_ZN5ImGui7GetTimeEv()
  store double %1384, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 8, !tbaa !50
  br label %1385

1385:                                             ; preds = %1383, %1380
  br label %1386

1386:                                             ; preds = %1390, %1385
  %1387 = load double, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 8, !tbaa !50
  %1388 = call noundef double @_ZN5ImGui7GetTimeEv()
  %1389 = fcmp olt double %1387, %1388
  br i1 %1389, label %1390, label %1405

1390:                                             ; preds = %1386
  %1391 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5phase, align 4, !tbaa !24
  %1392 = call float @cosf(float noundef %1391) #9
  %1393 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !13
  %1394 = sext i32 %1393 to i64
  %1395 = getelementptr inbounds [90 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values, i64 0, i64 %1394
  store float %1392, ptr %1395, align 4, !tbaa !24
  %1396 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !13
  %1397 = add nsw i32 %1396, 1
  %1398 = srem i32 %1397, 90
  store i32 %1398, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !13
  %1399 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !13
  %1400 = sitofp i32 %1399 to float
  %1401 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5phase, align 4, !tbaa !24
  %1402 = call float @llvm.fmuladd.f32(float 0x3FB99999A0000000, float %1400, float %1401)
  store float %1402, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5phase, align 4, !tbaa !24
  %1403 = load double, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 8, !tbaa !50
  %1404 = fadd double %1403, 0x3F91111120000000
  store double %1404, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 8, !tbaa !50
  br label %1386, !llvm.loop !52

1405:                                             ; preds = %1386
  %1406 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %103, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1407 = load <2 x float>, ptr %103, align 4
  call void @_ZN5ImGui9PlotLinesEPKcPKfiiS1_ff6ImVec2i(ptr noundef @.str.255, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE6values, i32 noundef 90, i32 noundef %1406, ptr noundef @.str.256, float noundef -1.000000e+00, float noundef 1.000000e+00, <2 x float> %1407, i32 noundef 4)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %104, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1408 = load <2 x float>, ptr %104, align 4
  call void @_ZN5ImGui13PlotHistogramEPKcPKfiiS1_ff6ImVec2i(ptr noundef @.str.257, 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> %1408, i32 noundef 4)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 1.000000e+02)
  %1409 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef @.str.258, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9func_type, ptr noundef @.str.259, i32 noundef -1)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1410 = call noundef zeroext i1 @_ZN5ImGui9SliderIntEPKcPiiiS1_(ptr noundef @.str.260, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE13display_count, i32 noundef 1, i32 noundef 400, ptr noundef @.str.95)
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #9
  %1411 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9func_type, align 4, !tbaa !13
  %1412 = icmp eq i32 %1411, 0
  br i1 %1412, label %1413, label %1414

1413:                                             ; preds = %1405
  br label %1415

1414:                                             ; preds = %1405
  br label %1415

1415:                                             ; preds = %1414, %1413
  %1416 = phi ptr [ @_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SinEPvi, %1413 ], [ @_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SawEPvi, %1414 ]
  store ptr %1416, ptr %105, align 8, !tbaa !5
  %1417 = load ptr, ptr %105, align 8, !tbaa !5
  %1418 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13display_count, align 4, !tbaa !13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %106, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1419 = load <2 x float>, ptr %106, align 4
  call void @_ZN5ImGui9PlotLinesEPKcPFfPviES2_iiS1_ff6ImVec2(ptr noundef @.str.255, ptr noundef %1417, ptr noundef null, i32 noundef %1418, i32 noundef 0, ptr noundef null, float noundef -1.000000e+00, float noundef 1.000000e+00, <2 x float> %1419)
  %1420 = load ptr, ptr %105, align 8, !tbaa !5
  %1421 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13display_count, align 4, !tbaa !13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %107, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1422 = load <2 x float>, ptr %107, align 4
  call void @_ZN5ImGui13PlotHistogramEPKcPFfPviES2_iiS1_ff6ImVec2(ptr noundef @.str.257, ptr noundef %1420, ptr noundef null, i32 noundef %1421, i32 noundef 0, ptr noundef null, float noundef -1.000000e+00, float noundef 1.000000e+00, <2 x float> %1422)
  call void @_ZN5ImGui9SeparatorEv()
  %1423 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7animate, align 1, !tbaa !9, !range !11, !noundef !12
  %1424 = trunc i8 %1423 to i1
  br i1 %1424, label %1425, label %1445

1425:                                             ; preds = %1415
  %1426 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !24
  %1427 = fmul float %1426, 0x3FD99999A0000000
  %1428 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %1429 = getelementptr inbounds %struct.ImGuiIO, ptr %1428, i32 0, i32 3
  %1430 = load float, ptr %1429, align 8, !tbaa !53
  %1431 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !24
  %1432 = call float @llvm.fmuladd.f32(float %1427, float %1430, float %1431)
  store float %1432, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !24
  %1433 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !24
  %1434 = fcmp oge float %1433, 0x3FF19999A0000000
  br i1 %1434, label %1435, label %1438

1435:                                             ; preds = %1425
  store float 0x3FF19999A0000000, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !24
  %1436 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !24
  %1437 = fmul float %1436, -1.000000e+00
  store float %1437, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !24
  br label %1438

1438:                                             ; preds = %1435, %1425
  %1439 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !24
  %1440 = fcmp ole float %1439, 0xBFB99999A0000000
  br i1 %1440, label %1441, label %1444

1441:                                             ; preds = %1438
  store float 0xBFB99999A0000000, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !24
  %1442 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !24
  %1443 = fmul float %1442, -1.000000e+00
  store float %1443, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !24
  br label %1444

1444:                                             ; preds = %1441, %1438
  br label %1445

1445:                                             ; preds = %1444, %1415
  %1446 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %108, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @_ZN5ImGui11ProgressBarEfRK6ImVec2PKc(float noundef %1446, ptr noundef nonnull align 4 dereferenceable(8) %108, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #9
  %1447 = call noundef nonnull align 4 dereferenceable(840) ptr @_ZN5ImGui8GetStyleEv()
  %1448 = getelementptr inbounds %struct.ImGuiStyle, ptr %1447, i32 0, i32 14
  %1449 = getelementptr inbounds %struct.ImVec2, ptr %1448, i32 0, i32 0
  %1450 = load float, ptr %1449, align 4, !tbaa !22
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %1450)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.261)
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #9
  %1451 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !24
  %1452 = fcmp olt float %1451, 0.000000e+00
  br i1 %1452, label %1453, label %1454

1453:                                             ; preds = %1445
  br label %1462

1454:                                             ; preds = %1445
  %1455 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !24
  %1456 = fcmp ogt float %1455, 1.000000e+00
  br i1 %1456, label %1457, label %1458

1457:                                             ; preds = %1454
  br label %1460

1458:                                             ; preds = %1454
  %1459 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !24
  br label %1460

1460:                                             ; preds = %1458, %1457
  %1461 = phi float [ 1.000000e+00, %1457 ], [ %1459, %1458 ]
  br label %1462

1462:                                             ; preds = %1460, %1453
  %1463 = phi float [ 0.000000e+00, %1453 ], [ %1461, %1460 ]
  store float %1463, ptr %109, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #9
  %1464 = getelementptr inbounds [32 x i8], ptr %110, i64 0, i64 0
  %1465 = load float, ptr %109, align 4, !tbaa !24
  %1466 = fmul float %1465, 1.753000e+03
  %1467 = fptosi float %1466 to i32
  %1468 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %1464, ptr noundef @.str.262, i32 noundef %1467, i32 noundef 1753) #9
  %1469 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %111, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1470 = getelementptr inbounds [32 x i8], ptr %110, i64 0, i64 0
  call void @_ZN5ImGui11ProgressBarEfRK6ImVec2PKc(float noundef %1469, ptr noundef nonnull align 4 dereferenceable(8) %111, ptr noundef %1470)
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #9
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #9
  br label %1471

1471:                                             ; preds = %1462, %1373
  %1472 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.263)
  br i1 %1472, label %1473, label %1788

1473:                                             ; preds = %1471
  %1474 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE5color acquire, align 8
  %1475 = icmp eq i8 %1474, 0
  br i1 %1475, label %1476, label %1485, !prof !44

1476:                                             ; preds = %1473
  %1477 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE5color) #9
  %1478 = icmp ne i32 %1477, 0
  br i1 %1478, label %1479, label %1485

1479:                                             ; preds = %1476
  call void @llvm.lifetime.start.p0(i64 16, ptr %112) #9
  invoke void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %112, i32 noundef 114, i32 noundef 144, i32 noundef 154, i32 noundef 200)
          to label %1480 unwind label %1547

1480:                                             ; preds = %1479
  %1481 = invoke { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %112)
          to label %1482 unwind label %1547

1482:                                             ; preds = %1480
  %1483 = extractvalue { <2 x float>, <2 x float> } %1481, 0
  store <2 x float> %1483, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5color, align 4
  %1484 = extractvalue { <2 x float>, <2 x float> } %1481, 1
  store <2 x float> %1484, 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 %112) #9
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE5color) #9
  br label %1485

1485:                                             ; preds = %1482, %1476, %1473
  %1486 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.264, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE13alpha_preview)
  %1487 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.265, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE18alpha_half_preview)
  %1488 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.266, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE13drag_and_drop)
  %1489 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.267, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12options_menu)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.268)
  %1490 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.269, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3hdr)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.270)
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #9
  %1491 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE3hdr, align 1, !tbaa !9, !range !11, !noundef !12
  %1492 = trunc i8 %1491 to i1
  %1493 = zext i1 %1492 to i64
  %1494 = select i1 %1492, i32 524288, i32 0
  %1495 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13drag_and_drop, align 1, !tbaa !9, !range !11, !noundef !12
  %1496 = trunc i8 %1495 to i1
  %1497 = zext i1 %1496 to i64
  %1498 = select i1 %1496, i32 0, i32 512
  %1499 = or i32 %1494, %1498
  %1500 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE18alpha_half_preview, align 1, !tbaa !9, !range !11, !noundef !12
  %1501 = trunc i8 %1500 to i1
  br i1 %1501, label %1502, label %1503

1502:                                             ; preds = %1485
  br label %1508

1503:                                             ; preds = %1485
  %1504 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13alpha_preview, align 1, !tbaa !9, !range !11, !noundef !12
  %1505 = trunc i8 %1504 to i1
  %1506 = zext i1 %1505 to i64
  %1507 = select i1 %1505, i32 131072, i32 0
  br label %1508

1508:                                             ; preds = %1503, %1502
  %1509 = phi i32 [ 262144, %1502 ], [ %1507, %1503 ]
  %1510 = or i32 %1499, %1509
  %1511 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12options_menu, align 1, !tbaa !9, !range !11, !noundef !12
  %1512 = trunc i8 %1511 to i1
  %1513 = zext i1 %1512 to i64
  %1514 = select i1 %1512, i32 0, i32 8
  %1515 = or i32 %1510, %1514
  store i32 %1515, ptr %115, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.271)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.272)
  %1516 = load i32, ptr %115, align 4, !tbaa !13
  %1517 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit3EPKcPfi(ptr noundef @.str.273, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1516)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.274)
  %1518 = load i32, ptr %115, align 4, !tbaa !13
  %1519 = or i32 2097152, %1518
  %1520 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.275, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1519)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.276)
  %1521 = load i32, ptr %115, align 4, !tbaa !13
  %1522 = or i32 16777216, %1521
  %1523 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.277, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1522)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.278)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.279)
  %1524 = load i32, ptr %115, align 4, !tbaa !13
  %1525 = or i32 160, %1524
  %1526 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.280, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1525)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.281)
  %1527 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette acquire, align 8
  %1528 = icmp eq i8 %1527, 0
  br i1 %1528, label %1529, label %1539, !prof !44

1529:                                             ; preds = %1508
  %1530 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette) #9
  %1531 = icmp ne i32 %1530, 0
  br i1 %1531, label %1532, label %1539

1532:                                             ; preds = %1529
  br label %1533

1533:                                             ; preds = %1535, %1532
  %1534 = phi ptr [ @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, %1532 ], [ %1536, %1535 ]
  invoke void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) %1534)
          to label %1535 unwind label %1551

1535:                                             ; preds = %1533
  %1536 = getelementptr inbounds %struct.ImVec4, ptr %1534, i64 1
  %1537 = icmp eq ptr %1536, getelementptr inbounds (%struct.ImVec4, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 32)
  br i1 %1537, label %1538, label %1533

1538:                                             ; preds = %1535
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette) #9
  br label %1539

1539:                                             ; preds = %1538, %1529, %1508
  %1540 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE20saved_palette_inited, align 1, !tbaa !9, !range !11, !noundef !12
  %1541 = trunc i8 %1540 to i1
  br i1 %1541, label %1579, label %1542

1542:                                             ; preds = %1539
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #9
  store i32 0, ptr %116, align 4, !tbaa !13
  br label %1543

1543:                                             ; preds = %1575, %1542
  %1544 = load i32, ptr %116, align 4, !tbaa !13
  %1545 = icmp slt i32 %1544, 32
  br i1 %1545, label %1555, label %1546

1546:                                             ; preds = %1543
  store i32 37, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #9
  br label %1578

1547:                                             ; preds = %1480, %1479
  %1548 = landingpad { ptr, i32 }
          cleanup
  %1549 = extractvalue { ptr, i32 } %1548, 0
  store ptr %1549, ptr %113, align 8
  %1550 = extractvalue { ptr, i32 } %1548, 1
  store i32 %1550, ptr %114, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %112) #9
  call void @__cxa_guard_abort(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE5color) #9
  br label %3818

1551:                                             ; preds = %1533
  %1552 = landingpad { ptr, i32 }
          cleanup
  %1553 = extractvalue { ptr, i32 } %1552, 0
  store ptr %1553, ptr %113, align 8
  %1554 = extractvalue { ptr, i32 } %1552, 1
  store i32 %1554, ptr %114, align 4
  call void @__cxa_guard_abort(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette) #9
  br label %1787

1555:                                             ; preds = %1543
  %1556 = load i32, ptr %116, align 4, !tbaa !13
  %1557 = sitofp i32 %1556 to float
  %1558 = fdiv float %1557, 3.100000e+01
  %1559 = load i32, ptr %116, align 4, !tbaa !13
  %1560 = sext i32 %1559 to i64
  %1561 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1560
  %1562 = getelementptr inbounds %struct.ImVec4, ptr %1561, i32 0, i32 0
  %1563 = load i32, ptr %116, align 4, !tbaa !13
  %1564 = sext i32 %1563 to i64
  %1565 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1564
  %1566 = getelementptr inbounds %struct.ImVec4, ptr %1565, i32 0, i32 1
  %1567 = load i32, ptr %116, 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 = getelementptr inbounds %struct.ImVec4, ptr %1569, i32 0, i32 2
  call void @_ZN5ImGui20ColorConvertHSVtoRGBEfffRfS0_S0_(float noundef %1558, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, ptr noundef nonnull align 4 dereferenceable(4) %1562, ptr noundef nonnull align 4 dereferenceable(4) %1566, ptr noundef nonnull align 4 dereferenceable(4) %1570)
  %1571 = load i32, ptr %116, align 4, !tbaa !13
  %1572 = sext i32 %1571 to i64
  %1573 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1572
  %1574 = getelementptr inbounds %struct.ImVec4, ptr %1573, i32 0, i32 3
  store float 1.000000e+00, ptr %1574, align 4, !tbaa !54
  br label %1575

1575:                                             ; preds = %1555
  %1576 = load i32, ptr %116, align 4, !tbaa !13
  %1577 = add nsw i32 %1576, 1
  store i32 %1577, ptr %116, align 4, !tbaa !13
  br label %1543, !llvm.loop !56

1578:                                             ; preds = %1546
  br label %1579

1579:                                             ; preds = %1578, %1539
  store i8 1, ptr @_ZZN5ImGui14ShowDemoWindowEPbE20saved_palette_inited, align 1, !tbaa !9
  %1580 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color acquire, align 8
  %1581 = icmp eq i8 %1580, 0
  br i1 %1581, label %1582, label %1587, !prof !44

1582:                                             ; preds = %1579
  %1583 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color) #9
  %1584 = icmp ne i32 %1583, 0
  br i1 %1584, label %1585, label %1587

1585:                                             ; preds = %1582
  invoke void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE12backup_color)
          to label %1586 unwind label %1603

1586:                                             ; preds = %1585
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color) #9
  br label %1587

1587:                                             ; preds = %1586, %1582, %1579
  call void @llvm.lifetime.start.p0(i64 1, ptr %117) #9
  %1588 = load i32, ptr %115, align 4, !tbaa !13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %118, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1589 = load <2 x float>, ptr %118, align 4
  %1590 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef @.str.282, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1588, <2 x float> %1589)
  %1591 = zext i1 %1590 to i8
  store i8 %1591, ptr %117, 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 %119) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %119, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1592 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.283, ptr noundef nonnull align 4 dereferenceable(8) %119)
  %1593 = zext i1 %1592 to i32
  %1594 = load i8, ptr %117, align 1, !tbaa !9, !range !11, !noundef !12
  %1595 = trunc i8 %1594 to i1
  %1596 = zext i1 %1595 to i32
  %1597 = or i32 %1596, %1593
  %1598 = icmp ne i32 %1597, 0
  %1599 = zext i1 %1598 to i8
  store i8 %1599, ptr %117, align 1, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #9
  %1600 = load i8, ptr %117, align 1, !tbaa !9, !range !11, !noundef !12
  %1601 = trunc i8 %1600 to i1
  br i1 %1601, label %1602, label %1607

1602:                                             ; preds = %1587
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.284)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 @_ZZN5ImGui14ShowDemoWindowEPbE12backup_color, ptr align 4 @_ZZN5ImGui14ShowDemoWindowEPbE5color, i64 16, i1 false), !tbaa.struct !57
  br label %1607

1603:                                             ; preds = %1585
  %1604 = landingpad { ptr, i32 }
          cleanup
  %1605 = extractvalue { ptr, i32 } %1604, 0
  store ptr %1605, ptr %113, align 8
  %1606 = extractvalue { ptr, i32 } %1604, 1
  store i32 %1606, ptr %114, align 4
  call void @__cxa_guard_abort(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color) #9
  br label %1787

1607:                                             ; preds = %1602, %1587
  %1608 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef @.str.284, i32 noundef 0)
  br i1 %1608, label %1609, label %1687

1609:                                             ; preds = %1607
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.285)
  call void @_ZN5ImGui9SeparatorEv()
  %1610 = load i32, ptr %115, align 4, !tbaa !13
  %1611 = or i32 %1610, 256
  %1612 = or i32 %1611, 16
  %1613 = call noundef zeroext i1 @_ZN5ImGui12ColorPicker4EPKcPfiPKf(ptr noundef @.str.286, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1612, 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.287)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %120, float noundef 6.000000e+01, float noundef 4.000000e+01)
  %1614 = load <2 x float>, ptr %120, align 4
  %1615 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef @.str.288, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef 262148, <2 x float> %1614)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.289)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %121, float noundef 6.000000e+01, float noundef 4.000000e+01)
  %1616 = load <2 x float>, ptr %121, align 4
  %1617 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef @.str.290, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE12backup_color, i32 noundef 262148, <2 x float> %1616)
  br i1 %1617, label %1618, label %1619

1618:                                             ; preds = %1609
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 @_ZZN5ImGui14ShowDemoWindowEPbE5color, ptr align 4 @_ZZN5ImGui14ShowDemoWindowEPbE12backup_color, i64 16, i1 false), !tbaa.struct !57
  br label %1619

1619:                                             ; preds = %1618, %1609
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.283)
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #9
  store i32 0, ptr %122, align 4, !tbaa !13
  br label %1620

1620:                                             ; preds = %1683, %1619
  %1621 = load i32, ptr %122, align 4, !tbaa !13
  %1622 = icmp slt i32 %1621, 32
  br i1 %1622, label %1624, label %1623

1623:                                             ; preds = %1620
  store i32 40, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #9
  br label %1686

1624:                                             ; preds = %1620
  %1625 = load i32, ptr %122, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1625)
  %1626 = load i32, ptr %122, align 4, !tbaa !13
  %1627 = srem i32 %1626, 8
  %1628 = icmp ne i32 %1627, 0
  br i1 %1628, label %1629, label %1634

1629:                                             ; preds = %1624
  %1630 = call noundef nonnull align 4 dereferenceable(840) ptr @_ZN5ImGui8GetStyleEv()
  %1631 = getelementptr inbounds %struct.ImGuiStyle, ptr %1630, i32 0, i32 13
  %1632 = getelementptr inbounds %struct.ImVec2, ptr %1631, i32 0, i32 1
  %1633 = load float, ptr %1632, align 4, !tbaa !58
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %1633)
  br label %1634

1634:                                             ; preds = %1629, %1624
  %1635 = load i32, ptr %122, align 4, !tbaa !13
  %1636 = sext i32 %1635 to i64
  %1637 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1636
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %123, float noundef 2.000000e+01, float noundef 2.000000e+01)
  %1638 = load <2 x float>, ptr %123, align 4
  %1639 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef @.str.291, ptr noundef nonnull align 4 dereferenceable(16) %1637, i32 noundef 70, <2 x float> %1638)
  br i1 %1639, label %1640, label %1657

1640:                                             ; preds = %1634
  call void @llvm.lifetime.start.p0(i64 16, ptr %124) #9
  %1641 = load i32, ptr %122, align 4, !tbaa !13
  %1642 = sext i32 %1641 to i64
  %1643 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1642
  %1644 = getelementptr inbounds %struct.ImVec4, ptr %1643, i32 0, i32 0
  %1645 = load float, ptr %1644, align 16, !tbaa !59
  %1646 = load i32, ptr %122, align 4, !tbaa !13
  %1647 = sext i32 %1646 to i64
  %1648 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1647
  %1649 = getelementptr inbounds %struct.ImVec4, ptr %1648, i32 0, i32 1
  %1650 = load float, ptr %1649, align 4, !tbaa !60
  %1651 = load i32, ptr %122, align 4, !tbaa !13
  %1652 = sext i32 %1651 to i64
  %1653 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1652
  %1654 = getelementptr inbounds %struct.ImVec4, ptr %1653, i32 0, i32 2
  %1655 = load float, ptr %1654, align 8, !tbaa !61
  %1656 = load float, ptr getelementptr inbounds (%struct.ImVec4, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 0, i32 3), align 4, !tbaa !54
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %124, float noundef %1645, float noundef %1650, float noundef %1655, float noundef %1656)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 @_ZZN5ImGui14ShowDemoWindowEPbE5color, ptr align 4 %124, i64 16, i1 false), !tbaa.struct !57
  call void @llvm.lifetime.end.p0(i64 16, ptr %124) #9
  br label %1657

1657:                                             ; preds = %1640, %1634
  %1658 = call noundef zeroext i1 @_ZN5ImGui19BeginDragDropTargetEv()
  br i1 %1658, label %1659, label %1682

1659:                                             ; preds = %1657
  call void @llvm.lifetime.start.p0(i64 8, ptr %125) #9
  %1660 = call noundef ptr @_ZN5ImGui21AcceptDragDropPayloadEPKci(ptr noundef @.str.292, i32 noundef 0)
  store ptr %1660, ptr %125, align 8, !tbaa !5
  %1661 = load ptr, ptr %125, align 8, !tbaa !5
  %1662 = icmp ne ptr %1661, null
  br i1 %1662, label %1663, label %1670

1663:                                             ; preds = %1659
  %1664 = load i32, ptr %122, align 4, !tbaa !13
  %1665 = sext i32 %1664 to i64
  %1666 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1665
  %1667 = load ptr, ptr %125, align 8, !tbaa !5
  %1668 = getelementptr inbounds %struct.ImGuiPayload, ptr %1667, i32 0, i32 0
  %1669 = load ptr, ptr %1668, align 8, !tbaa !62
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %1666, ptr align 1 %1669, i64 12, i1 false)
  br label %1670

1670:                                             ; preds = %1663, %1659
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #9
  %1671 = call noundef ptr @_ZN5ImGui21AcceptDragDropPayloadEPKci(ptr noundef @.str.293, i32 noundef 0)
  store ptr %1671, ptr %126, align 8, !tbaa !5
  %1672 = load ptr, ptr %126, align 8, !tbaa !5
  %1673 = icmp ne ptr %1672, null
  br i1 %1673, label %1674, label %1681

1674:                                             ; preds = %1670
  %1675 = load i32, ptr %122, align 4, !tbaa !13
  %1676 = sext i32 %1675 to i64
  %1677 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %1676
  %1678 = load ptr, ptr %126, align 8, !tbaa !5
  %1679 = getelementptr inbounds %struct.ImGuiPayload, ptr %1678, i32 0, i32 0
  %1680 = load ptr, ptr %1679, align 8, !tbaa !62
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %1677, ptr align 1 %1680, i64 16, i1 false)
  br label %1681

1681:                                             ; preds = %1674, %1670
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #9
  call void @_ZN5ImGui17EndDragDropTargetEv()
  br label %1682

1682:                                             ; preds = %1681, %1657
  call void @_ZN5ImGui5PopIDEv()
  br label %1683

1683:                                             ; preds = %1682
  %1684 = load i32, ptr %122, align 4, !tbaa !13
  %1685 = add nsw i32 %1684, 1
  store i32 %1685, ptr %122, align 4, !tbaa !13
  br label %1620, !llvm.loop !64

1686:                                             ; preds = %1623
  call void @_ZN5ImGui8EndGroupEv()
  call void @_ZN5ImGui8EndPopupEv()
  br label %1687

1687:                                             ; preds = %1686, %1607
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.294)
  %1688 = load i32, ptr %115, align 4, !tbaa !13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %127, float noundef 8.000000e+01, float noundef 8.000000e+01)
  %1689 = load <2 x float>, ptr %127, align 4
  %1690 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef @.str.295, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1688, <2 x float> %1689)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.296)
  %1691 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v acquire, align 8
  %1692 = icmp eq i8 %1691, 0
  br i1 %1692, label %1693, label %1698, !prof !44

1693:                                             ; preds = %1687
  %1694 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v) #9
  %1695 = icmp ne i32 %1694, 0
  br i1 %1695, label %1696, label %1698

1696:                                             ; preds = %1693
  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 %1697 unwind label %1712

1697:                                             ; preds = %1696
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v) #9
  br label %1698

1698:                                             ; preds = %1697, %1693, %1687
  %1699 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.297, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5alpha)
  %1700 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.298, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9alpha_bar)
  %1701 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.299, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12side_preview)
  %1702 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12side_preview, align 1, !tbaa !9, !range !11, !noundef !12
  %1703 = trunc i8 %1702 to i1
  br i1 %1703, label %1704, label %1717

1704:                                             ; preds = %1698
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1705 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.300, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9ref_color)
  %1706 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9ref_color, align 1, !tbaa !9, !range !11, !noundef !12
  %1707 = trunc i8 %1706 to i1
  br i1 %1707, label %1708, label %1716

1708:                                             ; preds = %1704
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1709 = load i32, ptr %115, align 4, !tbaa !13
  %1710 = or i32 32, %1709
  %1711 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.301, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE11ref_color_v, i32 noundef %1710)
  br label %1716

1712:                                             ; preds = %1696
  %1713 = landingpad { ptr, i32 }
          cleanup
  %1714 = extractvalue { ptr, i32 } %1713, 0
  store ptr %1714, ptr %113, align 8
  %1715 = extractvalue { ptr, i32 } %1713, 1
  store i32 %1715, ptr %114, align 4
  call void @__cxa_guard_abort(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %117) #9
  br label %1787

1716:                                             ; preds = %1708, %1704
  br label %1717

1717:                                             ; preds = %1716, %1698
  %1718 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef @.str.302, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode, ptr noundef @.str.303, i32 noundef -1)
  %1719 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef @.str.304, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE11picker_mode, ptr noundef @.str.305, i32 noundef -1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.306)
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #9
  %1720 = load i32, ptr %115, align 4, !tbaa !13
  store i32 %1720, ptr %128, align 4, !tbaa !13
  %1721 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5alpha, align 1, !tbaa !9, !range !11, !noundef !12
  %1722 = trunc i8 %1721 to i1
  br i1 %1722, label %1726, label %1723

1723:                                             ; preds = %1717
  %1724 = load i32, ptr %128, align 4, !tbaa !13
  %1725 = or i32 %1724, 2
  store i32 %1725, ptr %128, align 4, !tbaa !13
  br label %1726

1726:                                             ; preds = %1723, %1717
  %1727 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9alpha_bar, align 1, !tbaa !9, !range !11, !noundef !12
  %1728 = trunc i8 %1727 to i1
  br i1 %1728, label %1729, label %1732

1729:                                             ; preds = %1726
  %1730 = load i32, ptr %128, align 4, !tbaa !13
  %1731 = or i32 %1730, 65536
  store i32 %1731, ptr %128, align 4, !tbaa !13
  br label %1732

1732:                                             ; preds = %1729, %1726
  %1733 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12side_preview, align 1, !tbaa !9, !range !11, !noundef !12
  %1734 = trunc i8 %1733 to i1
  br i1 %1734, label %1738, label %1735

1735:                                             ; preds = %1732
  %1736 = load i32, ptr %128, align 4, !tbaa !13
  %1737 = or i32 %1736, 256
  store i32 %1737, ptr %128, align 4, !tbaa !13
  br label %1738

1738:                                             ; preds = %1735, %1732
  %1739 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11picker_mode, align 4, !tbaa !13
  %1740 = icmp eq i32 %1739, 1
  br i1 %1740, label %1741, label %1744

1741:                                             ; preds = %1738
  %1742 = load i32, ptr %128, align 4, !tbaa !13
  %1743 = or i32 %1742, 33554432
  store i32 %1743, ptr %128, align 4, !tbaa !13
  br label %1744

1744:                                             ; preds = %1741, %1738
  %1745 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11picker_mode, align 4, !tbaa !13
  %1746 = icmp eq i32 %1745, 2
  br i1 %1746, label %1747, label %1750

1747:                                             ; preds = %1744
  %1748 = load i32, ptr %128, align 4, !tbaa !13
  %1749 = or i32 %1748, 67108864
  store i32 %1749, ptr %128, align 4, !tbaa !13
  br label %1750

1750:                                             ; preds = %1747, %1744
  %1751 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode, align 4, !tbaa !13
  %1752 = icmp eq i32 %1751, 1
  br i1 %1752, label %1753, label %1756

1753:                                             ; preds = %1750
  %1754 = load i32, ptr %128, align 4, !tbaa !13
  %1755 = or i32 %1754, 32
  store i32 %1755, ptr %128, align 4, !tbaa !13
  br label %1756

1756:                                             ; preds = %1753, %1750
  %1757 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode, align 4, !tbaa !13
  %1758 = icmp eq i32 %1757, 2
  br i1 %1758, label %1759, label %1762

1759:                                             ; preds = %1756
  %1760 = load i32, ptr %128, align 4, !tbaa !13
  %1761 = or i32 %1760, 1048576
  store i32 %1761, ptr %128, align 4, !tbaa !13
  br label %1762

1762:                                             ; preds = %1759, %1756
  %1763 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode, align 4, !tbaa !13
  %1764 = icmp eq i32 %1763, 3
  br i1 %1764, label %1765, label %1768

1765:                                             ; preds = %1762
  %1766 = load i32, ptr %128, align 4, !tbaa !13
  %1767 = or i32 %1766, 2097152
  store i32 %1767, ptr %128, align 4, !tbaa !13
  br label %1768

1768:                                             ; preds = %1765, %1762
  %1769 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode, align 4, !tbaa !13
  %1770 = icmp eq i32 %1769, 4
  br i1 %1770, label %1771, label %1774

1771:                                             ; preds = %1768
  %1772 = load i32, ptr %128, align 4, !tbaa !13
  %1773 = or i32 %1772, 4194304
  store i32 %1773, ptr %128, align 4, !tbaa !13
  br label %1774

1774:                                             ; preds = %1771, %1768
  %1775 = load i32, ptr %128, align 4, !tbaa !13
  %1776 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9ref_color, align 1, !tbaa !9, !range !11, !noundef !12
  %1777 = trunc i8 %1776 to i1
  %1778 = zext i1 %1777 to i64
  %1779 = select i1 %1777, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11ref_color_v, ptr null
  %1780 = call noundef zeroext i1 @_ZN5ImGui12ColorPicker4EPKcPfiPKf(ptr noundef @.str.307, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1775, ptr noundef %1779)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.308)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.309)
  call void @llvm.lifetime.start.p0(i64 8, ptr %129) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %129, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1781 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.310, ptr noundef nonnull align 4 dereferenceable(8) %129)
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #9
  br i1 %1781, label %1782, label %1783

1782:                                             ; preds = %1774
  call void @_ZN5ImGui19SetColorEditOptionsEi(i32 noundef 44040192)
  br label %1783

1783:                                             ; preds = %1782, %1774
  call void @llvm.lifetime.start.p0(i64 8, ptr %130) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %130, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1784 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.311, ptr noundef nonnull align 4 dereferenceable(8) %130)
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #9
  br i1 %1784, label %1785, label %1786

1785:                                             ; preds = %1783
  call void @_ZN5ImGui19SetColorEditOptionsEi(i32 noundef 84410368)
  br label %1786

1786:                                             ; preds = %1785, %1783
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %117) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #9
  br label %1788

1787:                                             ; preds = %1712, %1603, %1551
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #9
  br label %3818

1788:                                             ; preds = %1786, %1471
  %1789 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.312)
  br i1 %1789, label %1790, label %1793

1790:                                             ; preds = %1788
  %1791 = call noundef zeroext i1 @_ZN5ImGui15DragFloatRange2EPKcPfS2_fffS1_S1_f(ptr noundef @.str.313, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5begin, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3end, float noundef 2.500000e-01, float noundef 0.000000e+00, float noundef 1.000000e+02, ptr noundef @.str.314, ptr noundef @.str.315, float noundef 1.000000e+00)
  %1792 = call noundef zeroext i1 @_ZN5ImGui13DragIntRange2EPKcPiS2_fiiS1_S1_(ptr noundef @.str.316, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE7begin_i, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5end_i, float noundef 5.000000e+00, i32 noundef 0, i32 noundef 0, ptr noundef @.str.317, ptr noundef @.str.318)
  call void @_ZN5ImGui7TreePopEv()
  br label %1793

1793:                                             ; preds = %1790, %1788
  %1794 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.319)
  br i1 %1794, label %1795, label %1928

1795:                                             ; preds = %1793
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #9
  store i32 0, ptr %131, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #9
  store i32 1, ptr %132, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #9
  store i32 50, ptr %133, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #9
  store i32 -1073741824, ptr %134, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #9
  store i32 1073741823, ptr %135, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #9
  store i32 1073741723, ptr %136, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #9
  store i32 1073741823, ptr %137, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #9
  store i32 0, ptr %138, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #9
  store i32 1, ptr %139, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #9
  store i32 50, ptr %140, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #9
  store i32 0, ptr %141, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #9
  store i32 2147483647, ptr %142, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #9
  store i32 2147483547, ptr %143, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #9
  store i32 2147483647, ptr %144, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr %145) #9
  store i64 0, ptr %145, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 8, ptr %146) #9
  store i64 1, ptr %146, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 8, ptr %147) #9
  store i64 50, ptr %147, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 8, ptr %148) #9
  store i64 -4611686018427387904, ptr %148, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 8, ptr %149) #9
  store i64 4611686018427387903, ptr %149, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 8, ptr %150) #9
  store i64 4611686018427387803, ptr %150, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 8, ptr %151) #9
  store i64 4611686018427387903, ptr %151, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 8, ptr %152) #9
  store i64 0, ptr %152, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 8, ptr %153) #9
  store i64 1, ptr %153, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 8, ptr %154) #9
  store i64 50, ptr %154, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 8, ptr %155) #9
  store i64 0, ptr %155, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 8, ptr %156) #9
  store i64 9223372036854775807, ptr %156, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 8, ptr %157) #9
  store i64 9223372036854775707, ptr %157, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 8, ptr %158) #9
  store i64 9223372036854775807, ptr %158, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #9
  store float 0.000000e+00, ptr %159, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #9
  store float 1.000000e+00, ptr %160, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #9
  store float -1.000000e+10, ptr %161, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #9
  store float 1.000000e+10, ptr %162, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 8, ptr %163) #9
  store double 0.000000e+00, ptr %163, align 8, !tbaa !50
  call void @llvm.lifetime.start.p0(i64 8, ptr %164) #9
  store double 1.000000e+00, ptr %164, align 8, !tbaa !50
  call void @llvm.lifetime.start.p0(i64 8, ptr %165) #9
  store double -1.000000e+15, ptr %165, align 8, !tbaa !50
  call void @llvm.lifetime.start.p0(i64 8, ptr %166) #9
  store double 1.000000e+15, ptr %166, align 8, !tbaa !50
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #9
  store float 0x3FC99999A0000000, ptr %167, align 4, !tbaa !24
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.320)
  %1796 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.321, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.322)
  %1797 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1798 = trunc i8 %1797 to i1
  br i1 %1798, label %1799, label %1800

1799:                                             ; preds = %1795
  br label %1801

1800:                                             ; preds = %1795
  br label %1801

1801:                                             ; preds = %1800, %1799
  %1802 = phi ptr [ %131, %1799 ], [ null, %1800 ]
  %1803 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1804 = trunc i8 %1803 to i1
  br i1 %1804, label %1805, label %1806

1805:                                             ; preds = %1801
  br label %1807

1806:                                             ; preds = %1801
  br label %1807

1807:                                             ; preds = %1806, %1805
  %1808 = phi ptr [ %133, %1805 ], [ null, %1806 ]
  %1809 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.323, i32 noundef 0, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, float noundef 0x3FC99999A0000000, ptr noundef %1802, ptr noundef %1808, ptr noundef null, float noundef 1.000000e+00)
  %1810 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, 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 [ %138, %1812 ], [ null, %1813 ]
  %1816 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1817 = trunc i8 %1816 to i1
  br i1 %1817, label %1818, label %1819

1818:                                             ; preds = %1814
  br label %1820

1819:                                             ; preds = %1814
  br label %1820

1820:                                             ; preds = %1819, %1818
  %1821 = phi ptr [ %140, %1818 ], [ null, %1819 ]
  %1822 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.324, i32 noundef 1, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, float noundef 0x3FC99999A0000000, ptr noundef %1815, ptr noundef %1821, ptr noundef @.str.325, float noundef 1.000000e+00)
  %1823 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1824 = trunc i8 %1823 to i1
  br i1 %1824, label %1825, label %1826

1825:                                             ; preds = %1820
  br label %1827

1826:                                             ; preds = %1820
  br label %1827

1827:                                             ; preds = %1826, %1825
  %1828 = phi ptr [ %145, %1825 ], [ null, %1826 ]
  %1829 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1830 = trunc i8 %1829 to i1
  br i1 %1830, label %1831, label %1832

1831:                                             ; preds = %1827
  br label %1833

1832:                                             ; preds = %1827
  br label %1833

1833:                                             ; preds = %1832, %1831
  %1834 = phi ptr [ %147, %1831 ], [ null, %1832 ]
  %1835 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.326, i32 noundef 2, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, float noundef 0x3FC99999A0000000, ptr noundef %1828, ptr noundef %1834, ptr noundef null, float noundef 1.000000e+00)
  %1836 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1837 = trunc i8 %1836 to i1
  br i1 %1837, label %1838, label %1839

1838:                                             ; preds = %1833
  br label %1840

1839:                                             ; preds = %1833
  br label %1840

1840:                                             ; preds = %1839, %1838
  %1841 = phi ptr [ %152, %1838 ], [ null, %1839 ]
  %1842 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !9, !range !11, !noundef !12
  %1843 = trunc i8 %1842 to i1
  br i1 %1843, label %1844, label %1845

1844:                                             ; preds = %1840
  br label %1846

1845:                                             ; preds = %1840
  br label %1846

1846:                                             ; preds = %1845, %1844
  %1847 = phi ptr [ %154, %1844 ], [ null, %1845 ]
  %1848 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.327, i32 noundef 3, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, float noundef 0x3FC99999A0000000, ptr noundef %1841, ptr noundef %1847, ptr noundef null, float noundef 1.000000e+00)
  %1849 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.135, i32 noundef 4, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, float noundef 0x3F747AE140000000, ptr noundef %159, ptr noundef %160, ptr noundef @.str.328, float noundef 1.000000e+00)
  %1850 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.329, i32 noundef 4, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, float noundef 0x3F747AE140000000, ptr noundef %159, ptr noundef %160, ptr noundef @.str.328, float noundef 2.000000e+00)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.330)
  %1851 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.331, i32 noundef 5, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, float noundef 0x3F40624DE0000000, ptr noundef %163, ptr noundef null, ptr noundef @.str.332, float noundef 1.000000e+00)
  %1852 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef @.str.333, i32 noundef 5, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, float noundef 0x3F40624DE0000000, ptr noundef %163, ptr noundef %164, ptr noundef @.str.334, float noundef 2.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.335)
  %1853 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.336, i32 noundef 0, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef %131, ptr noundef %133, ptr noundef @.str.95, float noundef 1.000000e+00)
  %1854 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.337, i32 noundef 0, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef %136, ptr noundef %137, ptr noundef @.str.95, float noundef 1.000000e+00)
  %1855 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.338, i32 noundef 0, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef %134, ptr noundef %135, ptr noundef @.str.95, float noundef 1.000000e+00)
  %1856 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.339, i32 noundef 1, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef %138, ptr noundef %140, ptr noundef @.str.340, float noundef 1.000000e+00)
  %1857 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.341, i32 noundef 1, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef %143, ptr noundef %144, ptr noundef @.str.340, float noundef 1.000000e+00)
  %1858 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.342, i32 noundef 1, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef %141, ptr noundef %142, ptr noundef @.str.340, float noundef 1.000000e+00)
  %1859 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.343, i32 noundef 2, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef %145, ptr noundef %147, ptr noundef @.str.344, float noundef 1.000000e+00)
  %1860 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.345, i32 noundef 2, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef %150, ptr noundef %151, ptr noundef @.str.344, float noundef 1.000000e+00)
  %1861 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.346, i32 noundef 2, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef %148, ptr noundef %149, ptr noundef @.str.344, float noundef 1.000000e+00)
  %1862 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.347, i32 noundef 3, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef %152, ptr noundef %154, ptr noundef @.str.348, float noundef 1.000000e+00)
  %1863 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.349, i32 noundef 3, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef %157, ptr noundef %158, ptr noundef @.str.348, float noundef 1.000000e+00)
  %1864 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.350, i32 noundef 3, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef %155, ptr noundef %156, ptr noundef @.str.348, float noundef 1.000000e+00)
  %1865 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.351, i32 noundef 4, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef %159, ptr noundef %160, ptr noundef null, float noundef 1.000000e+00)
  %1866 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.352, i32 noundef 4, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef %159, ptr noundef %160, ptr noundef @.str.353, float noundef 2.000000e+00)
  %1867 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.354, i32 noundef 4, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef %161, ptr noundef %162, ptr noundef @.str.128, float noundef 1.000000e+00)
  %1868 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.355, i32 noundef 5, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef %163, ptr noundef %164, ptr noundef @.str.332, float noundef 1.000000e+00)
  %1869 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.356, i32 noundef 5, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef %163, ptr noundef %164, ptr noundef @.str.353, float noundef 2.000000e+00)
  %1870 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef @.str.357, i32 noundef 5, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef %165, ptr noundef %166, ptr noundef @.str.358, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.359)
  %1871 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.360, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step)
  %1872 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1873 = trunc i8 %1872 to i1
  br i1 %1873, label %1874, label %1875

1874:                                             ; preds = %1846
  br label %1876

1875:                                             ; preds = %1846
  br label %1876

1876:                                             ; preds = %1875, %1874
  %1877 = phi ptr [ %132, %1874 ], [ null, %1875 ]
  %1878 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.361, i32 noundef 0, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef %1877, ptr noundef null, ptr noundef @.str.95, i32 noundef 0)
  %1879 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1880 = trunc i8 %1879 to i1
  br i1 %1880, label %1881, label %1882

1881:                                             ; preds = %1876
  br label %1883

1882:                                             ; preds = %1876
  br label %1883

1883:                                             ; preds = %1882, %1881
  %1884 = phi ptr [ %132, %1881 ], [ null, %1882 ]
  %1885 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.362, i32 noundef 0, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef %1884, ptr noundef null, ptr noundef @.str.363, i32 noundef 2)
  %1886 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1887 = trunc i8 %1886 to i1
  br i1 %1887, label %1888, label %1889

1888:                                             ; preds = %1883
  br label %1890

1889:                                             ; preds = %1883
  br label %1890

1890:                                             ; preds = %1889, %1888
  %1891 = phi ptr [ %139, %1888 ], [ null, %1889 ]
  %1892 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.364, i32 noundef 1, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef %1891, ptr noundef null, ptr noundef @.str.340, i32 noundef 0)
  %1893 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1894 = trunc i8 %1893 to i1
  br i1 %1894, label %1895, label %1896

1895:                                             ; preds = %1890
  br label %1897

1896:                                             ; preds = %1890
  br label %1897

1897:                                             ; preds = %1896, %1895
  %1898 = phi ptr [ %139, %1895 ], [ null, %1896 ]
  %1899 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.365, i32 noundef 1, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef %1898, ptr noundef null, ptr noundef @.str.363, i32 noundef 2)
  %1900 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1901 = trunc i8 %1900 to i1
  br i1 %1901, label %1902, label %1903

1902:                                             ; preds = %1897
  br label %1904

1903:                                             ; preds = %1897
  br label %1904

1904:                                             ; preds = %1903, %1902
  %1905 = phi ptr [ %146, %1902 ], [ null, %1903 ]
  %1906 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.366, i32 noundef 2, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef %1905, ptr noundef null, ptr noundef null, i32 noundef 0)
  %1907 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1908 = trunc i8 %1907 to i1
  br i1 %1908, label %1909, label %1910

1909:                                             ; preds = %1904
  br label %1911

1910:                                             ; preds = %1904
  br label %1911

1911:                                             ; preds = %1910, %1909
  %1912 = phi ptr [ %153, %1909 ], [ null, %1910 ]
  %1913 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.367, i32 noundef 3, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef %1912, ptr noundef null, ptr noundef null, i32 noundef 0)
  %1914 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1915 = trunc i8 %1914 to i1
  br i1 %1915, label %1916, label %1917

1916:                                             ; preds = %1911
  br label %1918

1917:                                             ; preds = %1911
  br label %1918

1918:                                             ; preds = %1917, %1916
  %1919 = phi ptr [ %160, %1916 ], [ null, %1917 ]
  %1920 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.123, i32 noundef 4, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef %1919, ptr noundef null, ptr noundef null, i32 noundef 0)
  %1921 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !9, !range !11, !noundef !12
  %1922 = trunc i8 %1921 to i1
  br i1 %1922, label %1923, label %1924

1923:                                             ; preds = %1918
  br label %1925

1924:                                             ; preds = %1918
  br label %1925

1925:                                             ; preds = %1924, %1923
  %1926 = phi ptr [ %164, %1923 ], [ null, %1924 ]
  %1927 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef @.str.125, i32 noundef 5, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef %1926, ptr noundef null, ptr noundef null, i32 noundef 0)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %165) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %164) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %163) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %158) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %157) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %156) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %155) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %150) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %149) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %148) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %147) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #9
  br label %1928

1928:                                             ; preds = %1925, %1793
  %1929 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.368)
  br i1 %1929, label %1930, label %1949

1930:                                             ; preds = %1928
  %1931 = call noundef zeroext i1 @_ZN5ImGui11InputFloat2EPKcPfS1_i(ptr noundef @.str.369, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, ptr noundef @.str.124, i32 noundef 0)
  %1932 = call noundef zeroext i1 @_ZN5ImGui10DragFloat2EPKcPffffS1_f(ptr noundef @.str.370, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0x3F847AE140000000, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  %1933 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat2EPKcPfffS1_f(ptr noundef @.str.371, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  %1934 = call noundef zeroext i1 @_ZN5ImGui9InputInt2EPKcPii(ptr noundef @.str.372, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0)
  %1935 = call noundef zeroext i1 @_ZN5ImGui8DragInt2EPKcPifiiS1_(ptr noundef @.str.373, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 255, ptr noundef @.str.95)
  %1936 = call noundef zeroext i1 @_ZN5ImGui10SliderInt2EPKcPiiiS1_(ptr noundef @.str.374, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0, i32 noundef 255, ptr noundef @.str.95)
  call void @_ZN5ImGui7SpacingEv()
  %1937 = call noundef zeroext i1 @_ZN5ImGui11InputFloat3EPKcPfS1_i(ptr noundef @.str.130, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, ptr noundef @.str.124, i32 noundef 0)
  %1938 = call noundef zeroext i1 @_ZN5ImGui10DragFloat3EPKcPffffS1_f(ptr noundef @.str.375, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0x3F847AE140000000, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  %1939 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat3EPKcPfffS1_f(ptr noundef @.str.376, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  %1940 = call noundef zeroext i1 @_ZN5ImGui9InputInt3EPKcPii(ptr noundef @.str.377, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0)
  %1941 = call noundef zeroext i1 @_ZN5ImGui8DragInt3EPKcPifiiS1_(ptr noundef @.str.378, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 255, ptr noundef @.str.95)
  %1942 = call noundef zeroext i1 @_ZN5ImGui10SliderInt3EPKcPiiiS1_(ptr noundef @.str.379, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0, i32 noundef 255, ptr noundef @.str.95)
  call void @_ZN5ImGui7SpacingEv()
  %1943 = call noundef zeroext i1 @_ZN5ImGui11InputFloat4EPKcPfS1_i(ptr noundef @.str.380, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, ptr noundef @.str.124, i32 noundef 0)
  %1944 = call noundef zeroext i1 @_ZN5ImGui10DragFloat4EPKcPffffS1_f(ptr noundef @.str.381, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0x3F847AE140000000, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  %1945 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat4EPKcPfffS1_f(ptr noundef @.str.382, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  %1946 = call noundef zeroext i1 @_ZN5ImGui9InputInt4EPKcPii(ptr noundef @.str.383, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0)
  %1947 = call noundef zeroext i1 @_ZN5ImGui8DragInt4EPKcPifiiS1_(ptr noundef @.str.384, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 255, ptr noundef @.str.95)
  %1948 = call noundef zeroext i1 @_ZN5ImGui10SliderInt4EPKcPiiiS1_(ptr noundef @.str.385, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0, i32 noundef 255, ptr noundef @.str.95)
  call void @_ZN5ImGui7TreePopEv()
  br label %1949

1949:                                             ; preds = %1930, %1928
  %1950 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.386)
  br i1 %1950, label %1951, label %2095

1951:                                             ; preds = %1949
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #9
  store float 4.000000e+00, ptr %168, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 8, ptr %169) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %169, float noundef 4.000000e+00, float noundef 4.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef 13, ptr noundef nonnull align 4 dereferenceable(8) %169)
  call void @llvm.lifetime.end.p0(i64 8, ptr %169) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %170) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %170, float noundef 1.800000e+01, float noundef 1.600000e+02)
  %1952 = call noundef zeroext i1 @_ZN5ImGui10VSliderIntEPKcRK6ImVec2PiiiS1_(ptr noundef @.str.387, ptr noundef nonnull align 4 dereferenceable(8) %170, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9int_value, i32 noundef 0, i32 noundef 5, ptr noundef @.str.95)
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef @.str.388)
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #9
  store i32 0, ptr %171, align 4, !tbaa !13
  br label %1953

1953:                                             ; preds = %2033, %1951
  %1954 = load i32, ptr %171, align 4, !tbaa !13
  %1955 = icmp slt i32 %1954, 7
  br i1 %1955, label %1957, label %1956

1956:                                             ; preds = %1953
  store i32 43, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #9
  br label %2036

1957:                                             ; preds = %1953
  %1958 = load i32, ptr %171, align 4, !tbaa !13
  %1959 = icmp sgt i32 %1958, 0
  br i1 %1959, label %1960, label %1961

1960:                                             ; preds = %1957
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %1961

1961:                                             ; preds = %1960, %1957
  %1962 = load i32, ptr %171, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1962)
  call void @llvm.lifetime.start.p0(i64 16, ptr %172) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %173) #9
  %1963 = load i32, ptr %171, align 4, !tbaa !13
  %1964 = sitofp i32 %1963 to float
  %1965 = fdiv float %1964, 7.000000e+00
  %1966 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1965, float noundef 5.000000e-01, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1967 = getelementptr inbounds %struct.ImColor, ptr %173, i32 0, i32 0
  %1968 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %1967, i32 0, i32 0
  %1969 = extractvalue { <2 x float>, <2 x float> } %1966, 0
  store <2 x float> %1969, ptr %1968, align 4
  %1970 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %1967, i32 0, i32 1
  %1971 = extractvalue { <2 x float>, <2 x float> } %1966, 1
  store <2 x float> %1971, ptr %1970, align 4
  %1972 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %173)
  %1973 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %172, i32 0, i32 0
  %1974 = extractvalue { <2 x float>, <2 x float> } %1972, 0
  store <2 x float> %1974, ptr %1973, align 4
  %1975 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %172, i32 0, i32 1
  %1976 = extractvalue { <2 x float>, <2 x float> } %1972, 1
  store <2 x float> %1976, ptr %1975, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 7, ptr noundef nonnull align 4 dereferenceable(16) %172)
  call void @llvm.lifetime.end.p0(i64 16, ptr %173) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %172) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %174) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %175) #9
  %1977 = load i32, ptr %171, align 4, !tbaa !13
  %1978 = sitofp i32 %1977 to float
  %1979 = fdiv float %1978, 7.000000e+00
  %1980 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1979, float noundef 0x3FE3333340000000, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1981 = getelementptr inbounds %struct.ImColor, ptr %175, i32 0, i32 0
  %1982 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %1981, i32 0, i32 0
  %1983 = extractvalue { <2 x float>, <2 x float> } %1980, 0
  store <2 x float> %1983, ptr %1982, align 4
  %1984 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %1981, i32 0, i32 1
  %1985 = extractvalue { <2 x float>, <2 x float> } %1980, 1
  store <2 x float> %1985, ptr %1984, align 4
  %1986 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %175)
  %1987 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %174, i32 0, i32 0
  %1988 = extractvalue { <2 x float>, <2 x float> } %1986, 0
  store <2 x float> %1988, ptr %1987, align 4
  %1989 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %174, i32 0, i32 1
  %1990 = extractvalue { <2 x float>, <2 x float> } %1986, 1
  store <2 x float> %1990, ptr %1989, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 8, ptr noundef nonnull align 4 dereferenceable(16) %174)
  call void @llvm.lifetime.end.p0(i64 16, ptr %175) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %174) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %176) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %177) #9
  %1991 = load i32, ptr %171, align 4, !tbaa !13
  %1992 = sitofp i32 %1991 to float
  %1993 = fdiv float %1992, 7.000000e+00
  %1994 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1993, float noundef 0x3FE6666660000000, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1995 = getelementptr inbounds %struct.ImColor, ptr %177, i32 0, i32 0
  %1996 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %1995, i32 0, i32 0
  %1997 = extractvalue { <2 x float>, <2 x float> } %1994, 0
  store <2 x float> %1997, ptr %1996, align 4
  %1998 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %1995, i32 0, i32 1
  %1999 = extractvalue { <2 x float>, <2 x float> } %1994, 1
  store <2 x float> %1999, ptr %1998, align 4
  %2000 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %177)
  %2001 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %176, i32 0, i32 0
  %2002 = extractvalue { <2 x float>, <2 x float> } %2000, 0
  store <2 x float> %2002, ptr %2001, align 4
  %2003 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %176, i32 0, i32 1
  %2004 = extractvalue { <2 x float>, <2 x float> } %2000, 1
  store <2 x float> %2004, ptr %2003, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 9, ptr noundef nonnull align 4 dereferenceable(16) %176)
  call void @llvm.lifetime.end.p0(i64 16, ptr %177) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %176) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %178) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %179) #9
  %2005 = load i32, ptr %171, align 4, !tbaa !13
  %2006 = sitofp i32 %2005 to float
  %2007 = fdiv float %2006, 7.000000e+00
  %2008 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %2007, float noundef 0x3FECCCCCC0000000, float noundef 0x3FECCCCCC0000000, float noundef 1.000000e+00)
  %2009 = getelementptr inbounds %struct.ImColor, ptr %179, i32 0, i32 0
  %2010 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %2009, i32 0, i32 0
  %2011 = extractvalue { <2 x float>, <2 x float> } %2008, 0
  store <2 x float> %2011, ptr %2010, align 4
  %2012 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %2009, i32 0, i32 1
  %2013 = extractvalue { <2 x float>, <2 x float> } %2008, 1
  store <2 x float> %2013, ptr %2012, align 4
  %2014 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %179)
  %2015 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %178, i32 0, i32 0
  %2016 = extractvalue { <2 x float>, <2 x float> } %2014, 0
  store <2 x float> %2016, ptr %2015, align 4
  %2017 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %178, i32 0, i32 1
  %2018 = extractvalue { <2 x float>, <2 x float> } %2014, 1
  store <2 x float> %2018, ptr %2017, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 19, ptr noundef nonnull align 4 dereferenceable(16) %178)
  call void @llvm.lifetime.end.p0(i64 16, ptr %179) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %178) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %180) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %180, float noundef 1.800000e+01, float noundef 1.600000e+02)
  %2019 = load i32, ptr %171, align 4, !tbaa !13
  %2020 = sext i32 %2019 to i64
  %2021 = getelementptr inbounds [7 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, i64 0, i64 %2020
  %2022 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %180, ptr noundef %2021, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.390, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr %180) #9
  %2023 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %2023, label %2026, label %2024

2024:                                             ; preds = %1961
  %2025 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %2025, label %2026, label %2032

2026:                                             ; preds = %2024, %1961
  %2027 = load i32, ptr %171, align 4, !tbaa !13
  %2028 = sext i32 %2027 to i64
  %2029 = getelementptr inbounds [7 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, i64 0, i64 %2028
  %2030 = load float, ptr %2029, align 4, !tbaa !24
  %2031 = fpext float %2030 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef @.str.124, double noundef %2031)
  br label %2032

2032:                                             ; preds = %2026, %2024
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 4)
  call void @_ZN5ImGui5PopIDEv()
  br label %2033

2033:                                             ; preds = %2032
  %2034 = load i32, ptr %171, align 4, !tbaa !13
  %2035 = add nsw i32 %2034, 1
  store i32 %2035, ptr %171, align 4, !tbaa !13
  br label %1953, !llvm.loop !67

2036:                                             ; preds = %1956
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef @.str.391)
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #9
  store i32 3, ptr %181, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr %182) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %182, float noundef 1.800000e+01, float noundef 0x4049555560000000)
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #9
  store i32 0, ptr %183, align 4, !tbaa !13
  br label %2037

2037:                                             ; preds = %2073, %2036
  %2038 = load i32, ptr %183, align 4, !tbaa !13
  %2039 = icmp slt i32 %2038, 4
  br i1 %2039, label %2041, label %2040

2040:                                             ; preds = %2037
  store i32 46, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #9
  br label %2076

2041:                                             ; preds = %2037
  %2042 = load i32, ptr %183, align 4, !tbaa !13
  %2043 = icmp sgt i32 %2042, 0
  br i1 %2043, label %2044, label %2045

2044:                                             ; preds = %2041
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %2045

2045:                                             ; preds = %2044, %2041
  call void @_ZN5ImGui10BeginGroupEv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #9
  store i32 0, ptr %184, align 4, !tbaa !13
  br label %2046

2046:                                             ; preds = %2069, %2045
  %2047 = load i32, ptr %184, align 4, !tbaa !13
  %2048 = icmp slt i32 %2047, 3
  br i1 %2048, label %2050, label %2049

2049:                                             ; preds = %2046
  store i32 49, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #9
  br label %2072

2050:                                             ; preds = %2046
  %2051 = load i32, ptr %183, align 4, !tbaa !13
  %2052 = mul nsw i32 %2051, 3
  %2053 = load i32, ptr %184, align 4, !tbaa !13
  %2054 = add nsw i32 %2052, %2053
  call void @_ZN5ImGui6PushIDEi(i32 noundef %2054)
  %2055 = load i32, ptr %183, align 4, !tbaa !13
  %2056 = sext i32 %2055 to i64
  %2057 = getelementptr inbounds [4 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 0, i64 %2056
  %2058 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %182, ptr noundef %2057, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.390, float noundef 1.000000e+00)
  %2059 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %2059, label %2062, label %2060

2060:                                             ; preds = %2050
  %2061 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %2061, label %2062, label %2068

2062:                                             ; preds = %2060, %2050
  %2063 = load i32, ptr %183, align 4, !tbaa !13
  %2064 = sext i32 %2063 to i64
  %2065 = getelementptr inbounds [4 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 0, i64 %2064
  %2066 = load float, ptr %2065, align 4, !tbaa !24
  %2067 = fpext float %2066 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef @.str.124, double noundef %2067)
  br label %2068

2068:                                             ; preds = %2062, %2060
  call void @_ZN5ImGui5PopIDEv()
  br label %2069

2069:                                             ; preds = %2068
  %2070 = load i32, ptr %184, align 4, !tbaa !13
  %2071 = add nsw i32 %2070, 1
  store i32 %2071, ptr %184, align 4, !tbaa !13
  br label %2046, !llvm.loop !68

2072:                                             ; preds = %2049
  call void @_ZN5ImGui8EndGroupEv()
  br label %2073

2073:                                             ; preds = %2072
  %2074 = load i32, ptr %183, align 4, !tbaa !13
  %2075 = add nsw i32 %2074, 1
  store i32 %2075, ptr %183, align 4, !tbaa !13
  br label %2037, !llvm.loop !69

2076:                                             ; preds = %2040
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef @.str.392)
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #9
  store i32 0, ptr %185, align 4, !tbaa !13
  br label %2077

2077:                                             ; preds = %2091, %2076
  %2078 = load i32, ptr %185, align 4, !tbaa !13
  %2079 = icmp slt i32 %2078, 4
  br i1 %2079, label %2081, label %2080

2080:                                             ; preds = %2077
  store i32 52, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #9
  br label %2094

2081:                                             ; preds = %2077
  %2082 = load i32, ptr %185, align 4, !tbaa !13
  %2083 = icmp sgt i32 %2082, 0
  br i1 %2083, label %2084, label %2085

2084:                                             ; preds = %2081
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %2085

2085:                                             ; preds = %2084, %2081
  %2086 = load i32, ptr %185, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %2086)
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 18, float noundef 4.000000e+01)
  call void @llvm.lifetime.start.p0(i64 8, ptr %186) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %186, float noundef 4.000000e+01, float noundef 1.600000e+02)
  %2087 = load i32, ptr %185, align 4, !tbaa !13
  %2088 = sext i32 %2087 to i64
  %2089 = getelementptr inbounds [7 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, i64 0, i64 %2088
  %2090 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %186, ptr noundef %2089, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.393, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr %186) #9
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @_ZN5ImGui5PopIDEv()
  br label %2091

2091:                                             ; preds = %2085
  %2092 = load i32, ptr %185, align 4, !tbaa !13
  %2093 = add nsw i32 %2092, 1
  store i32 %2093, ptr %185, align 4, !tbaa !13
  br label %2077, !llvm.loop !70

2094:                                             ; preds = %2080
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr %182) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #9
  br label %2095

2095:                                             ; preds = %2094, %1949
  %2096 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.394)
  br i1 %2096, label %2097, label %2228

2097:                                             ; preds = %2095
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.395)
  call void @_ZN5ImGui6IndentEf(float noundef 0.000000e+00)
  %2098 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit3EPKcPfi(ptr noundef @.str.145, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4col1_0, i32 noundef 0)
  %2099 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.147, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4col2_0, i32 noundef 0)
  call void @_ZN5ImGui8UnindentEf(float noundef 0.000000e+00)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.396)
  call void @_ZN5ImGui6IndentEf(float noundef 0.000000e+00)
  %2100 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !13
  %2101 = icmp eq i32 %2100, 0
  %2102 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcb(ptr noundef @.str.397, i1 noundef zeroext %2101)
  br i1 %2102, label %2103, label %2104

2103:                                             ; preds = %2097
  store i32 0, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !13
  br label %2104

2104:                                             ; preds = %2103, %2097
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2105 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !13
  %2106 = icmp eq i32 %2105, 1
  %2107 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcb(ptr noundef @.str.398, i1 noundef zeroext %2106)
  br i1 %2107, label %2108, label %2109

2108:                                             ; preds = %2104
  store i32 1, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !13
  br label %2109

2109:                                             ; preds = %2108, %2104
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2110 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !13
  %2111 = icmp eq i32 %2110, 2
  %2112 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcb(ptr noundef @.str.399, i1 noundef zeroext %2111)
  br i1 %2112, label %2113, label %2114

2113:                                             ; preds = %2109
  store i32 2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !13
  br label %2114

2114:                                             ; preds = %2113, %2109
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #9
  store i32 0, ptr %187, align 4, !tbaa !13
  br label %2115

2115:                                             ; preds = %2224, %2114
  %2116 = load i32, ptr %187, align 4, !tbaa !13
  %2117 = icmp slt i32 %2116, 9
  br i1 %2117, label %2119, label %2118

2118:                                             ; preds = %2115
  store i32 55, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #9
  br label %2227

2119:                                             ; preds = %2115
  %2120 = load i32, ptr %187, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %2120)
  %2121 = load i32, ptr %187, align 4, !tbaa !13
  %2122 = srem i32 %2121, 3
  %2123 = icmp ne i32 %2122, 0
  br i1 %2123, label %2124, label %2125

2124:                                             ; preds = %2119
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %2125

2125:                                             ; preds = %2124, %2119
  %2126 = load i32, ptr %187, align 4, !tbaa !13
  %2127 = sext i32 %2126 to i64
  %2128 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %2127
  %2129 = load ptr, ptr %2128, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %188) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %188, float noundef 6.000000e+01, float noundef 6.000000e+01)
  %2130 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef %2129, ptr noundef nonnull align 4 dereferenceable(8) %188)
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #9
  %2131 = call noundef zeroext i1 @_ZN5ImGui19BeginDragDropSourceEi(i32 noundef 0)
  br i1 %2131, label %2132, label %2158

2132:                                             ; preds = %2125
  %2133 = call noundef zeroext i1 @_ZN5ImGui18SetDragDropPayloadEPKcPKvmi(ptr noundef @.str.409, ptr noundef %187, i64 noundef 4, i32 noundef 0)
  %2134 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !13
  %2135 = icmp eq i32 %2134, 0
  br i1 %2135, label %2136, label %2141

2136:                                             ; preds = %2132
  %2137 = load i32, ptr %187, align 4, !tbaa !13
  %2138 = sext i32 %2137 to i64
  %2139 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %2138
  %2140 = load ptr, ptr %2139, align 8, !tbaa !5
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.410, ptr noundef %2140)
  br label %2141

2141:                                             ; preds = %2136, %2132
  %2142 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !13
  %2143 = icmp eq i32 %2142, 1
  br i1 %2143, label %2144, label %2149

2144:                                             ; preds = %2141
  %2145 = load i32, ptr %187, align 4, !tbaa !13
  %2146 = sext i32 %2145 to i64
  %2147 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %2146
  %2148 = load ptr, ptr %2147, align 8, !tbaa !5
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.411, ptr noundef %2148)
  br label %2149

2149:                                             ; preds = %2144, %2141
  %2150 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !13
  %2151 = icmp eq i32 %2150, 2
  br i1 %2151, label %2152, label %2157

2152:                                             ; preds = %2149
  %2153 = load i32, ptr %187, align 4, !tbaa !13
  %2154 = sext i32 %2153 to i64
  %2155 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %2154
  %2156 = load ptr, ptr %2155, align 8, !tbaa !5
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.412, ptr noundef %2156)
  br label %2157

2157:                                             ; preds = %2152, %2149
  call void @_ZN5ImGui17EndDragDropSourceEv()
  br label %2158

2158:                                             ; preds = %2157, %2125
  %2159 = call noundef zeroext i1 @_ZN5ImGui19BeginDragDropTargetEv()
  br i1 %2159, label %2160, label %2223

2160:                                             ; preds = %2158
  call void @llvm.lifetime.start.p0(i64 8, ptr %189) #9
  %2161 = call noundef ptr @_ZN5ImGui21AcceptDragDropPayloadEPKci(ptr noundef @.str.409, i32 noundef 0)
  store ptr %2161, ptr %189, align 8, !tbaa !5
  %2162 = load ptr, ptr %189, align 8, !tbaa !5
  %2163 = icmp ne ptr %2162, null
  br i1 %2163, label %2164, label %2222

2164:                                             ; preds = %2160
  %2165 = load ptr, ptr %189, align 8, !tbaa !5
  %2166 = getelementptr inbounds %struct.ImGuiPayload, ptr %2165, i32 0, i32 1
  %2167 = load i32, ptr %2166, align 8, !tbaa !71
  %2168 = sext i32 %2167 to i64
  %2169 = icmp eq i64 %2168, 4
  br i1 %2169, label %2170, label %2171

2170:                                             ; preds = %2164
  br label %2173

2171:                                             ; preds = %2164
  call void @__assert_fail(ptr noundef @.str.413, ptr noundef @.str.414, i32 noundef 1345, ptr noundef @__PRETTY_FUNCTION__._ZN5ImGui14ShowDemoWindowEPb) #12
  unreachable

2172:                                             ; No predecessors!
  br label %2173

2173:                                             ; preds = %2172, %2170
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #9
  %2174 = load ptr, ptr %189, align 8, !tbaa !5
  %2175 = getelementptr inbounds %struct.ImGuiPayload, ptr %2174, i32 0, i32 0
  %2176 = load ptr, ptr %2175, align 8, !tbaa !62
  %2177 = load i32, ptr %2176, align 4, !tbaa !13
  store i32 %2177, ptr %190, align 4, !tbaa !13
  %2178 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !13
  %2179 = icmp eq i32 %2178, 0
  br i1 %2179, label %2180, label %2188

2180:                                             ; preds = %2173
  %2181 = load i32, ptr %190, align 4, !tbaa !13
  %2182 = sext i32 %2181 to i64
  %2183 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %2182
  %2184 = load ptr, ptr %2183, align 8, !tbaa !5
  %2185 = load i32, ptr %187, align 4, !tbaa !13
  %2186 = sext i32 %2185 to i64
  %2187 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %2186
  store ptr %2184, ptr %2187, align 8, !tbaa !5
  br label %2188

2188:                                             ; preds = %2180, %2173
  %2189 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !13
  %2190 = icmp eq i32 %2189, 1
  br i1 %2190, label %2191, label %2202

2191:                                             ; preds = %2188
  %2192 = load i32, ptr %190, align 4, !tbaa !13
  %2193 = sext i32 %2192 to i64
  %2194 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %2193
  %2195 = load ptr, ptr %2194, align 8, !tbaa !5
  %2196 = load i32, ptr %187, align 4, !tbaa !13
  %2197 = sext i32 %2196 to i64
  %2198 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %2197
  store ptr %2195, ptr %2198, align 8, !tbaa !5
  %2199 = load i32, ptr %190, align 4, !tbaa !13
  %2200 = sext i32 %2199 to i64
  %2201 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %2200
  store ptr @.str.390, ptr %2201, align 8, !tbaa !5
  br label %2202

2202:                                             ; preds = %2191, %2188
  %2203 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !13
  %2204 = icmp eq i32 %2203, 2
  br i1 %2204, label %2205, label %2221

2205:                                             ; preds = %2202
  call void @llvm.lifetime.start.p0(i64 8, ptr %191) #9
  %2206 = load i32, ptr %187, align 4, !tbaa !13
  %2207 = sext i32 %2206 to i64
  %2208 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %2207
  %2209 = load ptr, ptr %2208, align 8, !tbaa !5
  store ptr %2209, ptr %191, align 8, !tbaa !5
  %2210 = load i32, ptr %190, align 4, !tbaa !13
  %2211 = sext i32 %2210 to i64
  %2212 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %2211
  %2213 = load ptr, ptr %2212, align 8, !tbaa !5
  %2214 = load i32, ptr %187, align 4, !tbaa !13
  %2215 = sext i32 %2214 to i64
  %2216 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %2215
  store ptr %2213, ptr %2216, align 8, !tbaa !5
  %2217 = load ptr, ptr %191, align 8, !tbaa !5
  %2218 = load i32, ptr %190, align 4, !tbaa !13
  %2219 = sext i32 %2218 to i64
  %2220 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %2219
  store ptr %2217, ptr %2220, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr %191) #9
  br label %2221

2221:                                             ; preds = %2205, %2202
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #9
  br label %2222

2222:                                             ; preds = %2221, %2160
  call void @llvm.lifetime.end.p0(i64 8, ptr %189) #9
  call void @_ZN5ImGui17EndDragDropTargetEv()
  br label %2223

2223:                                             ; preds = %2222, %2158
  call void @_ZN5ImGui5PopIDEv()
  br label %2224

2224:                                             ; preds = %2223
  %2225 = load i32, ptr %187, align 4, !tbaa !13
  %2226 = add nsw i32 %2225, 1
  store i32 %2226, ptr %187, align 4, !tbaa !13
  br label %2115, !llvm.loop !72

2227:                                             ; preds = %2118
  call void @_ZN5ImGui8UnindentEf(float noundef 0.000000e+00)
  call void @_ZN5ImGui7TreePopEv()
  br label %2228

2228:                                             ; preds = %2227, %2095
  %2229 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.415)
  br i1 %2229, label %2230, label %2374

2230:                                             ; preds = %2228
  %2231 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.181, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 0)
  %2232 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.85, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 1)
  %2233 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.416, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 2)
  %2234 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.417, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 3)
  %2235 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.418, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 4)
  %2236 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef @.str.419, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 5)
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 1, ptr %192) #9
  store i8 0, ptr %192, align 1, !tbaa !9
  %2237 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !13
  %2238 = icmp eq i32 %2237, 0
  br i1 %2238, label %2239, label %2240

2239:                                             ; preds = %2230
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.420)
  br label %2240

2240:                                             ; preds = %2239, %2230
  %2241 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !13
  %2242 = icmp eq i32 %2241, 1
  br i1 %2242, label %2243, label %2246

2243:                                             ; preds = %2240
  call void @llvm.lifetime.start.p0(i64 8, ptr %193) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %193, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2244 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.421, ptr noundef nonnull align 4 dereferenceable(8) %193)
  %2245 = zext i1 %2244 to i8
  store i8 %2245, ptr %192, align 1, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %193) #9
  br label %2246

2246:                                             ; preds = %2243, %2240
  %2247 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !13
  %2248 = icmp eq i32 %2247, 2
  br i1 %2248, label %2249, label %2252

2249:                                             ; preds = %2246
  %2250 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.422, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1b)
  %2251 = zext i1 %2250 to i8
  store i8 %2251, ptr %192, align 1, !tbaa !9
  br label %2252

2252:                                             ; preds = %2249, %2246
  %2253 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !13
  %2254 = icmp eq i32 %2253, 3
  br i1 %2254, label %2255, label %2258

2255:                                             ; preds = %2252
  %2256 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef @.str.423, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5col4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  %2257 = zext i1 %2256 to i8
  store i8 %2257, ptr %192, align 1, !tbaa !9
  br label %2258

2258:                                             ; preds = %2255, %2252
  %2259 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !13
  %2260 = icmp eq i32 %2259, 4
  br i1 %2260, label %2261, label %2264

2261:                                             ; preds = %2258
  %2262 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.424, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5col4f, i32 noundef 0)
  %2263 = zext i1 %2262 to i8
  store i8 %2263, ptr %192, align 1, !tbaa !9
  br label %2264

2264:                                             ; preds = %2261, %2258
  %2265 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !13
  %2266 = icmp eq i32 %2265, 5
  br i1 %2266, label %2267, label %2271

2267:                                             ; preds = %2264
  call void @llvm.lifetime.start.p0(i64 32, ptr %194) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %194, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.items.425, i64 32, i1 false)
  %2268 = getelementptr inbounds [4 x ptr], ptr %194, i64 0, i64 0
  %2269 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef @.str.426, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE7current, ptr noundef %2268, i32 noundef 4, i32 noundef 4)
  %2270 = zext i1 %2269 to i8
  store i8 %2270, ptr %192, align 1, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 32, ptr %194) #9
  br label %2271

2271:                                             ; preds = %2267, %2264
  %2272 = load i8, ptr %192, align 1, !tbaa !9, !range !11, !noundef !12
  %2273 = trunc i8 %2272 to i1
  %2274 = zext i1 %2273 to i32
  %2275 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  %2276 = zext i1 %2275 to i32
  %2277 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %2278 = zext i1 %2277 to i32
  %2279 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 8)
  %2280 = zext i1 %2279 to i32
  %2281 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 32)
  %2282 = zext i1 %2281 to i32
  %2283 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 64)
  %2284 = zext i1 %2283 to i32
  %2285 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 104)
  %2286 = zext i1 %2285 to i32
  %2287 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  %2288 = zext i1 %2287 to i32
  %2289 = call noundef zeroext i1 @_ZN5ImGui12IsItemEditedEv()
  %2290 = zext i1 %2289 to i32
  %2291 = call noundef zeroext i1 @_ZN5ImGui17IsItemDeactivatedEv()
  %2292 = zext i1 %2291 to i32
  %2293 = call noundef zeroext i1 @_ZN5ImGui26IsItemDeactivatedAfterEditEv()
  %2294 = zext i1 %2293 to i32
  %2295 = call noundef zeroext i1 @_ZN5ImGui13IsItemVisibleEv()
  %2296 = zext i1 %2295 to i32
  call void @llvm.lifetime.start.p0(i64 8, ptr %195) #9
  %2297 = call <2 x float> @_ZN5ImGui14GetItemRectMinEv()
  store <2 x float> %2297, ptr %195, align 4
  %2298 = getelementptr inbounds %struct.ImVec2, ptr %195, i32 0, i32 0
  %2299 = load float, ptr %2298, align 4, !tbaa !30
  %2300 = fpext float %2299 to double
  call void @llvm.lifetime.start.p0(i64 8, ptr %196) #9
  %2301 = call <2 x float> @_ZN5ImGui14GetItemRectMinEv()
  store <2 x float> %2301, ptr %196, align 4
  %2302 = getelementptr inbounds %struct.ImVec2, ptr %196, i32 0, i32 1
  %2303 = load float, ptr %2302, align 4, !tbaa !31
  %2304 = fpext float %2303 to double
  call void @llvm.lifetime.start.p0(i64 8, ptr %197) #9
  %2305 = call <2 x float> @_ZN5ImGui14GetItemRectMaxEv()
  store <2 x float> %2305, ptr %197, align 4
  %2306 = getelementptr inbounds %struct.ImVec2, ptr %197, i32 0, i32 0
  %2307 = load float, ptr %2306, align 4, !tbaa !30
  %2308 = fpext float %2307 to double
  call void @llvm.lifetime.start.p0(i64 8, ptr %198) #9
  %2309 = call <2 x float> @_ZN5ImGui14GetItemRectMaxEv()
  store <2 x float> %2309, ptr %198, align 4
  %2310 = getelementptr inbounds %struct.ImVec2, ptr %198, i32 0, i32 1
  %2311 = load float, ptr %2310, align 4, !tbaa !31
  %2312 = fpext float %2311 to double
  call void @llvm.lifetime.start.p0(i64 8, ptr %199) #9
  %2313 = call <2 x float> @_ZN5ImGui15GetItemRectSizeEv()
  store <2 x float> %2313, ptr %199, align 4
  %2314 = getelementptr inbounds %struct.ImVec2, ptr %199, i32 0, i32 0
  %2315 = load float, ptr %2314, align 4, !tbaa !30
  %2316 = fpext float %2315 to double
  call void @llvm.lifetime.start.p0(i64 8, ptr %200) #9
  %2317 = call <2 x float> @_ZN5ImGui15GetItemRectSizeEv()
  store <2 x float> %2317, ptr %200, align 4
  %2318 = getelementptr inbounds %struct.ImVec2, ptr %200, i32 0, i32 1
  %2319 = load float, ptr %2318, align 4, !tbaa !31
  %2320 = fpext float %2319 to double
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.427, i32 noundef %2274, i32 noundef %2276, i32 noundef %2278, i32 noundef %2280, i32 noundef %2282, i32 noundef %2284, i32 noundef %2286, i32 noundef %2288, i32 noundef %2290, i32 noundef %2292, i32 noundef %2294, i32 noundef %2296, double noundef %2300, double noundef %2304, double noundef %2308, double noundef %2312, double noundef %2316, double noundef %2320)
  call void @llvm.lifetime.end.p0(i64 8, ptr %200) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %199) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %198) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %196) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %195) #9
  %2321 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.428, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window)
  %2322 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window, align 1, !tbaa !9, !range !11, !noundef !12
  %2323 = trunc i8 %2322 to i1
  br i1 %2323, label %2324, label %2328

2324:                                             ; preds = %2271
  call void @llvm.lifetime.start.p0(i64 8, ptr %201) #9
  %2325 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %2326 = fmul float %2325, 2.000000e+01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %201, float noundef 0.000000e+00, float noundef %2326)
  %2327 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef @.str.429, ptr noundef nonnull align 4 dereferenceable(8) %201, i1 noundef zeroext true, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr %201) #9
  br label %2328

2328:                                             ; preds = %2324, %2271
  %2329 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 0)
  %2330 = zext i1 %2329 to i32
  %2331 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 1)
  %2332 = zext i1 %2331 to i32
  %2333 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 3)
  %2334 = zext i1 %2333 to i32
  %2335 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 2)
  %2336 = zext i1 %2335 to i32
  %2337 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 4)
  %2338 = zext i1 %2337 to i32
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.430, i32 noundef %2330, i32 noundef %2332, i32 noundef %2334, i32 noundef %2336, i32 noundef %2338)
  %2339 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 0)
  %2340 = zext i1 %2339 to i32
  %2341 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 8)
  %2342 = zext i1 %2341 to i32
  %2343 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 32)
  %2344 = zext i1 %2343 to i32
  %2345 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 1)
  %2346 = zext i1 %2345 to i32
  %2347 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 3)
  %2348 = zext i1 %2347 to i32
  %2349 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 2)
  %2350 = zext i1 %2349 to i32
  %2351 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 4)
  %2352 = zext i1 %2351 to i32
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.431, i32 noundef %2340, i32 noundef %2342, i32 noundef %2344, i32 noundef %2346, i32 noundef %2348, i32 noundef %2350, i32 noundef %2352)
  call void @llvm.lifetime.start.p0(i64 8, ptr %202) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %202, float noundef 0.000000e+00, float noundef 5.000000e+01)
  %2353 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef @.str.432, ptr noundef nonnull align 4 dereferenceable(8) %202, i1 noundef zeroext true, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr %202) #9
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.433)
  call void @_ZN5ImGui8EndChildEv()
  %2354 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window, align 1, !tbaa !9, !range !11, !noundef !12
  %2355 = trunc i8 %2354 to i1
  br i1 %2355, label %2356, label %2357

2356:                                             ; preds = %2328
  call void @_ZN5ImGui8EndChildEv()
  br label %2357

2357:                                             ; preds = %2356, %2328
  %2358 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.434, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE11test_window)
  %2359 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11test_window, align 1, !tbaa !9, !range !11, !noundef !12
  %2360 = trunc i8 %2359 to i1
  br i1 %2360, label %2361, label %2373

2361:                                             ; preds = %2357
  %2362 = call noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef @.str.435, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE11test_window, i32 noundef 0)
  %2363 = call noundef zeroext i1 @_ZN5ImGui21BeginPopupContextItemEPKci(ptr noundef null, i32 noundef 1)
  br i1 %2363, label %2364, label %2368

2364:                                             ; preds = %2361
  %2365 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef @.str.436, ptr noundef null, i1 noundef zeroext false, i1 noundef zeroext true)
  br i1 %2365, label %2366, label %2367

2366:                                             ; preds = %2364
  store i8 0, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11test_window, align 1, !tbaa !9
  br label %2367

2367:                                             ; preds = %2366, %2364
  call void @_ZN5ImGui8EndPopupEv()
  br label %2368

2368:                                             ; preds = %2367, %2361
  %2369 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %2370 = zext i1 %2369 to i32
  %2371 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  %2372 = zext i1 %2371 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.437, i32 noundef %2370, i32 noundef %2372)
  call void @_ZN5ImGui3EndEv()
  br label %2373

2373:                                             ; preds = %2368, %2357
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 1, ptr %192) #9
  br label %2374

2374:                                             ; preds = %2373, %2228
  br label %2375

2375:                                             ; preds = %2374, %592
  %2376 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.438, i32 noundef 0)
  br i1 %2376, label %2377, label %2990

2377:                                             ; preds = %2375
  %2378 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.439)
  br i1 %2378, label %2379, label %2458

2379:                                             ; preds = %2377
  %2380 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.440, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE19disable_mouse_wheel)
  %2381 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.441, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12disable_menu)
  call void @llvm.lifetime.start.p0(i64 1, ptr %203) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %204) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %204, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2382 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.442, ptr noundef nonnull align 4 dereferenceable(8) %204)
  call void @llvm.lifetime.end.p0(i64 8, ptr %204) #9
  %2383 = zext i1 %2382 to i8
  store i8 %2383, ptr %203, 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)
  %2384 = call noundef zeroext i1 @_ZN5ImGui8InputIntEPKcPiiii(ptr noundef @.str.443, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4line, i32 noundef 0, i32 noundef 0, i32 noundef 32)
  %2385 = zext i1 %2384 to i32
  %2386 = load i8, ptr %203, align 1, !tbaa !9, !range !11, !noundef !12
  %2387 = trunc i8 %2386 to i1
  %2388 = zext i1 %2387 to i32
  %2389 = or i32 %2388, %2385
  %2390 = icmp ne i32 %2389, 0
  %2391 = zext i1 %2390 to i8
  store i8 %2391, ptr %203, align 1, !tbaa !9
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %205) #9
  %2392 = call noundef float @_ZN5ImGui27GetWindowContentRegionWidthEv()
  %2393 = fmul float %2392, 5.000000e-01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %205, float noundef %2393, float noundef 3.000000e+02)
  %2394 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE19disable_mouse_wheel, align 1, !tbaa !9, !range !11, !noundef !12
  %2395 = trunc i8 %2394 to i1
  %2396 = zext i1 %2395 to i64
  %2397 = select i1 %2395, i32 16, i32 0
  %2398 = or i32 2048, %2397
  %2399 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef @.str.444, ptr noundef nonnull align 4 dereferenceable(8) %205, i1 noundef zeroext false, i32 noundef %2398)
  call void @llvm.lifetime.end.p0(i64 8, ptr %205) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #9
  store i32 0, ptr %206, align 4, !tbaa !13
  br label %2400

2400:                                             ; preds = %2414, %2379
  %2401 = load i32, ptr %206, align 4, !tbaa !13
  %2402 = icmp slt i32 %2401, 100
  br i1 %2402, label %2404, label %2403

2403:                                             ; preds = %2400
  store i32 58, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #9
  br label %2417

2404:                                             ; preds = %2400
  %2405 = load i32, ptr %206, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.445, i32 noundef %2405)
  %2406 = load i8, ptr %203, align 1, !tbaa !9, !range !11, !noundef !12
  %2407 = trunc i8 %2406 to i1
  br i1 %2407, label %2408, label %2413

2408:                                             ; preds = %2404
  %2409 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4line, align 4, !tbaa !13
  %2410 = load i32, ptr %206, align 4, !tbaa !13
  %2411 = icmp eq i32 %2409, %2410
  br i1 %2411, label %2412, label %2413

2412:                                             ; preds = %2408
  call void @_ZN5ImGui14SetScrollHereYEf(float noundef 5.000000e-01)
  br label %2413

2413:                                             ; preds = %2412, %2408, %2404
  br label %2414

2414:                                             ; preds = %2413
  %2415 = load i32, ptr %206, align 4, !tbaa !13
  %2416 = add nsw i32 %2415, 1
  store i32 %2416, ptr %206, align 4, !tbaa !13
  br label %2400, !llvm.loop !73

2417:                                             ; preds = %2403
  %2418 = load i8, ptr %203, align 1, !tbaa !9, !range !11, !noundef !12
  %2419 = trunc i8 %2418 to i1
  br i1 %2419, label %2420, label %2424

2420:                                             ; preds = %2417
  %2421 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4line, align 4, !tbaa !13
  %2422 = icmp sge i32 %2421, 100
  br i1 %2422, label %2423, label %2424

2423:                                             ; preds = %2420
  call void @_ZN5ImGui14SetScrollHereYEf(float noundef 5.000000e-01)
  br label %2424

2424:                                             ; preds = %2423, %2420, %2417
  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 %207) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %207, float noundef 0.000000e+00, float noundef 3.000000e+02)
  %2425 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE19disable_mouse_wheel, align 1, !tbaa !9, !range !11, !noundef !12
  %2426 = trunc i8 %2425 to i1
  %2427 = zext i1 %2426 to i64
  %2428 = select i1 %2426, i32 16, i32 0
  %2429 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12disable_menu, align 1, !tbaa !9, !range !11, !noundef !12
  %2430 = trunc i8 %2429 to i1
  %2431 = zext i1 %2430 to i64
  %2432 = select i1 %2430, i32 0, i32 1024
  %2433 = or i32 %2428, %2432
  %2434 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef @.str.446, ptr noundef nonnull align 4 dereferenceable(8) %207, i1 noundef zeroext true, i32 noundef %2433)
  call void @llvm.lifetime.end.p0(i64 8, ptr %207) #9
  %2435 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12disable_menu, align 1, !tbaa !9, !range !11, !noundef !12
  %2436 = trunc i8 %2435 to i1
  br i1 %2436, label %2443, label %2437

2437:                                             ; preds = %2424
  %2438 = call noundef zeroext i1 @_ZN5ImGui12BeginMenuBarEv()
  br i1 %2438, label %2439, label %2443

2439:                                             ; preds = %2437
  %2440 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef @.str.23, i1 noundef zeroext true)
  br i1 %2440, label %2441, label %2442

2441:                                             ; preds = %2439
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui7EndMenuEv()
  br label %2442

2442:                                             ; preds = %2441, %2439
  call void @_ZN5ImGui10EndMenuBarEv()
  br label %2443

2443:                                             ; preds = %2442, %2437, %2424
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 2, ptr noundef null, i1 noundef zeroext true)
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #9
  store i32 0, ptr %208, align 4, !tbaa !13
  br label %2444

2444:                                             ; preds = %2454, %2443
  %2445 = load i32, ptr %208, align 4, !tbaa !13
  %2446 = icmp slt i32 %2445, 100
  br i1 %2446, label %2448, label %2447

2447:                                             ; preds = %2444
  store i32 61, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #9
  br label %2457

2448:                                             ; preds = %2444
  call void @llvm.lifetime.start.p0(i64 32, ptr %209) #9
  %2449 = getelementptr inbounds [32 x i8], ptr %209, i64 0, i64 0
  %2450 = load i32, ptr %208, align 4, !tbaa !13
  %2451 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %2449, ptr noundef @.str.447, i32 noundef %2450) #9
  %2452 = getelementptr inbounds [32 x i8], ptr %209, i64 0, i64 0
  call void @llvm.lifetime.start.p0(i64 8, ptr %210) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %210, float noundef -1.000000e+00, float noundef 0.000000e+00)
  %2453 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef %2452, ptr noundef nonnull align 4 dereferenceable(8) %210)
  call void @llvm.lifetime.end.p0(i64 8, ptr %210) #9
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr %209) #9
  br label %2454

2454:                                             ; preds = %2448
  %2455 = load i32, ptr %208, align 4, !tbaa !13
  %2456 = add nsw i32 %2455, 1
  store i32 %2456, ptr %208, align 4, !tbaa !13
  br label %2444, !llvm.loop !74

2457:                                             ; preds = %2447
  call void @_ZN5ImGui8EndChildEv()
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 1, ptr %203) #9
  br label %2458

2458:                                             ; preds = %2457, %2377
  %2459 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.448)
  br i1 %2459, label %2460, label %2470

2460:                                             ; preds = %2458
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.449)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.450)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 1.000000e+02)
  %2461 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.451, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.452)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.453)
  %2462 = call noundef float @_ZN5ImGui14GetWindowWidthEv()
  %2463 = fmul float %2462, 5.000000e-01
  call void @_ZN5ImGui13PushItemWidthEf(float noundef %2463)
  %2464 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.454, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.455)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.456)
  %2465 = call noundef float @_ZN5ImGui26GetContentRegionAvailWidthEv()
  %2466 = fmul float %2465, 5.000000e-01
  call void @_ZN5ImGui13PushItemWidthEf(float noundef %2466)
  %2467 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.457, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.458)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.459)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef -1.000000e+02)
  %2468 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.460, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.461)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.462)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef -1.000000e+00)
  %2469 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.463, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %2470

2470:                                             ; preds = %2460, %2458
  %2471 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.464)
  br i1 %2471, label %2472, label %2551

2472:                                             ; preds = %2470
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.465)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.466)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 16, ptr %211) #9
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %211, 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) %211, ptr noundef @.str.236)
  call void @llvm.lifetime.end.p0(i64 16, ptr %211) #9
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.467)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef 2.000000e+01)
  call void @llvm.lifetime.start.p0(i64 16, ptr %212) #9
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %212, 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) %212, ptr noundef @.str.236)
  call void @llvm.lifetime.end.p0(i64 16, ptr %212) #9
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.468)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %213) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %213, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2473 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.149, ptr noundef nonnull align 4 dereferenceable(8) %213)
  call void @llvm.lifetime.end.p0(i64 8, ptr %213) #9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %214) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %214, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2474 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.148, ptr noundef nonnull align 4 dereferenceable(8) %214)
  call void @llvm.lifetime.end.p0(i64 8, ptr %214) #9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %215) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %215, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2475 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.469, ptr noundef nonnull align 4 dereferenceable(8) %215)
  call void @llvm.lifetime.end.p0(i64 8, ptr %215) #9
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.470)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2476 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.471)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.472)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.473)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.474)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.475)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.473)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %2477 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.474)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  %2478 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.475)
  %2479 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.476, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2c1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2480 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.477, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2c2)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2481 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.478, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2c3)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2482 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.479, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2c4)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 8.000000e+01)
  call void @llvm.lifetime.start.p0(i64 32, ptr %216) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %216, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.items.480, i64 32, i1 false)
  %2483 = getelementptr inbounds [4 x ptr], ptr %216, i64 0, i64 0
  %2484 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef @.str.207, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4item, ptr noundef %2483, i32 noundef 4, i32 noundef -1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2485 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef @.str.481, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f0_0, float noundef 0.000000e+00, float noundef 5.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2486 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef @.str.482, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f1_2, float noundef 0.000000e+00, float noundef 5.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2487 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef @.str.483, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f2_1, float noundef 0.000000e+00, float noundef 5.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 8.000000e+01)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.484)
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #9
  store i32 0, ptr %217, align 4, !tbaa !13
  br label %2488

2488:                                             ; preds = %2503, %2472
  %2489 = load i32, ptr %217, align 4, !tbaa !13
  %2490 = icmp slt i32 %2489, 4
  br i1 %2490, label %2492, label %2491

2491:                                             ; preds = %2488
  store i32 64, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #9
  br label %2506

2492:                                             ; preds = %2488
  %2493 = load i32, ptr %217, align 4, !tbaa !13
  %2494 = icmp sgt i32 %2493, 0
  br i1 %2494, label %2495, label %2496

2495:                                             ; preds = %2492
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %2496

2496:                                             ; preds = %2495, %2492
  %2497 = load i32, ptr %217, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %2497)
  %2498 = load i32, ptr %217, align 4, !tbaa !13
  %2499 = sext i32 %2498 to i64
  %2500 = getelementptr inbounds [4 x i32], ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_1, i64 0, i64 %2499
  %2501 = getelementptr inbounds [4 x ptr], ptr %216, i64 0, i64 0
  %2502 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef @.str.390, ptr noundef %2500, ptr noundef %2501, i32 noundef 4, i32 noundef -1)
  call void @_ZN5ImGui5PopIDEv()
  br label %2503

2503:                                             ; preds = %2496
  %2504 = load i32, ptr %217, align 4, !tbaa !13
  %2505 = add nsw i32 %2504, 1
  store i32 %2505, ptr %217, align 4, !tbaa !13
  br label %2488, !llvm.loop !75

2506:                                             ; preds = %2491
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %218) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %218, float noundef 4.000000e+01, float noundef 4.000000e+01)
  %2507 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.485, ptr noundef nonnull align 4 dereferenceable(8) %218)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui5DummyERK6ImVec2(ptr noundef nonnull align 4 dereferenceable(8) %218)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2508 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.486, ptr noundef nonnull align 4 dereferenceable(8) %218)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.487)
  call void @llvm.lifetime.start.p0(i64 8, ptr %219) #9
  %2509 = call noundef nonnull align 4 dereferenceable(840) ptr @_ZN5ImGui8GetStyleEv()
  store ptr %2509, ptr %219, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #9
  store i32 20, ptr %220, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %222) #9
  %2510 = call <2 x float> @_ZN5ImGui12GetWindowPosEv()
  store <2 x float> %2510, ptr %222, align 4
  %2511 = getelementptr inbounds %struct.ImVec2, ptr %222, i32 0, i32 0
  %2512 = load float, ptr %2511, align 4, !tbaa !30
  call void @llvm.lifetime.start.p0(i64 8, ptr %223) #9
  %2513 = call <2 x float> @_ZN5ImGui25GetWindowContentRegionMaxEv()
  store <2 x float> %2513, ptr %223, align 4
  %2514 = getelementptr inbounds %struct.ImVec2, ptr %223, i32 0, i32 0
  %2515 = load float, ptr %2514, align 4, !tbaa !30
  %2516 = fadd float %2512, %2515
  call void @llvm.lifetime.end.p0(i64 8, ptr %223) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %222) #9
  store float %2516, ptr %221, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #9
  store i32 0, ptr %224, align 4, !tbaa !13
  br label %2517

2517:                                             ; preds = %2547, %2506
  %2518 = load i32, ptr %224, align 4, !tbaa !13
  %2519 = load i32, ptr %220, align 4, !tbaa !13
  %2520 = icmp slt i32 %2518, %2519
  br i1 %2520, label %2522, label %2521

2521:                                             ; preds = %2517
  store i32 67, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #9
  br label %2550

2522:                                             ; preds = %2517
  %2523 = load i32, ptr %224, align 4, !tbaa !13
  call void @_ZN5ImGui6PushIDEi(i32 noundef %2523)
  %2524 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.488, ptr noundef nonnull align 4 dereferenceable(8) %218)
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %226) #9
  %2525 = call <2 x float> @_ZN5ImGui14GetItemRectMaxEv()
  store <2 x float> %2525, ptr %226, align 4
  %2526 = getelementptr inbounds %struct.ImVec2, ptr %226, i32 0, i32 0
  %2527 = load float, ptr %2526, align 4, !tbaa !30
  call void @llvm.lifetime.end.p0(i64 8, ptr %226) #9
  store float %2527, ptr %225, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #9
  %2528 = load float, ptr %225, align 4, !tbaa !24
  %2529 = load ptr, ptr %219, align 8, !tbaa !5
  %2530 = getelementptr inbounds %struct.ImGuiStyle, ptr %2529, i32 0, i32 13
  %2531 = getelementptr inbounds %struct.ImVec2, ptr %2530, i32 0, i32 0
  %2532 = load float, ptr %2531, align 4, !tbaa !76
  %2533 = fadd float %2528, %2532
  %2534 = getelementptr inbounds %struct.ImVec2, ptr %218, i32 0, i32 0
  %2535 = load float, ptr %2534, align 4, !tbaa !30
  %2536 = fadd float %2533, %2535
  store float %2536, ptr %227, align 4, !tbaa !24
  %2537 = load i32, ptr %224, align 4, !tbaa !13
  %2538 = add nsw i32 %2537, 1
  %2539 = load i32, ptr %220, align 4, !tbaa !13
  %2540 = icmp slt i32 %2538, %2539
  br i1 %2540, label %2541, label %2546

2541:                                             ; preds = %2522
  %2542 = load float, ptr %227, align 4, !tbaa !24
  %2543 = load float, ptr %221, align 4, !tbaa !24
  %2544 = fcmp olt float %2542, %2543
  br i1 %2544, label %2545, label %2546

2545:                                             ; preds = %2541
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %2546

2546:                                             ; preds = %2545, %2541, %2522
  call void @_ZN5ImGui5PopIDEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #9
  br label %2547

2547:                                             ; preds = %2546
  %2548 = load i32, ptr %224, align 4, !tbaa !13
  %2549 = add nsw i32 %2548, 1
  store i32 %2549, ptr %224, align 4, !tbaa !13
  br label %2517, !llvm.loop !77

2550:                                             ; preds = %2521
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %219) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %218) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %216) #9
  br label %2551

2551:                                             ; preds = %2550, %2470
  %2552 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.489)
  br i1 %2552, label %2553, label %2593

2553:                                             ; preds = %2551
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.490)
  call void @_ZN5ImGui10BeginGroupEv()
  call void @_ZN5ImGui10BeginGroupEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %228) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %228, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2554 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.491, ptr noundef nonnull align 4 dereferenceable(8) %228)
  call void @llvm.lifetime.end.p0(i64 8, ptr %228) #9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %229) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %229, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2555 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.492, ptr noundef nonnull align 4 dereferenceable(8) %229)
  call void @llvm.lifetime.end.p0(i64 8, ptr %229) #9
  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 %230) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %230, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2556 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.493, ptr noundef nonnull align 4 dereferenceable(8) %230)
  call void @llvm.lifetime.end.p0(i64 8, ptr %230) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %231) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %231, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2557 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.494, ptr noundef nonnull align 4 dereferenceable(8) %231)
  call void @llvm.lifetime.end.p0(i64 8, ptr %231) #9
  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 %232) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %232, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2558 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.495, ptr noundef nonnull align 4 dereferenceable(8) %232)
  call void @llvm.lifetime.end.p0(i64 8, ptr %232) #9
  call void @_ZN5ImGui8EndGroupEv()
  %2559 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %2559, label %2560, label %2561

2560:                                             ; preds = %2553
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef @.str.496)
  br label %2561

2561:                                             ; preds = %2560, %2553
  call void @llvm.lifetime.start.p0(i64 8, ptr %233) #9
  %2562 = call <2 x float> @_ZN5ImGui15GetItemRectSizeEv()
  store <2 x float> %2562, ptr %233, align 4
  call void @llvm.lifetime.start.p0(i64 20, ptr %234) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %234, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.values, i64 20, i1 false)
  %2563 = getelementptr inbounds [5 x float], ptr %234, i64 0, i64 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %235, ptr align 4 %233, i64 8, i1 false), !tbaa.struct !32
  %2564 = load <2 x float>, ptr %235, align 4
  call void @_ZN5ImGui13PlotHistogramEPKcPKfiiS1_ff6ImVec2i(ptr noundef @.str.497, ptr noundef %2563, i32 noundef 5, i32 noundef 0, ptr noundef null, float noundef 0.000000e+00, float noundef 1.000000e+00, <2 x float> %2564, i32 noundef 4)
  call void @llvm.lifetime.start.p0(i64 8, ptr %236) #9
  %2565 = getelementptr inbounds %struct.ImVec2, ptr %233, i32 0, i32 0
  %2566 = load float, ptr %2565, align 4, !tbaa !30
  %2567 = call noundef nonnull align 4 dereferenceable(840) ptr @_ZN5ImGui8GetStyleEv()
  %2568 = getelementptr inbounds %struct.ImGuiStyle, ptr %2567, i32 0, i32 13
  %2569 = getelementptr inbounds %struct.ImVec2, ptr %2568, i32 0, i32 0
  %2570 = load float, ptr %2569, align 4, !tbaa !76
  %2571 = fsub float %2566, %2570
  %2572 = fmul float %2571, 5.000000e-01
  %2573 = getelementptr inbounds %struct.ImVec2, ptr %233, i32 0, i32 1
  %2574 = load float, ptr %2573, align 4, !tbaa !31
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %236, float noundef %2572, float noundef %2574)
  %2575 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.498, ptr noundef nonnull align 4 dereferenceable(8) %236)
  call void @llvm.lifetime.end.p0(i64 8, ptr %236) #9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %237) #9
  %2576 = getelementptr inbounds %struct.ImVec2, ptr %233, i32 0, i32 0
  %2577 = load float, ptr %2576, align 4, !tbaa !30
  %2578 = call noundef nonnull align 4 dereferenceable(840) ptr @_ZN5ImGui8GetStyleEv()
  %2579 = getelementptr inbounds %struct.ImGuiStyle, ptr %2578, i32 0, i32 13
  %2580 = getelementptr inbounds %struct.ImVec2, ptr %2579, i32 0, i32 0
  %2581 = load float, ptr %2580, align 4, !tbaa !76
  %2582 = fsub float %2577, %2581
  %2583 = fmul float %2582, 5.000000e-01
  %2584 = getelementptr inbounds %struct.ImVec2, ptr %233, i32 0, i32 1
  %2585 = load float, ptr %2584, align 4, !tbaa !31
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %237, float noundef %2583, float noundef %2585)
  %2586 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.499, ptr noundef nonnull align 4 dereferenceable(8) %237)
  call void @llvm.lifetime.end.p0(i64 8, ptr %237) #9
  call void @_ZN5ImGui8EndGroupEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2587 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.500, ptr noundef nonnull align 4 dereferenceable(8) %233)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2588 = call noundef zeroext i1 @_ZN5ImGui13ListBoxHeaderEPKcRK6ImVec2(ptr noundef @.str.501, ptr noundef nonnull align 4 dereferenceable(8) %233)
  br i1 %2588, label %2589, label %2592

2589:                                             ; preds = %2561
  call void @llvm.lifetime.start.p0(i64 8, ptr %238) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %238, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2590 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef @.str.502, i1 noundef zeroext true, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %238)
  call void @llvm.lifetime.end.p0(i64 8, ptr %238) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %239) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %239, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2591 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef @.str.503, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %239)
  call void @llvm.lifetime.end.p0(i64 8, ptr %239) #9
  call void @_ZN5ImGui13ListBoxFooterEv()
  br label %2592

2592:                                             ; preds = %2589, %2561
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 20, ptr %234) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %233) #9
  br label %2593

2593:                                             ; preds = %2592, %2551
  %2594 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.504)
  br i1 %2594, label %2595, label %2644

2595:                                             ; preds = %2593
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.505)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.506)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.507)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.149)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.149)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.507)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.506)
  call void @llvm.lifetime.start.p0(i64 8, ptr %240) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %240, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2596 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.508, ptr noundef nonnull align 4 dereferenceable(8) %240)
  call void @llvm.lifetime.end.p0(i64 8, ptr %240) #9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.149)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.507)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.149)
  call void @llvm.lifetime.start.p0(i64 8, ptr %241) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %241, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2597 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.509, ptr noundef nonnull align 4 dereferenceable(8) %241)
  call void @llvm.lifetime.end.p0(i64 8, ptr %241) #9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.507)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.149)
  call void @llvm.lifetime.start.p0(i64 8, ptr %242) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %242, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2598 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.510, ptr noundef nonnull align 4 dereferenceable(8) %242)
  call void @llvm.lifetime.end.p0(i64 8, ptr %242) #9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.511)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2599 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.512)
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.513)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %243) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %243, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2600 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.514, ptr noundef nonnull align 4 dereferenceable(8) %243)
  call void @llvm.lifetime.end.p0(i64 8, ptr %243) #9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.515)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2601 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.516)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %244) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %244, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2602 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.517, ptr noundef nonnull align 4 dereferenceable(8) %244)
  call void @llvm.lifetime.end.p0(i64 8, ptr %244) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #9
  %2603 = call noundef nonnull align 4 dereferenceable(840) ptr @_ZN5ImGui8GetStyleEv()
  %2604 = getelementptr inbounds %struct.ImGuiStyle, ptr %2603, i32 0, i32 14
  %2605 = getelementptr inbounds %struct.ImVec2, ptr %2604, i32 0, i32 0
  %2606 = load float, ptr %2605, align 4, !tbaa !22
  store float %2606, ptr %245, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 8, ptr %246) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %246, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2607 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.518, ptr noundef nonnull align 4 dereferenceable(8) %246)
  call void @llvm.lifetime.end.p0(i64 8, ptr %246) #9
  %2608 = load float, ptr %245, align 4, !tbaa !24
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %2608)
  %2609 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.519)
  br i1 %2609, label %2610, label %2621

2610:                                             ; preds = %2595
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #9
  store i32 0, ptr %247, align 4, !tbaa !13
  br label %2611

2611:                                             ; preds = %2617, %2610
  %2612 = load i32, ptr %247, align 4, !tbaa !13
  %2613 = icmp slt i32 %2612, 6
  br i1 %2613, label %2615, label %2614

2614:                                             ; preds = %2611
  store i32 70, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #9
  br label %2620

2615:                                             ; preds = %2611
  %2616 = load i32, ptr %247, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.520, i32 noundef %2616)
  br label %2617

2617:                                             ; preds = %2615
  %2618 = load i32, ptr %247, align 4, !tbaa !13
  %2619 = add nsw i32 %2618, 1
  store i32 %2619, ptr %247, align 4, !tbaa !13
  br label %2611, !llvm.loop !78

2620:                                             ; preds = %2614
  call void @_ZN5ImGui7TreePopEv()
  br label %2621

2621:                                             ; preds = %2620, %2595
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void @llvm.lifetime.start.p0(i64 1, ptr %248) #9
  %2622 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.521)
  %2623 = zext i1 %2622 to i8
  store i8 %2623, ptr %248, align 1, !tbaa !9
  %2624 = load float, ptr %245, align 4, !tbaa !24
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %2624)
  call void @llvm.lifetime.start.p0(i64 8, ptr %249) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %249, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2625 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.522, ptr noundef nonnull align 4 dereferenceable(8) %249)
  call void @llvm.lifetime.end.p0(i64 8, ptr %249) #9
  %2626 = load i8, ptr %248, align 1, !tbaa !9, !range !11, !noundef !12
  %2627 = trunc i8 %2626 to i1
  br i1 %2627, label %2628, label %2639

2628:                                             ; preds = %2621
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #9
  store i32 0, ptr %250, align 4, !tbaa !13
  br label %2629

2629:                                             ; preds = %2635, %2628
  %2630 = load i32, ptr %250, align 4, !tbaa !13
  %2631 = icmp slt i32 %2630, 6
  br i1 %2631, label %2633, label %2632

2632:                                             ; preds = %2629
  store i32 73, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #9
  br label %2638

2633:                                             ; preds = %2629
  %2634 = load i32, ptr %250, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.520, i32 noundef %2634)
  br label %2635

2635:                                             ; preds = %2633
  %2636 = load i32, ptr %250, align 4, !tbaa !13
  %2637 = add nsw i32 %2636, 1
  store i32 %2637, ptr %250, align 4, !tbaa !13
  br label %2629, !llvm.loop !79

2638:                                             ; preds = %2632
  call void @_ZN5ImGui7TreePopEv()
  br label %2639

2639:                                             ; preds = %2638, %2621
  call void @llvm.lifetime.start.p0(i64 8, ptr %251) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %251, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2640 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.523, ptr noundef nonnull align 4 dereferenceable(8) %251)
  call void @llvm.lifetime.end.p0(i64 8, ptr %251) #9
  %2641 = load float, ptr %245, align 4, !tbaa !24
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %2641)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.524)
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.525)
  %2642 = load float, ptr %245, align 4, !tbaa !24
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %2642)
  call void @llvm.lifetime.start.p0(i64 8, ptr %252) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %252, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2643 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.526, ptr noundef nonnull align 4 dereferenceable(8) %252)
  call void @llvm.lifetime.end.p0(i64 8, ptr %252) #9
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 1, ptr %248) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #9
  br label %2644

2644:                                             ; preds = %2639, %2593
  %2645 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.527)
  br i1 %2645, label %2646, label %2759

2646:                                             ; preds = %2644
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.528)
  %2647 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.529, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5track)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 1.000000e+02)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.300000e+02, float noundef -1.000000e+00)
  %2648 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef @.str.530, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE10track_line, float noundef 2.500000e-01, i32 noundef 0, i32 noundef 99, ptr noundef @.str.531)
  %2649 = zext i1 %2648 to i32
  %2650 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !9, !range !11, !noundef !12
  %2651 = trunc i8 %2650 to i1
  %2652 = zext i1 %2651 to i32
  %2653 = or i32 %2652, %2649
  %2654 = icmp ne i32 %2653, 0
  %2655 = zext i1 %2654 to i8
  store i8 %2655, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %253) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %254) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %254, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2656 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.532, ptr noundef nonnull align 4 dereferenceable(8) %254)
  call void @llvm.lifetime.end.p0(i64 8, ptr %254) #9
  %2657 = zext i1 %2656 to i8
  store i8 %2657, ptr %253, align 1, !tbaa !9
  call void @_ZN5ImGui8SameLineEff(float noundef 1.300000e+02, float noundef -1.000000e+00)
  %2658 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef @.str.533, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE12scroll_to_px, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 9999, ptr noundef @.str.534)
  %2659 = zext i1 %2658 to i32
  %2660 = load i8, ptr %253, align 1, !tbaa !9, !range !11, !noundef !12
  %2661 = trunc i8 %2660 to i1
  %2662 = zext i1 %2661 to i32
  %2663 = or i32 %2662, %2659
  %2664 = icmp ne i32 %2663, 0
  %2665 = zext i1 %2664 to i8
  store i8 %2665, ptr %253, align 1, !tbaa !9
  call void @_ZN5ImGui12PopItemWidthEv()
  %2666 = load i8, ptr %253, align 1, !tbaa !9, !range !11, !noundef !12
  %2667 = trunc i8 %2666 to i1
  br i1 %2667, label %2668, label %2669

2668:                                             ; preds = %2646
  store i8 0, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !9
  br label %2669

2669:                                             ; preds = %2668, %2646
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #9
  store i32 0, ptr %255, align 4, !tbaa !13
  br label %2670

2670:                                             ; preds = %2755, %2669
  %2671 = load i32, ptr %255, align 4, !tbaa !13
  %2672 = icmp slt i32 %2671, 5
  br i1 %2672, label %2674, label %2673

2673:                                             ; preds = %2670
  store i32 76, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #9
  br label %2758

2674:                                             ; preds = %2670
  %2675 = load i32, ptr %255, align 4, !tbaa !13
  %2676 = icmp sgt i32 %2675, 0
  br i1 %2676, label %2677, label %2678

2677:                                             ; preds = %2674
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %2678

2678:                                             ; preds = %2677, %2674
  call void @_ZN5ImGui10BeginGroupEv()
  %2679 = load i32, ptr %255, align 4, !tbaa !13
  %2680 = icmp eq i32 %2679, 0
  br i1 %2680, label %2681, label %2682

2681:                                             ; preds = %2678
  br label %2699

2682:                                             ; preds = %2678
  %2683 = load i32, ptr %255, align 4, !tbaa !13
  %2684 = icmp eq i32 %2683, 1
  br i1 %2684, label %2685, label %2686

2685:                                             ; preds = %2682
  br label %2697

2686:                                             ; preds = %2682
  %2687 = load i32, ptr %255, align 4, !tbaa !13
  %2688 = icmp eq i32 %2687, 2
  br i1 %2688, label %2689, label %2690

2689:                                             ; preds = %2686
  br label %2695

2690:                                             ; preds = %2686
  %2691 = load i32, ptr %255, align 4, !tbaa !13
  %2692 = icmp eq i32 %2691, 3
  %2693 = zext i1 %2692 to i64
  %2694 = select i1 %2692, ptr @.str.539, ptr @.str.540
  br label %2695

2695:                                             ; preds = %2690, %2689
  %2696 = phi ptr [ @.str.538, %2689 ], [ %2694, %2690 ]
  br label %2697

2697:                                             ; preds = %2695, %2685
  %2698 = phi ptr [ @.str.537, %2685 ], [ %2696, %2695 ]
  br label %2699

2699:                                             ; preds = %2697, %2681
  %2700 = phi ptr [ @.str.536, %2681 ], [ %2698, %2697 ]
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.535, ptr noundef %2700)
  %2701 = load i32, ptr %255, align 4, !tbaa !13
  %2702 = sext i32 %2701 to i64
  %2703 = inttoptr i64 %2702 to ptr
  %2704 = call noundef i32 @_ZN5ImGui5GetIDEPKv(ptr noundef %2703)
  call void @llvm.lifetime.start.p0(i64 8, ptr %256) #9
  %2705 = call noundef float @_ZN5ImGui14GetWindowWidthEv()
  %2706 = fmul float %2705, 0x3FC5C28F60000000
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %256, float noundef %2706, float noundef 2.000000e+02)
  %2707 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEjRK6ImVec2bi(i32 noundef %2704, ptr noundef nonnull align 4 dereferenceable(8) %256, i1 noundef zeroext true, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr %256) #9
  %2708 = load i8, ptr %253, align 1, !tbaa !9, !range !11, !noundef !12
  %2709 = trunc i8 %2708 to i1
  br i1 %2709, label %2710, label %2720

2710:                                             ; preds = %2699
  call void @llvm.lifetime.start.p0(i64 8, ptr %257) #9
  %2711 = call <2 x float> @_ZN5ImGui17GetCursorStartPosEv()
  store <2 x float> %2711, ptr %257, align 4
  %2712 = getelementptr inbounds %struct.ImVec2, ptr %257, i32 0, i32 1
  %2713 = load float, ptr %2712, align 4, !tbaa !31
  %2714 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12scroll_to_px, align 4, !tbaa !13
  %2715 = sitofp i32 %2714 to float
  %2716 = fadd float %2713, %2715
  %2717 = load i32, ptr %255, align 4, !tbaa !13
  %2718 = sitofp i32 %2717 to float
  %2719 = fmul float %2718, 2.500000e-01
  call void @_ZN5ImGui17SetScrollFromPosYEff(float noundef %2716, float noundef %2719)
  call void @llvm.lifetime.end.p0(i64 8, ptr %257) #9
  br label %2720

2720:                                             ; preds = %2710, %2699
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #9
  store i32 0, ptr %258, align 4, !tbaa !13
  br label %2721

2721:                                             ; preds = %2745, %2720
  %2722 = load i32, ptr %258, align 4, !tbaa !13
  %2723 = icmp slt i32 %2722, 100
  br i1 %2723, label %2725, label %2724

2724:                                             ; preds = %2721
  store i32 79, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #9
  br label %2748

2725:                                             ; preds = %2721
  %2726 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !9, !range !11, !noundef !12
  %2727 = trunc i8 %2726 to i1
  br i1 %2727, label %2728, label %2742

2728:                                             ; preds = %2725
  %2729 = load i32, ptr %258, align 4, !tbaa !13
  %2730 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10track_line, align 4, !tbaa !13
  %2731 = icmp eq i32 %2729, %2730
  br i1 %2731, label %2732, label %2742

2732:                                             ; preds = %2728
  call void @llvm.lifetime.start.p0(i64 16, ptr %259) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %260) #9
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %260, i32 noundef 255, i32 noundef 255, i32 noundef 0, i32 noundef 255)
  %2733 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %260)
  %2734 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %259, i32 0, i32 0
  %2735 = extractvalue { <2 x float>, <2 x float> } %2733, 0
  store <2 x float> %2735, ptr %2734, align 4
  %2736 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %259, i32 0, i32 1
  %2737 = extractvalue { <2 x float>, <2 x float> } %2733, 1
  store <2 x float> %2737, ptr %2736, align 4
  %2738 = load i32, ptr %258, align 4, !tbaa !13
  call void (ptr, ptr, ...) @_ZN5ImGui11TextColoredERK6ImVec4PKcz(ptr noundef nonnull align 4 dereferenceable(16) %259, ptr noundef @.str.541, i32 noundef %2738)
  call void @llvm.lifetime.end.p0(i64 16, ptr %260) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %259) #9
  %2739 = load i32, ptr %255, align 4, !tbaa !13
  %2740 = sitofp i32 %2739 to float
  %2741 = fmul float %2740, 2.500000e-01
  call void @_ZN5ImGui14SetScrollHereYEf(float noundef %2741)
  br label %2744

2742:                                             ; preds = %2728, %2725
  %2743 = load i32, ptr %258, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.541, i32 noundef %2743)
  br label %2744

2744:                                             ; preds = %2742, %2732
  br label %2745

2745:                                             ; preds = %2744
  %2746 = load i32, ptr %258, align 4, !tbaa !13
  %2747 = add nsw i32 %2746, 1
  store i32 %2747, ptr %258, align 4, !tbaa !13
  br label %2721, !llvm.loop !80

2748:                                             ; preds = %2724
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #9
  %2749 = call noundef float @_ZN5ImGui10GetScrollYEv()
  store float %2749, ptr %261, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #9
  %2750 = call noundef float @_ZN5ImGui13GetScrollMaxYEv()
  store float %2750, ptr %262, align 4, !tbaa !24
  call void @_ZN5ImGui8EndChildEv()
  %2751 = load float, ptr %261, align 4, !tbaa !24
  %2752 = fpext float %2751 to double
  %2753 = load float, ptr %262, align 4, !tbaa !24
  %2754 = fpext float %2753 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.542, double noundef %2752, double noundef %2754)
  call void @_ZN5ImGui8EndGroupEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #9
  br label %2755

2755:                                             ; preds = %2748
  %2756 = load i32, ptr %255, align 4, !tbaa !13
  %2757 = add nsw i32 %2756, 1
  store i32 %2757, ptr %255, align 4, !tbaa !13
  br label %2670, !llvm.loop !81

2758:                                             ; preds = %2673
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 1, ptr %253) #9
  br label %2759

2759:                                             ; preds = %2758, %2644
  %2760 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.543)
  br i1 %2760, label %2761, label %2909

2761:                                             ; preds = %2759
  call void @_ZN5ImGui6BulletEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.544)
  call void @_ZN5ImGui6BulletEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.545)
  %2762 = call noundef zeroext i1 @_ZN5ImGui9SliderIntEPKcPiiiS1_(ptr noundef @.str.255, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5lines, i32 noundef 1, i32 noundef 15, ptr noundef @.str.95)
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 11, float noundef 3.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %263) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %263, float noundef 2.000000e+00, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef 10, ptr noundef nonnull align 4 dereferenceable(8) %263)
  call void @llvm.lifetime.end.p0(i64 8, ptr %263) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %264) #9
  %2763 = call noundef float @_ZN5ImGui25GetFrameHeightWithSpacingEv()
  %2764 = call float @llvm.fmuladd.f32(float %2763, float 7.000000e+00, float 3.000000e+01)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %264, float noundef 0.000000e+00, float noundef %2764)
  %2765 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef @.str.546, ptr noundef nonnull align 4 dereferenceable(8) %264, i1 noundef zeroext true, i32 noundef 2048)
  call void @llvm.lifetime.end.p0(i64 8, ptr %264) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #9
  store i32 0, ptr %265, align 4, !tbaa !13
  br label %2766

2766:                                             ; preds = %2874, %2761
  %2767 = load i32, ptr %265, align 4, !tbaa !13
  %2768 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5lines, align 4, !tbaa !13
  %2769 = icmp slt i32 %2767, %2768
  br i1 %2769, label %2771, label %2770

2770:                                             ; preds = %2766
  store i32 82, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #9
  br label %2877

2771:                                             ; preds = %2766
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #9
  %2772 = load i32, ptr %265, align 4, !tbaa !13
  %2773 = and i32 %2772, 1
  %2774 = icmp ne i32 %2773, 0
  br i1 %2774, label %2775, label %2778

2775:                                             ; preds = %2771
  %2776 = load i32, ptr %265, align 4, !tbaa !13
  %2777 = mul nsw i32 %2776, 9
  br label %2781

2778:                                             ; preds = %2771
  %2779 = load i32, ptr %265, align 4, !tbaa !13
  %2780 = mul nsw i32 %2779, 3
  br label %2781

2781:                                             ; preds = %2778, %2775
  %2782 = phi i32 [ %2777, %2775 ], [ %2780, %2778 ]
  %2783 = add nsw i32 10, %2782
  store i32 %2783, ptr %266, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #9
  store i32 0, ptr %267, align 4, !tbaa !13
  br label %2784

2784:                                             ; preds = %2870, %2781
  %2785 = load i32, ptr %267, align 4, !tbaa !13
  %2786 = load i32, ptr %266, align 4, !tbaa !13
  %2787 = icmp slt i32 %2785, %2786
  br i1 %2787, label %2789, label %2788

2788:                                             ; preds = %2784
  store i32 85, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #9
  br label %2873

2789:                                             ; preds = %2784
  %2790 = load i32, ptr %267, align 4, !tbaa !13
  %2791 = icmp sgt i32 %2790, 0
  br i1 %2791, label %2792, label %2793

2792:                                             ; preds = %2789
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %2793

2793:                                             ; preds = %2792, %2789
  %2794 = load i32, ptr %267, align 4, !tbaa !13
  %2795 = load i32, ptr %265, align 4, !tbaa !13
  %2796 = mul nsw i32 %2795, 1000
  %2797 = add nsw i32 %2794, %2796
  call void @_ZN5ImGui6PushIDEi(i32 noundef %2797)
  call void @llvm.lifetime.start.p0(i64 16, ptr %268) #9
  %2798 = getelementptr inbounds [16 x i8], ptr %268, i64 0, i64 0
  %2799 = load i32, ptr %267, align 4, !tbaa !13
  %2800 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %2798, ptr noundef @.str.95, i32 noundef %2799) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %269) #9
  %2801 = load i32, ptr %267, align 4, !tbaa !13
  %2802 = srem i32 %2801, 15
  %2803 = icmp ne i32 %2802, 0
  br i1 %2803, label %2805, label %2804

2804:                                             ; preds = %2793
  br label %2821

2805:                                             ; preds = %2793
  %2806 = load i32, ptr %267, align 4, !tbaa !13
  %2807 = srem i32 %2806, 3
  %2808 = icmp ne i32 %2807, 0
  br i1 %2808, label %2810, label %2809

2809:                                             ; preds = %2805
  br label %2819

2810:                                             ; preds = %2805
  %2811 = load i32, ptr %267, align 4, !tbaa !13
  %2812 = srem i32 %2811, 5
  %2813 = icmp ne i32 %2812, 0
  br i1 %2813, label %2815, label %2814

2814:                                             ; preds = %2810
  br label %2817

2815:                                             ; preds = %2810
  %2816 = getelementptr inbounds [16 x i8], ptr %268, i64 0, i64 0
  br label %2817

2817:                                             ; preds = %2815, %2814
  %2818 = phi ptr [ @.str.549, %2814 ], [ %2816, %2815 ]
  br label %2819

2819:                                             ; preds = %2817, %2809
  %2820 = phi ptr [ @.str.548, %2809 ], [ %2818, %2817 ]
  br label %2821

2821:                                             ; preds = %2819, %2804
  %2822 = phi ptr [ @.str.547, %2804 ], [ %2820, %2819 ]
  store ptr %2822, ptr %269, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #9
  %2823 = load i32, ptr %267, align 4, !tbaa !13
  %2824 = sitofp i32 %2823 to float
  %2825 = fmul float %2824, 0x3FA99999A0000000
  store float %2825, ptr %270, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 16, ptr %271) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %272) #9
  %2826 = load float, ptr %270, align 4, !tbaa !24
  %2827 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %2826, float noundef 0x3FE3333340000000, float noundef 0x3FE3333340000000, float noundef 1.000000e+00)
  %2828 = getelementptr inbounds %struct.ImColor, ptr %272, i32 0, i32 0
  %2829 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %2828, i32 0, i32 0
  %2830 = extractvalue { <2 x float>, <2 x float> } %2827, 0
  store <2 x float> %2830, ptr %2829, align 4
  %2831 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %2828, i32 0, i32 1
  %2832 = extractvalue { <2 x float>, <2 x float> } %2827, 1
  store <2 x float> %2832, ptr %2831, align 4
  %2833 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %272)
  %2834 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %271, i32 0, i32 0
  %2835 = extractvalue { <2 x float>, <2 x float> } %2833, 0
  store <2 x float> %2835, ptr %2834, align 4
  %2836 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %271, i32 0, i32 1
  %2837 = extractvalue { <2 x float>, <2 x float> } %2833, 1
  store <2 x float> %2837, ptr %2836, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 21, ptr noundef nonnull align 4 dereferenceable(16) %271)
  call void @llvm.lifetime.end.p0(i64 16, ptr %272) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %271) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %273) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %274) #9
  %2838 = load float, ptr %270, align 4, !tbaa !24
  %2839 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %2838, float noundef 0x3FE6666660000000, float noundef 0x3FE6666660000000, float noundef 1.000000e+00)
  %2840 = getelementptr inbounds %struct.ImColor, ptr %274, i32 0, i32 0
  %2841 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %2840, i32 0, i32 0
  %2842 = extractvalue { <2 x float>, <2 x float> } %2839, 0
  store <2 x float> %2842, ptr %2841, align 4
  %2843 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %2840, i32 0, i32 1
  %2844 = extractvalue { <2 x float>, <2 x float> } %2839, 1
  store <2 x float> %2844, ptr %2843, align 4
  %2845 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %274)
  %2846 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %273, i32 0, i32 0
  %2847 = extractvalue { <2 x float>, <2 x float> } %2845, 0
  store <2 x float> %2847, ptr %2846, align 4
  %2848 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %273, i32 0, i32 1
  %2849 = extractvalue { <2 x float>, <2 x float> } %2845, 1
  store <2 x float> %2849, ptr %2848, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 22, ptr noundef nonnull align 4 dereferenceable(16) %273)
  call void @llvm.lifetime.end.p0(i64 16, ptr %274) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %273) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %275) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %276) #9
  %2850 = load float, ptr %270, align 4, !tbaa !24
  %2851 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %2850, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, float noundef 1.000000e+00)
  %2852 = getelementptr inbounds %struct.ImColor, ptr %276, i32 0, i32 0
  %2853 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %2852, i32 0, i32 0
  %2854 = extractvalue { <2 x float>, <2 x float> } %2851, 0
  store <2 x float> %2854, ptr %2853, align 4
  %2855 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %2852, i32 0, i32 1
  %2856 = extractvalue { <2 x float>, <2 x float> } %2851, 1
  store <2 x float> %2856, ptr %2855, align 4
  %2857 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %276)
  %2858 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %275, i32 0, i32 0
  %2859 = extractvalue { <2 x float>, <2 x float> } %2857, 0
  store <2 x float> %2859, ptr %2858, align 4
  %2860 = getelementptr inbounds { <2 x float>, <2 x float> }, ptr %275, i32 0, i32 1
  %2861 = extractvalue { <2 x float>, <2 x float> } %2857, 1
  store <2 x float> %2861, ptr %2860, align 4
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 23, ptr noundef nonnull align 4 dereferenceable(16) %275)
  call void @llvm.lifetime.end.p0(i64 16, ptr %276) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %275) #9
  %2862 = load ptr, ptr %269, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %277) #9
  %2863 = load i32, ptr %265, align 4, !tbaa !13
  %2864 = load i32, ptr %267, align 4, !tbaa !13
  %2865 = add nsw i32 %2863, %2864
  %2866 = sitofp i32 %2865 to float
  %2867 = call float @sinf(float noundef %2866) #9
  %2868 = call float @llvm.fmuladd.f32(float %2867, float 2.000000e+01, float 4.000000e+01)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %277, float noundef %2868, float noundef 0.000000e+00)
  %2869 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef %2862, ptr noundef nonnull align 4 dereferenceable(8) %277)
  call void @llvm.lifetime.end.p0(i64 8, ptr %277) #9
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 3)
  call void @_ZN5ImGui5PopIDEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %269) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %268) #9
  br label %2870

2870:                                             ; preds = %2821
  %2871 = load i32, ptr %267, align 4, !tbaa !13
  %2872 = add nsw i32 %2871, 1
  store i32 %2872, ptr %267, align 4, !tbaa !13
  br label %2784, !llvm.loop !82

2873:                                             ; preds = %2788
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #9
  br label %2874

2874:                                             ; preds = %2873
  %2875 = load i32, ptr %265, align 4, !tbaa !13
  %2876 = add nsw i32 %2875, 1
  store i32 %2876, ptr %265, align 4, !tbaa !13
  br label %2766, !llvm.loop !83

2877:                                             ; preds = %2770
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #9
  %2878 = call noundef float @_ZN5ImGui10GetScrollXEv()
  store float %2878, ptr %278, align 4, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #9
  %2879 = call noundef float @_ZN5ImGui13GetScrollMaxXEv()
  store float %2879, ptr %279, align 4, !tbaa !24
  call void @_ZN5ImGui8EndChildEv()
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 2)
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #9
  store float 0.000000e+00, ptr %280, align 4, !tbaa !24
  %2880 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.550)
  %2881 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %2881, label %2882, label %2888

2882:                                             ; preds = %2877
  %2883 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %2884 = getelementptr inbounds %struct.ImGuiIO, ptr %2883, i32 0, i32 3
  %2885 = load float, ptr %2884, align 8, !tbaa !53
  %2886 = fneg float %2885
  %2887 = fmul float %2886, 1.000000e+03
  store float %2887, ptr %280, align 4, !tbaa !24
  br label %2888

2888:                                             ; preds = %2882, %2877
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.551)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2889 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef @.str.552)
  %2890 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %2890, label %2891, label %2896

2891:                                             ; preds = %2888
  %2892 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %2893 = getelementptr inbounds %struct.ImGuiIO, ptr %2892, i32 0, i32 3
  %2894 = load float, ptr %2893, align 8, !tbaa !53
  %2895 = fmul float %2894, 1.000000e+03
  store float %2895, ptr %280, align 4, !tbaa !24
  br label %2896

2896:                                             ; preds = %2891, %2888
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2897 = load float, ptr %278, align 4, !tbaa !24
  %2898 = fpext float %2897 to double
  %2899 = load float, ptr %279, align 4, !tbaa !24
  %2900 = fpext float %2899 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.553, double noundef %2898, double noundef %2900)
  %2901 = load float, ptr %280, align 4, !tbaa !24
  %2902 = fcmp une float %2901, 0.000000e+00
  br i1 %2902, label %2903, label %2908

2903:                                             ; preds = %2896
  call void @llvm.lifetime.start.p0(i64 8, ptr %281) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %281, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2904 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef @.str.546, ptr noundef nonnull align 4 dereferenceable(8) %281, i1 noundef zeroext false, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr %281) #9
  %2905 = call noundef float @_ZN5ImGui10GetScrollXEv()
  %2906 = load float, ptr %280, align 4, !tbaa !24
  %2907 = fadd float %2905, %2906
  call void @_ZN5ImGui10SetScrollXEf(float noundef %2907)
  call void @_ZN5ImGui3EndEv()
  br label %2908

2908:                                             ; preds = %2903, %2896
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #9
  br label %2909

2909:                                             ; preds = %2908, %2759
  %2910 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.554)
  br i1 %2910, label %2911, label %2989

2911:                                             ; preds = %2909
  %2912 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE4size acquire, align 8
  %2913 = icmp eq i8 %2912, 0
  br i1 %2913, label %2914, label %2919, !prof !44

2914:                                             ; preds = %2911
  %2915 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE4size) #9
  %2916 = icmp ne i32 %2915, 0
  br i1 %2916, label %2917, label %2919

2917:                                             ; preds = %2914
  invoke void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) @_ZZN5ImGui14ShowDemoWindowEPbE4size, float noundef 1.000000e+02, float noundef 1.000000e+02)
          to label %2918 unwind label %2959

2918:                                             ; preds = %2917
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE4size) #9
  br label %2919

2919:                                             ; preds = %2918, %2914, %2911
  %2920 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6offset acquire, align 8
  %2921 = icmp eq i8 %2920, 0
  br i1 %2921, label %2922, label %2927, !prof !44

2922:                                             ; preds = %2919
  %2923 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6offset) #9
  %2924 = icmp ne i32 %2923, 0
  br i1 %2924, label %2925, label %2927

2925:                                             ; preds = %2922
  invoke void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) @_ZZN5ImGui14ShowDemoWindowEPbE6offset, float noundef 5.000000e+01, float noundef 2.000000e+01)
          to label %2926 unwind label %2963

2926:                                             ; preds = %2925
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6offset) #9
  br label %2927

2927:                                             ; preds = %2926, %2922, %2919
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.555)
  %2928 = call noundef zeroext i1 @_ZN5ImGui10DragFloat2EPKcPffffS1_f(ptr noundef @.str.556, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4size, float noundef 5.000000e-01, float noundef 0.000000e+00, float noundef 2.000000e+02, ptr noundef @.str.190, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.557)
  call void @llvm.lifetime.start.p0(i64 8, ptr %282) #9
  %2929 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  store <2 x float> %2929, ptr %282, align 4
  call void @llvm.lifetime.start.p0(i64 16, ptr %283) #9
  %2930 = getelementptr inbounds %struct.ImVec2, ptr %282, i32 0, i32 0
  %2931 = load float, ptr %2930, align 4, !tbaa !30
  %2932 = getelementptr inbounds %struct.ImVec2, ptr %282, i32 0, i32 1
  %2933 = load float, ptr %2932, align 4, !tbaa !31
  %2934 = getelementptr inbounds %struct.ImVec2, ptr %282, i32 0, i32 0
  %2935 = load float, ptr %2934, align 4, !tbaa !30
  %2936 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, align 4, !tbaa !30
  %2937 = fadd float %2935, %2936
  %2938 = getelementptr inbounds %struct.ImVec2, ptr %282, i32 0, i32 1
  %2939 = load float, ptr %2938, align 4, !tbaa !31
  %2940 = load float, ptr getelementptr inbounds (%struct.ImVec2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, i32 0, i32 1), align 4, !tbaa !31
  %2941 = fadd float %2939, %2940
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %283, float noundef %2931, float noundef %2933, float noundef %2937, float noundef %2941)
  %2942 = call noundef zeroext i1 @_ZN5ImGui15InvisibleButtonEPKcRK6ImVec2(ptr noundef @.str.558, ptr noundef nonnull align 4 dereferenceable(8) @_ZZN5ImGui14ShowDemoWindowEPbE4size)
  %2943 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %2943, label %2944, label %2967

2944:                                             ; preds = %2927
  %2945 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 0, float noundef -1.000000e+00)
  br i1 %2945, label %2946, label %2967

2946:                                             ; preds = %2944
  %2947 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %2948 = getelementptr inbounds %struct.ImGuiIO, ptr %2947, i32 0, i32 55
  %2949 = getelementptr inbounds %struct.ImVec2, ptr %2948, i32 0, i32 0
  %2950 = load float, ptr %2949, align 4, !tbaa !84
  %2951 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, align 4, !tbaa !30
  %2952 = fadd float %2951, %2950
  store float %2952, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, align 4, !tbaa !30
  %2953 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %2954 = getelementptr inbounds %struct.ImGuiIO, ptr %2953, i32 0, i32 55
  %2955 = getelementptr inbounds %struct.ImVec2, ptr %2954, i32 0, i32 1
  %2956 = load float, ptr %2955, align 4, !tbaa !85
  %2957 = load float, ptr getelementptr inbounds (%struct.ImVec2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, i32 0, i32 1), align 4, !tbaa !31
  %2958 = fadd float %2957, %2956
  store float %2958, ptr getelementptr inbounds (%struct.ImVec2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, i32 0, i32 1), align 4, !tbaa !31
  br label %2967

2959:                                             ; preds = %2917
  %2960 = landingpad { ptr, i32 }
          cleanup
  %2961 = extractvalue { ptr, i32 } %2960, 0
  store ptr %2961, ptr %113, align 8
  %2962 = extractvalue { ptr, i32 } %2960, 1
  store i32 %2962, ptr %114, align 4
  call void @__cxa_guard_abort(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE4size) #9
  br label %3818

2963:                                             ; preds = %2925
  %2964 = landingpad { ptr, i32 }
          cleanup
  %2965 = extractvalue { ptr, i32 } %2964, 0
  store ptr %2965, ptr %113, align 8
  %2966 = extractvalue { ptr, i32 } %2964, 1
  store i32 %2966, ptr %114, align 4
  call void @__cxa_guard_abort(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6offset) #9
  br label %3818

2967:                                             ; preds = %2946, %2944, %2927
  %2968 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %284) #9
  %2969 = getelementptr inbounds %struct.ImVec2, ptr %282, i32 0, i32 0
  %2970 = load float, ptr %2969, align 4, !tbaa !30
  %2971 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, align 4, !tbaa !30
  %2972 = fadd float %2970, %2971
  %2973 = getelementptr inbounds %struct.ImVec2, ptr %282, i32 0, i32 1
  %2974 = load float, ptr %2973, align 4, !tbaa !31
  %2975 = load float, ptr getelementptr inbounds (%struct.ImVec2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, i32 0, i32 1), align 4, !tbaa !31
  %2976 = fadd float %2974, %2975
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %284, float noundef %2972, float noundef %2976)
  call void @_ZN10ImDrawList13AddRectFilledERK6ImVec2S2_jfi(ptr noundef nonnull align 8 dereferenceable(168) %2968, ptr noundef nonnull align 4 dereferenceable(8) %282, ptr noundef nonnull align 4 dereferenceable(8) %284, i32 noundef -8889766, float noundef 0.000000e+00, i32 noundef 15)
  call void @llvm.lifetime.end.p0(i64 8, ptr %284) #9
  %2977 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  %2978 = call noundef ptr @_ZN5ImGui7GetFontEv()
  %2979 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %2980 = fmul float %2979, 2.000000e+00
  call void @llvm.lifetime.start.p0(i64 8, ptr %285) #9
  %2981 = getelementptr inbounds %struct.ImVec2, ptr %282, i32 0, i32 0
  %2982 = load float, ptr %2981, align 4, !tbaa !30
  %2983 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, align 4, !tbaa !30
  %2984 = fadd float %2982, %2983
  %2985 = getelementptr inbounds %struct.ImVec2, ptr %282, i32 0, i32 1
  %2986 = load float, ptr %2985, align 4, !tbaa !31
  %2987 = load float, ptr getelementptr inbounds (%struct.ImVec2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, i32 0, i32 1), align 4, !tbaa !31
  %2988 = fadd float %2986, %2987
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %285, float noundef %2984, float noundef %2988)
  call void @_ZN10ImDrawList7AddTextEPK6ImFontfRK6ImVec2jPKcS7_fPK6ImVec4(ptr noundef nonnull align 8 dereferenceable(168) %2977, ptr noundef %2978, float noundef %2980, ptr noundef nonnull align 4 dereferenceable(8) %285, i32 noundef -1, ptr noundef @.str.559, ptr noundef null, float noundef 0.000000e+00, ptr noundef %283)
  call void @llvm.lifetime.end.p0(i64 8, ptr %285) #9
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 16, ptr %283) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %282) #9
  br label %2989

2989:                                             ; preds = %2967, %2909
  br label %2990

2990:                                             ; preds = %2989, %2375
  %2991 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.560, i32 noundef 0)
  br i1 %2991, label %2992, label %3161

2992:                                             ; preds = %2990
  %2993 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.561)
  br i1 %2993, label %2994, label %3091

2994:                                             ; preds = %2992
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.562)
  call void @llvm.lifetime.start.p0(i64 40, ptr %286) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %286, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %287) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %287, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2995 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.568, ptr noundef nonnull align 4 dereferenceable(8) %287)
  call void @llvm.lifetime.end.p0(i64 8, ptr %287) #9
  br i1 %2995, label %2996, label %2997

2996:                                             ; preds = %2994
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.569)
  br label %2997

2997:                                             ; preds = %2996, %2994
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2998 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !13
  %2999 = icmp eq i32 %2998, -1
  br i1 %2999, label %3000, label %3001

3000:                                             ; preds = %2997
  br label %3006

3001:                                             ; preds = %2997
  %3002 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !13
  %3003 = sext i32 %3002 to i64
  %3004 = getelementptr inbounds [5 x ptr], ptr %286, i64 0, i64 %3003
  %3005 = load ptr, ptr %3004, align 8, !tbaa !5
  br label %3006

3006:                                             ; preds = %3001, %3000
  %3007 = phi ptr [ @.str.570, %3000 ], [ %3005, %3001 ]
  call void @_ZN5ImGui15TextUnformattedEPKcS1_(ptr noundef %3007, ptr noundef null)
  %3008 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef @.str.569, i32 noundef 0)
  br i1 %3008, label %3009, label %3027

3009:                                             ; preds = %3006
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.571)
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #9
  store i32 0, ptr %288, align 4, !tbaa !13
  br label %3010

3010:                                             ; preds = %3023, %3009
  %3011 = load i32, ptr %288, align 4, !tbaa !13
  %3012 = icmp slt i32 %3011, 5
  br i1 %3012, label %3014, label %3013

3013:                                             ; preds = %3010
  store i32 88, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #9
  br label %3026

3014:                                             ; preds = %3010
  %3015 = load i32, ptr %288, align 4, !tbaa !13
  %3016 = sext i32 %3015 to i64
  %3017 = getelementptr inbounds [5 x ptr], ptr %286, i64 0, i64 %3016
  %3018 = load ptr, ptr %3017, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %289) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %289, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3019 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %3018, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %289)
  call void @llvm.lifetime.end.p0(i64 8, ptr %289) #9
  br i1 %3019, label %3020, label %3022

3020:                                             ; preds = %3014
  %3021 = load i32, ptr %288, align 4, !tbaa !13
  store i32 %3021, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !13
  br label %3022

3022:                                             ; preds = %3020, %3014
  br label %3023

3023:                                             ; preds = %3022
  %3024 = load i32, ptr %288, align 4, !tbaa !13
  %3025 = add nsw i32 %3024, 1
  store i32 %3025, ptr %288, align 4, !tbaa !13
  br label %3010, !llvm.loop !86

3026:                                             ; preds = %3013
  call void @_ZN5ImGui8EndPopupEv()
  br label %3027

3027:                                             ; preds = %3026, %3006
  call void @llvm.lifetime.start.p0(i64 8, ptr %290) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %290, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3028 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.572, ptr noundef nonnull align 4 dereferenceable(8) %290)
  call void @llvm.lifetime.end.p0(i64 8, ptr %290) #9
  br i1 %3028, label %3029, label %3030

3029:                                             ; preds = %3027
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.573)
  br label %3030

3030:                                             ; preds = %3029, %3027
  %3031 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef @.str.573, i32 noundef 0)
  br i1 %3031, label %3032, label %3084

3032:                                             ; preds = %3030
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #9
  store i32 0, ptr %291, align 4, !tbaa !13
  br label %3033

3033:                                             ; preds = %3046, %3032
  %3034 = load i32, ptr %291, align 4, !tbaa !13
  %3035 = icmp slt i32 %3034, 5
  br i1 %3035, label %3037, label %3036

3036:                                             ; preds = %3033
  store i32 91, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #9
  br label %3049

3037:                                             ; preds = %3033
  %3038 = load i32, ptr %291, align 4, !tbaa !13
  %3039 = sext i32 %3038 to i64
  %3040 = getelementptr inbounds [5 x ptr], ptr %286, i64 0, i64 %3039
  %3041 = load ptr, ptr %3040, align 8, !tbaa !5
  %3042 = load i32, ptr %291, align 4, !tbaa !13
  %3043 = sext i32 %3042 to i64
  %3044 = getelementptr inbounds [5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 0, i64 %3043
  %3045 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %3041, ptr noundef @.str.390, ptr noundef %3044, i1 noundef zeroext true)
  br label %3046

3046:                                             ; preds = %3037
  %3047 = load i32, ptr %291, align 4, !tbaa !13
  %3048 = add nsw i32 %3047, 1
  store i32 %3048, ptr %291, align 4, !tbaa !13
  br label %3033, !llvm.loop !87

3049:                                             ; preds = %3036
  %3050 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef @.str.574, i1 noundef zeroext true)
  br i1 %3050, label %3051, label %3053

3051:                                             ; preds = %3049
  %3052 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef @.str.575, ptr noundef null, i1 noundef zeroext false, i1 noundef zeroext true)
  call void @_ZN5ImGui7EndMenuEv()
  br label %3053

3053:                                             ; preds = %3051, %3049
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.576)
  %3054 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3054, label %3055, label %3056

3055:                                             ; preds = %3053
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef @.str.577)
  br label %3056

3056:                                             ; preds = %3055, %3053
  call void @llvm.lifetime.start.p0(i64 8, ptr %292) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %292, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3057 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.578, ptr noundef nonnull align 4 dereferenceable(8) %292)
  call void @llvm.lifetime.end.p0(i64 8, ptr %292) #9
  br i1 %3057, label %3058, label %3059

3058:                                             ; preds = %3056
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.579)
  br label %3059

3059:                                             ; preds = %3058, %3056
  %3060 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef @.str.579, i32 noundef 0)
  br i1 %3060, label %3061, label %3083

3061:                                             ; preds = %3059
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #9
  store i32 0, ptr %293, align 4, !tbaa !13
  br label %3062

3062:                                             ; preds = %3075, %3061
  %3063 = load i32, ptr %293, align 4, !tbaa !13
  %3064 = icmp slt i32 %3063, 5
  br i1 %3064, label %3066, label %3065

3065:                                             ; preds = %3062
  store i32 94, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #9
  br label %3078

3066:                                             ; preds = %3062
  %3067 = load i32, ptr %293, align 4, !tbaa !13
  %3068 = sext i32 %3067 to i64
  %3069 = getelementptr inbounds [5 x ptr], ptr %286, i64 0, i64 %3068
  %3070 = load ptr, ptr %3069, align 8, !tbaa !5
  %3071 = load i32, ptr %293, align 4, !tbaa !13
  %3072 = sext i32 %3071 to i64
  %3073 = getelementptr inbounds [5 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 0, i64 %3072
  %3074 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %3070, ptr noundef @.str.390, ptr noundef %3073, i1 noundef zeroext true)
  br label %3075

3075:                                             ; preds = %3066
  %3076 = load i32, ptr %293, align 4, !tbaa !13
  %3077 = add nsw i32 %3076, 1
  store i32 %3077, ptr %293, align 4, !tbaa !13
  br label %3062, !llvm.loop !88

3078:                                             ; preds = %3065
  %3079 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef @.str.574, i1 noundef zeroext true)
  br i1 %3079, label %3080, label %3082

3080:                                             ; preds = %3078
  %3081 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef @.str.575, ptr noundef null, i1 noundef zeroext false, i1 noundef zeroext true)
  call void @_ZN5ImGui7EndMenuEv()
  br label %3082

3082:                                             ; preds = %3080, %3078
  call void @_ZN5ImGui8EndPopupEv()
  br label %3083

3083:                                             ; preds = %3082, %3059
  call void @_ZN5ImGui8EndPopupEv()
  br label %3084

3084:                                             ; preds = %3083, %3030
  call void @llvm.lifetime.start.p0(i64 8, ptr %294) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %294, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3085 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.580, ptr noundef nonnull align 4 dereferenceable(8) %294)
  call void @llvm.lifetime.end.p0(i64 8, ptr %294) #9
  br i1 %3085, label %3086, label %3087

3086:                                             ; preds = %3084
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.581)
  br label %3087

3087:                                             ; preds = %3086, %3084
  %3088 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef @.str.581, i32 noundef 0)
  br i1 %3088, label %3089, label %3090

3089:                                             ; preds = %3087
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui8EndPopupEv()
  br label %3090

3090:                                             ; preds = %3089, %3087
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 40, ptr %286) #9
  br label %3091

3091:                                             ; preds = %3090, %2992
  %3092 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.582)
  br i1 %3092, label %3093, label %3117

3093:                                             ; preds = %3091
  %3094 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5value, align 4, !tbaa !24
  %3095 = fpext float %3094 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.583, double noundef %3095)
  %3096 = call noundef zeroext i1 @_ZN5ImGui21BeginPopupContextItemEPKci(ptr noundef @.str.584, i32 noundef 1)
  br i1 %3096, label %3097, label %3105

3097:                                             ; preds = %3093
  call void @llvm.lifetime.start.p0(i64 8, ptr %295) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %295, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3098 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef @.str.585, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %295)
  call void @llvm.lifetime.end.p0(i64 8, ptr %295) #9
  br i1 %3098, label %3099, label %3100

3099:                                             ; preds = %3097
  store float 0.000000e+00, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5value, align 4, !tbaa !24
  br label %3100

3100:                                             ; preds = %3099, %3097
  call void @llvm.lifetime.start.p0(i64 8, ptr %296) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %296, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3101 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef @.str.586, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %296)
  call void @llvm.lifetime.end.p0(i64 8, ptr %296) #9
  br i1 %3101, label %3102, label %3103

3102:                                             ; preds = %3100
  store float 0x400921CAC0000000, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5value, align 4, !tbaa !24
  br label %3103

3103:                                             ; preds = %3102, %3100
  call void @_ZN5ImGui13PushItemWidthEf(float noundef -1.000000e+00)
  %3104 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef @.str.587, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5value, float noundef 0x3FB99999A0000000, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui8EndPopupEv()
  br label %3105

3105:                                             ; preds = %3103, %3093
  call void @llvm.lifetime.start.p0(i64 64, ptr %297) #9
  %3106 = getelementptr inbounds [64 x i8], ptr %297, i64 0, i64 0
  %3107 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %3106, ptr noundef @.str.588, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4name) #9
  %3108 = getelementptr inbounds [64 x i8], ptr %297, i64 0, i64 0
  call void @llvm.lifetime.start.p0(i64 8, ptr %298) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %298, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3109 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef %3108, ptr noundef nonnull align 4 dereferenceable(8) %298)
  call void @llvm.lifetime.end.p0(i64 8, ptr %298) #9
  %3110 = call noundef zeroext i1 @_ZN5ImGui21BeginPopupContextItemEPKci(ptr noundef null, i32 noundef 1)
  br i1 %3110, label %3111, label %3116

3111:                                             ; preds = %3105
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.589)
  %3112 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.590, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4name, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @llvm.lifetime.start.p0(i64 8, ptr %299) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %299, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3113 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.436, ptr noundef nonnull align 4 dereferenceable(8) %299)
  call void @llvm.lifetime.end.p0(i64 8, ptr %299) #9
  br i1 %3113, label %3114, label %3115

3114:                                             ; preds = %3111
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %3115

3115:                                             ; preds = %3114, %3111
  call void @_ZN5ImGui8EndPopupEv()
  br label %3116

3116:                                             ; preds = %3115, %3105
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.591)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 64, ptr %297) #9
  br label %3117

3117:                                             ; preds = %3116, %3091
  %3118 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.592)
  br i1 %3118, label %3119, label %3153

3119:                                             ; preds = %3117
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.593)
  call void @llvm.lifetime.start.p0(i64 8, ptr %300) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %300, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3120 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.594, ptr noundef nonnull align 4 dereferenceable(8) %300)
  call void @llvm.lifetime.end.p0(i64 8, ptr %300) #9
  br i1 %3120, label %3121, label %3122

3121:                                             ; preds = %3119
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.595)
  br label %3122

3122:                                             ; preds = %3121, %3119
  %3123 = call noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef @.str.595, ptr noundef null, i32 noundef 64)
  br i1 %3123, label %3124, label %3132

3124:                                             ; preds = %3122
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.596)
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr %301) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %301, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef 10, ptr noundef nonnull align 4 dereferenceable(8) %301)
  call void @llvm.lifetime.end.p0(i64 8, ptr %301) #9
  %3125 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.597, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE21dont_ask_me_next_time)
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 8, ptr %302) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %302, float noundef 1.200000e+02, float noundef 0.000000e+00)
  %3126 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.598, ptr noundef nonnull align 4 dereferenceable(8) %302)
  call void @llvm.lifetime.end.p0(i64 8, ptr %302) #9
  br i1 %3126, label %3127, label %3128

3127:                                             ; preds = %3124
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %3128

3128:                                             ; preds = %3127, %3124
  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 %303) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %303, float noundef 1.200000e+02, float noundef 0.000000e+00)
  %3129 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.599, ptr noundef nonnull align 4 dereferenceable(8) %303)
  call void @llvm.lifetime.end.p0(i64 8, ptr %303) #9
  br i1 %3129, label %3130, label %3131

3130:                                             ; preds = %3128
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %3131

3131:                                             ; preds = %3130, %3128
  call void @_ZN5ImGui8EndPopupEv()
  br label %3132

3132:                                             ; preds = %3131, %3122
  call void @llvm.lifetime.start.p0(i64 8, ptr %304) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %304, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3133 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.600, ptr noundef nonnull align 4 dereferenceable(8) %304)
  call void @llvm.lifetime.end.p0(i64 8, ptr %304) #9
  br i1 %3133, label %3134, label %3135

3134:                                             ; preds = %3132
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.601)
  br label %3135

3135:                                             ; preds = %3134, %3132
  %3136 = call noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef @.str.601, ptr noundef null, i32 noundef 0)
  br i1 %3136, label %3137, label %3152

3137:                                             ; preds = %3135
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.602)
  %3138 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef @.str.207, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE4item_0, ptr noundef @.str.214, i32 noundef -1)
  %3139 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef @.str.603, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE5color_0, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 8, ptr %305) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %305, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3140 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.604, ptr noundef nonnull align 4 dereferenceable(8) %305)
  call void @llvm.lifetime.end.p0(i64 8, ptr %305) #9
  br i1 %3140, label %3141, label %3142

3141:                                             ; preds = %3137
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef @.str.605)
  br label %3142

3142:                                             ; preds = %3141, %3137
  %3143 = call noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef @.str.605, ptr noundef null, i32 noundef 0)
  br i1 %3143, label %3144, label %3148

3144:                                             ; preds = %3142
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.606)
  call void @llvm.lifetime.start.p0(i64 8, ptr %306) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %306, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3145 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.436, ptr noundef nonnull align 4 dereferenceable(8) %306)
  call void @llvm.lifetime.end.p0(i64 8, ptr %306) #9
  br i1 %3145, label %3146, label %3147

3146:                                             ; preds = %3144
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %3147

3147:                                             ; preds = %3146, %3144
  call void @_ZN5ImGui8EndPopupEv()
  br label %3148

3148:                                             ; preds = %3147, %3142
  call void @llvm.lifetime.start.p0(i64 8, ptr %307) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %307, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3149 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.436, ptr noundef nonnull align 4 dereferenceable(8) %307)
  call void @llvm.lifetime.end.p0(i64 8, ptr %307) #9
  br i1 %3149, label %3150, label %3151

3150:                                             ; preds = %3148
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %3151

3151:                                             ; preds = %3150, %3148
  call void @_ZN5ImGui8EndPopupEv()
  br label %3152

3152:                                             ; preds = %3151, %3135
  call void @_ZN5ImGui7TreePopEv()
  br label %3153

3153:                                             ; preds = %3152, %3117
  %3154 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.607)
  br i1 %3154, label %3155, label %3160

3155:                                             ; preds = %3153
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.608)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef @.str.609)
  %3156 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef @.str.610, ptr noundef @.str.611, i1 noundef zeroext false, i1 noundef zeroext true)
  %3157 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef @.str.612, i1 noundef zeroext true)
  br i1 %3157, label %3158, label %3159

3158:                                             ; preds = %3155
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui7EndMenuEv()
  br label %3159

3159:                                             ; preds = %3158, %3155
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %3160

3160:                                             ; preds = %3159, %3153
  br label %3161

3161:                                             ; preds = %3160, %2990
  %3162 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.613, i32 noundef 0)
  br i1 %3162, label %3163, label %3335

3163:                                             ; preds = %3161
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef @.str.613)
  %3164 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.84)
  br i1 %3164, label %3165, label %3215

3165:                                             ; preds = %3163
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.614)
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 3, ptr noundef @.str.615, i1 noundef zeroext false)
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #9
  store i32 0, ptr %308, align 4, !tbaa !13
  br label %3166

3166:                                             ; preds = %3178, %3165
  %3167 = load i32, ptr %308, align 4, !tbaa !13
  %3168 = icmp slt i32 %3167, 14
  br i1 %3168, label %3170, label %3169

3169:                                             ; preds = %3166
  store i32 97, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #9
  br label %3181

3170:                                             ; preds = %3166
  call void @llvm.lifetime.start.p0(i64 32, ptr %309) #9
  %3171 = getelementptr inbounds [32 x i8], ptr %309, i64 0, i64 0
  %3172 = load i32, ptr %308, align 4, !tbaa !13
  %3173 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %3171, ptr noundef @.str.234, i32 noundef %3172) #9
  %3174 = getelementptr inbounds [32 x i8], ptr %309, i64 0, i64 0
  call void @llvm.lifetime.start.p0(i64 8, ptr %310) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %310, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3175 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %3174, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %310)
  call void @llvm.lifetime.end.p0(i64 8, ptr %310) #9
  br i1 %3175, label %3176, label %3177

3176:                                             ; preds = %3170
  br label %3177

3177:                                             ; preds = %3176, %3170
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr %309) #9
  br label %3178

3178:                                             ; preds = %3177
  %3179 = load i32, ptr %308, align 4, !tbaa !13
  %3180 = add nsw i32 %3179, 1
  store i32 %3180, ptr %308, align 4, !tbaa !13
  br label %3166, !llvm.loop !89

3181:                                             ; preds = %3169
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.616)
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 4, ptr noundef @.str.617, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.618)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.619)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.620)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.621)
  call void @_ZN5ImGui10NextColumnEv()
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 24, ptr %311) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %311, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.names.625, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %312) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %312, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.paths, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #9
  store i32 0, ptr %313, align 4, !tbaa !13
  br label %3182

3182:                                             ; preds = %3211, %3181
  %3183 = load i32, ptr %313, align 4, !tbaa !13
  %3184 = icmp slt i32 %3183, 3
  br i1 %3184, label %3186, label %3185

3185:                                             ; preds = %3182
  store i32 100, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #9
  br label %3214

3186:                                             ; preds = %3182
  call void @llvm.lifetime.start.p0(i64 32, ptr %314) #9
  %3187 = getelementptr inbounds [32 x i8], ptr %314, i64 0, i64 0
  %3188 = load i32, ptr %313, align 4, !tbaa !13
  %3189 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %3187, ptr noundef @.str.629, i32 noundef %3188) #9
  %3190 = getelementptr inbounds [32 x i8], ptr %314, i64 0, i64 0
  %3191 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !13
  %3192 = load i32, ptr %313, align 4, !tbaa !13
  %3193 = icmp eq i32 %3191, %3192
  call void @llvm.lifetime.start.p0(i64 8, ptr %315) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %315, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3194 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %3190, i1 noundef zeroext %3193, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(8) %315)
  call void @llvm.lifetime.end.p0(i64 8, ptr %315) #9
  br i1 %3194, label %3195, label %3197

3195:                                             ; preds = %3186
  %3196 = load i32, ptr %313, align 4, !tbaa !13
  store i32 %3196, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !13
  br label %3197

3197:                                             ; preds = %3195, %3186
  call void @llvm.lifetime.start.p0(i64 1, ptr %316) #9
  %3198 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %3199 = zext i1 %3198 to i8
  store i8 %3199, ptr %316, align 1, !tbaa !9
  call void @_ZN5ImGui10NextColumnEv()
  %3200 = load i32, ptr %313, align 4, !tbaa !13
  %3201 = sext i32 %3200 to i64
  %3202 = getelementptr inbounds [3 x ptr], ptr %311, i64 0, i64 %3201
  %3203 = load ptr, ptr %3202, align 8, !tbaa !5
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %3203)
  call void @_ZN5ImGui10NextColumnEv()
  %3204 = load i32, ptr %313, align 4, !tbaa !13
  %3205 = sext i32 %3204 to i64
  %3206 = getelementptr inbounds [3 x ptr], ptr %312, i64 0, i64 %3205
  %3207 = load ptr, ptr %3206, align 8, !tbaa !5
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %3207)
  call void @_ZN5ImGui10NextColumnEv()
  %3208 = load i8, ptr %316, align 1, !tbaa !9, !range !11, !noundef !12
  %3209 = trunc i8 %3208 to i1
  %3210 = zext i1 %3209 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.95, i32 noundef %3210)
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 1, ptr %316) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %314) #9
  br label %3211

3211:                                             ; preds = %3197
  %3212 = load i32, ptr %313, align 4, !tbaa !13
  %3213 = add nsw i32 %3212, 1
  store i32 %3213, ptr %313, align 4, !tbaa !13
  br label %3182, !llvm.loop !90

3214:                                             ; preds = %3185
  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 %312) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %311) #9
  br label %3215

3215:                                             ; preds = %3214, %3163
  %3216 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.630)
  br i1 %3216, label %3217, label %3232

3217:                                             ; preds = %3215
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 3, ptr noundef @.str.631, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.632)
  call void @llvm.lifetime.start.p0(i64 8, ptr %317) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %317, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3218 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.149, ptr noundef nonnull align 4 dereferenceable(8) %317)
  call void @llvm.lifetime.end.p0(i64 8, ptr %317) #9
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.633)
  call void @llvm.lifetime.start.p0(i64 8, ptr %318) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %318, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3219 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.148, ptr noundef nonnull align 4 dereferenceable(8) %318)
  call void @llvm.lifetime.end.p0(i64 8, ptr %318) #9
  %3220 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef @.str.634, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3foo, float noundef 0x3FA99999A0000000, float noundef 0.000000e+00, ptr noundef @.str.124, i32 noundef 0)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.635)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.236)
  call void @llvm.lifetime.start.p0(i64 8, ptr %319) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %319, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3221 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.469, ptr noundef nonnull align 4 dereferenceable(8) %319)
  call void @llvm.lifetime.end.p0(i64 8, ptr %319) #9
  %3222 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef @.str.636, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3bar, float noundef 0x3FA99999A0000000, float noundef 0.000000e+00, ptr noundef @.str.124, i32 noundef 0)
  call void @_ZN5ImGui10NextColumnEv()
  %3223 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.637, i32 noundef 0)
  br i1 %3223, label %3224, label %3225

3224:                                             ; preds = %3217
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.638)
  br label %3225

3225:                                             ; preds = %3224, %3217
  call void @_ZN5ImGui10NextColumnEv()
  %3226 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.639, i32 noundef 0)
  br i1 %3226, label %3227, label %3228

3227:                                             ; preds = %3225
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.638)
  br label %3228

3228:                                             ; preds = %3227, %3225
  call void @_ZN5ImGui10NextColumnEv()
  %3229 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.640, i32 noundef 0)
  br i1 %3229, label %3230, label %3231

3230:                                             ; preds = %3228
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.638)
  br label %3231

3231:                                             ; preds = %3230, %3228
  call void @_ZN5ImGui10NextColumnEv()
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %3232

3232:                                             ; preds = %3231, %3215
  %3233 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.641)
  br i1 %3233, label %3234, label %3235

3234:                                             ; preds = %3232
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 2, ptr noundef @.str.642, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.643)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.644)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.643)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.645)
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %3235

3235:                                             ; preds = %3234, %3232
  %3236 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.646)
  br i1 %3236, label %3237, label %3272

3237:                                             ; preds = %3235
  %3238 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.647, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3239 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef @.str.648, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE9v_borders)
  %3240 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9v_borders, align 1, !tbaa !9, !range !11, !noundef !12
  %3241 = trunc i8 %3240 to i1
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 4, ptr noundef null, i1 noundef zeroext %3241)
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #9
  store i32 0, ptr %320, align 4, !tbaa !13
  br label %3242

3242:                                             ; preds = %3264, %3237
  %3243 = load i32, ptr %320, align 4, !tbaa !13
  %3244 = icmp slt i32 %3243, 12
  br i1 %3244, label %3246, label %3245

3245:                                             ; preds = %3242
  store i32 103, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #9
  br label %3267

3246:                                             ; preds = %3242
  %3247 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !9, !range !11, !noundef !12
  %3248 = trunc i8 %3247 to i1
  br i1 %3248, label %3249, label %3253

3249:                                             ; preds = %3246
  %3250 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %3251 = icmp eq i32 %3250, 0
  br i1 %3251, label %3252, label %3253

3252:                                             ; preds = %3249
  call void @_ZN5ImGui9SeparatorEv()
  br label %3253

3253:                                             ; preds = %3252, %3249, %3246
  %3254 = load i32, ptr %320, align 4, !tbaa !13
  %3255 = add nsw i32 97, %3254
  %3256 = load i32, ptr %320, align 4, !tbaa !13
  %3257 = add nsw i32 97, %3256
  %3258 = load i32, ptr %320, align 4, !tbaa !13
  %3259 = add nsw i32 97, %3258
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.649, i32 noundef %3255, i32 noundef %3257, i32 noundef %3259)
  %3260 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %3261 = fpext float %3260 to double
  %3262 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %3263 = fpext float %3262 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.650, double noundef %3261, double noundef %3263)
  call void @_ZN5ImGui10NextColumnEv()
  br label %3264

3264:                                             ; preds = %3253
  %3265 = load i32, ptr %320, align 4, !tbaa !13
  %3266 = add nsw i32 %3265, 1
  store i32 %3266, ptr %320, align 4, !tbaa !13
  br label %3242, !llvm.loop !91

3267:                                             ; preds = %3245
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  %3268 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !9, !range !11, !noundef !12
  %3269 = trunc i8 %3268 to i1
  br i1 %3269, label %3270, label %3271

3270:                                             ; preds = %3267
  call void @_ZN5ImGui9SeparatorEv()
  br label %3271

3271:                                             ; preds = %3270, %3267
  call void @_ZN5ImGui7TreePopEv()
  br label %3272

3272:                                             ; preds = %3271, %3235
  %3273 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.543)
  br i1 %3273, label %3274, label %3322

3274:                                             ; preds = %3272
  call void @llvm.lifetime.start.p0(i64 8, ptr %321) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %321, float noundef 1.500000e+03, float noundef 0.000000e+00)
  call void @_ZN5ImGui24SetNextWindowContentSizeERK6ImVec2(ptr noundef nonnull align 4 dereferenceable(8) %321)
  call void @llvm.lifetime.end.p0(i64 8, ptr %321) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %322) #9
  %3275 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %3276 = fmul float %3275, 2.000000e+01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %322, float noundef 0.000000e+00, float noundef %3276)
  %3277 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef @.str.651, ptr noundef nonnull align 4 dereferenceable(8) %322, i1 noundef zeroext false, i32 noundef 2048)
  call void @llvm.lifetime.end.p0(i64 8, ptr %322) #9
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 10, ptr noundef null, i1 noundef zeroext true)
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #9
  store i32 2000, ptr %323, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 24, ptr %324) #9
  %3278 = load i32, ptr %323, align 4, !tbaa !13
  call void @_ZN16ImGuiListClipperC2Eif(ptr noundef nonnull align 4 dereferenceable(24) %324, i32 noundef %3278, float noundef -1.000000e+00)
  br label %3279

3279:                                             ; preds = %3316, %3274
  %3280 = invoke noundef zeroext i1 @_ZN16ImGuiListClipper4StepEv(ptr noundef nonnull align 4 dereferenceable(24) %324)
          to label %3281 unwind label %3291

3281:                                             ; preds = %3279
  br i1 %3280, label %3282, label %3317

3282:                                             ; preds = %3281
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #9
  %3283 = getelementptr inbounds %struct.ImGuiListClipper, ptr %324, i32 0, i32 4
  %3284 = load i32, ptr %3283, align 4, !tbaa !92
  store i32 %3284, ptr %325, align 4, !tbaa !13
  br label %3285

3285:                                             ; preds = %3313, %3282
  %3286 = load i32, ptr %325, align 4, !tbaa !13
  %3287 = getelementptr inbounds %struct.ImGuiListClipper, ptr %324, i32 0, i32 5
  %3288 = load i32, ptr %3287, align 4, !tbaa !94
  %3289 = icmp slt i32 %3286, %3288
  br i1 %3289, label %3295, label %3290

3290:                                             ; preds = %3285
  store i32 108, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #9
  br label %3316

3291:                                             ; preds = %3319, %3318, %3317, %3279
  %3292 = landingpad { ptr, i32 }
          cleanup
  %3293 = extractvalue { ptr, i32 } %3292, 0
  store ptr %3293, ptr %113, align 8
  %3294 = extractvalue { ptr, i32 } %3292, 1
  store i32 %3294, ptr %114, align 4
  br label %3321

3295:                                             ; preds = %3285
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #9
  store i32 0, ptr %326, align 4, !tbaa !13
  br label %3296

3296:                                             ; preds = %3305, %3295
  %3297 = load i32, ptr %326, align 4, !tbaa !13
  %3298 = icmp slt i32 %3297, 10
  br i1 %3298, label %3300, label %3299

3299:                                             ; preds = %3296
  store i32 111, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #9
  br label %3312

3300:                                             ; preds = %3296
  %3301 = load i32, ptr %325, align 4, !tbaa !13
  %3302 = load i32, ptr %326, align 4, !tbaa !13
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.652, i32 noundef %3301, i32 noundef %3302)
          to label %3303 unwind label %3308

3303:                                             ; preds = %3300
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %3304 unwind label %3308

3304:                                             ; preds = %3303
  br label %3305

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

3308:                                             ; preds = %3303, %3300
  %3309 = landingpad { ptr, i32 }
          cleanup
  %3310 = extractvalue { ptr, i32 } %3309, 0
  store ptr %3310, ptr %113, align 8
  %3311 = extractvalue { ptr, i32 } %3309, 1
  store i32 %3311, ptr %114, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #9
  br label %3321

3312:                                             ; preds = %3299
  br label %3313

3313:                                             ; preds = %3312
  %3314 = load i32, ptr %325, align 4, !tbaa !13
  %3315 = add nsw i32 %3314, 1
  store i32 %3315, ptr %325, align 4, !tbaa !13
  br label %3285, !llvm.loop !96

3316:                                             ; preds = %3290
  br label %3279, !llvm.loop !97

3317:                                             ; preds = %3281
  invoke void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
          to label %3318 unwind label %3291

3318:                                             ; preds = %3317
  invoke void @_ZN5ImGui8EndChildEv()
          to label %3319 unwind label %3291

3319:                                             ; preds = %3318
  invoke void @_ZN5ImGui7TreePopEv()
          to label %3320 unwind label %3291

3320:                                             ; preds = %3319
  call void @_ZN16ImGuiListClipperD2Ev(ptr noundef nonnull align 4 dereferenceable(24) %324) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %324) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #9
  br label %3322

3321:                                             ; preds = %3308, %3291
  call void @_ZN16ImGuiListClipperD2Ev(ptr noundef nonnull align 4 dereferenceable(24) %324) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %324) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #9
  br label %3818

3322:                                             ; preds = %3320, %3272
  call void @llvm.lifetime.start.p0(i64 1, ptr %327) #9
  %3323 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.653)
  %3324 = zext i1 %3323 to i8
  store i8 %3324, ptr %327, align 1, !tbaa !9
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.654)
  %3325 = load i8, ptr %327, align 1, !tbaa !9, !range !11, !noundef !12
  %3326 = trunc i8 %3325 to i1
  br i1 %3326, label %3327, label %3334

3327:                                             ; preds = %3322
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 2, ptr noundef @.str.655, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  %3328 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.632)
  br i1 %3328, label %3329, label %3330

3329:                                             ; preds = %3327
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.236)
  call void @_ZN5ImGui7TreePopEv()
  br label %3330

3330:                                             ; preds = %3329, %3327
  call void @_ZN5ImGui10NextColumnEv()
  %3331 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.656)
  br i1 %3331, label %3332, label %3333

3332:                                             ; preds = %3330
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.657)
  call void @_ZN5ImGui7TreePopEv()
  br label %3333

3333:                                             ; preds = %3332, %3330
  call void @_ZN5ImGui10NextColumnEv()
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %3334

3334:                                             ; preds = %3333, %3322
  call void @_ZN5ImGui5PopIDEv()
  call void @llvm.lifetime.end.p0(i64 1, ptr %327) #9
  br label %3335

3335:                                             ; preds = %3334, %3161
  %3336 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.658, i32 noundef 0)
  br i1 %3336, label %3337, label %3372

3337:                                             ; preds = %3335
  %3338 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter acquire, align 8
  %3339 = icmp eq i8 %3338, 0
  br i1 %3339, label %3340, label %3346, !prof !44

3340:                                             ; preds = %3337
  %3341 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter) #9
  %3342 = icmp ne i32 %3341, 0
  br i1 %3342, label %3343, label %3346

3343:                                             ; preds = %3340
  invoke void @_ZN15ImGuiTextFilterC1EPKc(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef @.str.390)
          to label %3344 unwind label %3352

3344:                                             ; preds = %3343
  %3345 = call i32 @__cxa_atexit(ptr @_ZN15ImGuiTextFilterD2Ev, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr @__dso_handle) #9
  call void @__cxa_guard_release(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter) #9
  br label %3346

3346:                                             ; preds = %3344, %3340, %3337
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.659)
  %3347 = call noundef zeroext i1 @_ZN15ImGuiTextFilter4DrawEPKcf(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef @.str.660, float noundef 0.000000e+00)
  call void @llvm.lifetime.start.p0(i64 64, ptr %328) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %328, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 64, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #9
  store i32 0, ptr %329, align 4, !tbaa !13
  br label %3348

3348:                                             ; preds = %3368, %3346
  %3349 = load i32, ptr %329, align 4, !tbaa !13
  %3350 = icmp slt i32 %3349, 8
  br i1 %3350, label %3356, label %3351

3351:                                             ; preds = %3348
  store i32 114, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #9
  br label %3371

3352:                                             ; preds = %3343
  %3353 = landingpad { ptr, i32 }
          cleanup
  %3354 = extractvalue { ptr, i32 } %3353, 0
  store ptr %3354, ptr %113, align 8
  %3355 = extractvalue { ptr, i32 } %3353, 1
  store i32 %3355, ptr %114, align 4
  call void @__cxa_guard_abort(ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter) #9
  br label %3818

3356:                                             ; preds = %3348
  %3357 = load i32, ptr %329, align 4, !tbaa !13
  %3358 = sext i32 %3357 to i64
  %3359 = getelementptr inbounds [8 x ptr], ptr %328, i64 0, i64 %3358
  %3360 = load ptr, ptr %3359, align 8, !tbaa !5
  %3361 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %3360, ptr noundef null)
  br i1 %3361, label %3362, label %3367

3362:                                             ; preds = %3356
  %3363 = load i32, ptr %329, align 4, !tbaa !13
  %3364 = sext i32 %3363 to i64
  %3365 = getelementptr inbounds [8 x ptr], ptr %328, i64 0, i64 %3364
  %3366 = load ptr, ptr %3365, align 8, !tbaa !5
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef @.str.535, ptr noundef %3366)
  br label %3367

3367:                                             ; preds = %3362, %3356
  br label %3368

3368:                                             ; preds = %3367
  %3369 = load i32, ptr %329, align 4, !tbaa !13
  %3370 = add nsw i32 %3369, 1
  store i32 %3370, ptr %329, align 4, !tbaa !13
  br label %3348, !llvm.loop !98

3371:                                             ; preds = %3351
  call void @llvm.lifetime.end.p0(i64 64, ptr %328) #9
  br label %3372

3372:                                             ; preds = %3371, %3335
  %3373 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef @.str.669, i32 noundef 0)
  br i1 %3373, label %3374, label %3814

3374:                                             ; preds = %3372
  call void @llvm.lifetime.start.p0(i64 8, ptr %330) #9
  %3375 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  store ptr %3375, ptr %330, align 8, !tbaa !5
  %3376 = load ptr, ptr %330, align 8, !tbaa !5
  %3377 = getelementptr inbounds %struct.ImGuiIO, ptr %3376, i32 0, i32 42
  %3378 = load i8, ptr %3377, align 4, !tbaa !99, !range !11, !noundef !12
  %3379 = trunc i8 %3378 to i1
  %3380 = zext i1 %3379 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.670, i32 noundef %3380)
  %3381 = load ptr, ptr %330, align 8, !tbaa !5
  %3382 = getelementptr inbounds %struct.ImGuiIO, ptr %3381, i32 0, i32 43
  %3383 = load i8, ptr %3382, align 1, !tbaa !100, !range !11, !noundef !12
  %3384 = trunc i8 %3383 to i1
  %3385 = zext i1 %3384 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.671, i32 noundef %3385)
  %3386 = load ptr, ptr %330, align 8, !tbaa !5
  %3387 = getelementptr inbounds %struct.ImGuiIO, ptr %3386, i32 0, i32 44
  %3388 = load i8, ptr %3387, align 2, !tbaa !101, !range !11, !noundef !12
  %3389 = trunc i8 %3388 to i1
  %3390 = zext i1 %3389 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.672, i32 noundef %3390)
  %3391 = load ptr, ptr %330, align 8, !tbaa !5
  %3392 = getelementptr inbounds %struct.ImGuiIO, ptr %3391, i32 0, i32 45
  %3393 = load i8, ptr %3392, align 1, !tbaa !102, !range !11, !noundef !12
  %3394 = trunc i8 %3393 to i1
  %3395 = zext i1 %3394 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.673, i32 noundef %3395)
  %3396 = load ptr, ptr %330, align 8, !tbaa !5
  %3397 = getelementptr inbounds %struct.ImGuiIO, ptr %3396, i32 0, i32 47
  %3398 = load i8, ptr %3397, align 1, !tbaa !103, !range !11, !noundef !12
  %3399 = trunc i8 %3398 to i1
  %3400 = zext i1 %3399 to i32
  %3401 = load ptr, ptr %330, align 8, !tbaa !5
  %3402 = getelementptr inbounds %struct.ImGuiIO, ptr %3401, i32 0, i32 48
  %3403 = load i8, ptr %3402, align 2, !tbaa !104, !range !11, !noundef !12
  %3404 = trunc i8 %3403 to i1
  %3405 = zext i1 %3404 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.674, i32 noundef %3400, i32 noundef %3405)
  %3406 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.675)
  br i1 %3406, label %3407, label %3661

3407:                                             ; preds = %3374
  %3408 = call noundef zeroext i1 @_ZN5ImGui15IsMousePosValidEPK6ImVec2(ptr noundef null)
  br i1 %3408, label %3409, label %3420

3409:                                             ; preds = %3407
  %3410 = load ptr, ptr %330, align 8, !tbaa !5
  %3411 = getelementptr inbounds %struct.ImGuiIO, ptr %3410, i32 0, i32 31
  %3412 = getelementptr inbounds %struct.ImVec2, ptr %3411, i32 0, i32 0
  %3413 = load float, ptr %3412, align 8, !tbaa !41
  %3414 = fpext float %3413 to double
  %3415 = load ptr, ptr %330, align 8, !tbaa !5
  %3416 = getelementptr inbounds %struct.ImGuiIO, ptr %3415, i32 0, i32 31
  %3417 = getelementptr inbounds %struct.ImVec2, ptr %3416, i32 0, i32 1
  %3418 = load float, ptr %3417, align 4, !tbaa !42
  %3419 = fpext float %3418 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.676, double noundef %3414, double noundef %3419)
  br label %3421

3420:                                             ; preds = %3407
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.677)
  br label %3421

3421:                                             ; preds = %3420, %3409
  %3422 = load ptr, ptr %330, align 8, !tbaa !5
  %3423 = getelementptr inbounds %struct.ImGuiIO, ptr %3422, i32 0, i32 55
  %3424 = getelementptr inbounds %struct.ImVec2, ptr %3423, i32 0, i32 0
  %3425 = load float, ptr %3424, align 4, !tbaa !84
  %3426 = fpext float %3425 to double
  %3427 = load ptr, ptr %330, align 8, !tbaa !5
  %3428 = getelementptr inbounds %struct.ImGuiIO, ptr %3427, i32 0, i32 55
  %3429 = getelementptr inbounds %struct.ImVec2, ptr %3428, i32 0, i32 1
  %3430 = load float, ptr %3429, align 4, !tbaa !85
  %3431 = fpext float %3430 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.678, double noundef %3426, double noundef %3431)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.679)
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #9
  store i32 0, ptr %331, align 4, !tbaa !13
  br label %3432

3432:                                             ; preds = %3454, %3421
  %3433 = load i32, ptr %331, align 4, !tbaa !13
  %3434 = icmp slt i32 %3433, 5
  br i1 %3434, label %3436, label %3435

3435:                                             ; preds = %3432
  store i32 117, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #9
  br label %3457

3436:                                             ; preds = %3432
  %3437 = load ptr, ptr %330, align 8, !tbaa !5
  %3438 = getelementptr inbounds %struct.ImGuiIO, ptr %3437, i32 0, i32 63
  %3439 = load i32, ptr %331, align 4, !tbaa !13
  %3440 = sext i32 %3439 to i64
  %3441 = getelementptr inbounds [5 x float], ptr %3438, i64 0, i64 %3440
  %3442 = load float, ptr %3441, align 4, !tbaa !24
  %3443 = fcmp oge float %3442, 0.000000e+00
  br i1 %3443, label %3444, label %3453

3444:                                             ; preds = %3436
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3445 = load i32, ptr %331, align 4, !tbaa !13
  %3446 = load ptr, ptr %330, align 8, !tbaa !5
  %3447 = getelementptr inbounds %struct.ImGuiIO, ptr %3446, i32 0, i32 63
  %3448 = load i32, ptr %331, align 4, !tbaa !13
  %3449 = sext i32 %3448 to i64
  %3450 = getelementptr inbounds [5 x float], ptr %3447, i64 0, i64 %3449
  %3451 = load float, ptr %3450, align 4, !tbaa !24
  %3452 = fpext float %3451 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.680, i32 noundef %3445, double noundef %3452)
  br label %3453

3453:                                             ; preds = %3444, %3436
  br label %3454

3454:                                             ; preds = %3453
  %3455 = load i32, ptr %331, align 4, !tbaa !13
  %3456 = add nsw i32 %3455, 1
  store i32 %3456, ptr %331, align 4, !tbaa !13
  br label %3432, !llvm.loop !105

3457:                                             ; preds = %3435
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.681)
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #9
  store i32 0, ptr %332, align 4, !tbaa !13
  br label %3458

3458:                                             ; preds = %3468, %3457
  %3459 = load i32, ptr %332, align 4, !tbaa !13
  %3460 = icmp slt i32 %3459, 5
  br i1 %3460, label %3462, label %3461

3461:                                             ; preds = %3458
  store i32 120, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #9
  br label %3471

3462:                                             ; preds = %3458
  %3463 = load i32, ptr %332, align 4, !tbaa !13
  %3464 = call noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef %3463, i1 noundef zeroext false)
  br i1 %3464, label %3465, label %3467

3465:                                             ; preds = %3462
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3466 = load i32, ptr %332, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.682, i32 noundef %3466)
  br label %3467

3467:                                             ; preds = %3465, %3462
  br label %3468

3468:                                             ; preds = %3467
  %3469 = load i32, ptr %332, align 4, !tbaa !13
  %3470 = add nsw i32 %3469, 1
  store i32 %3470, ptr %332, align 4, !tbaa !13
  br label %3458, !llvm.loop !106

3471:                                             ; preds = %3461
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.683)
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #9
  store i32 0, ptr %333, align 4, !tbaa !13
  br label %3472

3472:                                             ; preds = %3482, %3471
  %3473 = load i32, ptr %333, align 4, !tbaa !13
  %3474 = icmp slt i32 %3473, 5
  br i1 %3474, label %3476, label %3475

3475:                                             ; preds = %3472
  store i32 123, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #9
  br label %3485

3476:                                             ; preds = %3472
  %3477 = load i32, ptr %333, align 4, !tbaa !13
  %3478 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef %3477)
  br i1 %3478, label %3479, label %3481

3479:                                             ; preds = %3476
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3480 = load i32, ptr %333, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.682, i32 noundef %3480)
  br label %3481

3481:                                             ; preds = %3479, %3476
  br label %3482

3482:                                             ; preds = %3481
  %3483 = load i32, ptr %333, align 4, !tbaa !13
  %3484 = add nsw i32 %3483, 1
  store i32 %3484, ptr %333, align 4, !tbaa !13
  br label %3472, !llvm.loop !107

3485:                                             ; preds = %3475
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.684)
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #9
  store i32 0, ptr %334, align 4, !tbaa !13
  br label %3486

3486:                                             ; preds = %3496, %3485
  %3487 = load i32, ptr %334, align 4, !tbaa !13
  %3488 = icmp slt i32 %3487, 5
  br i1 %3488, label %3490, label %3489

3489:                                             ; preds = %3486
  store i32 126, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #9
  br label %3499

3490:                                             ; preds = %3486
  %3491 = load i32, ptr %334, align 4, !tbaa !13
  %3492 = call noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef %3491)
  br i1 %3492, label %3493, label %3495

3493:                                             ; preds = %3490
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3494 = load i32, ptr %334, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.682, i32 noundef %3494)
  br label %3495

3495:                                             ; preds = %3493, %3490
  br label %3496

3496:                                             ; preds = %3495
  %3497 = load i32, ptr %334, align 4, !tbaa !13
  %3498 = add nsw i32 %3497, 1
  store i32 %3498, ptr %334, align 4, !tbaa !13
  br label %3486, !llvm.loop !108

3499:                                             ; preds = %3489
  %3500 = load ptr, ptr %330, align 8, !tbaa !5
  %3501 = getelementptr inbounds %struct.ImGuiIO, ptr %3500, i32 0, i32 33
  %3502 = load float, ptr %3501, align 8, !tbaa !109
  %3503 = fpext float %3502 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.685, double noundef %3503)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.686)
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #9
  store i32 0, ptr %335, align 4, !tbaa !13
  br label %3504

3504:                                             ; preds = %3526, %3499
  %3505 = load i32, ptr %335, align 4, !tbaa !13
  %3506 = icmp slt i32 %3505, 512
  br i1 %3506, label %3508, label %3507

3507:                                             ; preds = %3504
  store i32 129, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #9
  br label %3529

3508:                                             ; preds = %3504
  %3509 = load ptr, ptr %330, align 8, !tbaa !5
  %3510 = getelementptr inbounds %struct.ImGuiIO, ptr %3509, i32 0, i32 67
  %3511 = load i32, ptr %335, align 4, !tbaa !13
  %3512 = sext i32 %3511 to i64
  %3513 = getelementptr inbounds [512 x float], ptr %3510, i64 0, i64 %3512
  %3514 = load float, ptr %3513, align 4, !tbaa !24
  %3515 = fcmp oge float %3514, 0.000000e+00
  br i1 %3515, label %3516, label %3525

3516:                                             ; preds = %3508
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3517 = load i32, ptr %335, align 4, !tbaa !13
  %3518 = load ptr, ptr %330, align 8, !tbaa !5
  %3519 = getelementptr inbounds %struct.ImGuiIO, ptr %3518, i32 0, i32 67
  %3520 = load i32, ptr %335, align 4, !tbaa !13
  %3521 = sext i32 %3520 to i64
  %3522 = getelementptr inbounds [512 x float], ptr %3519, i64 0, i64 %3521
  %3523 = load float, ptr %3522, align 4, !tbaa !24
  %3524 = fpext float %3523 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.687, i32 noundef %3517, double noundef %3524)
  br label %3525

3525:                                             ; preds = %3516, %3508
  br label %3526

3526:                                             ; preds = %3525
  %3527 = load i32, ptr %335, align 4, !tbaa !13
  %3528 = add nsw i32 %3527, 1
  store i32 %3528, ptr %335, align 4, !tbaa !13
  br label %3504, !llvm.loop !110

3529:                                             ; preds = %3507
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.688)
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #9
  store i32 0, ptr %336, align 4, !tbaa !13
  br label %3530

3530:                                             ; preds = %3540, %3529
  %3531 = load i32, ptr %336, align 4, !tbaa !13
  %3532 = icmp slt i32 %3531, 512
  br i1 %3532, label %3534, label %3533

3533:                                             ; preds = %3530
  store i32 132, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #9
  br label %3543

3534:                                             ; preds = %3530
  %3535 = load i32, ptr %336, align 4, !tbaa !13
  %3536 = call noundef zeroext i1 @_ZN5ImGui12IsKeyPressedEib(i32 noundef %3535, i1 noundef zeroext true)
  br i1 %3536, label %3537, label %3539

3537:                                             ; preds = %3534
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3538 = load i32, ptr %336, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.95, i32 noundef %3538)
  br label %3539

3539:                                             ; preds = %3537, %3534
  br label %3540

3540:                                             ; preds = %3539
  %3541 = load i32, ptr %336, align 4, !tbaa !13
  %3542 = add nsw i32 %3541, 1
  store i32 %3542, ptr %336, align 4, !tbaa !13
  br label %3530, !llvm.loop !111

3543:                                             ; preds = %3533
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.689)
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #9
  store i32 0, ptr %337, align 4, !tbaa !13
  br label %3544

3544:                                             ; preds = %3554, %3543
  %3545 = load i32, ptr %337, align 4, !tbaa !13
  %3546 = icmp slt i32 %3545, 512
  br i1 %3546, label %3548, label %3547

3547:                                             ; preds = %3544
  store i32 135, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #9
  br label %3557

3548:                                             ; preds = %3544
  %3549 = load i32, ptr %337, align 4, !tbaa !13
  %3550 = call noundef zeroext i1 @_ZN5ImGui13IsKeyReleasedEi(i32 noundef %3549)
  br i1 %3550, label %3551, label %3553

3551:                                             ; preds = %3548
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3552 = load i32, ptr %337, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.95, i32 noundef %3552)
  br label %3553

3553:                                             ; preds = %3551, %3548
  br label %3554

3554:                                             ; preds = %3553
  %3555 = load i32, ptr %337, align 4, !tbaa !13
  %3556 = add nsw i32 %3555, 1
  store i32 %3556, ptr %337, align 4, !tbaa !13
  br label %3544, !llvm.loop !112

3557:                                             ; preds = %3547
  %3558 = load ptr, ptr %330, align 8, !tbaa !5
  %3559 = getelementptr inbounds %struct.ImGuiIO, ptr %3558, i32 0, i32 35
  %3560 = load i8, ptr %3559, align 8, !tbaa !27, !range !11, !noundef !12
  %3561 = trunc i8 %3560 to i1
  %3562 = zext i1 %3561 to i64
  %3563 = select i1 %3561, ptr @.str.691, ptr @.str.390
  %3564 = load ptr, ptr %330, align 8, !tbaa !5
  %3565 = getelementptr inbounds %struct.ImGuiIO, ptr %3564, i32 0, i32 36
  %3566 = load i8, ptr %3565, align 1, !tbaa !113, !range !11, !noundef !12
  %3567 = trunc i8 %3566 to i1
  %3568 = zext i1 %3567 to i64
  %3569 = select i1 %3567, ptr @.str.692, ptr @.str.390
  %3570 = load ptr, ptr %330, align 8, !tbaa !5
  %3571 = getelementptr inbounds %struct.ImGuiIO, ptr %3570, i32 0, i32 37
  %3572 = load i8, ptr %3571, align 2, !tbaa !114, !range !11, !noundef !12
  %3573 = trunc i8 %3572 to i1
  %3574 = zext i1 %3573 to i64
  %3575 = select i1 %3573, ptr @.str.693, ptr @.str.390
  %3576 = load ptr, ptr %330, align 8, !tbaa !5
  %3577 = getelementptr inbounds %struct.ImGuiIO, ptr %3576, i32 0, i32 38
  %3578 = load i8, ptr %3577, align 1, !tbaa !115, !range !11, !noundef !12
  %3579 = trunc i8 %3578 to i1
  %3580 = zext i1 %3579 to i64
  %3581 = select i1 %3579, ptr @.str.694, ptr @.str.390
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.690, ptr noundef %3563, ptr noundef %3569, ptr noundef %3575, ptr noundef %3581)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.695)
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #9
  store i32 0, ptr %338, align 4, !tbaa !13
  br label %3582

3582:                                             ; preds = %3604, %3557
  %3583 = load i32, ptr %338, align 4, !tbaa !13
  %3584 = icmp slt i32 %3583, 21
  br i1 %3584, label %3586, label %3585

3585:                                             ; preds = %3582
  store i32 138, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #9
  br label %3607

3586:                                             ; preds = %3582
  %3587 = load ptr, ptr %330, align 8, !tbaa !5
  %3588 = getelementptr inbounds %struct.ImGuiIO, ptr %3587, i32 0, i32 41
  %3589 = load i32, ptr %338, align 4, !tbaa !13
  %3590 = sext i32 %3589 to i64
  %3591 = getelementptr inbounds [21 x float], ptr %3588, i64 0, i64 %3590
  %3592 = load float, ptr %3591, align 4, !tbaa !24
  %3593 = fcmp ogt float %3592, 0.000000e+00
  br i1 %3593, label %3594, label %3603

3594:                                             ; preds = %3586
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3595 = load i32, ptr %338, align 4, !tbaa !13
  %3596 = load ptr, ptr %330, align 8, !tbaa !5
  %3597 = getelementptr inbounds %struct.ImGuiIO, ptr %3596, i32 0, i32 41
  %3598 = load i32, ptr %338, align 4, !tbaa !13
  %3599 = sext i32 %3598 to i64
  %3600 = getelementptr inbounds [21 x float], ptr %3597, i64 0, i64 %3599
  %3601 = load float, ptr %3600, align 4, !tbaa !24
  %3602 = fpext float %3601 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.696, i32 noundef %3595, double noundef %3602)
  br label %3603

3603:                                             ; preds = %3594, %3586
  br label %3604

3604:                                             ; preds = %3603
  %3605 = load i32, ptr %338, align 4, !tbaa !13
  %3606 = add nsw i32 %3605, 1
  store i32 %3606, ptr %338, align 4, !tbaa !13
  br label %3582, !llvm.loop !116

3607:                                             ; preds = %3585
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.697)
  call void @llvm.lifetime.start.p0(i64 4, ptr %339) #9
  store i32 0, ptr %339, align 4, !tbaa !13
  br label %3608

3608:                                             ; preds = %3623, %3607
  %3609 = load i32, ptr %339, align 4, !tbaa !13
  %3610 = icmp slt i32 %3609, 21
  br i1 %3610, label %3612, label %3611

3611:                                             ; preds = %3608
  store i32 141, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %339) #9
  br label %3626

3612:                                             ; preds = %3608
  %3613 = load ptr, ptr %330, align 8, !tbaa !5
  %3614 = getelementptr inbounds %struct.ImGuiIO, ptr %3613, i32 0, i32 69
  %3615 = load i32, ptr %339, align 4, !tbaa !13
  %3616 = sext i32 %3615 to i64
  %3617 = getelementptr inbounds [21 x float], ptr %3614, i64 0, i64 %3616
  %3618 = load float, ptr %3617, align 4, !tbaa !24
  %3619 = fcmp oeq float %3618, 0.000000e+00
  br i1 %3619, label %3620, label %3622

3620:                                             ; preds = %3612
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3621 = load i32, ptr %339, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.698, i32 noundef %3621)
  br label %3622

3622:                                             ; preds = %3620, %3612
  br label %3623

3623:                                             ; preds = %3622
  %3624 = load i32, ptr %339, align 4, !tbaa !13
  %3625 = add nsw i32 %3624, 1
  store i32 %3625, ptr %339, align 4, !tbaa !13
  br label %3608, !llvm.loop !117

3626:                                             ; preds = %3611
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.699)
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #9
  store i32 0, ptr %340, align 4, !tbaa !13
  br label %3627

3627:                                             ; preds = %3649, %3626
  %3628 = load i32, ptr %340, align 4, !tbaa !13
  %3629 = icmp slt i32 %3628, 21
  br i1 %3629, label %3631, label %3630

3630:                                             ; preds = %3627
  store i32 144, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #9
  br label %3652

3631:                                             ; preds = %3627
  %3632 = load ptr, ptr %330, align 8, !tbaa !5
  %3633 = getelementptr inbounds %struct.ImGuiIO, ptr %3632, i32 0, i32 69
  %3634 = load i32, ptr %340, align 4, !tbaa !13
  %3635 = sext i32 %3634 to i64
  %3636 = getelementptr inbounds [21 x float], ptr %3633, i64 0, i64 %3635
  %3637 = load float, ptr %3636, align 4, !tbaa !24
  %3638 = fcmp oge float %3637, 0.000000e+00
  br i1 %3638, label %3639, label %3648

3639:                                             ; preds = %3631
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3640 = load i32, ptr %340, align 4, !tbaa !13
  %3641 = load ptr, ptr %330, align 8, !tbaa !5
  %3642 = getelementptr inbounds %struct.ImGuiIO, ptr %3641, i32 0, i32 69
  %3643 = load i32, ptr %340, align 4, !tbaa !13
  %3644 = sext i32 %3643 to i64
  %3645 = getelementptr inbounds [21 x float], ptr %3642, i64 0, i64 %3644
  %3646 = load float, ptr %3645, align 4, !tbaa !24
  %3647 = fpext float %3646 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.696, i32 noundef %3640, double noundef %3647)
  br label %3648

3648:                                             ; preds = %3639, %3631
  br label %3649

3649:                                             ; preds = %3648
  %3650 = load i32, ptr %340, align 4, !tbaa !13
  %3651 = add nsw i32 %3650, 1
  store i32 %3651, ptr %340, align 4, !tbaa !13
  br label %3627, !llvm.loop !118

3652:                                             ; preds = %3630
  call void @llvm.lifetime.start.p0(i64 8, ptr %341) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %341, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3653 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.700, ptr noundef nonnull align 4 dereferenceable(8) %341)
  call void @llvm.lifetime.end.p0(i64 8, ptr %341) #9
  %3654 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3654, label %3655, label %3656

3655:                                             ; preds = %3652
  call void @_ZN5ImGui22CaptureKeyboardFromAppEb(i1 noundef zeroext true)
  br label %3656

3656:                                             ; preds = %3655, %3652
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %342) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %342, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3657 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.701, ptr noundef nonnull align 4 dereferenceable(8) %342)
  call void @llvm.lifetime.end.p0(i64 8, ptr %342) #9
  %3658 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %3658, label %3659, label %3660

3659:                                             ; preds = %3656
  call void @_ZN5ImGui22CaptureKeyboardFromAppEb(i1 noundef zeroext false)
  br label %3660

3660:                                             ; preds = %3659, %3656
  call void @_ZN5ImGui7TreePopEv()
  br label %3661

3661:                                             ; preds = %3660, %3374
  %3662 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.702)
  br i1 %3662, label %3663, label %3669

3663:                                             ; preds = %3661
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.703)
  %3664 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.704, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3665 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.705, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3666 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.706, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui22PushAllowKeyboardFocusEb(i1 noundef zeroext false)
  %3667 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.707, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui21PopAllowKeyboardFocusEv()
  %3668 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.708, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  br label %3669

3669:                                             ; preds = %3663, %3661
  %3670 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.709)
  br i1 %3670, label %3671, label %3723

3671:                                             ; preds = %3669
  call void @llvm.lifetime.start.p0(i64 1, ptr %343) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %344) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %344, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3672 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.710, ptr noundef nonnull align 4 dereferenceable(8) %344)
  call void @llvm.lifetime.end.p0(i64 8, ptr %344) #9
  %3673 = zext i1 %3672 to i8
  store i8 %3673, ptr %343, 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 %345) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %346) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %346, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3674 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.711, ptr noundef nonnull align 4 dereferenceable(8) %346)
  call void @llvm.lifetime.end.p0(i64 8, ptr %346) #9
  %3675 = zext i1 %3674 to i8
  store i8 %3675, ptr %345, 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 %347) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %348) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %348, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3676 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.712, ptr noundef nonnull align 4 dereferenceable(8) %348)
  call void @llvm.lifetime.end.p0(i64 8, ptr %348) #9
  %3677 = zext i1 %3676 to i8
  store i8 %3677, ptr %347, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #9
  store i32 0, ptr %349, align 4, !tbaa !13
  %3678 = load i8, ptr %343, align 1, !tbaa !9, !range !11, !noundef !12
  %3679 = trunc i8 %3678 to i1
  br i1 %3679, label %3680, label %3681

3680:                                             ; preds = %3671
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef 0)
  br label %3681

3681:                                             ; preds = %3680, %3671
  %3682 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.704, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_1, i64 noundef 128, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3683 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %3683, label %3684, label %3685

3684:                                             ; preds = %3681
  store i32 1, ptr %349, align 4, !tbaa !13
  br label %3685

3685:                                             ; preds = %3684, %3681
  %3686 = load i8, ptr %345, align 1, !tbaa !9, !range !11, !noundef !12
  %3687 = trunc i8 %3686 to i1
  br i1 %3687, label %3688, label %3689

3688:                                             ; preds = %3685
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef 0)
  br label %3689

3689:                                             ; preds = %3688, %3685
  %3690 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.705, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_1, i64 noundef 128, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3691 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %3691, label %3692, label %3693

3692:                                             ; preds = %3689
  store i32 2, ptr %349, align 4, !tbaa !13
  br label %3693

3693:                                             ; preds = %3692, %3689
  call void @_ZN5ImGui22PushAllowKeyboardFocusEb(i1 noundef zeroext false)
  %3694 = load i8, ptr %347, align 1, !tbaa !9, !range !11, !noundef !12
  %3695 = trunc i8 %3694 to i1
  br i1 %3695, label %3696, label %3697

3696:                                             ; preds = %3693
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef 0)
  br label %3697

3697:                                             ; preds = %3696, %3693
  %3698 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef @.str.713, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE3buf_1, i64 noundef 128, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3699 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %3699, label %3700, label %3701

3700:                                             ; preds = %3697
  store i32 3, ptr %349, align 4, !tbaa !13
  br label %3701

3701:                                             ; preds = %3700, %3697
  call void @_ZN5ImGui21PopAllowKeyboardFocusEv()
  %3702 = load i32, ptr %349, align 4, !tbaa !13
  %3703 = icmp ne i32 %3702, 0
  br i1 %3703, label %3704, label %3706

3704:                                             ; preds = %3701
  %3705 = load i32, ptr %349, align 4, !tbaa !13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.714, i32 noundef %3705)
  br label %3707

3706:                                             ; preds = %3701
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.715)
  br label %3707

3707:                                             ; preds = %3706, %3704
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #9
  store i32 -1, ptr %350, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr %351) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %351, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3708 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.716, ptr noundef nonnull align 4 dereferenceable(8) %351)
  call void @llvm.lifetime.end.p0(i64 8, ptr %351) #9
  br i1 %3708, label %3709, label %3710

3709:                                             ; preds = %3707
  store i32 0, ptr %350, align 4, !tbaa !13
  br label %3710

3710:                                             ; preds = %3709, %3707
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %352) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %352, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3711 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.717, ptr noundef nonnull align 4 dereferenceable(8) %352)
  call void @llvm.lifetime.end.p0(i64 8, ptr %352) #9
  br i1 %3711, label %3712, label %3713

3712:                                             ; preds = %3710
  store i32 1, ptr %350, align 4, !tbaa !13
  br label %3713

3713:                                             ; preds = %3712, %3710
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr %353) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %353, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3714 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.718, ptr noundef nonnull align 4 dereferenceable(8) %353)
  call void @llvm.lifetime.end.p0(i64 8, ptr %353) #9
  br i1 %3714, label %3715, label %3716

3715:                                             ; preds = %3713
  store i32 2, ptr %350, align 4, !tbaa !13
  br label %3716

3716:                                             ; preds = %3715, %3713
  %3717 = load i32, ptr %350, align 4, !tbaa !13
  %3718 = icmp ne i32 %3717, -1
  br i1 %3718, label %3719, label %3721

3719:                                             ; preds = %3716
  %3720 = load i32, ptr %350, align 4, !tbaa !13
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef %3720)
  br label %3721

3721:                                             ; preds = %3719, %3716
  %3722 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat3EPKcPfffS1_f(ptr noundef @.str.719, ptr noundef @_ZZN5ImGui14ShowDemoWindowEPbE2f3, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef @.str.124, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.720)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %347) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %345) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %343) #9
  br label %3723

3723:                                             ; preds = %3721, %3669
  %3724 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.721)
  br i1 %3724, label %3725, label %3781

3725:                                             ; preds = %3723
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef @.str.722)
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #9
  store i32 0, ptr %354, align 4, !tbaa !13
  br label %3726

3726:                                             ; preds = %3741, %3725
  %3727 = load i32, ptr %354, align 4, !tbaa !13
  %3728 = icmp slt i32 %3727, 3
  br i1 %3728, label %3730, label %3729

3729:                                             ; preds = %3726
  store i32 147, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #9
  br label %3744

3730:                                             ; preds = %3726
  %3731 = load i32, ptr %354, align 4, !tbaa !13
  %3732 = load i32, ptr %354, align 4, !tbaa !13
  %3733 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef %3732, float noundef -1.000000e+00)
  %3734 = zext i1 %3733 to i32
  %3735 = load i32, ptr %354, align 4, !tbaa !13
  %3736 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef %3735, float noundef 0.000000e+00)
  %3737 = zext i1 %3736 to i32
  %3738 = load i32, ptr %354, align 4, !tbaa !13
  %3739 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef %3738, float noundef 2.000000e+01)
  %3740 = zext i1 %3739 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.723, i32 noundef %3731, i32 noundef %3734, i32 noundef %3737, i32 noundef %3740)
  br label %3741

3741:                                             ; preds = %3730
  %3742 = load i32, ptr %354, align 4, !tbaa !13
  %3743 = add nsw i32 %3742, 1
  store i32 %3743, ptr %354, align 4, !tbaa !13
  br label %3726, !llvm.loop !119

3744:                                             ; preds = %3729
  call void @llvm.lifetime.start.p0(i64 8, ptr %355) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %355, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3745 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef @.str.724, ptr noundef nonnull align 4 dereferenceable(8) %355)
  call void @llvm.lifetime.end.p0(i64 8, ptr %355) #9
  %3746 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %3746, label %3747, label %3780

3747:                                             ; preds = %3744
  call void @llvm.lifetime.start.p0(i64 8, ptr %356) #9
  %3748 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  store ptr %3748, ptr %356, align 8, !tbaa !5
  %3749 = load ptr, ptr %356, align 8, !tbaa !5
  call void @_ZN10ImDrawList22PushClipRectFullScreenEv(ptr noundef nonnull align 8 dereferenceable(168) %3749)
  %3750 = load ptr, ptr %356, align 8, !tbaa !5
  %3751 = load ptr, ptr %330, align 8, !tbaa !5
  %3752 = getelementptr inbounds %struct.ImGuiIO, ptr %3751, i32 0, i32 57
  %3753 = getelementptr inbounds [5 x %struct.ImVec2], ptr %3752, i64 0, i64 0
  %3754 = load ptr, ptr %330, align 8, !tbaa !5
  %3755 = getelementptr inbounds %struct.ImGuiIO, ptr %3754, i32 0, i32 31
  %3756 = call noundef i32 @_ZN5ImGui11GetColorU32Eif(i32 noundef 21, float noundef 1.000000e+00)
  call void @_ZN10ImDrawList7AddLineERK6ImVec2S2_jf(ptr noundef nonnull align 8 dereferenceable(168) %3750, ptr noundef nonnull align 4 dereferenceable(8) %3753, ptr noundef nonnull align 4 dereferenceable(8) %3755, i32 noundef %3756, float noundef 4.000000e+00)
  %3757 = load ptr, ptr %356, align 8, !tbaa !5
  call void @_ZN10ImDrawList11PopClipRectEv(ptr noundef nonnull align 8 dereferenceable(168) %3757)
  call void @llvm.lifetime.start.p0(i64 8, ptr %357) #9
  %3758 = call <2 x float> @_ZN5ImGui17GetMouseDragDeltaEif(i32 noundef 0, float noundef 0.000000e+00)
  store <2 x float> %3758, ptr %357, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr %358) #9
  %3759 = call <2 x float> @_ZN5ImGui17GetMouseDragDeltaEif(i32 noundef 0, float noundef -1.000000e+00)
  store <2 x float> %3759, ptr %358, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr %359) #9
  %3760 = load ptr, ptr %330, align 8, !tbaa !5
  %3761 = getelementptr inbounds %struct.ImGuiIO, ptr %3760, i32 0, i32 55
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %359, ptr align 4 %3761, i64 8, i1 false), !tbaa.struct !32
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3762 = getelementptr inbounds %struct.ImVec2, ptr %357, i32 0, i32 0
  %3763 = load float, ptr %3762, align 4, !tbaa !30
  %3764 = fpext float %3763 to double
  %3765 = getelementptr inbounds %struct.ImVec2, ptr %357, i32 0, i32 1
  %3766 = load float, ptr %3765, align 4, !tbaa !31
  %3767 = fpext float %3766 to double
  %3768 = getelementptr inbounds %struct.ImVec2, ptr %358, i32 0, i32 0
  %3769 = load float, ptr %3768, align 4, !tbaa !30
  %3770 = fpext float %3769 to double
  %3771 = getelementptr inbounds %struct.ImVec2, ptr %358, i32 0, i32 1
  %3772 = load float, ptr %3771, align 4, !tbaa !31
  %3773 = fpext float %3772 to double
  %3774 = getelementptr inbounds %struct.ImVec2, ptr %359, i32 0, i32 0
  %3775 = load float, ptr %3774, align 4, !tbaa !30
  %3776 = fpext float %3775 to double
  %3777 = getelementptr inbounds %struct.ImVec2, ptr %359, i32 0, i32 1
  %3778 = load float, ptr %3777, align 4, !tbaa !31
  %3779 = fpext float %3778 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.725, double noundef %3764, double noundef %3767, double noundef %3770, double noundef %3773, double noundef %3776, double noundef %3779)
  call void @llvm.lifetime.end.p0(i64 8, ptr %359) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %358) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %357) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %356) #9
  br label %3780

3780:                                             ; preds = %3747, %3744
  call void @_ZN5ImGui7TreePopEv()
  br label %3781

3781:                                             ; preds = %3780, %3723
  %3782 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef @.str.726)
  br i1 %3782, label %3783, label %3813

3783:                                             ; preds = %3781
  call void @llvm.lifetime.start.p0(i64 64, ptr %360) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %360, ptr align 16 @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 64, i1 false)
  %3784 = call noundef i32 @_ZN5ImGui14GetMouseCursorEv()
  %3785 = call noundef i32 @_ZN5ImGui14GetMouseCursorEv()
  %3786 = sext i32 %3785 to i64
  %3787 = getelementptr inbounds [8 x ptr], ptr %360, i64 0, i64 %3786
  %3788 = load ptr, ptr %3787, align 8, !tbaa !5
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.734, i32 noundef %3784, ptr noundef %3788)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef @.str.735)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef @.str.736)
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #9
  store i32 0, ptr %361, align 4, !tbaa !13
  br label %3789

3789:                                             ; preds = %3809, %3783
  %3790 = load i32, ptr %361, align 4, !tbaa !13
  %3791 = icmp slt i32 %3790, 8
  br i1 %3791, label %3793, label %3792

3792:                                             ; preds = %3789
  store i32 150, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #9
  br label %3812

3793:                                             ; preds = %3789
  call void @llvm.lifetime.start.p0(i64 32, ptr %362) #9
  %3794 = getelementptr inbounds [32 x i8], ptr %362, i64 0, i64 0
  %3795 = load i32, ptr %361, align 4, !tbaa !13
  %3796 = load i32, ptr %361, align 4, !tbaa !13
  %3797 = sext i32 %3796 to i64
  %3798 = getelementptr inbounds [8 x ptr], ptr %360, i64 0, i64 %3797
  %3799 = load ptr, ptr %3798, align 8, !tbaa !5
  %3800 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %3794, ptr noundef @.str.737, i32 noundef %3795, ptr noundef %3799) #9
  call void @_ZN5ImGui6BulletEv()
  %3801 = getelementptr inbounds [32 x i8], ptr %362, i64 0, i64 0
  call void @llvm.lifetime.start.p0(i64 8, ptr %363) #9
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %363, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3802 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %3801, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %363)
  call void @llvm.lifetime.end.p0(i64 8, ptr %363) #9
  %3803 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3803, label %3806, label %3804

3804:                                             ; preds = %3793
  %3805 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3805, label %3806, label %3808

3806:                                             ; preds = %3804, %3793
  %3807 = load i32, ptr %361, align 4, !tbaa !13
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef %3807)
  br label %3808

3808:                                             ; preds = %3806, %3804
  call void @llvm.lifetime.end.p0(i64 32, ptr %362) #9
  br label %3809

3809:                                             ; preds = %3808
  %3810 = load i32, ptr %361, align 4, !tbaa !13
  %3811 = add nsw i32 %3810, 1
  store i32 %3811, ptr %361, align 4, !tbaa !13
  br label %3789, !llvm.loop !120

3812:                                             ; preds = %3792
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 64, ptr %360) #9
  br label %3813

3813:                                             ; preds = %3812, %3781
  call void @llvm.lifetime.end.p0(i64 8, ptr %330) #9
  br label %3814

3814:                                             ; preds = %3813, %3372
  call void @_ZN5ImGui3EndEv()
  store i32 0, ptr %7, align 4
  br label %3815

3815:                                             ; preds = %3814, %478
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #9
  %3816 = load i32, ptr %7, align 4
  switch i32 %3816, label %3824 [
    i32 0, label %3817
    i32 1, label %3817
  ]

3817:                                             ; preds = %3815, %3815
  ret void

3818:                                             ; preds = %3352, %3321, %2963, %2959, %1787, %1547
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #9
  br label %3819

3819:                                             ; preds = %3818
  %3820 = load ptr, ptr %113, align 8
  %3821 = load i32, ptr %114, align 4
  %3822 = insertvalue { ptr, i32 } poison, ptr %3820, 0
  %3823 = insertvalue { ptr, i32 } %3822, i32 %3821, 1
  resume { ptr, i32 } %3823

3824:                                             ; preds = %3815
  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 @_ZN5ImGui16SetNextWindowPosERK6ImVec2iS2_(ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, ptr noundef nonnull align 4 dereferenceable(8)) #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 @_ZN5ImGui17SetNextWindowSizeERK6ImVec2i(ptr noundef nonnull align 4 dereferenceable(8), i32 noundef) #1

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 noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef) #1

declare noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef, ptr noundef, i32 noundef) #1

declare void @_ZN5ImGui8SameLineEff(float noundef, float noundef) #1

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14ShowHelpMarkerPKc(ptr noundef) #0

; Function Attrs: nounwind
declare float @fmodf(float noundef, float noundef) #5

declare noundef double @_ZN5ImGui7GetTimeEv() #1

declare noundef zeroext i1 @_ZN5ImGui12IsKeyPressedEib(i32 noundef, i1 noundef zeroext) #1

declare noundef i32 @_ZN5ImGui11GetKeyIndexEi(i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef, ptr noundef) #1

declare void @_ZN5ImGui7TreePopEv() #1

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

declare void @_ZN5ImGui10LogButtonsEv() #1

declare noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8)) #1

declare void @_ZN5ImGui14LogToClipboardEi(i32 noundef) #1

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

declare void @_ZN5ImGui9LogFinishEv() #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)) #6 align 2

declare void @_ZN5ImGui13PopStyleColorEi(i32 noundef) #1

declare void @_ZN5ImGui5PopIDEv() #1

declare void @_ZN5ImGui23AlignTextToFramePaddingEv() #1

declare noundef nonnull align 4 dereferenceable(840) 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) #7

declare noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(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) #8

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

; Function Attrs: nounwind
declare i32 @__cxa_guard_acquire(ptr) #9

; Function Attrs: nounwind
declare void @__cxa_guard_release(ptr) #9

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, ...) #5

; 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 @_ZZN5ImGui14ShowDemoWindowEPbEN11TextFilters18FilterImGuiLettersEP26ImGuiInputTextCallbackData(ptr noundef) #4 align 2

declare noundef zeroext i1 @_ZN5ImGui18InputTextMultilineEPKcPcmRK6ImVec2iPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef, ptr noundef, i64 noundef, ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, ptr noundef, ptr noundef) #1

; Function Attrs: nounwind
declare float @cosf(float noundef) #5

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) #9

; 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 void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef, ptr noundef nonnull align 4 dereferenceable(8)) #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 @_ZN5ImGui11RadioButtonEPKcb(ptr noundef, i1 noundef zeroext) #1

declare noundef zeroext i1 @_ZN5ImGui19BeginDragDropSourceEi(i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui18SetDragDropPayloadEPKcPKvmi(ptr noundef, ptr noundef, i64 noundef, i32 noundef) #1

declare void @_ZN5ImGui17EndDragDropSourceEv() #1

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) #11

declare noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv() #1

declare noundef zeroext i1 @_ZN5ImGui12IsItemEditedEv() #1

declare noundef zeroext i1 @_ZN5ImGui17IsItemDeactivatedEv() #1

declare noundef zeroext i1 @_ZN5ImGui26IsItemDeactivatedAfterEditEv() #1

declare noundef zeroext i1 @_ZN5ImGui13IsItemVisibleEv() #1

declare <2 x float> @_ZN5ImGui15GetItemRectSizeEv() #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 zeroext i1 @_ZN5ImGui21BeginPopupContextItemEPKci(ptr noundef, i32 noundef) #1

declare noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef, ptr noundef, i1 noundef zeroext, i1 noundef zeroext) #1

declare noundef float @_ZN5ImGui27GetWindowContentRegionWidthEv() #1

declare void @_ZN5ImGui14SetScrollHereYEf(float noundef) #1

declare noundef float @_ZN5ImGui14GetWindowWidthEv() #1

declare noundef float @_ZN5ImGui26GetContentRegionAvailWidthEv() #1

declare void @_ZN5ImGui5DummyERK6ImVec2(ptr noundef nonnull align 4 dereferenceable(8)) #1

declare <2 x float> @_ZN5ImGui12GetWindowPosEv() #1

declare <2 x float> @_ZN5ImGui25GetWindowContentRegionMaxEv() #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) #5

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 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 #6 align 2

; Function Attrs: nounwind
declare i32 @__cxa_atexit(ptr, ptr, ptr) #9

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 @_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 = { 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 #6 = { 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 #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #9 = { nounwind }
attributes #10 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #11 = { noreturn 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 #12 = { noreturn 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 = !{!"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 = !{!16, !14, i64 0}
!16 = !{!"_ZTS7ImGuiIO", !14, i64 0, !14, i64 4, !17, i64 8, !18, i64 16, !18, i64 20, !6, i64 24, !6, i64 32, !18, i64 40, !18, i64 44, !18, i64 48, !7, i64 52, !18, i64 136, !18, i64 140, !6, i64 144, !6, i64 152, !18, i64 160, !10, i64 164, !6, i64 168, !17, i64 176, !17, i64 184, !17, i64 192, !10, i64 200, !10, i64 201, !10, i64 202, !10, i64 203, !6, i64 208, !6, i64 216, !6, i64 224, !6, i64 232, !6, i64 240, !6, i64 248, !17, i64 256, !7, i64 264, !18, i64 272, !18, i64 276, !10, i64 280, !10, i64 281, !10, i64 282, !10, i64 283, !7, i64 284, !7, i64 796, !7, i64 832, !10, i64 916, !10, i64 917, !10, i64 918, !10, i64 919, !10, i64 920, !10, i64 921, !10, i64 922, !18, i64 924, !14, i64 928, !14, i64 932, !14, i64 936, !14, i64 940, !14, i64 944, !17, i64 948, !17, i64 956, !7, i64 964, !7, i64 1008, !7, i64 1048, !7, i64 1053, !7, i64 1058, !7, i64 1063, !7, i64 1068, !7, i64 1088, !7, i64 1108, !7, i64 1148, !7, i64 1168, !7, i64 3216, !7, i64 5264, !7, i64 5348}
!17 = !{!"_ZTS6ImVec2", !18, i64 0, !18, i64 4}
!18 = !{!"float", !7, i64 0}
!19 = !{!16, !14, i64 4}
!20 = distinct !{!20, !21}
!21 = !{!"llvm.loop.mustprogress"}
!22 = !{!23, !18, i64 76}
!23 = !{!"_ZTS10ImGuiStyle", !18, i64 0, !17, i64 4, !18, i64 12, !18, i64 16, !17, i64 20, !17, i64 28, !18, i64 36, !18, i64 40, !18, i64 44, !18, i64 48, !17, i64 52, !18, i64 60, !18, i64 64, !17, i64 68, !17, i64 76, !17, i64 84, !18, i64 92, !18, i64 96, !18, i64 100, !18, i64 104, !18, i64 108, !18, i64 112, !17, i64 116, !17, i64 124, !17, i64 132, !18, i64 140, !10, i64 144, !10, i64 145, !18, i64 148, !7, i64 152}
!24 = !{!18, !18, i64 0}
!25 = distinct !{!25, !21}
!26 = distinct !{!26, !21}
!27 = !{!16, !10, i64 280}
!28 = distinct !{!28, !21}
!29 = distinct !{!29, !21}
!30 = !{!17, !18, i64 0}
!31 = !{!17, !18, i64 4}
!32 = !{i64 0, i64 4, !24, i64 4, i64 4, !24}
!33 = !{!16, !6, i64 152}
!34 = !{!35, !6, i64 8}
!35 = !{!"_ZTS11ImFontAtlas", !10, i64 0, !14, i64 4, !6, i64 8, !14, i64 16, !14, i64 20, !6, i64 24, !6, i64 32, !14, i64 40, !14, i64 44, !17, i64 48, !17, i64 56, !36, i64 64, !37, i64 80, !38, i64 96, !7, i64 112}
!36 = !{!"_ZTS8ImVectorIP6ImFontE", !14, i64 0, !14, i64 4, !6, i64 8}
!37 = !{!"_ZTS8ImVectorIN11ImFontAtlas10CustomRectEE", !14, i64 0, !14, i64 4, !6, i64 8}
!38 = !{!"_ZTS8ImVectorI12ImFontConfigE", !14, i64 0, !14, i64 4, !6, i64 8}
!39 = !{!35, !14, i64 40}
!40 = !{!35, !14, i64 44}
!41 = !{!16, !18, i64 256}
!42 = !{!16, !18, i64 260}
!43 = distinct !{!43, !21}
!44 = !{!"branch_weights", i32 1, i32 1048575}
!45 = distinct !{!45, !21}
!46 = distinct !{!46, !21}
!47 = distinct !{!47, !21}
!48 = distinct !{!48, !21}
!49 = distinct !{!49, !21}
!50 = !{!51, !51, i64 0}
!51 = !{!"double", !7, i64 0}
!52 = distinct !{!52, !21}
!53 = !{!16, !18, i64 16}
!54 = !{!55, !18, i64 12}
!55 = !{!"_ZTS6ImVec4", !18, i64 0, !18, i64 4, !18, i64 8, !18, i64 12}
!56 = distinct !{!56, !21}
!57 = !{i64 0, i64 4, !24, i64 4, i64 4, !24, i64 8, i64 4, !24, i64 12, i64 4, !24}
!58 = !{!23, !18, i64 72}
!59 = !{!55, !18, i64 0}
!60 = !{!55, !18, i64 4}
!61 = !{!55, !18, i64 8}
!62 = !{!63, !6, i64 0}
!63 = !{!"_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}
!64 = distinct !{!64, !21}
!65 = !{!66, !66, i64 0}
!66 = !{!"long long", !7, i64 0}
!67 = distinct !{!67, !21}
!68 = distinct !{!68, !21}
!69 = distinct !{!69, !21}
!70 = distinct !{!70, !21}
!71 = !{!63, !14, i64 8}
!72 = distinct !{!72, !21}
!73 = distinct !{!73, !21}
!74 = distinct !{!74, !21}
!75 = distinct !{!75, !21}
!76 = !{!23, !18, i64 68}
!77 = distinct !{!77, !21}
!78 = distinct !{!78, !21}
!79 = distinct !{!79, !21}
!80 = distinct !{!80, !21}
!81 = distinct !{!81, !21}
!82 = distinct !{!82, !21}
!83 = distinct !{!83, !21}
!84 = !{!16, !18, i64 948}
!85 = !{!16, !18, i64 952}
!86 = distinct !{!86, !21}
!87 = distinct !{!87, !21}
!88 = distinct !{!88, !21}
!89 = distinct !{!89, !21}
!90 = distinct !{!90, !21}
!91 = distinct !{!91, !21}
!92 = !{!93, !14, i64 16}
!93 = !{!"_ZTS16ImGuiListClipper", !18, i64 0, !18, i64 4, !14, i64 8, !14, i64 12, !14, i64 16, !14, i64 20}
!94 = !{!93, !14, i64 20}
!95 = distinct !{!95, !21}
!96 = distinct !{!96, !21}
!97 = distinct !{!97, !21}
!98 = distinct !{!98, !21}
!99 = !{!16, !10, i64 916}
!100 = !{!16, !10, i64 917}
!101 = !{!16, !10, i64 918}
!102 = !{!16, !10, i64 919}
!103 = !{!16, !10, i64 921}
!104 = !{!16, !10, i64 922}
!105 = distinct !{!105, !21}
!106 = distinct !{!106, !21}
!107 = distinct !{!107, !21}
!108 = distinct !{!108, !21}
!109 = !{!16, !18, i64 272}
!110 = distinct !{!110, !21}
!111 = distinct !{!111, !21}
!112 = distinct !{!112, !21}
!113 = !{!16, !10, i64 281}
!114 = !{!16, !10, i64 282}
!115 = !{!16, !10, i64 283}
!116 = distinct !{!116, !21}
!117 = distinct !{!117, !21}
!118 = distinct !{!118, !21}
!119 = distinct !{!119, !21}
!120 = distinct !{!120, !21}


; 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
@_ZZN5ImGui14ShowDemoWindowEPbE17no_bring_to_front = 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 [18 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [164 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [184 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [347 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [146 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7clicked = external hidden local_unnamed_addr global i32, align 4
@.str.85 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [24 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5check = external hidden global i8, align 1
@.str.87 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE1e = external hidden global i32, align 4
@.str.88 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [16 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7counter = external hidden local_unnamed_addr global i32, align 4
@.str.93 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [21 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3arr = external hidden global [7 x float], align 16
@.str.100 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.102 = 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.117 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.118 = 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.119 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [406 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [134 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f0 = external hidden global float, align 4
@.str.123 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2d0 = external hidden global double, align 8
@.str.125 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f1 = external hidden global float, align 4
@.str.127 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [87 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5vec4a = external hidden global [4 x float], align 16
@.str.130 = 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.131 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.134 = 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.135 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2i1_0 = external hidden global i32, align 4
@.str.138 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.139 = 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.140 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5angle = external hidden global float, align 4
@.str.144 = 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.145 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [192 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.149 = 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.157 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [140 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position = external hidden global i8, align 1
@.str.165 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [7 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask = external hidden local_unnamed_addr global i32, align 4
@.str.167 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [19 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14closable_group = external hidden global i8, align 1
@.str.171 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [180 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width = external hidden global float, align 4
@.str.189 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [151 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [206 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [28 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3buf = external hidden global [32 x i8], align 16
@.str.199 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [233 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [32 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count = external hidden local_unnamed_addr global i32, align 4
@.str.206 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5flags = external hidden global i32, align 4
@.str.208 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.209 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.210 = external hidden unnamed_addr constant [26 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.items.211 = 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.212 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14item_current_2 = external hidden global i32, align 4
@.str.213 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [27 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14item_current_3 = external hidden global i32, align 4
@.str.215 = external hidden unnamed_addr constant [16 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE14item_current_4 = external hidden global i32, align 4
@.str.216 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [12 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9selection = external hidden global [5 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [34 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected = external hidden local_unnamed_addr global i32, align 4
@.str.224 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [46 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9selection_0 = external hidden local_unnamed_addr global [5 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [39 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected_0 = external hidden global [3 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [11 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected_1 = external hidden global [16 x i8], align 16
@.str.234 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE8selected_2 = external hidden global [16 x i8], align 16
@.str.236 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [20 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf1 = external hidden global [64 x i8], align 16
@.str.238 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf2 = external hidden global [64 x i8], align 16
@.str.239 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf3 = external hidden global [64 x i8], align 16
@.str.240 = external hidden unnamed_addr constant [12 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf4 = external hidden global [64 x i8], align 16
@.str.241 = external hidden unnamed_addr constant [10 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf5 = external hidden global [64 x i8], align 16
@.str.242 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4buf6 = external hidden global [64 x i8], align 16
@.str.243 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [15 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7bufpass = external hidden global [64 x i8], align 16
@.str.245 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.248 = 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.249 = external hidden unnamed_addr constant [213 x i8], align 1
@.str.250 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.251 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.252 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7animate = external hidden global i8, align 1
@.str.253 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3arr_0 = external hidden global [7 x float], align 16
@.str.254 = 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 double, align 8
@_ZZN5ImGui14ShowDemoWindowEPbE5phase = external hidden local_unnamed_addr global float, align 4
@.str.255 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.256 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.257 = 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.258 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.259 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.260 = 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.261 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.262 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.263 = 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.264 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.265 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.266 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.267 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.268 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.269 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.270 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.271 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.272 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.273 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.274 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.275 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.276 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.277 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.278 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.279 = external hidden unnamed_addr constant [215 x i8], align 1
@.str.280 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.281 = 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.282 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.283 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.284 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.285 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.286 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.287 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.288 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.289 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.290 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.291 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.292 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.293 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.294 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.295 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.296 = 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.297 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.298 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.299 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.300 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.301 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.302 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.303 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.304 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.305 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.306 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.307 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.308 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.309 = external hidden unnamed_addr constant [340 x i8], align 1
@.str.310 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.311 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.312 = 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.313 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.314 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.315 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.316 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.317 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.318 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.319 = 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.320 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.321 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.322 = external hidden unnamed_addr constant [171 x i8], align 1
@.str.323 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.324 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.325 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.326 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.327 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.328 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.329 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.330 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.331 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.332 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.333 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.334 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.335 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.336 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.337 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.338 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.339 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.340 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.341 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.342 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.343 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.344 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.345 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.346 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.347 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.348 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.349 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.350 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.351 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.352 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.353 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.354 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.355 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.356 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.357 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.358 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step = external hidden global i8, align 1
@.str.359 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.360 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.361 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.362 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.363 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.364 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.365 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.366 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.367 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.368 = 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.369 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.370 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.371 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.372 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.373 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.374 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.375 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.376 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.377 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.378 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.379 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.380 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.381 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.382 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.383 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.384 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.385 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.386 = external hidden unnamed_addr constant [17 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9int_value = external hidden global i32, align 4
@.str.387 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE6values_0 = external hidden global [7 x float], align 16
@.str.388 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.389 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.390 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.391 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE7values2 = external hidden global [4 x float], align 16
@.str.392 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.393 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.394 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.395 = external hidden unnamed_addr constant [34 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4col1_0 = external hidden global [3 x float], align 4
@_ZZN5ImGui14ShowDemoWindowEPbE4col2_0 = external hidden global [4 x float], align 16
@.str.396 = external hidden unnamed_addr constant [33 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4mode = external hidden local_unnamed_addr global i32, align 4
@.str.397 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.398 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.399 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5names = external hidden local_unnamed_addr global [9 x ptr], align 16
@.str.409 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.410 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.411 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.412 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.413 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.414 = external hidden unnamed_addr constant [92 x i8], align 1
@__PRETTY_FUNCTION__._ZN5ImGui14ShowDemoWindowEPb = external hidden unnamed_addr constant [35 x i8], align 1
@.str.415 = external hidden unnamed_addr constant [46 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.416 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.417 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.418 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.419 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.420 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.421 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.422 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.423 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.424 = external hidden unnamed_addr constant [17 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.items.425 = external hidden unnamed_addr constant [4 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE7current = external hidden global i32, align 4
@.str.426 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.427 = external hidden unnamed_addr constant [438 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window = external hidden global i8, align 1
@.str.428 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.429 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.430 = external hidden unnamed_addr constant [175 x i8], align 1
@.str.431 = external hidden unnamed_addr constant [274 x i8], align 1
@.str.432 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.433 = external hidden unnamed_addr constant [70 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE11test_window = external hidden global i8, align 1
@.str.434 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.435 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.436 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.437 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.438 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.439 = 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.440 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.441 = external hidden unnamed_addr constant [13 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4line = external hidden global i32, align 4
@.str.442 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.443 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.444 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.445 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.446 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.447 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.448 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE1f = external hidden global float, align 4
@.str.449 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.450 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.451 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.452 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.453 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.454 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.455 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.456 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.457 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.458 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.459 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.460 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.461 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.462 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.463 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.464 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.465 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.466 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.467 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.468 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.469 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.470 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.471 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.472 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.473 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.474 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.475 = 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.476 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.477 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.478 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.479 = 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.480 = external hidden unnamed_addr constant [4 x ptr], align 16
@_ZZN5ImGui14ShowDemoWindowEPbE4item = external hidden global i32, align 4
@.str.481 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.482 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.483 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.484 = external hidden unnamed_addr constant [7 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE9selection_1 = external hidden global [4 x i32], align 16
@.str.485 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.486 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.487 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.488 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.489 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.490 = external hidden unnamed_addr constant [206 x i8], align 1
@.str.491 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.492 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.493 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.494 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.495 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.496 = external hidden unnamed_addr constant [20 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.values = external hidden unnamed_addr constant [5 x float], align 16
@.str.497 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.498 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.499 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.500 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.501 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.502 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.503 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.504 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.505 = external hidden unnamed_addr constant [211 x i8], align 1
@.str.506 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.507 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.508 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.509 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.510 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.511 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.512 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.513 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.514 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.515 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.516 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.517 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.518 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.519 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.520 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.521 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.522 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.523 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.524 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.525 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.526 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.527 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.528 = external hidden unnamed_addr constant [77 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.529 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.530 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.531 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.532 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.533 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.534 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.535 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.536 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.537 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.538 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.539 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.540 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.541 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.542 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.543 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.544 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.545 = external hidden unnamed_addr constant [104 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5lines = external hidden global i32, align 4
@.str.546 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.547 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.548 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.549 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.550 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.551 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.552 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.553 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.554 = 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.555 = external hidden unnamed_addr constant [266 x i8], align 1
@.str.556 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.557 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.558 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.559 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.560 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.561 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.562 = 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.568 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.569 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.570 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.571 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.572 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.573 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.574 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.575 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.576 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.577 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.578 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.579 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.580 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.581 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.582 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE5value = external hidden global float, align 4
@.str.583 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.584 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.585 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.586 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.587 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4name = external hidden global [32 x i8], align 16
@.str.588 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.589 = external hidden unnamed_addr constant [11 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 [7 x i8], align 1
@.str.593 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.594 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.595 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.596 = external hidden unnamed_addr constant [78 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE21dont_ask_me_next_time = external hidden global i8, align 1
@.str.597 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.598 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.599 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.600 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.601 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.602 = external hidden unnamed_addr constant [86 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE4item_0 = external hidden global i32, align 4
@_ZZN5ImGui14ShowDemoWindowEPbE5color_0 = external hidden global [4 x float], align 16
@.str.603 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.604 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.605 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.606 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.607 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.608 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.609 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.610 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.611 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.612 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.613 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.614 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.615 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.616 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.617 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.618 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.619 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.620 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.621 = external hidden unnamed_addr constant [8 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.names.625 = 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.629 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.630 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.631 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.632 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.633 = external hidden unnamed_addr constant [6 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3foo = external hidden global float, align 4
@.str.634 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.635 = external hidden unnamed_addr constant [20 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3bar = external hidden global float, align 4
@.str.636 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.637 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.638 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.639 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.640 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.641 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.642 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.643 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.644 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.645 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.646 = 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.647 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.648 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.649 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.650 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.651 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.652 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.653 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.654 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.655 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.656 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.657 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.658 = 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.659 = external hidden unnamed_addr constant [183 x i8], align 1
@.str.660 = external hidden unnamed_addr constant [18 x i8], align 1
@__const._ZN5ImGui14ShowDemoWindowEPb.lines = external hidden unnamed_addr constant [8 x ptr], align 16
@.str.669 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.670 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.671 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.672 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.673 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.674 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.675 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.676 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.677 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.678 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.679 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.680 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.681 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.682 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.683 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.684 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.685 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.686 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.687 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.688 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.689 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.690 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.691 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.692 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.693 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.694 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.695 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.696 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.697 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.698 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.699 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.700 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.701 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.702 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.703 = external hidden unnamed_addr constant [61 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3buf_0 = external hidden global [32 x i8], align 16
@.str.704 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.705 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.706 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.707 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.708 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.709 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.710 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.711 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.712 = external hidden unnamed_addr constant [11 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE3buf_1 = external hidden global [128 x i8], align 16
@.str.713 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.714 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.715 = external hidden unnamed_addr constant [24 x i8], align 1
@_ZZN5ImGui14ShowDemoWindowEPbE2f3 = external hidden global [3 x float], align 4
@.str.716 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.717 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.718 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.719 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.720 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.721 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.722 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.723 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.724 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.725 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.726 = 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.734 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.735 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.736 = external hidden unnamed_addr constant [242 x i8], align 1
@.str.737 = 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(5432) 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.ImVec2, align 4
  %5 = alloca i32, align 4
  %6 = alloca %struct.ImVec2, align 4
  %7 = alloca %struct.ImVec2, align 4
  %8 = alloca %struct.ImVec4, align 8
  %9 = alloca %struct.ImColor, align 8
  %10 = alloca %struct.ImVec4, align 8
  %11 = alloca %struct.ImColor, align 8
  %12 = alloca %struct.ImVec4, align 8
  %13 = alloca %struct.ImColor, align 8
  %14 = alloca %struct.ImVec2, align 4
  %15 = alloca %struct.ImVec2, align 8
  %16 = alloca [14 x ptr], align 16
  %17 = alloca [9 x ptr], align 16
  %18 = alloca %struct.ImVec4, align 4
  %19 = alloca %struct.ImVec4, align 4
  %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 8
  %27 = alloca %struct.ImVec2, align 8
  %28 = alloca %struct.ImVec2, align 4
  %29 = alloca %struct.ImVec2, align 4
  %30 = alloca %struct.ImVec2, align 4
  %31 = alloca %struct.ImVec4, align 8
  %32 = alloca %struct.ImColor, align 4
  %33 = alloca %struct.ImVec4, align 8
  %34 = alloca %struct.ImColor, align 4
  %35 = alloca %struct.ImVec2, align 4
  %36 = alloca %struct.ImVec2, align 4
  %37 = alloca %struct.ImVec2, align 4
  %38 = alloca %struct.ImVec4, align 8
  %39 = alloca %struct.ImColor, align 4
  %40 = alloca %struct.ImVec4, align 8
  %41 = alloca %struct.ImColor, align 4
  %42 = alloca %struct.ImVec2, align 4
  %43 = alloca %struct.ImVec2, align 4
  %44 = alloca %struct.ImVec2, align 4
  %45 = alloca %struct.ImVec4, align 8
  %46 = alloca %struct.ImColor, align 4
  %47 = alloca %struct.ImVec4, align 4
  %48 = alloca [14 x ptr], align 16
  %49 = alloca %struct.ImVec2, align 4
  %50 = alloca %struct.ImVec2, align 4
  %51 = alloca %struct.ImVec2, align 4
  %52 = alloca %struct.ImVec2, align 4
  %53 = alloca %struct.ImVec2, align 4
  %54 = alloca [32 x i8], align 16
  %55 = alloca %struct.ImVec2, align 4
  %56 = alloca [32 x i8], align 16
  %57 = alloca %struct.ImVec2, align 4
  %58 = alloca %struct.ImVec2, align 4
  %59 = alloca %struct.ImVec2, align 4
  %60 = alloca %struct.ImVec2, align 4
  %61 = alloca [32 x i8], align 16
  %62 = alloca %struct.ImVec2, align 4
  %63 = alloca %struct.ImVec2, align 4
  %64 = alloca %struct.ImVec2, align 4
  %65 = alloca %struct.ImVec2, align 8
  %66 = alloca %struct.ImVec2, align 8
  %67 = alloca %struct.ImVec2, align 8
  %68 = alloca %struct.ImVec2, align 8
  %69 = alloca %struct.ImVec2, align 8
  %70 = alloca %struct.ImVec2, align 4
  %71 = alloca [32 x i8], align 16
  %72 = alloca %struct.ImVec2, align 4
  %73 = alloca %struct.ImColor, align 4
  %74 = alloca %struct.ImVec2, align 8
  %75 = alloca %struct.ImVec2, align 4
  %76 = alloca %struct.ImVec2, align 8
  %77 = alloca %struct.ImVec2, align 8
  %78 = alloca %struct.ImVec2, align 8
  %79 = alloca %struct.ImVec4, align 4
  %80 = alloca %struct.ImVec2, align 8
  %81 = alloca %struct.ImVec2, align 4
  %82 = alloca %struct.ImVec2, 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 i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %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 i64, align 8
  %109 = alloca i64, align 8
  %110 = alloca i64, align 8
  %111 = alloca float, align 4
  %112 = alloca float, align 4
  %113 = alloca float, align 4
  %114 = alloca float, align 4
  %115 = alloca double, align 8
  %116 = alloca double, align 8
  %117 = alloca double, align 8
  %118 = alloca double, align 8
  %119 = alloca %struct.ImVec2, align 4
  %120 = alloca %struct.ImVec2, align 4
  %121 = alloca %struct.ImVec4, align 8
  %122 = alloca %struct.ImColor, align 8
  %123 = alloca %struct.ImVec4, align 8
  %124 = alloca %struct.ImColor, align 8
  %125 = alloca %struct.ImVec4, align 8
  %126 = alloca %struct.ImColor, align 8
  %127 = alloca %struct.ImVec4, align 8
  %128 = alloca %struct.ImColor, align 8
  %129 = alloca %struct.ImVec2, align 4
  %130 = alloca %struct.ImVec2, align 4
  %131 = alloca %struct.ImVec2, align 4
  %132 = alloca i32, align 4
  %133 = alloca %struct.ImVec2, align 4
  %134 = alloca %struct.ImVec2, align 4
  %135 = alloca [4 x ptr], align 16
  %136 = alloca %struct.ImVec2, align 4
  %137 = alloca %struct.ImVec2, align 4
  %138 = alloca %struct.ImVec2, align 4
  %139 = alloca %struct.ImVec2, align 4
  %140 = alloca %struct.ImVec2, align 4
  %141 = alloca [32 x i8], align 16
  %142 = alloca %struct.ImVec2, align 4
  %143 = alloca %struct.ImVec4, align 4
  %144 = alloca %struct.ImVec4, align 4
  %145 = alloca %struct.ImVec2, align 4
  %146 = alloca %struct.ImVec2, align 4
  %147 = alloca %struct.ImVec2, align 4
  %148 = alloca [4 x ptr], align 16
  %149 = alloca %struct.ImVec2, align 4
  %150 = alloca %struct.ImVec2, align 4
  %151 = alloca %struct.ImVec2, align 4
  %152 = alloca %struct.ImVec2, align 4
  %153 = alloca %struct.ImVec2, align 4
  %154 = alloca %struct.ImVec2, align 4
  %155 = alloca %struct.ImVec2, align 8
  %156 = alloca [5 x float], align 16
  %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.ImVec2, align 4
  %168 = alloca %struct.ImVec2, align 4
  %169 = alloca %struct.ImVec2, align 4
  %170 = alloca %struct.ImVec2, align 4
  %171 = alloca %struct.ImVec2, align 4
  %172 = alloca %struct.ImVec4, align 8
  %173 = alloca %struct.ImColor, align 4
  %174 = alloca %struct.ImVec2, align 4
  %175 = alloca %struct.ImVec2, align 4
  %176 = alloca [16 x i8], align 16
  %177 = alloca %struct.ImVec4, align 8
  %178 = alloca %struct.ImColor, align 8
  %179 = alloca %struct.ImVec4, align 8
  %180 = alloca %struct.ImColor, align 8
  %181 = alloca %struct.ImVec4, align 8
  %182 = alloca %struct.ImColor, align 8
  %183 = alloca %struct.ImVec2, align 4
  %184 = alloca %struct.ImVec2, align 4
  %185 = alloca %struct.ImVec2, align 8
  %186 = alloca %struct.ImVec4, 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 %struct.ImVec2, align 4
  %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 [64 x i8], align 16
  %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 %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 [32 x i8], align 16
  %208 = alloca %struct.ImVec2, align 4
  %209 = alloca [32 x i8], 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.ImGuiListClipper, 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 %struct.ImVec2, align 4
  %222 = alloca %struct.ImVec2, align 4
  %223 = alloca %struct.ImVec2, align 4
  %224 = alloca %struct.ImVec2, align 4
  %225 = alloca %struct.ImVec2, align 4
  %226 = alloca [32 x i8], align 16
  %227 = alloca %struct.ImVec2, align 4
  %228 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_main_menu_bar, align 1, !tbaa !5, !range !9, !noundef !10
  %229 = trunc nuw i8 %228 to i1
  br i1 %229, label %230, label %231

230:                                              ; preds = %1
  tail call void @_ZL25ShowExampleAppMainMenuBarv()
  br label %231

231:                                              ; preds = %230, %1
  %232 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_console, align 1, !tbaa !5, !range !9, !noundef !10
  %233 = trunc nuw i8 %232 to i1
  br i1 %233, label %234, label %235

234:                                              ; preds = %231
  tail call void @_ZL21ShowExampleAppConsolePb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_console)
  br label %235

235:                                              ; preds = %234, %231
  %236 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12show_app_log, align 1, !tbaa !5, !range !9, !noundef !10
  %237 = trunc nuw i8 %236 to i1
  br i1 %237, label %238, label %239

238:                                              ; preds = %235
  tail call void @_ZL17ShowExampleAppLogPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12show_app_log)
  br label %239

239:                                              ; preds = %238, %235
  %240 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE15show_app_layout, align 1, !tbaa !5, !range !9, !noundef !10
  %241 = trunc nuw i8 %240 to i1
  br i1 %241, label %242, label %243

242:                                              ; preds = %239
  tail call void @_ZL20ShowExampleAppLayoutPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE15show_app_layout)
  br label %243

243:                                              ; preds = %242, %239
  %244 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE24show_app_property_editor, align 1, !tbaa !5, !range !9, !noundef !10
  %245 = trunc nuw i8 %244 to i1
  br i1 %245, label %246, label %247

246:                                              ; preds = %243
  tail call void @_ZL28ShowExampleAppPropertyEditorPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE24show_app_property_editor)
  br label %247

247:                                              ; preds = %246, %243
  %248 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE18show_app_long_text, align 1, !tbaa !5, !range !9, !noundef !10
  %249 = trunc nuw i8 %248 to i1
  br i1 %249, label %250, label %251

250:                                              ; preds = %247
  tail call void @_ZL22ShowExampleAppLongTextPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE18show_app_long_text)
  br label %251

251:                                              ; preds = %250, %247
  %252 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE20show_app_auto_resize, align 1, !tbaa !5, !range !9, !noundef !10
  %253 = trunc nuw i8 %252 to i1
  br i1 %253, label %254, label %255

254:                                              ; preds = %251
  tail call void @_ZL24ShowExampleAppAutoResizePb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE20show_app_auto_resize)
  br label %255

255:                                              ; preds = %254, %251
  %256 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE27show_app_constrained_resize, align 1, !tbaa !5, !range !9, !noundef !10
  %257 = trunc nuw i8 %256 to i1
  br i1 %257, label %258, label %259

258:                                              ; preds = %255
  tail call void @_ZL31ShowExampleAppConstrainedResizePb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE27show_app_constrained_resize)
  br label %259

259:                                              ; preds = %258, %255
  %260 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE23show_app_simple_overlay, align 1, !tbaa !5, !range !9, !noundef !10
  %261 = trunc nuw i8 %260 to i1
  br i1 %261, label %262, label %263

262:                                              ; preds = %259
  tail call void @_ZL27ShowExampleAppSimpleOverlayPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE23show_app_simple_overlay)
  br label %263

263:                                              ; preds = %262, %259
  %264 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_window_titles, align 1, !tbaa !5, !range !9, !noundef !10
  %265 = trunc nuw i8 %264 to i1
  br i1 %265, label %266, label %267

266:                                              ; preds = %263
  tail call void @_ZL26ShowExampleAppWindowTitlesPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE22show_app_window_titles)
  br label %267

267:                                              ; preds = %266, %263
  %268 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE25show_app_custom_rendering, align 1, !tbaa !5, !range !9, !noundef !10
  %269 = trunc nuw i8 %268 to i1
  br i1 %269, label %270, label %271

270:                                              ; preds = %267
  tail call void @_ZL29ShowExampleAppCustomRenderingPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE25show_app_custom_rendering)
  br label %271

271:                                              ; preds = %270, %267
  %272 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_metrics, align 1, !tbaa !5, !range !9, !noundef !10
  %273 = trunc nuw i8 %272 to i1
  br i1 %273, label %274, label %275

274:                                              ; preds = %271
  tail call void @_ZN5ImGui17ShowMetricsWindowEPb(ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_metrics)
  br label %275

275:                                              ; preds = %274, %271
  %276 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE21show_app_style_editor, align 1, !tbaa !5, !range !9, !noundef !10
  %277 = trunc nuw i8 %276 to i1
  br i1 %277, label %278, label %280

278:                                              ; preds = %275
  %279 = 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 %280

280:                                              ; preds = %278, %275
  %281 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14show_app_about, align 1, !tbaa !5, !range !9, !noundef !10
  %282 = trunc nuw i8 %281 to i1
  br i1 %282, label %283, label %286

283:                                              ; preds = %280
  %284 = tail call noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef nonnull @.str.16, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE14show_app_about, i32 noundef 64)
  %285 = tail call noundef ptr @_ZN5ImGui10GetVersionEv()
  tail call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.17, ptr noundef %285)
  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 %286

286:                                              ; preds = %283, %280
  %287 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11no_titlebar, align 1, !tbaa !5, !range !9, !noundef !10
  %spec.select = zext nneg i8 %287 to i32
  %288 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12no_scrollbar, align 1, !tbaa !5, !range !9, !noundef !10
  %289 = trunc nuw i8 %288 to i1
  %290 = or disjoint i32 %spec.select, 8
  %.1 = select i1 %289, i32 %290, i32 %spec.select
  %291 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7no_menu, align 1, !tbaa !5, !range !9, !noundef !10
  %292 = trunc nuw i8 %291 to i1
  %293 = or disjoint i32 %.1, 1024
  %.2 = select i1 %292, i32 %.1, i32 %293
  %294 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7no_move, align 1, !tbaa !5, !range !9, !noundef !10
  %295 = trunc nuw i8 %294 to i1
  %296 = or i32 %.2, 4
  %.3 = select i1 %295, i32 %296, i32 %.2
  %297 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9no_resize, align 1, !tbaa !5, !range !9, !noundef !10
  %298 = trunc nuw i8 %297 to i1
  %299 = or i32 %.3, 2
  %.4 = select i1 %298, i32 %299, i32 %.3
  %300 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11no_collapse, align 1, !tbaa !5, !range !9, !noundef !10
  %301 = trunc nuw i8 %300 to i1
  %302 = or i32 %.4, 32
  %.5 = select i1 %301, i32 %302, i32 %.4
  %303 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6no_nav, align 1, !tbaa !5, !range !9, !noundef !10
  %304 = trunc nuw i8 %303 to i1
  %305 = or i32 %.5, 786432
  %.6 = select i1 %304, i32 %305, i32 %.5
  %306 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE17no_bring_to_front, align 1, !tbaa !5, !range !9, !noundef !10
  %307 = trunc nuw i8 %306 to i1
  %308 = or i32 %.6, 8192
  %.7 = select i1 %307, i32 %308, i32 %.6
  %309 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8no_close, align 1, !tbaa !5, !range !9, !noundef !10
  %310 = trunc nuw i8 %309 to i1
  %.0473 = select i1 %310, ptr null, ptr %0
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %2, float noundef 6.500000e+02, float noundef 2.000000e+01)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %3, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @_ZN5ImGui16SetNextWindowPosERK6ImVec2iS2_(ptr noundef nonnull align 4 dereferenceable(8) %2, i32 noundef 4, ptr noundef nonnull align 4 dereferenceable(8) %3)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #13
  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 nonnull %4) #13
  %311 = call noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef nonnull @.str.20, ptr noundef %.0473, i32 noundef %.7)
  br i1 %311, label %312, label %3410

312:                                              ; preds = %286
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.22)
  %313 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %314 = fmul float %313, -1.200000e+01
  call void @_ZN5ImGui13PushItemWidthEf(float noundef %314)
  %315 = call noundef zeroext i1 @_ZN5ImGui12BeginMenuBarEv()
  br i1 %315, label %316, label %340

316:                                              ; preds = %312
  %317 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef nonnull @.str.23, i1 noundef zeroext true)
  br i1 %317, label %318, label %319

318:                                              ; preds = %316
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui7EndMenuEv()
  br label %319

319:                                              ; preds = %318, %316
  %320 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef nonnull @.str.24, i1 noundef zeroext true)
  br i1 %320, label %321, label %333

321:                                              ; preds = %319
  %322 = 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)
  %323 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.26, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_console, i1 noundef zeroext true)
  %324 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.27, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12show_app_log, i1 noundef zeroext true)
  %325 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.28, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE15show_app_layout, i1 noundef zeroext true)
  %326 = 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)
  %327 = 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)
  %328 = 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)
  %329 = 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)
  %330 = 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)
  %331 = 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)
  %332 = 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 %333

333:                                              ; preds = %321, %319
  %334 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef nonnull @.str.36, i1 noundef zeroext true)
  br i1 %334, label %335, label %339

335:                                              ; preds = %333
  %336 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef nonnull @.str.37, ptr noundef null, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE16show_app_metrics, i1 noundef zeroext true)
  %337 = 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)
  %338 = 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 %339

339:                                              ; preds = %335, %333
  call void @_ZN5ImGui10EndMenuBarEv()
  br label %340

340:                                              ; preds = %339, %312
  call void @_ZN5ImGui7SpacingEv()
  %341 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.36, i32 noundef 0)
  br i1 %341, label %342, label %343

342:                                              ; preds = %340
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.38)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.39)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.40)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.41)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.42)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.43)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.44)
  call void @_ZN5ImGui13ShowUserGuideEv()
  br label %343

343:                                              ; preds = %342, %340
  %344 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.45, i32 noundef 0)
  br i1 %344, label %345, label %392

345:                                              ; preds = %343
  %346 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %347 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.46)
  br i1 %347, label %348, label %375

348:                                              ; preds = %345
  %349 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.47, ptr noundef nonnull %346, i32 noundef 1)
  %350 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.48, ptr noundef nonnull %346, i32 noundef 2)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.49)
  %351 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.50, ptr noundef nonnull %346, i32 noundef 4)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.51)
  %352 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.52, ptr noundef nonnull %346, i32 noundef 16)
  %353 = load i32, ptr %346, align 8, !tbaa !11
  %354 = and i32 %353, 16
  %.not562 = icmp eq i32 %354, 0
  br i1 %.not562, label %367, label %355

355:                                              ; preds = %348
  %356 = call noundef double @_ZN5ImGui7GetTimeEv()
  %357 = fptrunc double %356 to float
  %358 = call float @fmodf(float noundef %357, float noundef 0x3FD99999A0000000) #13
  %359 = fcmp olt float %358, 0x3FC99999A0000000
  br i1 %359, label %360, label %361

360:                                              ; preds = %355
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.53)
  br label %361

361:                                              ; preds = %360, %355
  %362 = call noundef i32 @_ZN5ImGui11GetKeyIndexEi(i32 noundef 12)
  %363 = call noundef zeroext i1 @_ZN5ImGui12IsKeyPressedEib(i32 noundef %362, i1 noundef zeroext true)
  br i1 %363, label %364, label %367

364:                                              ; preds = %361
  %365 = load i32, ptr %346, align 8, !tbaa !11
  %366 = and i32 %365, -17
  store i32 %366, ptr %346, align 8, !tbaa !11
  br label %367

367:                                              ; preds = %361, %364, %348
  %368 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.54, ptr noundef nonnull %346, i32 noundef 32)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.55)
  %369 = getelementptr inbounds i8, ptr %346, i64 202
  %370 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.56, ptr noundef nonnull %369)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.57)
  %371 = getelementptr inbounds i8, ptr %346, i64 203
  %372 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.58, ptr noundef nonnull %371)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.59)
  %373 = getelementptr inbounds i8, ptr %346, i64 200
  %374 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.60, ptr noundef nonnull %373)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.61)
  call void @_ZN5ImGui7TreePopEv()
  call void @_ZN5ImGui9SeparatorEv()
  br label %375

375:                                              ; preds = %367, %345
  %376 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.62)
  br i1 %376, label %377, label %383

377:                                              ; preds = %375
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #13
  %378 = getelementptr inbounds i8, ptr %346, i64 4
  %379 = load i32, ptr %378, align 4, !tbaa !17
  store i32 %379, ptr %5, align 4, !tbaa !18
  %380 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.63, ptr noundef nonnull %5, i32 noundef 1)
  %381 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.64, ptr noundef nonnull %5, i32 noundef 2)
  %382 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.65, ptr noundef nonnull %5, i32 noundef 4)
  call void @_ZN5ImGui7TreePopEv()
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #13
  br label %383

383:                                              ; preds = %377, %375
  %384 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.66)
  br i1 %384, label %385, label %386

385:                                              ; preds = %383
  call void @_ZN5ImGui15ShowStyleEditorEP10ImGuiStyle(ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  call void @_ZN5ImGui9SeparatorEv()
  br label %386

386:                                              ; preds = %385, %383
  %387 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.67)
  br i1 %387, label %388, label %392

388:                                              ; preds = %386
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.68)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.69)
  call void @_ZN5ImGui10LogButtonsEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.70)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %6, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %389 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.71, ptr noundef nonnull align 4 dereferenceable(8) %6)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #13
  br i1 %389, label %390, label %391

390:                                              ; preds = %388
  call void @_ZN5ImGui14LogToClipboardEi(i32 noundef -1)
  call void (ptr, ...) @_ZN5ImGui7LogTextEPKcz(ptr noundef nonnull @.str.72)
  call void @_ZN5ImGui9LogFinishEv()
  br label %391

391:                                              ; preds = %390, %388
  call void @_ZN5ImGui7TreePopEv()
  br label %392

392:                                              ; preds = %386, %391, %343
  %393 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.73, i32 noundef 0)
  br i1 %393, label %394, label %404

394:                                              ; preds = %392
  %395 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.74, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE11no_titlebar)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %396 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.75, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12no_scrollbar)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  %397 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.76, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7no_menu)
  %398 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.77, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7no_move)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %399 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.78, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9no_resize)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  %400 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.79, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE11no_collapse)
  %401 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.80, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE8no_close)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %402 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.81, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE6no_nav)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  %403 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.82, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE17no_bring_to_front)
  br label %404

404:                                              ; preds = %394, %392
  %405 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.83, i32 noundef 0)
  br i1 %405, label %406, label %1868

406:                                              ; preds = %404
  %407 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.84)
  br i1 %407, label %408, label %507

408:                                              ; preds = %406
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %7, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %409 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.85, ptr noundef nonnull align 4 dereferenceable(8) %7)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #13
  %.pre = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7clicked, align 4, !tbaa !18
  br i1 %409, label %410, label %412

410:                                              ; preds = %408
  %411 = add nsw i32 %.pre, 1
  store i32 %411, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7clicked, align 4, !tbaa !18
  br label %412

412:                                              ; preds = %410, %408
  %413 = phi i32 [ %411, %410 ], [ %.pre, %408 ]
  %414 = and i32 %413, 1
  %.not563 = icmp eq i32 %414, 0
  br i1 %.not563, label %.peel.next, label %415

415:                                              ; preds = %412
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.86)
  br label %.peel.next

.peel.next:                                       ; preds = %415, %412
  %416 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.87, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5check)
  %417 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.88, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1e, i32 noundef 0)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %418 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.89, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1e, i32 noundef 1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %419 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.90, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1e, i32 noundef 2)
  %420 = getelementptr inbounds i8, ptr %9, i64 8
  %421 = getelementptr inbounds i8, ptr %8, i64 8
  %422 = getelementptr inbounds i8, ptr %11, i64 8
  %423 = getelementptr inbounds i8, ptr %10, i64 8
  %424 = getelementptr inbounds i8, ptr %13, i64 8
  %425 = getelementptr inbounds i8, ptr %12, i64 8
  call void @_ZN5ImGui6PushIDEi(i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #13
  %426 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FE3333340000000, float noundef 0x3FE3333340000000, float noundef 1.000000e+00)
  %427 = extractvalue { <2 x float>, <2 x float> } %426, 0
  store <2 x float> %427, ptr %9, align 8
  %428 = extractvalue { <2 x float>, <2 x float> } %426, 1
  store <2 x float> %428, ptr %420, align 8
  %429 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %9)
  %430 = extractvalue { <2 x float>, <2 x float> } %429, 0
  store <2 x float> %430, ptr %8, align 8
  %431 = extractvalue { <2 x float>, <2 x float> } %429, 1
  store <2 x float> %431, ptr %421, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 21, ptr noundef nonnull align 4 dereferenceable(16) %8)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #13
  %432 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FE6666660000000, float noundef 0x3FE6666660000000, float noundef 1.000000e+00)
  %433 = extractvalue { <2 x float>, <2 x float> } %432, 0
  store <2 x float> %433, ptr %11, align 8
  %434 = extractvalue { <2 x float>, <2 x float> } %432, 1
  store <2 x float> %434, ptr %422, align 8
  %435 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %11)
  %436 = extractvalue { <2 x float>, <2 x float> } %435, 0
  store <2 x float> %436, ptr %10, align 8
  %437 = extractvalue { <2 x float>, <2 x float> } %435, 1
  store <2 x float> %437, ptr %423, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 22, ptr noundef nonnull align 4 dereferenceable(16) %10)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) #13
  %438 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, float noundef 1.000000e+00)
  %439 = extractvalue { <2 x float>, <2 x float> } %438, 0
  store <2 x float> %439, ptr %13, align 8
  %440 = extractvalue { <2 x float>, <2 x float> } %438, 1
  store <2 x float> %440, ptr %424, align 8
  %441 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %13)
  %442 = extractvalue { <2 x float>, <2 x float> } %441, 0
  store <2 x float> %442, ptr %12, align 8
  %443 = extractvalue { <2 x float>, <2 x float> } %441, 1
  store <2 x float> %443, ptr %425, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 23, ptr noundef nonnull align 4 dereferenceable(16) %12)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %14, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %444 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.91, ptr noundef nonnull align 4 dereferenceable(8) %14)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #13
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 3)
  call void @_ZN5ImGui5PopIDEv()
  br label %449

.loopexit687:                                     ; preds = %449
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.92)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %445 = call noundef nonnull align 4 dereferenceable(840) ptr @_ZN5ImGui8GetStyleEv()
  %446 = getelementptr inbounds i8, ptr %445, i64 76
  %447 = load float, ptr %446, align 4, !tbaa !19
  call void @_ZN5ImGui16PushButtonRepeatEb(i1 noundef zeroext true)
  %448 = call noundef zeroext i1 @_ZN5ImGui11ArrowButtonEPKci(ptr noundef nonnull @.str.93, i32 noundef 0)
  br i1 %448, label %472, label %475

449:                                              ; preds = %.peel.next, %449
  %.0475633 = phi i32 [ 1, %.peel.next ], [ %471, %449 ]
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEi(i32 noundef %.0475633)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #13
  %450 = uitofp nneg i32 %.0475633 to float
  %451 = fdiv float %450, 7.000000e+00
  %452 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %451, float noundef 0x3FE3333340000000, float noundef 0x3FE3333340000000, float noundef 1.000000e+00)
  %453 = extractvalue { <2 x float>, <2 x float> } %452, 0
  store <2 x float> %453, ptr %9, align 8
  %454 = extractvalue { <2 x float>, <2 x float> } %452, 1
  store <2 x float> %454, ptr %420, align 8
  %455 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %9)
  %456 = extractvalue { <2 x float>, <2 x float> } %455, 0
  store <2 x float> %456, ptr %8, align 8
  %457 = extractvalue { <2 x float>, <2 x float> } %455, 1
  store <2 x float> %457, ptr %421, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 21, ptr noundef nonnull align 4 dereferenceable(16) %8)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #13
  %458 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %451, float noundef 0x3FE6666660000000, float noundef 0x3FE6666660000000, float noundef 1.000000e+00)
  %459 = extractvalue { <2 x float>, <2 x float> } %458, 0
  store <2 x float> %459, ptr %11, align 8
  %460 = extractvalue { <2 x float>, <2 x float> } %458, 1
  store <2 x float> %460, ptr %422, align 8
  %461 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %11)
  %462 = extractvalue { <2 x float>, <2 x float> } %461, 0
  store <2 x float> %462, ptr %10, align 8
  %463 = extractvalue { <2 x float>, <2 x float> } %461, 1
  store <2 x float> %463, ptr %423, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 22, ptr noundef nonnull align 4 dereferenceable(16) %10)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) #13
  %464 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %451, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, float noundef 1.000000e+00)
  %465 = extractvalue { <2 x float>, <2 x float> } %464, 0
  store <2 x float> %465, ptr %13, align 8
  %466 = extractvalue { <2 x float>, <2 x float> } %464, 1
  store <2 x float> %466, ptr %424, align 8
  %467 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %13)
  %468 = extractvalue { <2 x float>, <2 x float> } %467, 0
  store <2 x float> %468, ptr %12, align 8
  %469 = extractvalue { <2 x float>, <2 x float> } %467, 1
  store <2 x float> %469, ptr %425, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 23, ptr noundef nonnull align 4 dereferenceable(16) %12)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %13) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %14, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %470 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.91, ptr noundef nonnull align 4 dereferenceable(8) %14)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #13
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 3)
  call void @_ZN5ImGui5PopIDEv()
  %471 = add nuw nsw i32 %.0475633, 1
  %exitcond.not = icmp eq i32 %471, 7
  br i1 %exitcond.not, label %.loopexit687, label %449, !llvm.loop !21

472:                                              ; preds = %.loopexit687
  %473 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !18
  %474 = add nsw i32 %473, -1
  store i32 %474, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !18
  br label %475

475:                                              ; preds = %472, %.loopexit687
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %447)
  %476 = call noundef zeroext i1 @_ZN5ImGui11ArrowButtonEPKci(ptr noundef nonnull @.str.94, i32 noundef 1)
  br i1 %476, label %477, label %480

477:                                              ; preds = %475
  %478 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !18
  %479 = add nsw i32 %478, 1
  store i32 %479, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !18
  br label %480

480:                                              ; preds = %477, %475
  call void @_ZN5ImGui15PopButtonRepeatEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %481 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7counter, align 4, !tbaa !18
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.95, i32 noundef %481)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.96)
  %482 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %482, label %483, label %484

483:                                              ; preds = %480
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.97)
  br label %484

484:                                              ; preds = %483, %480
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.98)
  %485 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %485, label %486, label %488

486:                                              ; preds = %484
  call void @_ZN5ImGui12BeginTooltipEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.99)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %15, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %487 = load <2 x float>, ptr %15, align 8
  call void @_ZN5ImGui9PlotLinesEPKcPKfiiS1_ff6ImVec2i(ptr noundef nonnull @.str.100, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3arr, i32 noundef 7, i32 noundef 0, ptr noundef null, float noundef 0x47EFFFFFE0000000, float noundef 0x47EFFFFFE0000000, <2 x float> %487, i32 noundef 4)
  call void @_ZN5ImGui10EndTooltipEv()
  br label %488

488:                                              ; preds = %486, %484
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ptr, ...) @_ZN5ImGui9LabelTextEPKcS1_z(ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.102)
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %16) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(112) %16, ptr noundef nonnull align 16 dereferenceable(112) @__const._ZN5ImGui14ShowDemoWindowEPb.items, i64 112, i1 false)
  %489 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef nonnull @.str.117, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12item_current, ptr noundef nonnull %16, 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.118)
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %16) #13
  %490 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.119, 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.120)
  %491 = call noundef zeroext i1 @_ZN5ImGui8InputIntEPKcPiiii(ptr noundef nonnull @.str.121, 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.122)
  %492 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef nonnull @.str.123, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f0, float noundef 0x3F847AE140000000, float noundef 1.000000e+00, ptr noundef nonnull @.str.124, i32 noundef 0)
  %493 = call noundef zeroext i1 @_ZN5ImGui11InputDoubleEPKcPdddS1_i(ptr noundef nonnull @.str.125, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2d0, double noundef 0x3F847AE140000000, double noundef 1.000000e+00, ptr noundef nonnull @.str.126, i32 noundef 0)
  %494 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef nonnull @.str.127, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f1, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.128, i32 noundef 0)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.129)
  %495 = call noundef zeroext i1 @_ZN5ImGui11InputFloat3EPKcPfS1_i(ptr noundef nonnull @.str.130, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4a, ptr noundef nonnull @.str.124, i32 noundef 0)
  %496 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef nonnull @.str.131, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2i1, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 0, ptr noundef nonnull @.str.95)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.132)
  %497 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef nonnull @.str.133, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2i2, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 100, ptr noundef nonnull @.str.134)
  %498 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.135, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f1_0, float noundef 0x3F747AE140000000, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  %499 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.136, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f2, float noundef 0x3F1A36E2E0000000, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.137, float noundef 1.000000e+00)
  %500 = call noundef zeroext i1 @_ZN5ImGui9SliderIntEPKcPiiiS1_(ptr noundef nonnull @.str.138, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2i1_0, i32 noundef -1, i32 noundef 3, ptr noundef nonnull @.str.95)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.139)
  %501 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef nonnull @.str.140, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f1_1, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.141, float noundef 1.000000e+00)
  %502 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef nonnull @.str.142, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f2_0, float noundef -1.000000e+01, float noundef 1.000000e+01, ptr noundef nonnull @.str.143, float noundef 2.000000e+00)
  %503 = call noundef zeroext i1 @_ZN5ImGui11SliderAngleEPKcPfff(ptr noundef nonnull @.str.144, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5angle, float noundef -3.600000e+02, float noundef 3.600000e+02)
  %504 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit3EPKcPfi(ptr noundef nonnull @.str.145, 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.146)
  %505 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.147, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4col2, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %17) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(72) %17, ptr noundef nonnull align 16 dereferenceable(72) @__const._ZN5ImGui14ShowDemoWindowEPb.listbox_items, i64 72, i1 false)
  %506 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef nonnull @.str.157, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE20listbox_item_current, ptr noundef nonnull %17, i32 noundef 9, i32 noundef 4)
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %17) #13
  call void @_ZN5ImGui7TreePopEv()
  br label %507

507:                                              ; preds = %488, %406
  %508 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.158)
  br i1 %508, label %509, label %591

509:                                              ; preds = %507
  %510 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.159)
  br i1 %510, label %.preheader632.preheader, label %527

.preheader632.preheader:                          ; preds = %509
  %511 = call noundef zeroext i1 (ptr, ptr, ...) @_ZN5ImGui8TreeNodeEPKvPKcz(ptr noundef null, ptr noundef nonnull @.str.160, i32 noundef 0)
  br i1 %511, label %512, label %.preheader632.1

512:                                              ; preds = %.preheader632.preheader
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.161)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %513 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.162)
  call void @_ZN5ImGui7TreePopEv()
  br label %.preheader632.1

.preheader632.1:                                  ; preds = %.preheader632.preheader, %512
  %514 = call noundef zeroext i1 (ptr, ptr, ...) @_ZN5ImGui8TreeNodeEPKvPKcz(ptr noundef nonnull inttoptr (i64 1 to ptr), ptr noundef nonnull @.str.160, i32 noundef 1)
  br i1 %514, label %515, label %.preheader632.2

515:                                              ; preds = %.preheader632.1
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.161)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %516 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.162)
  call void @_ZN5ImGui7TreePopEv()
  br label %.preheader632.2

.preheader632.2:                                  ; preds = %515, %.preheader632.1
  %517 = call noundef zeroext i1 (ptr, ptr, ...) @_ZN5ImGui8TreeNodeEPKvPKcz(ptr noundef nonnull inttoptr (i64 2 to ptr), ptr noundef nonnull @.str.160, i32 noundef 2)
  br i1 %517, label %518, label %.preheader632.3

518:                                              ; preds = %.preheader632.2
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.161)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %519 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.162)
  call void @_ZN5ImGui7TreePopEv()
  br label %.preheader632.3

.preheader632.3:                                  ; preds = %518, %.preheader632.2
  %520 = call noundef zeroext i1 (ptr, ptr, ...) @_ZN5ImGui8TreeNodeEPKvPKcz(ptr noundef nonnull inttoptr (i64 3 to ptr), ptr noundef nonnull @.str.160, i32 noundef 3)
  br i1 %520, label %521, label %.preheader632.4

521:                                              ; preds = %.preheader632.3
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.161)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %522 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.162)
  call void @_ZN5ImGui7TreePopEv()
  br label %.preheader632.4

.preheader632.4:                                  ; preds = %521, %.preheader632.3
  %523 = call noundef zeroext i1 (ptr, ptr, ...) @_ZN5ImGui8TreeNodeEPKvPKcz(ptr noundef nonnull inttoptr (i64 4 to ptr), ptr noundef nonnull @.str.160, i32 noundef 4)
  br i1 %523, label %524, label %526

524:                                              ; preds = %.preheader632.4
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.161)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %525 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.162)
  call void @_ZN5ImGui7TreePopEv()
  br label %526

526:                                              ; preds = %524, %.preheader632.4
  call void @_ZN5ImGui7TreePopEv()
  br label %527

527:                                              ; preds = %526, %509
  %528 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.163)
  br i1 %528, label %529, label %590

529:                                              ; preds = %527
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.164)
  %530 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.165, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.166)
  %531 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position, align 1, !tbaa !5, !range !9, !noundef !10
  %532 = trunc nuw i8 %531 to i1
  br i1 %532, label %533, label %535

533:                                              ; preds = %529
  %534 = call noundef float @_ZN5ImGui25GetTreeNodeToLabelSpacingEv()
  call void @_ZN5ImGui8UnindentEf(float noundef %534)
  br label %535

535:                                              ; preds = %529, %533
  %536 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %537 = fmul float %536, 3.000000e+00
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 15, float noundef %537)
  %538 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !18
  %539 = and i32 %538, 1
  %540 = or disjoint i32 %539, 192
  %541 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef null, i32 noundef %540, ptr noundef nonnull @.str.167, i32 noundef 0)
  %542 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  %not.896 = xor i1 %542, true
  %spec.select600 = sext i1 %not.896 to i32
  br i1 %541, label %543, label %544

543:                                              ; preds = %535
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.168)
  call void @_ZN5ImGui7TreePopEv()
  br label %544

544:                                              ; preds = %543, %535
  %545 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !18
  %546 = lshr i32 %545, 1
  %547 = and i32 %546, 1
  %548 = or disjoint i32 %547, 192
  %549 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef nonnull inttoptr (i64 1 to ptr), i32 noundef %548, ptr noundef nonnull @.str.167, i32 noundef 1)
  %550 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  %spec.select600.1 = select i1 %550, i32 1, i32 %spec.select600
  br i1 %549, label %551, label %552

551:                                              ; preds = %544
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.168)
  call void @_ZN5ImGui7TreePopEv()
  br label %552

552:                                              ; preds = %544, %551
  %553 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !18
  %554 = lshr i32 %553, 2
  %555 = and i32 %554, 1
  %556 = or disjoint i32 %555, 192
  %557 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef nonnull inttoptr (i64 2 to ptr), i32 noundef %556, ptr noundef nonnull @.str.167, i32 noundef 2)
  %558 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  %spec.select600.2 = select i1 %558, i32 2, i32 %spec.select600.1
  br i1 %557, label %559, label %560

559:                                              ; preds = %552
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.168)
  call void @_ZN5ImGui7TreePopEv()
  br label %560

560:                                              ; preds = %559, %552
  %561 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !18
  %562 = lshr i32 %561, 3
  %563 = and i32 %562, 1
  %564 = or disjoint i32 %563, 456
  %565 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef nonnull inttoptr (i64 3 to ptr), i32 noundef %564, ptr noundef nonnull @.str.169, i32 noundef 3)
  %566 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  %spec.select601.3 = select i1 %566, i32 3, i32 %spec.select600.2
  %.pre840 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !18
  %567 = lshr i32 %.pre840, 4
  %568 = and i32 %567, 1
  %569 = or disjoint i32 %568, 456
  %570 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef nonnull inttoptr (i64 4 to ptr), i32 noundef %569, ptr noundef nonnull @.str.169, i32 noundef 4)
  %571 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  %spec.select601.4 = select i1 %571, i32 4, i32 %spec.select601.3
  %.pre842 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !18
  %572 = lshr i32 %.pre842, 5
  %573 = and i32 %572, 1
  %574 = or disjoint i32 %573, 456
  %575 = call noundef zeroext i1 (ptr, i32, ptr, ...) @_ZN5ImGui10TreeNodeExEPKviPKcz(ptr noundef nonnull inttoptr (i64 5 to ptr), i32 noundef %574, ptr noundef nonnull @.str.169, i32 noundef 5)
  %576 = call noundef zeroext i1 @_ZN5ImGui13IsItemClickedEi(i32 noundef 0)
  %spec.select601.5 = select i1 %576, i32 5, i32 %spec.select601.4
  %.not564 = icmp eq i32 %spec.select601.5, -1
  br i1 %.not564, label %584, label %.sink.split

.sink.split:                                      ; preds = %560
  %577 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %578 = getelementptr inbounds i8, ptr %577, i64 280
  %579 = load i8, ptr %578, align 8, !tbaa !24, !range !9, !noundef !10
  %580 = trunc nuw i8 %579 to i1
  %581 = shl nuw nsw i32 1, %spec.select601.5
  %582 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4
  %583 = select i1 %580, i32 %582, i32 0
  %.sink = xor i32 %581, %583
  store i32 %.sink, ptr @_ZZN5ImGui14ShowDemoWindowEPbE14selection_mask, align 4, !tbaa !18
  br label %584

584:                                              ; preds = %.sink.split, %560
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  %585 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE35align_label_with_current_x_position, align 1, !tbaa !5, !range !9, !noundef !10
  %586 = trunc nuw i8 %585 to i1
  br i1 %586, label %587, label %589

587:                                              ; preds = %584
  %588 = call noundef float @_ZN5ImGui25GetTreeNodeToLabelSpacingEv()
  call void @_ZN5ImGui6IndentEf(float noundef %588)
  br label %589

589:                                              ; preds = %587, %584
  call void @_ZN5ImGui7TreePopEv()
  br label %590

590:                                              ; preds = %589, %527
  call void @_ZN5ImGui7TreePopEv()
  br label %591

591:                                              ; preds = %590, %507
  %592 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.170)
  br i1 %592, label %593, label %601

593:                                              ; preds = %591
  %594 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.171, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE14closable_group)
  %595 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.172, i32 noundef 0)
  br i1 %595, label %.loopexit631.loopexit, label %.loopexit631

.loopexit631.loopexit:                            ; preds = %593
  %596 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %597 = zext i1 %596 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.173, i32 noundef %597)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.174, i32 noundef 0)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.174, i32 noundef 1)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.174, i32 noundef 2)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.174, i32 noundef 3)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.174, i32 noundef 4)
  br label %.loopexit631

.loopexit631:                                     ; preds = %.loopexit631.loopexit, %593
  %598 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKcPbi(ptr noundef nonnull @.str.175, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE14closable_group, i32 noundef 0)
  br i1 %598, label %.loopexit630.loopexit, label %.loopexit630

.loopexit630.loopexit:                            ; preds = %.loopexit631
  %599 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %600 = zext i1 %599 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.173, i32 noundef %600)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.176, i32 noundef 0)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.176, i32 noundef 1)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.176, i32 noundef 2)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.176, i32 noundef 3)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.176, i32 noundef 4)
  br label %.loopexit630

.loopexit630:                                     ; preds = %.loopexit630.loopexit, %.loopexit631
  call void @_ZN5ImGui7TreePopEv()
  br label %601

601:                                              ; preds = %.loopexit630, %591
  %602 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.177)
  br i1 %602, label %603, label %605

603:                                              ; preds = %601
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.178)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.179)
  call void @_ZN5ImGui6BulletEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.180)
  call void @_ZN5ImGui6BulletEv()
  %604 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.85)
  call void @_ZN5ImGui7TreePopEv()
  br label %605

605:                                              ; preds = %603, %601
  %606 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.181)
  br i1 %606, label %607, label %651

607:                                              ; preds = %605
  %608 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.182)
  br i1 %608, label %609, label %610

609:                                              ; preds = %607
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %18) #13
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %18, 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) %18, ptr noundef nonnull @.str.183)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #13
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %19, 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) %19, ptr noundef nonnull @.str.184)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #13
  call void (ptr, ...) @_ZN5ImGui12TextDisabledEPKcz(ptr noundef nonnull @.str.185)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.186)
  call void @_ZN5ImGui7TreePopEv()
  br label %610

610:                                              ; preds = %609, %607
  %611 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.187)
  br i1 %611, label %612, label %646

612:                                              ; preds = %610
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.188)
  call void @_ZN5ImGui7SpacingEv()
  %613 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef nonnull @.str.189, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, float noundef -2.000000e+01, float noundef 6.000000e+02, ptr noundef nonnull @.str.190, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.191)
  %614 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  %615 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #13
  %.sroa.0404.0.vec.extract = extractelement <2 x float> %614, i64 0
  %616 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !25
  %617 = fadd float %.sroa.0404.0.vec.extract, %616
  %.sroa.0404.4.vec.extract = extractelement <2 x float> %614, i64 1
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %20, float noundef %617, float noundef %.sroa.0404.4.vec.extract)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #13
  %618 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !25
  %619 = fadd float %.sroa.0404.0.vec.extract, %618
  %620 = fadd float %619, 1.000000e+01
  %621 = call noundef float @_ZN5ImGui17GetTextLineHeightEv()
  %622 = fadd float %.sroa.0404.4.vec.extract, %621
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %21, float noundef %620, float noundef %622)
  call void @_ZN10ImDrawList13AddRectFilledERK6ImVec2S2_jfi(ptr noundef nonnull align 8 dereferenceable(168) %615, 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) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #13
  %623 = call <2 x float> @_ZN5ImGui12GetCursorPosEv()
  %.sroa.0403.0.vec.extract = extractelement <2 x float> %623, i64 0
  %624 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !25
  %625 = fadd float %.sroa.0403.0.vec.extract, %624
  call void @_ZN5ImGui15PushTextWrapPosEf(float noundef %625)
  %626 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !25
  %627 = fpext float %626 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.192, double noundef %627)
  %628 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #13
  %629 = call <2 x float> @_ZN5ImGui14GetItemRectMinEv()
  store <2 x float> %629, ptr %22, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #13
  %630 = call <2 x float> @_ZN5ImGui14GetItemRectMaxEv()
  store <2 x float> %630, ptr %23, align 8
  call void @_ZN10ImDrawList7AddRectERK6ImVec2S2_jfif(ptr noundef nonnull align 8 dereferenceable(168) %628, 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) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #13
  call void @_ZN5ImGui14PopTextWrapPosEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.193)
  %631 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  %632 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #13
  %.sroa.0404.0.vec.extract408 = extractelement <2 x float> %631, i64 0
  %633 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !25
  %634 = fadd float %.sroa.0404.0.vec.extract408, %633
  %.sroa.0404.4.vec.extract414 = extractelement <2 x float> %631, i64 1
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %24, float noundef %634, float noundef %.sroa.0404.4.vec.extract414)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #13
  %635 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !25
  %636 = fadd float %.sroa.0404.0.vec.extract408, %635
  %637 = fadd float %636, 1.000000e+01
  %638 = call noundef float @_ZN5ImGui17GetTextLineHeightEv()
  %639 = fadd float %.sroa.0404.4.vec.extract414, %638
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %25, float noundef %637, float noundef %639)
  call void @_ZN10ImDrawList13AddRectFilledERK6ImVec2S2_jfi(ptr noundef nonnull align 8 dereferenceable(168) %632, ptr noundef nonnull align 4 dereferenceable(8) %24, ptr noundef nonnull align 4 dereferenceable(8) %25, i32 noundef -65281, float noundef 0.000000e+00, i32 noundef 15)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #13
  %640 = call <2 x float> @_ZN5ImGui12GetCursorPosEv()
  %.sroa.0401.0.vec.extract = extractelement <2 x float> %640, i64 0
  %641 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10wrap_width, align 4, !tbaa !25
  %642 = fadd float %.sroa.0401.0.vec.extract, %641
  call void @_ZN5ImGui15PushTextWrapPosEf(float noundef %642)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.194)
  %643 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #13
  %644 = call <2 x float> @_ZN5ImGui14GetItemRectMinEv()
  store <2 x float> %644, ptr %26, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #13
  %645 = call <2 x float> @_ZN5ImGui14GetItemRectMaxEv()
  store <2 x float> %645, ptr %27, align 8
  call void @_ZN10ImDrawList7AddRectERK6ImVec2S2_jfif(ptr noundef nonnull align 8 dereferenceable(168) %643, ptr noundef nonnull align 4 dereferenceable(8) %26, ptr noundef nonnull align 4 dereferenceable(8) %27, 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 %27) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #13
  call void @_ZN5ImGui14PopTextWrapPosEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %646

646:                                              ; preds = %612, %610
  %647 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.195)
  br i1 %647, label %648, label %650

648:                                              ; preds = %646
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.196)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.197)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.198)
  %649 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.199, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  br label %650

650:                                              ; preds = %648, %646
  call void @_ZN5ImGui7TreePopEv()
  br label %651

651:                                              ; preds = %650, %605
  %652 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.200)
  br i1 %652, label %653, label %733

653:                                              ; preds = %651
  %654 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.201)
  %655 = getelementptr inbounds i8, ptr %654, i64 152
  %656 = load ptr, ptr %655, align 8, !tbaa !26
  %657 = getelementptr inbounds i8, ptr %656, i64 8
  %658 = load ptr, ptr %657, align 8, !tbaa !27
  %659 = getelementptr inbounds i8, ptr %656, i64 40
  %660 = load i32, ptr %659, align 8, !tbaa !32
  %661 = sitofp i32 %660 to float
  %662 = getelementptr inbounds i8, ptr %656, i64 44
  %663 = load i32, ptr %662, align 4, !tbaa !33
  %664 = sitofp i32 %663 to float
  %665 = fpext float %661 to double
  %666 = fpext float %664 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.202, double noundef %665, double noundef %666)
  %667 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %28, float noundef %661, float noundef %664)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %29, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %30, float noundef 1.000000e+00, float noundef 1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %31) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %32) #13
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %32, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 255)
  %668 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %32)
  %669 = extractvalue { <2 x float>, <2 x float> } %668, 0
  store <2 x float> %669, ptr %31, align 8
  %670 = getelementptr inbounds i8, ptr %31, i64 8
  %671 = extractvalue { <2 x float>, <2 x float> } %668, 1
  store <2 x float> %671, ptr %670, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %33) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) #13
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %34, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 128)
  %672 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %34)
  %673 = extractvalue { <2 x float>, <2 x float> } %672, 0
  store <2 x float> %673, ptr %33, align 8
  %674 = getelementptr inbounds i8, ptr %33, i64 8
  %675 = extractvalue { <2 x float>, <2 x float> } %672, 1
  store <2 x float> %675, ptr %674, align 8
  call void @_ZN5ImGui5ImageEPvRK6ImVec2S3_S3_RK6ImVec4S6_(ptr noundef %658, ptr noundef nonnull align 4 dereferenceable(8) %28, ptr noundef nonnull align 4 dereferenceable(8) %29, ptr noundef nonnull align 4 dereferenceable(8) %30, ptr noundef nonnull align 4 dereferenceable(16) %31, ptr noundef nonnull align 4 dereferenceable(16) %33)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #13
  %676 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %676, label %677, label %716

677:                                              ; preds = %653
  call void @_ZN5ImGui12BeginTooltipEv()
  %678 = getelementptr inbounds i8, ptr %654, i64 256
  %679 = load float, ptr %678, align 8, !tbaa !34
  %.sroa.0378.0.vec.extract = extractelement <2 x float> %667, i64 0
  %680 = fsub float %679, %.sroa.0378.0.vec.extract
  %681 = fadd float %680, -1.600000e+01
  %682 = fcmp olt float %681, 0.000000e+00
  br i1 %682, label %687, label %683

683:                                              ; preds = %677
  %684 = fadd float %661, -3.200000e+01
  %685 = fcmp ogt float %681, %684
  br i1 %685, label %686, label %687

686:                                              ; preds = %683
  br label %687

687:                                              ; preds = %677, %683, %686
  %.0503 = phi float [ %684, %686 ], [ %681, %683 ], [ 0.000000e+00, %677 ]
  %688 = getelementptr inbounds i8, ptr %654, i64 260
  %689 = load float, ptr %688, align 4, !tbaa !35
  %.sroa.0378.4.vec.extract = extractelement <2 x float> %667, i64 1
  %690 = fsub float %689, %.sroa.0378.4.vec.extract
  %691 = fadd float %690, -1.600000e+01
  %692 = fcmp olt float %691, 0.000000e+00
  br i1 %692, label %697, label %693

693:                                              ; preds = %687
  %694 = fadd float %664, -3.200000e+01
  %695 = fcmp ogt float %691, %694
  br i1 %695, label %696, label %697

696:                                              ; preds = %693
  br label %697

697:                                              ; preds = %687, %693, %696
  %.0505 = phi float [ %694, %696 ], [ %691, %693 ], [ 0.000000e+00, %687 ]
  %698 = fpext float %.0503 to double
  %699 = fpext float %.0505 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.203, double noundef %698, double noundef %699)
  %700 = fadd float %.0503, 3.200000e+01
  %701 = fpext float %700 to double
  %702 = fadd float %.0505, 3.200000e+01
  %703 = fpext float %702 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.204, double noundef %701, double noundef %703)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #13
  %704 = fdiv float %.0503, %661
  %705 = fdiv float %.0505, %664
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %35, float noundef %704, float noundef %705)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #13
  %706 = fdiv float %700, %661
  %707 = fdiv float %702, %664
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %36, float noundef %706, float noundef %707)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %37, float noundef 1.280000e+02, float noundef 1.280000e+02)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %38) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %39) #13
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %39, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 255)
  %708 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %39)
  %709 = extractvalue { <2 x float>, <2 x float> } %708, 0
  store <2 x float> %709, ptr %38, align 8
  %710 = getelementptr inbounds i8, ptr %38, i64 8
  %711 = extractvalue { <2 x float>, <2 x float> } %708, 1
  store <2 x float> %711, ptr %710, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %40) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #13
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %41, i32 noundef 255, i32 noundef 255, i32 noundef 255, i32 noundef 128)
  %712 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %41)
  %713 = extractvalue { <2 x float>, <2 x float> } %712, 0
  store <2 x float> %713, ptr %40, align 8
  %714 = getelementptr inbounds i8, ptr %40, i64 8
  %715 = extractvalue { <2 x float>, <2 x float> } %712, 1
  store <2 x float> %715, ptr %714, align 8
  call void @_ZN5ImGui5ImageEPvRK6ImVec2S3_S3_RK6ImVec4S6_(ptr noundef %658, ptr noundef nonnull align 4 dereferenceable(8) %37, ptr noundef nonnull align 4 dereferenceable(8) %35, ptr noundef nonnull align 4 dereferenceable(8) %36, ptr noundef nonnull align 4 dereferenceable(16) %38, ptr noundef nonnull align 4 dereferenceable(16) %40)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #13
  call void @_ZN5ImGui10EndTooltipEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #13
  br label %716

716:                                              ; preds = %697, %653
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.205)
  %717 = fdiv float 3.200000e+01, %661
  %718 = fdiv float 3.200000e+01, %664
  %719 = getelementptr inbounds i8, ptr %45, i64 8
  br label %722

720:                                              ; preds = %731
  call void @_ZN5ImGui7NewLineEv()
  %721 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count, align 4, !tbaa !18
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.206, i32 noundef %721)
  call void @_ZN5ImGui7TreePopEv()
  br label %733

722:                                              ; preds = %716, %731
  %.0513639 = phi i32 [ 0, %716 ], [ %732, %731 ]
  call void @_ZN5ImGui6PushIDEi(i32 noundef %.0513639)
  %723 = add nsw i32 %.0513639, -1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %42, float noundef 3.200000e+01, float noundef 3.200000e+01)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %43, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %44, float noundef %717, float noundef %718)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %45) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %46) #13
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %46, i32 noundef 0, i32 noundef 0, i32 noundef 0, i32 noundef 255)
  %724 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %46)
  %725 = extractvalue { <2 x float>, <2 x float> } %724, 0
  store <2 x float> %725, ptr %45, align 8
  %726 = extractvalue { <2 x float>, <2 x float> } %724, 1
  store <2 x float> %726, ptr %719, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %47) #13
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %47, float noundef 1.000000e+00, float noundef 1.000000e+00, float noundef 1.000000e+00, float noundef 1.000000e+00)
  %727 = call noundef zeroext i1 @_ZN5ImGui11ImageButtonEPvRK6ImVec2S3_S3_iRK6ImVec4S6_(ptr noundef %658, ptr noundef nonnull align 4 dereferenceable(8) %42, ptr noundef nonnull align 4 dereferenceable(8) %43, ptr noundef nonnull align 4 dereferenceable(8) %44, i32 noundef %723, ptr noundef nonnull align 4 dereferenceable(16) %45, ptr noundef nonnull align 4 dereferenceable(16) %47)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %46) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %45) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #13
  br i1 %727, label %728, label %731

728:                                              ; preds = %722
  %729 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count, align 4, !tbaa !18
  %730 = add nsw i32 %729, 1
  store i32 %730, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13pressed_count, align 4, !tbaa !18
  br label %731

731:                                              ; preds = %728, %722
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %732 = add nuw nsw i32 %.0513639, 1
  %exitcond694.not = icmp eq i32 %732, 8
  br i1 %exitcond694.not, label %720, label %722, !llvm.loop !36

733:                                              ; preds = %720, %651
  %734 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.207)
  br i1 %734, label %735, label %887

735:                                              ; preds = %733
  %736 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.208, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5flags, i32 noundef 1)
  %737 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.209, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5flags, i32 noundef 32)
  br i1 %737, label %738, label %741

738:                                              ; preds = %735
  %739 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !18
  %740 = and i32 %739, -65
  store i32 %740, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !18
  br label %741

741:                                              ; preds = %738, %735
  %742 = call noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef nonnull @.str.210, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5flags, i32 noundef 64)
  br i1 %742, label %743, label %746

743:                                              ; preds = %741
  %744 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !18
  %745 = and i32 %744, -33
  store i32 %745, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !18
  br label %746

746:                                              ; preds = %743, %741
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %48) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(112) %48, ptr noundef nonnull align 16 dereferenceable(112) @__const._ZN5ImGui14ShowDemoWindowEPb.items.211, i64 112, i1 false)
  %747 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12item_current_0 acquire, align 8
  %748 = icmp eq i8 %747, 0
  br i1 %748, label %749, label %753, !prof !37

749:                                              ; preds = %746
  %750 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE12item_current_0) #13
  %.not565 = icmp eq i32 %750, 0
  br i1 %.not565, label %753, label %751

751:                                              ; preds = %749
  %752 = load ptr, ptr %48, align 16, !tbaa !38
  store ptr %752, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  call void @__cxa_guard_release(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE12item_current_0) #13
  br label %753

753:                                              ; preds = %751, %749, %746
  %754 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %755 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5flags, align 4, !tbaa !18
  %756 = call noundef zeroext i1 @_ZN5ImGui10BeginComboEPKcS1_i(ptr noundef nonnull @.str.212, ptr noundef %754, i32 noundef %755)
  br i1 %756, label %.preheader629.preheader, label %883

.preheader629.preheader:                          ; preds = %753
  %757 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %758 = load ptr, ptr %48, align 16, !tbaa !38
  %759 = icmp eq ptr %757, %758
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %760 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %758, i1 noundef zeroext %759, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #13
  br i1 %760, label %761, label %763

761:                                              ; preds = %.preheader629.preheader
  %762 = load ptr, ptr %48, align 16, !tbaa !38
  store ptr %762, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  br label %763

763:                                              ; preds = %761, %.preheader629.preheader
  br i1 %759, label %764, label %.preheader629.1

764:                                              ; preds = %763
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader629.1

.preheader629.1:                                  ; preds = %764, %763
  %765 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %766 = getelementptr inbounds i8, ptr %48, i64 8
  %767 = load ptr, ptr %766, align 8, !tbaa !38
  %768 = icmp eq ptr %765, %767
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %769 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %767, i1 noundef zeroext %768, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #13
  br i1 %769, label %770, label %772

770:                                              ; preds = %.preheader629.1
  %771 = load ptr, ptr %766, align 8, !tbaa !38
  store ptr %771, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  br label %772

772:                                              ; preds = %770, %.preheader629.1
  br i1 %768, label %773, label %.preheader629.2

773:                                              ; preds = %772
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader629.2

.preheader629.2:                                  ; preds = %773, %772
  %774 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %775 = getelementptr inbounds i8, ptr %48, i64 16
  %776 = load ptr, ptr %775, align 16, !tbaa !38
  %777 = icmp eq ptr %774, %776
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %778 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %776, i1 noundef zeroext %777, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #13
  br i1 %778, label %779, label %781

779:                                              ; preds = %.preheader629.2
  %780 = load ptr, ptr %775, align 16, !tbaa !38
  store ptr %780, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  br label %781

781:                                              ; preds = %779, %.preheader629.2
  br i1 %777, label %782, label %.preheader629.3

782:                                              ; preds = %781
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader629.3

.preheader629.3:                                  ; preds = %782, %781
  %783 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %784 = getelementptr inbounds i8, ptr %48, i64 24
  %785 = load ptr, ptr %784, align 8, !tbaa !38
  %786 = icmp eq ptr %783, %785
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %787 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %785, i1 noundef zeroext %786, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #13
  br i1 %787, label %788, label %790

788:                                              ; preds = %.preheader629.3
  %789 = load ptr, ptr %784, align 8, !tbaa !38
  store ptr %789, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  br label %790

790:                                              ; preds = %788, %.preheader629.3
  br i1 %786, label %791, label %.preheader629.4

791:                                              ; preds = %790
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader629.4

.preheader629.4:                                  ; preds = %791, %790
  %792 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %793 = getelementptr inbounds i8, ptr %48, i64 32
  %794 = load ptr, ptr %793, align 16, !tbaa !38
  %795 = icmp eq ptr %792, %794
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %796 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %794, i1 noundef zeroext %795, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #13
  br i1 %796, label %797, label %799

797:                                              ; preds = %.preheader629.4
  %798 = load ptr, ptr %793, align 16, !tbaa !38
  store ptr %798, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  br label %799

799:                                              ; preds = %797, %.preheader629.4
  br i1 %795, label %800, label %.preheader629.5

800:                                              ; preds = %799
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader629.5

.preheader629.5:                                  ; preds = %800, %799
  %801 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %802 = getelementptr inbounds i8, ptr %48, i64 40
  %803 = load ptr, ptr %802, align 8, !tbaa !38
  %804 = icmp eq ptr %801, %803
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %805 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %803, i1 noundef zeroext %804, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #13
  br i1 %805, label %806, label %808

806:                                              ; preds = %.preheader629.5
  %807 = load ptr, ptr %802, align 8, !tbaa !38
  store ptr %807, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  br label %808

808:                                              ; preds = %806, %.preheader629.5
  br i1 %804, label %809, label %.preheader629.6

809:                                              ; preds = %808
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader629.6

.preheader629.6:                                  ; preds = %809, %808
  %810 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %811 = getelementptr inbounds i8, ptr %48, i64 48
  %812 = load ptr, ptr %811, align 16, !tbaa !38
  %813 = icmp eq ptr %810, %812
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %814 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %812, i1 noundef zeroext %813, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #13
  br i1 %814, label %815, label %817

815:                                              ; preds = %.preheader629.6
  %816 = load ptr, ptr %811, align 16, !tbaa !38
  store ptr %816, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  br label %817

817:                                              ; preds = %815, %.preheader629.6
  br i1 %813, label %818, label %.preheader629.7

818:                                              ; preds = %817
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader629.7

.preheader629.7:                                  ; preds = %818, %817
  %819 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %820 = getelementptr inbounds i8, ptr %48, i64 56
  %821 = load ptr, ptr %820, align 8, !tbaa !38
  %822 = icmp eq ptr %819, %821
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %823 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %821, i1 noundef zeroext %822, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #13
  br i1 %823, label %824, label %826

824:                                              ; preds = %.preheader629.7
  %825 = load ptr, ptr %820, align 8, !tbaa !38
  store ptr %825, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  br label %826

826:                                              ; preds = %824, %.preheader629.7
  br i1 %822, label %827, label %.preheader629.8

827:                                              ; preds = %826
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader629.8

.preheader629.8:                                  ; preds = %827, %826
  %828 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %829 = getelementptr inbounds i8, ptr %48, i64 64
  %830 = load ptr, ptr %829, align 16, !tbaa !38
  %831 = icmp eq ptr %828, %830
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %832 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %830, i1 noundef zeroext %831, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #13
  br i1 %832, label %833, label %835

833:                                              ; preds = %.preheader629.8
  %834 = load ptr, ptr %829, align 16, !tbaa !38
  store ptr %834, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  br label %835

835:                                              ; preds = %833, %.preheader629.8
  br i1 %831, label %836, label %.preheader629.9

836:                                              ; preds = %835
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader629.9

.preheader629.9:                                  ; preds = %836, %835
  %837 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %838 = getelementptr inbounds i8, ptr %48, i64 72
  %839 = load ptr, ptr %838, align 8, !tbaa !38
  %840 = icmp eq ptr %837, %839
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %841 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %839, i1 noundef zeroext %840, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #13
  br i1 %841, label %842, label %844

842:                                              ; preds = %.preheader629.9
  %843 = load ptr, ptr %838, align 8, !tbaa !38
  store ptr %843, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  br label %844

844:                                              ; preds = %842, %.preheader629.9
  br i1 %840, label %845, label %.preheader629.10

845:                                              ; preds = %844
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader629.10

.preheader629.10:                                 ; preds = %845, %844
  %846 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %847 = getelementptr inbounds i8, ptr %48, i64 80
  %848 = load ptr, ptr %847, align 16, !tbaa !38
  %849 = icmp eq ptr %846, %848
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %850 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %848, i1 noundef zeroext %849, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #13
  br i1 %850, label %851, label %853

851:                                              ; preds = %.preheader629.10
  %852 = load ptr, ptr %847, align 16, !tbaa !38
  store ptr %852, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  br label %853

853:                                              ; preds = %851, %.preheader629.10
  br i1 %849, label %854, label %.preheader629.11

854:                                              ; preds = %853
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader629.11

.preheader629.11:                                 ; preds = %854, %853
  %855 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %856 = getelementptr inbounds i8, ptr %48, i64 88
  %857 = load ptr, ptr %856, align 8, !tbaa !38
  %858 = icmp eq ptr %855, %857
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %859 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %857, i1 noundef zeroext %858, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #13
  br i1 %859, label %860, label %862

860:                                              ; preds = %.preheader629.11
  %861 = load ptr, ptr %856, align 8, !tbaa !38
  store ptr %861, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  br label %862

862:                                              ; preds = %860, %.preheader629.11
  br i1 %858, label %863, label %.preheader629.12

863:                                              ; preds = %862
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader629.12

.preheader629.12:                                 ; preds = %863, %862
  %864 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %865 = getelementptr inbounds i8, ptr %48, i64 96
  %866 = load ptr, ptr %865, align 16, !tbaa !38
  %867 = icmp eq ptr %864, %866
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %868 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %866, i1 noundef zeroext %867, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #13
  br i1 %868, label %869, label %871

869:                                              ; preds = %.preheader629.12
  %870 = load ptr, ptr %865, align 16, !tbaa !38
  store ptr %870, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  br label %871

871:                                              ; preds = %869, %.preheader629.12
  br i1 %867, label %872, label %.preheader629.13

872:                                              ; preds = %871
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %.preheader629.13

.preheader629.13:                                 ; preds = %872, %871
  %873 = load ptr, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  %874 = getelementptr inbounds i8, ptr %48, i64 104
  %875 = load ptr, ptr %874, align 8, !tbaa !38
  %876 = icmp eq ptr %873, %875
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %49, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %877 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %875, i1 noundef zeroext %876, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #13
  br i1 %877, label %878, label %880

878:                                              ; preds = %.preheader629.13
  %879 = load ptr, ptr %874, align 8, !tbaa !38
  store ptr %879, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12item_current_0, align 8, !tbaa !38
  br label %880

880:                                              ; preds = %878, %.preheader629.13
  br i1 %876, label %881, label %882

881:                                              ; preds = %880
  call void @_ZN5ImGui19SetItemDefaultFocusEv()
  br label %882

882:                                              ; preds = %881, %880
  call void @_ZN5ImGui8EndComboEv()
  br label %883

883:                                              ; preds = %882, %753
  %884 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef nonnull @.str.213, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE14item_current_2, ptr noundef nonnull @.str.214, i32 noundef -1)
  %885 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef nonnull @.str.215, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE14item_current_3, ptr noundef nonnull %48, i32 noundef 14, i32 noundef -1)
  %886 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPFbPviPS1_ES3_ii(ptr noundef nonnull @.str.216, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE14item_current_4, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbEN10FuncHolder10ItemGetterEPviPPKc, ptr noundef nonnull %48, i32 noundef 14, i32 noundef -1)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %48) #13
  br label %887

887:                                              ; preds = %883, %733
  %888 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.217)
  br i1 %888, label %889, label %1100

889:                                              ; preds = %887
  %890 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.84)
  br i1 %890, label %891, label %904

891:                                              ; preds = %889
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %50, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %892 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.218, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %50)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %51, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %893 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.219, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 1), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %51)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.220)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %52, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %894 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.221, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 3), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %52)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #13
  %895 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 4), align 1, !tbaa !5, !range !9, !noundef !10
  %896 = trunc nuw i8 %895 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %53, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %897 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull @.str.222, i1 noundef zeroext %896, i32 noundef 4, ptr noundef nonnull align 4 dereferenceable(8) %53)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #13
  br i1 %897, label %898, label %903

898:                                              ; preds = %891
  %899 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef 0)
  br i1 %899, label %900, label %903

900:                                              ; preds = %898
  %901 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 4), align 1, !tbaa !5, !range !9, !noundef !10
  %902 = xor i8 %901, 1
  store i8 %902, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection, i64 4), align 1, !tbaa !5
  br label %903

903:                                              ; preds = %898, %900, %891
  call void @_ZN5ImGui7TreePopEv()
  br label %904

904:                                              ; preds = %903, %889
  %905 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.223)
  br i1 %905, label %.preheader628.preheader, label %932

.preheader628.preheader:                          ; preds = %904
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #13
  %906 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %54, ptr noundef nonnull dereferenceable(1) @.str.224, i32 noundef 0) #13
  %907 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !18
  %908 = icmp eq i32 %907, 0
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %55, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %909 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %54, i1 noundef zeroext %908, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %55)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #13
  br i1 %909, label %910, label %.preheader628.1

910:                                              ; preds = %.preheader628.preheader
  store i32 0, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !18
  br label %.preheader628.1

.preheader628.1:                                  ; preds = %910, %.preheader628.preheader
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #13
  %911 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %54, ptr noundef nonnull dereferenceable(1) @.str.224, i32 noundef 1) #13
  %912 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !18
  %913 = icmp eq i32 %912, 1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %55, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %914 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %54, i1 noundef zeroext %913, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %55)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #13
  br i1 %914, label %915, label %.preheader628.2

915:                                              ; preds = %.preheader628.1
  store i32 1, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !18
  br label %.preheader628.2

.preheader628.2:                                  ; preds = %915, %.preheader628.1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #13
  %916 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %54, ptr noundef nonnull dereferenceable(1) @.str.224, i32 noundef 2) #13
  %917 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !18
  %918 = icmp eq i32 %917, 2
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %55, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %919 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %54, i1 noundef zeroext %918, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %55)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #13
  br i1 %919, label %920, label %.preheader628.3

920:                                              ; preds = %.preheader628.2
  store i32 2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !18
  br label %.preheader628.3

.preheader628.3:                                  ; preds = %920, %.preheader628.2
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #13
  %921 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %54, ptr noundef nonnull dereferenceable(1) @.str.224, i32 noundef 3) #13
  %922 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !18
  %923 = icmp eq i32 %922, 3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %55, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %924 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %54, i1 noundef zeroext %923, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %55)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #13
  br i1 %924, label %925, label %.preheader628.4

925:                                              ; preds = %.preheader628.3
  store i32 3, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !18
  br label %.preheader628.4

.preheader628.4:                                  ; preds = %925, %.preheader628.3
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #13
  %926 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %54, ptr noundef nonnull dereferenceable(1) @.str.224, i32 noundef 4) #13
  %927 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !18
  %928 = icmp eq i32 %927, 4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %55, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %929 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %54, i1 noundef zeroext %928, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %55)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #13
  br i1 %929, label %930, label %931

930:                                              ; preds = %.preheader628.4
  store i32 4, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected, align 4, !tbaa !18
  br label %931

931:                                              ; preds = %930, %.preheader628.4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #13
  call void @_ZN5ImGui7TreePopEv()
  br label %932

932:                                              ; preds = %931, %904
  %933 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.225)
  br i1 %933, label %934, label %1005

934:                                              ; preds = %932
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.226)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #13
  %935 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %56, ptr noundef nonnull dereferenceable(1) @.str.224, i32 noundef 0) #13
  %936 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, align 1, !tbaa !5, !range !9, !noundef !10
  %937 = trunc nuw i8 %936 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %57, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %938 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %56, i1 noundef zeroext %937, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %57)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #13
  br i1 %938, label %939, label %948

939:                                              ; preds = %934
  %940 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %941 = getelementptr inbounds i8, ptr %940, i64 280
  %942 = load i8, ptr %941, align 8, !tbaa !24, !range !9, !noundef !10
  %943 = trunc nuw i8 %942 to i1
  br i1 %943, label %._crit_edge844, label %944

._crit_edge844:                                   ; preds = %939
  %.pre845 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, align 1, !tbaa !5, !range !9
  br label %945

944:                                              ; preds = %939
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i8 0, i64 5, i1 false)
  br label %945

945:                                              ; preds = %._crit_edge844, %944
  %946 = phi i8 [ %.pre845, %._crit_edge844 ], [ 0, %944 ]
  %947 = xor i8 %946, 1
  store i8 %947, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, align 1, !tbaa !5
  br label %948

948:                                              ; preds = %945, %934
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #13
  %949 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %56, ptr noundef nonnull dereferenceable(1) @.str.224, i32 noundef 1) #13
  %950 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 1), align 1, !tbaa !5, !range !9, !noundef !10
  %951 = trunc nuw i8 %950 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %57, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %952 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %56, i1 noundef zeroext %951, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %57)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #13
  br i1 %952, label %953, label %962

953:                                              ; preds = %948
  %954 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %955 = getelementptr inbounds i8, ptr %954, i64 280
  %956 = load i8, ptr %955, align 8, !tbaa !24, !range !9, !noundef !10
  %957 = trunc nuw i8 %956 to i1
  br i1 %957, label %._crit_edge846, label %958

._crit_edge846:                                   ; preds = %953
  %.pre847 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 1), align 1, !tbaa !5, !range !9
  br label %959

958:                                              ; preds = %953
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i8 0, i64 5, i1 false)
  br label %959

959:                                              ; preds = %._crit_edge846, %958
  %960 = phi i8 [ %.pre847, %._crit_edge846 ], [ 0, %958 ]
  %961 = xor i8 %960, 1
  store i8 %961, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 1), align 1, !tbaa !5
  br label %962

962:                                              ; preds = %959, %948
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #13
  %963 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %56, ptr noundef nonnull dereferenceable(1) @.str.224, i32 noundef 2) #13
  %964 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 2), align 1, !tbaa !5, !range !9, !noundef !10
  %965 = trunc nuw i8 %964 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %57, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %966 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %56, i1 noundef zeroext %965, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %57)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #13
  br i1 %966, label %967, label %976

967:                                              ; preds = %962
  %968 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %969 = getelementptr inbounds i8, ptr %968, i64 280
  %970 = load i8, ptr %969, align 8, !tbaa !24, !range !9, !noundef !10
  %971 = trunc nuw i8 %970 to i1
  br i1 %971, label %._crit_edge848, label %972

._crit_edge848:                                   ; preds = %967
  %.pre849 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 2), align 1, !tbaa !5, !range !9
  br label %973

972:                                              ; preds = %967
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i8 0, i64 5, i1 false)
  br label %973

973:                                              ; preds = %._crit_edge848, %972
  %974 = phi i8 [ %.pre849, %._crit_edge848 ], [ 0, %972 ]
  %975 = xor i8 %974, 1
  store i8 %975, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 2), align 1, !tbaa !5
  br label %976

976:                                              ; preds = %973, %962
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #13
  %977 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %56, ptr noundef nonnull dereferenceable(1) @.str.224, i32 noundef 3) #13
  %978 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 3), align 1, !tbaa !5, !range !9, !noundef !10
  %979 = trunc nuw i8 %978 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %57, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %980 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %56, i1 noundef zeroext %979, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %57)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #13
  br i1 %980, label %981, label %990

981:                                              ; preds = %976
  %982 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %983 = getelementptr inbounds i8, ptr %982, i64 280
  %984 = load i8, ptr %983, align 8, !tbaa !24, !range !9, !noundef !10
  %985 = trunc nuw i8 %984 to i1
  br i1 %985, label %._crit_edge850, label %986

._crit_edge850:                                   ; preds = %981
  %.pre851 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 3), align 1, !tbaa !5, !range !9
  br label %987

986:                                              ; preds = %981
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i8 0, i64 5, i1 false)
  br label %987

987:                                              ; preds = %._crit_edge850, %986
  %988 = phi i8 [ %.pre851, %._crit_edge850 ], [ 0, %986 ]
  %989 = xor i8 %988, 1
  store i8 %989, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 3), align 1, !tbaa !5
  br label %990

990:                                              ; preds = %987, %976
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #13
  %991 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %56, ptr noundef nonnull dereferenceable(1) @.str.224, i32 noundef 4) #13
  %992 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 4), align 1, !tbaa !5, !range !9, !noundef !10
  %993 = trunc nuw i8 %992 to i1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %57, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %994 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %56, i1 noundef zeroext %993, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %57)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #13
  br i1 %994, label %995, label %1004

995:                                              ; preds = %990
  %996 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %997 = getelementptr inbounds i8, ptr %996, i64 280
  %998 = load i8, ptr %997, align 8, !tbaa !24, !range !9, !noundef !10
  %999 = trunc nuw i8 %998 to i1
  br i1 %999, label %._crit_edge852, label %1000

._crit_edge852:                                   ; preds = %995
  %.pre853 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 4), align 1, !tbaa !5, !range !9
  br label %1001

1000:                                             ; preds = %995
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i8 0, i64 5, i1 false)
  br label %1001

1001:                                             ; preds = %._crit_edge852, %1000
  %1002 = phi i8 [ %.pre853, %._crit_edge852 ], [ 0, %1000 ]
  %1003 = xor i8 %1002, 1
  store i8 %1003, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_0, i64 4), align 1, !tbaa !5
  br label %1004

1004:                                             ; preds = %1001, %990
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #13
  call void @_ZN5ImGui7TreePopEv()
  br label %1005

1005:                                             ; preds = %1004, %932
  %1006 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.227)
  br i1 %1006, label %1007, label %1011

1007:                                             ; preds = %1005
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %58, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1008 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.228, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE8selected_0, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %58)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.229)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %59, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1009 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.230, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_0, i64 1), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %59)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.231)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %60, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1010 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.232, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_0, i64 2), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %60)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.229)
  call void @_ZN5ImGui7TreePopEv()
  br label %1011

1011:                                             ; preds = %1007, %1005
  %1012 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.233)
  br i1 %1012, label %1013, label %1046

1013:                                             ; preds = %1011
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 3, ptr noundef null, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1014 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 0) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1015 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1016 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 1) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1017 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 1), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1018 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 2) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1019 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 2), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1020 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 3) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1021 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 3), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1022 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 4) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1023 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 4), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1024 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 5) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1025 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 5), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1026 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 6) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1027 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 6), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1028 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 7) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1029 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 7), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1030 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 8) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1031 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 8), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1032 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 9) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1033 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 9), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1034 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 10) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1035 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 10), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1036 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 11) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1037 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 11), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1038 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 12) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1039 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 12), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1040 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 13) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1041 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 13), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1042 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 14) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1043 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 14), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #13
  %1044 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %61, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 15) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %62, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1045 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull %61, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_1, i64 15), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %62)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #13
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui7TreePopEv()
  br label %1046

1046:                                             ; preds = %1013, %1011
  %1047 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.235)
  br i1 %1047, label %.preheader627.preheader, label %1099

.preheader627.preheader:                          ; preds = %1046
  call void @_ZN5ImGui6PushIDEi(i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %63, float noundef 5.000000e+01, float noundef 5.000000e+01)
  %1048 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.236, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %63)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #13
  br i1 %1048, label %.thread.peel, label %.preheader627.peel.next

.thread.peel:                                     ; preds = %.preheader627.preheader
  %1049 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 1), align 1, !tbaa !5, !range !9, !noundef !10
  %1050 = xor i8 %1049, 1
  store i8 %1050, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 1), align 1, !tbaa !5
  %1051 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 4), align 4, !tbaa !5, !range !9, !noundef !10
  %1052 = xor i8 %1051, 1
  store i8 %1052, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 4), align 4, !tbaa !5
  br label %.preheader627.peel.next

.preheader627.peel.next:                          ; preds = %.preheader627.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 %63) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %63, float noundef 5.000000e+01, float noundef 5.000000e+01)
  %1053 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.236, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 1), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %63)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #13
  br i1 %1053, label %.thread.peel709, label %.preheader627.peel.next704

.thread.peel709:                                  ; preds = %.preheader627.peel.next
  %1054 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, align 16, !tbaa !5, !range !9, !noundef !10
  %1055 = xor i8 %1054, 1
  store i8 %1055, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, align 16, !tbaa !5
  %1056 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 2), align 2, !tbaa !5, !range !9, !noundef !10
  %1057 = xor i8 %1056, 1
  store i8 %1057, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 2), align 2, !tbaa !5
  %1058 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 5), align 1, !tbaa !5, !range !9, !noundef !10
  %1059 = xor i8 %1058, 1
  store i8 %1059, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 5), align 1, !tbaa !5
  br label %.preheader627.peel.next704

.preheader627.peel.next704:                       ; preds = %.preheader627.peel.next, %.thread.peel709
  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 %63) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %63, float noundef 5.000000e+01, float noundef 5.000000e+01)
  %1060 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.236, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 2), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %63)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #13
  br i1 %1060, label %.thread.peel718, label %.preheader627.peel.next713

.thread.peel718:                                  ; preds = %.preheader627.peel.next704
  %1061 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 1), align 1, !tbaa !5, !range !9, !noundef !10
  %1062 = xor i8 %1061, 1
  store i8 %1062, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 1), align 1, !tbaa !5
  %1063 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 3), align 1, !tbaa !5, !range !9, !noundef !10
  %1064 = xor i8 %1063, 1
  store i8 %1064, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 3), align 1, !tbaa !5
  %1065 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 6), align 2, !tbaa !5, !range !9, !noundef !10
  %1066 = xor i8 %1065, 1
  store i8 %1066, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 6), align 2, !tbaa !5
  br label %.preheader627.peel.next713

.preheader627.peel.next713:                       ; preds = %.preheader627.peel.next704, %.thread.peel718
  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 %63) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %63, float noundef 5.000000e+01, float noundef 5.000000e+01)
  %1067 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.236, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 3), i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %63)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #13
  br i1 %1067, label %.thread.peel727, label %.preheader627.peel.next722

.thread.peel727:                                  ; preds = %.preheader627.peel.next713
  %1068 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 2), align 2, !tbaa !5, !range !9, !noundef !10
  %1069 = xor i8 %1068, 1
  store i8 %1069, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 2), align 2, !tbaa !5
  %1070 = load i8, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 7), align 1, !tbaa !5, !range !9, !noundef !10
  %1071 = xor i8 %1070, 1
  store i8 %1071, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 7), align 1, !tbaa !5
  br label %.preheader627.peel.next722

.preheader627.peel.next722:                       ; preds = %.thread.peel727, %.preheader627.peel.next713
  call void @_ZN5ImGui5PopIDEv()
  br label %.preheader627

.loopexit732:                                     ; preds = %1098
  call void @_ZN5ImGui7TreePopEv()
  br label %1099

.preheader627:                                    ; preds = %.preheader627.peel.next722, %1098
  %indvars.iv = phi i64 [ 4, %.preheader627.peel.next722 ], [ %indvars.iv.next, %1098 ]
  %1072 = trunc nuw nsw i64 %indvars.iv to i32
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1072)
  %1073 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %indvars.iv
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %63, float noundef 5.000000e+01, float noundef 5.000000e+01)
  %1074 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcPbiRK6ImVec2(ptr noundef nonnull @.str.236, ptr noundef nonnull %1073, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %63)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #13
  %1075 = and i32 %1072, 3
  br i1 %1074, label %1076, label %.preheader627._crit_edge

1076:                                             ; preds = %.preheader627
  %cond = icmp eq i32 %1075, 0
  br i1 %cond, label %1082, label %1077

1077:                                             ; preds = %1076
  %1078 = add nsw i64 %indvars.iv, -1
  %1079 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1078
  %1080 = load i8, ptr %1079, align 1, !tbaa !5, !range !9, !noundef !10
  %1081 = xor i8 %1080, 1
  store i8 %1081, ptr %1079, align 1, !tbaa !5
  %.not595 = icmp eq i32 %1075, 3
  br i1 %.not595, label %1087, label %1082

1082:                                             ; preds = %1076, %1077
  %1083 = add nuw nsw i64 %indvars.iv, 1
  %1084 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1083
  %1085 = load i8, ptr %1084, align 1, !tbaa !5, !range !9, !noundef !10
  %1086 = xor i8 %1085, 1
  store i8 %1086, ptr %1084, align 1, !tbaa !5
  br label %1087

1087:                                             ; preds = %1077, %1082
  %1088 = add nsw i64 %indvars.iv, -4
  %1089 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1088
  %1090 = load i8, ptr %1089, align 1, !tbaa !5, !range !9, !noundef !10
  %1091 = xor i8 %1090, 1
  store i8 %1091, ptr %1089, align 1, !tbaa !5
  %1092 = icmp ult i64 %indvars.iv, 12
  br i1 %1092, label %.thread, label %.preheader627._crit_edge

.thread:                                          ; preds = %1087
  %1093 = add nuw nsw i64 %indvars.iv, 4
  %1094 = getelementptr inbounds [16 x i8], ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_2, i64 0, i64 %1093
  %1095 = load i8, ptr %1094, align 1, !tbaa !5, !range !9, !noundef !10
  %1096 = xor i8 %1095, 1
  store i8 %1096, ptr %1094, align 1, !tbaa !5
  br label %.preheader627._crit_edge

.preheader627._crit_edge:                         ; preds = %.preheader627, %1087, %.thread
  %.not597 = icmp eq i32 %1075, 3
  br i1 %.not597, label %1098, label %1097

1097:                                             ; preds = %.preheader627._crit_edge
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %1098

1098:                                             ; preds = %1097, %.preheader627._crit_edge
  call void @_ZN5ImGui5PopIDEv()
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond703.not = icmp eq i64 %indvars.iv.next, 16
  br i1 %exitcond703.not, label %.loopexit732, label %.preheader627, !llvm.loop !39

1099:                                             ; preds = %.loopexit732, %1046
  call void @_ZN5ImGui7TreePopEv()
  br label %1100

1100:                                             ; preds = %1099, %887
  %1101 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.237)
  br i1 %1101, label %1102, label %1111

1102:                                             ; preds = %1100
  %1103 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.238, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4buf1, i64 noundef 64, i32 noundef 0, ptr noundef null, ptr noundef null)
  %1104 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.239, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4buf2, i64 noundef 64, i32 noundef 1, ptr noundef null, ptr noundef null)
  %1105 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.240, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4buf3, i64 noundef 64, i32 noundef 6, ptr noundef null, ptr noundef null)
  %1106 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.241, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4buf4, i64 noundef 64, i32 noundef 4, ptr noundef null, ptr noundef null)
  %1107 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.242, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4buf5, i64 noundef 64, i32 noundef 8, ptr noundef null, ptr noundef null)
  %1108 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.243, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4buf6, i64 noundef 64, i32 noundef 512, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbEN11TextFilters18FilterImGuiLettersEP26ImGuiInputTextCallbackData, ptr noundef null)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.244)
  %1109 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.245, 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.246)
  %1110 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.247, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7bufpass, i64 noundef 64, i32 noundef 8, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  br label %1111

1111:                                             ; preds = %1102, %1100
  %1112 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.248)
  br i1 %1112, label %1113, label %1121

1113:                                             ; preds = %1111
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.249)
  %1114 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.250, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9read_only)
  %1115 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9read_only, align 1, !tbaa !5, !range !9, !noundef !10
  %1116 = trunc nuw i8 %1115 to i1
  %1117 = select i1 %1116, i32 17408, i32 1024
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #13
  %1118 = call noundef float @_ZN5ImGui17GetTextLineHeightEv()
  %1119 = fmul float %1118, 1.600000e+01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %64, float noundef -1.000000e+00, float noundef %1119)
  %1120 = call noundef zeroext i1 @_ZN5ImGui18InputTextMultilineEPKcPcmRK6ImVec2iPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.251, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4text, i64 noundef 16384, ptr noundef nonnull align 4 dereferenceable(8) %64, i32 noundef %1117, ptr noundef null, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #13
  call void @_ZN5ImGui7TreePopEv()
  br label %1121

1121:                                             ; preds = %1113, %1111
  %1122 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.252)
  br i1 %1122, label %1123, label %1193

1123:                                             ; preds = %1121
  %1124 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.253, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7animate)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %65, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1125 = load <2 x float>, ptr %65, align 8
  call void @_ZN5ImGui9PlotLinesEPKcPKfiiS1_ff6ImVec2i(ptr noundef nonnull @.str.254, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3arr_0, i32 noundef 7, i32 noundef 0, ptr noundef null, float noundef 0x47EFFFFFE0000000, float noundef 0x47EFFFFFE0000000, <2 x float> %1125, i32 noundef 4)
  %1126 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7animate, align 1, !tbaa !5, !range !9, !noundef !10
  %1127 = trunc nuw i8 %1126 to i1
  %1128 = load double, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 8
  %1129 = fcmp une double %1128, 0.000000e+00
  %or.cond.not = select i1 %1127, i1 %1129, i1 false
  br i1 %or.cond.not, label %1132, label %1130

1130:                                             ; preds = %1123
  %1131 = call noundef double @_ZN5ImGui7GetTimeEv()
  store double %1131, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 8, !tbaa !41
  br label %1132

1132:                                             ; preds = %1123, %1130
  %1133 = phi double [ %1128, %1123 ], [ %1131, %1130 ]
  %1134 = call noundef double @_ZN5ImGui7GetTimeEv()
  %1135 = fcmp olt double %1133, %1134
  br i1 %1135, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %1132, %.lr.ph
  %1136 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5phase, align 4, !tbaa !25
  %1137 = call float @cosf(float noundef %1136) #13
  %1138 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !18
  %1139 = sext i32 %1138 to i64
  %1140 = getelementptr inbounds [90 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values, i64 0, i64 %1139
  store float %1137, ptr %1140, align 4, !tbaa !25
  %1141 = add nsw i32 %1138, 1
  %1142 = srem i32 %1141, 90
  store i32 %1142, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !18
  %1143 = sitofp i32 %1142 to float
  %1144 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5phase, align 4, !tbaa !25
  %1145 = call float @llvm.fmuladd.f32(float %1143, float 0x3FB99999A0000000, float %1144)
  store float %1145, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5phase, align 4, !tbaa !25
  %1146 = load double, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 8, !tbaa !41
  %1147 = fadd double %1146, 0x3F91111120000000
  store double %1147, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12refresh_time, align 8, !tbaa !41
  %1148 = call noundef double @_ZN5ImGui7GetTimeEv()
  %1149 = fcmp olt double %1147, %1148
  br i1 %1149, label %.lr.ph, label %._crit_edge, !llvm.loop !43

._crit_edge:                                      ; preds = %.lr.ph, %1132
  %1150 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13values_offset, align 4, !tbaa !18
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %66, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1151 = load <2 x float>, ptr %66, align 8
  call void @_ZN5ImGui9PlotLinesEPKcPKfiiS1_ff6ImVec2i(ptr noundef nonnull @.str.255, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE6values, i32 noundef 90, i32 noundef %1150, ptr noundef nonnull @.str.256, float noundef -1.000000e+00, float noundef 1.000000e+00, <2 x float> %1151, i32 noundef 4)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %67, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1152 = load <2 x float>, ptr %67, align 8
  call void @_ZN5ImGui13PlotHistogramEPKcPKfiiS1_ff6ImVec2i(ptr noundef nonnull @.str.257, 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> %1152, i32 noundef 4)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 1.000000e+02)
  %1153 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef nonnull @.str.258, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9func_type, ptr noundef nonnull @.str.259, i32 noundef -1)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1154 = call noundef zeroext i1 @_ZN5ImGui9SliderIntEPKcPiiiS1_(ptr noundef nonnull @.str.260, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE13display_count, i32 noundef 1, i32 noundef 400, ptr noundef nonnull @.str.95)
  %1155 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9func_type, align 4, !tbaa !18
  %1156 = icmp eq i32 %1155, 0
  %_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SinEPvi._ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SawEPvi = select i1 %1156, ptr @_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SinEPvi, ptr @_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SawEPvi
  %1157 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13display_count, align 4, !tbaa !18
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %68, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1158 = load <2 x float>, ptr %68, align 8
  call void @_ZN5ImGui9PlotLinesEPKcPFfPviES2_iiS1_ff6ImVec2(ptr noundef nonnull @.str.255, ptr noundef nonnull %_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SinEPvi._ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SawEPvi, ptr noundef null, i32 noundef %1157, i32 noundef 0, ptr noundef null, float noundef -1.000000e+00, float noundef 1.000000e+00, <2 x float> %1158)
  %1159 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13display_count, align 4, !tbaa !18
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %69, float noundef 0.000000e+00, float noundef 8.000000e+01)
  %1160 = load <2 x float>, ptr %69, align 8
  call void @_ZN5ImGui13PlotHistogramEPKcPFfPviES2_iiS1_ff6ImVec2(ptr noundef nonnull @.str.257, ptr noundef nonnull %_ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SinEPvi._ZZN5ImGui14ShowDemoWindowEPbEN5Funcs3SawEPvi, ptr noundef null, i32 noundef %1159, i32 noundef 0, ptr noundef null, float noundef -1.000000e+00, float noundef 1.000000e+00, <2 x float> %1160)
  call void @_ZN5ImGui9SeparatorEv()
  %1161 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7animate, align 1, !tbaa !5, !range !9, !noundef !10
  %1162 = trunc nuw i8 %1161 to i1
  br i1 %1162, label %1163, label %._crit_edge._crit_edge

._crit_edge._crit_edge:                           ; preds = %._crit_edge
  %.pre873 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !25
  br label %1179

1163:                                             ; preds = %._crit_edge
  %1164 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !25
  %1165 = fmul float %1164, 0x3FD99999A0000000
  %1166 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %1167 = getelementptr inbounds i8, ptr %1166, i64 16
  %1168 = load float, ptr %1167, align 8, !tbaa !44
  %1169 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !25
  %1170 = call float @llvm.fmuladd.f32(float %1165, float %1168, float %1169)
  store float %1170, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !25
  %1171 = fcmp ult float %1170, 0x3FF19999A0000000
  br i1 %1171, label %1174, label %.thread611

.thread611:                                       ; preds = %1163
  store float 0x3FF19999A0000000, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !25
  %1172 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !25
  %1173 = fneg float %1172
  store float %1173, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !25
  br label %1179

1174:                                             ; preds = %1163
  %1175 = fcmp ugt float %1170, 0xBFB99999A0000000
  br i1 %1175, label %1179, label %1176

1176:                                             ; preds = %1174
  store float 0xBFB99999A0000000, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !25
  %1177 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !25
  %1178 = fneg float %1177
  store float %1178, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12progress_dir, align 4, !tbaa !25
  br label %1179

1179:                                             ; preds = %._crit_edge._crit_edge, %.thread611, %1174, %1176
  %1180 = phi float [ %.pre873, %._crit_edge._crit_edge ], [ 0x3FF19999A0000000, %.thread611 ], [ %1170, %1174 ], [ 0xBFB99999A0000000, %1176 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %70, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @_ZN5ImGui11ProgressBarEfRK6ImVec2PKc(float noundef %1180, ptr noundef nonnull align 4 dereferenceable(8) %70, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #13
  %1181 = call noundef nonnull align 4 dereferenceable(840) ptr @_ZN5ImGui8GetStyleEv()
  %1182 = getelementptr inbounds i8, ptr %1181, i64 76
  %1183 = load float, ptr %1182, align 4, !tbaa !19
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %1183)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.261)
  %1184 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4
  %1185 = fcmp olt float %1184, 0.000000e+00
  %1186 = fcmp ogt float %1184, 1.000000e+00
  %1187 = select i1 %1186, float 1.000000e+00, float %1184
  %1188 = fmul float %1187, 1.753000e+03
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #13
  %1189 = select i1 %1185, float 0.000000e+00, float %1188
  %1190 = fptosi float %1189 to i32
  %1191 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %71, ptr noundef nonnull dereferenceable(1) @.str.262, i32 noundef %1190, i32 noundef 1753) #13
  %1192 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8progress, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %72, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @_ZN5ImGui11ProgressBarEfRK6ImVec2PKc(float noundef %1192, ptr noundef nonnull align 4 dereferenceable(8) %72, ptr noundef nonnull %71)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #13
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #13
  br label %1193

1193:                                             ; preds = %1179, %1121
  %1194 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.263)
  br i1 %1194, label %1195, label %1362

1195:                                             ; preds = %1193
  %1196 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE5color acquire, align 8
  %1197 = icmp eq i8 %1196, 0
  br i1 %1197, label %1198, label %1205, !prof !37

1198:                                             ; preds = %1195
  %1199 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE5color) #13
  %.not = icmp eq i32 %1199, 0
  br i1 %.not, label %1205, label %1200

1200:                                             ; preds = %1198
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %73) #13
  invoke void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %73, i32 noundef 114, i32 noundef 144, i32 noundef 154, i32 noundef 200)
          to label %1201 unwind label %1243

1201:                                             ; preds = %1200
  %1202 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %73)
  %1203 = extractvalue { <2 x float>, <2 x float> } %1202, 0
  store <2 x float> %1203, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5color, align 4
  %1204 = extractvalue { <2 x float>, <2 x float> } %1202, 1
  store <2 x float> %1204, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5color, i64 8), align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %73) #13
  call void @__cxa_guard_release(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE5color) #13
  br label %1205

1205:                                             ; preds = %1201, %1198, %1195
  %1206 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.264, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE13alpha_preview)
  %1207 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.265, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE18alpha_half_preview)
  %1208 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.266, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE13drag_and_drop)
  %1209 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.267, 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.268)
  %1210 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.269, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3hdr)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.270)
  %1211 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE3hdr, align 1, !tbaa !5, !range !9, !noundef !10
  %1212 = trunc nuw i8 %1211 to i1
  %1213 = select i1 %1212, i32 524288, i32 0
  %1214 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13drag_and_drop, align 1, !tbaa !5, !range !9, !noundef !10
  %1215 = trunc nuw i8 %1214 to i1
  %1216 = select i1 %1215, i32 0, i32 512
  %1217 = or disjoint i32 %1216, %1213
  %1218 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE18alpha_half_preview, align 1, !tbaa !5, !range !9, !noundef !10
  %1219 = trunc nuw i8 %1218 to i1
  %1220 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13alpha_preview, align 1, !range !9
  %1221 = trunc nuw i8 %1220 to i1
  %1222 = select i1 %1221, i32 131072, i32 0
  %1223 = select i1 %1219, i32 262144, i32 %1222
  %1224 = or disjoint i32 %1217, %1223
  %1225 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12options_menu, align 1, !tbaa !5, !range !9, !noundef !10
  %1226 = trunc nuw i8 %1225 to i1
  %1227 = select i1 %1226, i32 0, i32 8
  %1228 = or disjoint i32 %1224, %1227
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.271)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.272)
  %1229 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit3EPKcPfi(ptr noundef nonnull @.str.273, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1228)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.274)
  %1230 = or disjoint i32 %1228, 2097152
  %1231 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.275, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1230)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.276)
  %1232 = or disjoint i32 %1228, 16777216
  %1233 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.277, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1232)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.278)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.279)
  %1234 = or disjoint i32 %1228, 160
  %1235 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.280, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1234)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.281)
  %1236 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette acquire, align 8
  %1237 = icmp eq i8 %1236, 0
  br i1 %1237, label %1238, label %1240, !prof !37

1238:                                             ; preds = %1205
  %1239 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE13saved_palette) #13
  %.not567 = icmp eq i32 %1239, 0
  br i1 %.not567, label %1240, label %.preheader626.preheader

.preheader626.preheader:                          ; preds = %1238
  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) #13
  br label %1240

1240:                                             ; preds = %.preheader626.preheader, %1238, %1205
  %1241 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE20saved_palette_inited, align 1, !tbaa !5, !range !9, !noundef !10
  %1242 = trunc nuw i8 %1241 to i1
  br i1 %1242, label %.loopexit625, label %.preheader624

1243:                                             ; preds = %1200
  %1244 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %73) #13
  call void @__cxa_guard_abort(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE5color) #13
  br label %3411

.preheader624:                                    ; preds = %1240, %.preheader624
  %indvars.iv733 = phi i64 [ %indvars.iv.next734, %.preheader624 ], [ 0, %1240 ]
  %1245 = trunc nuw nsw i64 %indvars.iv733 to i32
  %1246 = uitofp nneg i32 %1245 to float
  %1247 = fdiv float %1246, 3.100000e+01
  %1248 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %indvars.iv733
  %1249 = getelementptr inbounds i8, ptr %1248, i64 4
  %1250 = getelementptr inbounds i8, ptr %1248, i64 8
  call void @_ZN5ImGui20ColorConvertHSVtoRGBEfffRfS0_S0_(float noundef %1247, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, ptr noundef nonnull align 4 dereferenceable(4) %1248, ptr noundef nonnull align 4 dereferenceable(4) %1249, ptr noundef nonnull align 4 dereferenceable(4) %1250)
  %1251 = getelementptr inbounds i8, ptr %1248, i64 12
  store float 1.000000e+00, ptr %1251, align 4, !tbaa !45
  %indvars.iv.next734 = add nuw nsw i64 %indvars.iv733, 1
  %exitcond736.not = icmp eq i64 %indvars.iv.next734, 32
  br i1 %exitcond736.not, label %.loopexit625, label %.preheader624, !llvm.loop !47

.loopexit625:                                     ; preds = %.preheader624, %1240
  store i8 1, ptr @_ZZN5ImGui14ShowDemoWindowEPbE20saved_palette_inited, align 1, !tbaa !5
  %1252 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color acquire, align 8
  %1253 = icmp eq i8 %1252, 0
  br i1 %1253, label %1254, label %1257, !prof !37

1254:                                             ; preds = %.loopexit625
  %1255 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color) #13
  %.not569 = icmp eq i32 %1255, 0
  br i1 %.not569, label %1257, label %1256

1256:                                             ; preds = %1254
  call void @_ZN6ImVec4C2Ev(ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE12backup_color)
  call void @__cxa_guard_release(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE12backup_color) #13
  br label %1257

1257:                                             ; preds = %1256, %1254, %.loopexit625
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %74, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1258 = load <2 x float>, ptr %74, align 8
  %1259 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef nonnull @.str.282, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1228, <2 x float> %1258)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %75, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1260 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.283, ptr noundef nonnull align 4 dereferenceable(8) %75)
  %1261 = or i1 %1259, %1260
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #13
  br i1 %1261, label %1262, label %1263

1262:                                             ; preds = %1257
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.284)
  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 !48
  br label %1263

1263:                                             ; preds = %1262, %1257
  %1264 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef nonnull @.str.284, i32 noundef 0)
  br i1 %1264, label %1265, label %1305

1265:                                             ; preds = %1263
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.285)
  call void @_ZN5ImGui9SeparatorEv()
  %1266 = or disjoint i32 %1228, 272
  %1267 = call noundef zeroext i1 @_ZN5ImGui12ColorPicker4EPKcPfiPKf(ptr noundef nonnull @.str.286, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1266, 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.287)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %76, float noundef 6.000000e+01, float noundef 4.000000e+01)
  %1268 = load <2 x float>, ptr %76, align 8
  %1269 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef nonnull @.str.288, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef 262148, <2 x float> %1268)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.289)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %77, float noundef 6.000000e+01, float noundef 4.000000e+01)
  %1270 = load <2 x float>, ptr %77, align 8
  %1271 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef nonnull @.str.290, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE12backup_color, i32 noundef 262148, <2 x float> %1270)
  br i1 %1271, label %1272, label %1273

1272:                                             ; preds = %1265
  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 !48
  br label %1273

1273:                                             ; preds = %1272, %1265
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.283)
  br label %1275

1274:                                             ; preds = %1304
  call void @_ZN5ImGui8EndGroupEv()
  call void @_ZN5ImGui8EndPopupEv()
  br label %1305

1275:                                             ; preds = %1273, %1304
  %indvars.iv737 = phi i64 [ 0, %1273 ], [ %indvars.iv.next738, %1304 ]
  %1276 = trunc nuw nsw i64 %indvars.iv737 to i32
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1276)
  %1277 = and i32 %1276, 7
  %.not591 = icmp eq i32 %1277, 0
  br i1 %.not591, label %1282, label %1278

1278:                                             ; preds = %1275
  %1279 = call noundef nonnull align 4 dereferenceable(840) ptr @_ZN5ImGui8GetStyleEv()
  %1280 = getelementptr inbounds i8, ptr %1279, i64 72
  %1281 = load float, ptr %1280, align 4, !tbaa !49
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %1281)
  br label %1282

1282:                                             ; preds = %1278, %1275
  %1283 = getelementptr inbounds [32 x %struct.ImVec4], ptr @_ZZN5ImGui14ShowDemoWindowEPbE13saved_palette, i64 0, i64 %indvars.iv737
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %78, float noundef 2.000000e+01, float noundef 2.000000e+01)
  %1284 = load <2 x float>, ptr %78, align 8
  %1285 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef nonnull @.str.291, ptr noundef nonnull align 4 dereferenceable(16) %1283, i32 noundef 70, <2 x float> %1284)
  br i1 %1285, label %1286, label %1293

1286:                                             ; preds = %1282
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %79) #13
  %1287 = load float, ptr %1283, align 16, !tbaa !50
  %1288 = getelementptr inbounds i8, ptr %1283, i64 4
  %1289 = load float, ptr %1288, align 4, !tbaa !51
  %1290 = getelementptr inbounds i8, ptr %1283, i64 8
  %1291 = load float, ptr %1290, align 8, !tbaa !52
  %1292 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5color, i64 12), align 4, !tbaa !45
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %79, float noundef %1287, float noundef %1289, float noundef %1291, float noundef %1292)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, ptr noundef nonnull align 4 dereferenceable(16) %79, i64 16, i1 false), !tbaa.struct !48
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %79) #13
  br label %1293

1293:                                             ; preds = %1286, %1282
  %1294 = call noundef zeroext i1 @_ZN5ImGui19BeginDragDropTargetEv()
  br i1 %1294, label %1295, label %1304

1295:                                             ; preds = %1293
  %1296 = call noundef ptr @_ZN5ImGui21AcceptDragDropPayloadEPKci(ptr noundef nonnull @.str.292, i32 noundef 0)
  %.not592 = icmp eq ptr %1296, null
  br i1 %.not592, label %1299, label %1297

1297:                                             ; preds = %1295
  %1298 = load ptr, ptr %1296, align 8, !tbaa !53
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(12) %1283, ptr noundef nonnull align 1 dereferenceable(12) %1298, i64 12, i1 false)
  br label %1299

1299:                                             ; preds = %1297, %1295
  %1300 = call noundef ptr @_ZN5ImGui21AcceptDragDropPayloadEPKci(ptr noundef nonnull @.str.293, i32 noundef 0)
  %.not593 = icmp eq ptr %1300, null
  br i1 %.not593, label %1303, label %1301

1301:                                             ; preds = %1299
  %1302 = load ptr, ptr %1300, align 8, !tbaa !53
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %1283, ptr noundef nonnull align 1 dereferenceable(16) %1302, i64 16, i1 false)
  br label %1303

1303:                                             ; preds = %1301, %1299
  call void @_ZN5ImGui17EndDragDropTargetEv()
  br label %1304

1304:                                             ; preds = %1303, %1293
  call void @_ZN5ImGui5PopIDEv()
  %indvars.iv.next738 = add nuw nsw i64 %indvars.iv737, 1
  %exitcond740.not = icmp eq i64 %indvars.iv.next738, 32
  br i1 %exitcond740.not, label %1274, label %1275, !llvm.loop !55

1305:                                             ; preds = %1274, %1263
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.294)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %80, float noundef 8.000000e+01, float noundef 8.000000e+01)
  %1306 = load <2 x float>, ptr %80, align 8
  %1307 = call noundef zeroext i1 @_ZN5ImGui11ColorButtonEPKcRK6ImVec4i6ImVec2(ptr noundef nonnull @.str.295, ptr noundef nonnull align 4 dereferenceable(16) @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %1228, <2 x float> %1306)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.296)
  %1308 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v acquire, align 8
  %1309 = icmp eq i8 %1308, 0
  br i1 %1309, label %1310, label %1313, !prof !37

1310:                                             ; preds = %1305
  %1311 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE11ref_color_v) #13
  %.not570 = icmp eq i32 %1311, 0
  br i1 %.not570, label %1313, label %1312

1312:                                             ; preds = %1310
  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) #13
  br label %1313

1313:                                             ; preds = %1312, %1310, %1305
  %1314 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.297, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5alpha)
  %1315 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.298, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9alpha_bar)
  %1316 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.299, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12side_preview)
  %1317 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12side_preview, align 1, !tbaa !5, !range !9, !noundef !10
  %1318 = trunc nuw i8 %1317 to i1
  br i1 %1318, label %1319, label %1326

1319:                                             ; preds = %1313
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1320 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.300, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9ref_color)
  %1321 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9ref_color, align 1, !tbaa !5, !range !9, !noundef !10
  %1322 = trunc nuw i8 %1321 to i1
  br i1 %1322, label %1323, label %1326

1323:                                             ; preds = %1319
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1324 = or disjoint i32 %1228, 32
  %1325 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.301, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE11ref_color_v, i32 noundef %1324)
  br label %1326

1326:                                             ; preds = %1319, %1323, %1313
  %1327 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef nonnull @.str.302, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode, ptr noundef nonnull @.str.303, i32 noundef -1)
  %1328 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef nonnull @.str.304, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE11picker_mode, ptr noundef nonnull @.str.305, i32 noundef -1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.306)
  %1329 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5alpha, align 1, !tbaa !5, !range !9, !noundef !10
  %1330 = trunc nuw i8 %1329 to i1
  %1331 = or disjoint i32 %1228, 2
  %spec.select602 = select i1 %1330, i32 %1228, i32 %1331
  %1332 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9alpha_bar, align 1, !tbaa !5, !range !9, !noundef !10
  %1333 = trunc nuw i8 %1332 to i1
  %1334 = or i32 %spec.select602, 65536
  %.1532 = select i1 %1333, i32 %1334, i32 %spec.select602
  %1335 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12side_preview, align 1, !tbaa !5, !range !9, !noundef !10
  %1336 = trunc nuw i8 %1335 to i1
  %1337 = or i32 %.1532, 256
  %.2533 = select i1 %1336, i32 %.1532, i32 %1337
  %1338 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11picker_mode, align 4, !tbaa !18
  %1339 = icmp eq i32 %1338, 1
  %1340 = or i32 %.2533, 33554432
  %.3534 = select i1 %1339, i32 %1340, i32 %.2533
  %1341 = icmp eq i32 %1338, 2
  %1342 = or i32 %.3534, 67108864
  %.4535 = select i1 %1341, i32 %1342, i32 %.3534
  %1343 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_mode, align 4, !tbaa !18
  %1344 = icmp eq i32 %1343, 1
  %1345 = or i32 %.4535, 32
  %.5536 = select i1 %1344, i32 %1345, i32 %.4535
  %1346 = icmp eq i32 %1343, 2
  %1347 = or i32 %.5536, 1048576
  %.6537 = select i1 %1346, i32 %1347, i32 %.5536
  %1348 = icmp eq i32 %1343, 3
  %1349 = or i32 %.6537, 2097152
  %.7538 = select i1 %1348, i32 %1349, i32 %.6537
  %1350 = icmp eq i32 %1343, 4
  %1351 = or i32 %.7538, 4194304
  %.8 = select i1 %1350, i32 %1351, i32 %.7538
  %1352 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9ref_color, align 1, !tbaa !5, !range !9, !noundef !10
  %1353 = trunc nuw i8 %1352 to i1
  %1354 = select i1 %1353, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11ref_color_v, ptr null
  %1355 = call noundef zeroext i1 @_ZN5ImGui12ColorPicker4EPKcPfiPKf(ptr noundef nonnull @.str.307, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5color, i32 noundef %.8, ptr noundef %1354)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.308)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.309)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %81, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1356 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.310, ptr noundef nonnull align 4 dereferenceable(8) %81)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #13
  br i1 %1356, label %1357, label %1358

1357:                                             ; preds = %1326
  call void @_ZN5ImGui19SetColorEditOptionsEi(i32 noundef 44040192)
  br label %1358

1358:                                             ; preds = %1357, %1326
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %82) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %82, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1359 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.311, ptr noundef nonnull align 4 dereferenceable(8) %82)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #13
  br i1 %1359, label %1360, label %1361

1360:                                             ; preds = %1358
  call void @_ZN5ImGui19SetColorEditOptionsEi(i32 noundef 84410368)
  br label %1361

1361:                                             ; preds = %1360, %1358
  call void @_ZN5ImGui7TreePopEv()
  br label %1362

1362:                                             ; preds = %1361, %1193
  %1363 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.312)
  br i1 %1363, label %1364, label %1367

1364:                                             ; preds = %1362
  %1365 = call noundef zeroext i1 @_ZN5ImGui15DragFloatRange2EPKcPfS2_fffS1_S1_f(ptr noundef nonnull @.str.313, 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.314, ptr noundef nonnull @.str.315, float noundef 1.000000e+00)
  %1366 = call noundef zeroext i1 @_ZN5ImGui13DragIntRange2EPKcPiS2_fiiS1_S1_(ptr noundef nonnull @.str.316, 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.317, ptr noundef nonnull @.str.318)
  call void @_ZN5ImGui7TreePopEv()
  br label %1367

1367:                                             ; preds = %1364, %1362
  %1368 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.319)
  br i1 %1368, label %1369, label %1445

1369:                                             ; preds = %1367
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %83) #13
  store i32 0, ptr %83, align 4, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %84) #13
  store i32 1, ptr %84, align 4, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %85) #13
  store i32 50, ptr %85, align 4, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %86) #13
  store i32 -1073741824, ptr %86, align 4, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %87) #13
  store i32 1073741823, ptr %87, align 4, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %88) #13
  store i32 1073741723, ptr %88, align 4, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %89) #13
  store i32 1073741823, ptr %89, align 4, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %90) #13
  store i32 0, ptr %90, align 4, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %91) #13
  store i32 1, ptr %91, align 4, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %92) #13
  store i32 50, ptr %92, align 4, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %93) #13
  store i32 0, ptr %93, align 4, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %94) #13
  store i32 2147483647, ptr %94, align 4, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %95) #13
  store i32 2147483547, ptr %95, align 4, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %96) #13
  store i32 2147483647, ptr %96, align 4, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %97) #13
  store i64 0, ptr %97, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %98) #13
  store i64 1, ptr %98, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %99) #13
  store i64 50, ptr %99, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %100) #13
  store i64 -4611686018427387904, ptr %100, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %101) #13
  store i64 4611686018427387903, ptr %101, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %102) #13
  store i64 4611686018427387803, ptr %102, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %103) #13
  store i64 4611686018427387903, ptr %103, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %104) #13
  store i64 0, ptr %104, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %105) #13
  store i64 1, ptr %105, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %106) #13
  store i64 50, ptr %106, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %107) #13
  store i64 0, ptr %107, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %108) #13
  store i64 9223372036854775807, ptr %108, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %109) #13
  store i64 9223372036854775707, ptr %109, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %110) #13
  store i64 9223372036854775807, ptr %110, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %111) #13
  store float 0.000000e+00, ptr %111, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %112) #13
  store float 1.000000e+00, ptr %112, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %113) #13
  store float -1.000000e+10, ptr %113, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %114) #13
  store float 1.000000e+10, ptr %114, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %115) #13
  store double 0.000000e+00, ptr %115, align 8, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %116) #13
  store double 1.000000e+00, ptr %116, align 8, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %117) #13
  store double -1.000000e+15, ptr %117, align 8, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %118) #13
  store double 1.000000e+15, ptr %118, align 8, !tbaa !41
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.320)
  %1370 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.321, 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.322)
  %1371 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !5, !range !9, !noundef !10
  %1372 = trunc nuw i8 %1371 to i1
  %. = select i1 %1372, ptr %83, ptr null
  %1373 = select i1 %1372, ptr %85, ptr null
  %1374 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.323, i32 noundef 0, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, float noundef 0x3FC99999A0000000, ptr noundef %., ptr noundef %1373, ptr noundef null, float noundef 1.000000e+00)
  %1375 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !5, !range !9, !noundef !10
  %1376 = trunc nuw i8 %1375 to i1
  %1377 = select i1 %1376, ptr %90, ptr null
  %1378 = select i1 %1376, ptr %92, ptr null
  %1379 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.324, i32 noundef 1, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, float noundef 0x3FC99999A0000000, ptr noundef %1377, ptr noundef %1378, ptr noundef nonnull @.str.325, float noundef 1.000000e+00)
  %1380 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !5, !range !9, !noundef !10
  %1381 = trunc nuw i8 %1380 to i1
  %1382 = select i1 %1381, ptr %97, ptr null
  %1383 = select i1 %1381, ptr %99, ptr null
  %1384 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.326, i32 noundef 2, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, float noundef 0x3FC99999A0000000, ptr noundef %1382, ptr noundef %1383, ptr noundef null, float noundef 1.000000e+00)
  %1385 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10drag_clamp, align 1, !tbaa !5, !range !9, !noundef !10
  %1386 = trunc nuw i8 %1385 to i1
  %1387 = select i1 %1386, ptr %104, ptr null
  %1388 = select i1 %1386, ptr %106, ptr null
  %1389 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.327, i32 noundef 3, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, float noundef 0x3FC99999A0000000, ptr noundef %1387, ptr noundef %1388, ptr noundef null, float noundef 1.000000e+00)
  %1390 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.135, i32 noundef 4, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, float noundef 0x3F747AE140000000, ptr noundef nonnull %111, ptr noundef nonnull %112, ptr noundef nonnull @.str.328, float noundef 1.000000e+00)
  %1391 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.329, i32 noundef 4, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, float noundef 0x3F747AE140000000, ptr noundef nonnull %111, ptr noundef nonnull %112, ptr noundef nonnull @.str.328, 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.330)
  %1392 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.331, i32 noundef 5, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, float noundef 0x3F40624DE0000000, ptr noundef nonnull %115, ptr noundef null, ptr noundef nonnull @.str.332, float noundef 1.000000e+00)
  %1393 = call noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_f(ptr noundef nonnull @.str.333, i32 noundef 5, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, float noundef 0x3F40624DE0000000, ptr noundef nonnull %115, ptr noundef nonnull %116, ptr noundef nonnull @.str.334, float noundef 2.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.335)
  %1394 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.336, i32 noundef 0, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef nonnull %83, ptr noundef nonnull %85, ptr noundef nonnull @.str.95, float noundef 1.000000e+00)
  %1395 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.337, i32 noundef 0, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef nonnull %88, ptr noundef nonnull %89, ptr noundef nonnull @.str.95, float noundef 1.000000e+00)
  %1396 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.338, i32 noundef 0, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef nonnull %86, ptr noundef nonnull %87, ptr noundef nonnull @.str.95, float noundef 1.000000e+00)
  %1397 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.339, i32 noundef 1, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef nonnull %90, ptr noundef nonnull %92, ptr noundef nonnull @.str.340, float noundef 1.000000e+00)
  %1398 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.341, i32 noundef 1, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef nonnull %95, ptr noundef nonnull %96, ptr noundef nonnull @.str.340, float noundef 1.000000e+00)
  %1399 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.342, i32 noundef 1, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef nonnull %93, ptr noundef nonnull %94, ptr noundef nonnull @.str.340, float noundef 1.000000e+00)
  %1400 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.343, i32 noundef 2, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef nonnull %97, ptr noundef nonnull %99, ptr noundef nonnull @.str.344, float noundef 1.000000e+00)
  %1401 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.345, i32 noundef 2, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef nonnull %102, ptr noundef nonnull %103, ptr noundef nonnull @.str.344, float noundef 1.000000e+00)
  %1402 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.346, i32 noundef 2, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef nonnull %100, ptr noundef nonnull %101, ptr noundef nonnull @.str.344, float noundef 1.000000e+00)
  %1403 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.347, i32 noundef 3, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef nonnull %104, ptr noundef nonnull %106, ptr noundef nonnull @.str.348, float noundef 1.000000e+00)
  %1404 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.349, i32 noundef 3, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef nonnull %109, ptr noundef nonnull %110, ptr noundef nonnull @.str.348, float noundef 1.000000e+00)
  %1405 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.350, i32 noundef 3, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef nonnull %107, ptr noundef nonnull %108, ptr noundef nonnull @.str.348, float noundef 1.000000e+00)
  %1406 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.351, i32 noundef 4, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef nonnull %111, ptr noundef nonnull %112, ptr noundef null, float noundef 1.000000e+00)
  %1407 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.352, i32 noundef 4, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef nonnull %111, ptr noundef nonnull %112, ptr noundef nonnull @.str.353, float noundef 2.000000e+00)
  %1408 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.354, i32 noundef 4, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef nonnull %113, ptr noundef nonnull %114, ptr noundef nonnull @.str.128, float noundef 1.000000e+00)
  %1409 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.355, i32 noundef 5, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef nonnull %115, ptr noundef nonnull %116, ptr noundef nonnull @.str.332, float noundef 1.000000e+00)
  %1410 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.356, i32 noundef 5, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef nonnull %115, ptr noundef nonnull %116, ptr noundef nonnull @.str.353, float noundef 2.000000e+00)
  %1411 = call noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_f(ptr noundef nonnull @.str.357, i32 noundef 5, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef nonnull %117, ptr noundef nonnull %118, ptr noundef nonnull @.str.358, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.359)
  %1412 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.360, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step)
  %1413 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1414 = trunc nuw i8 %1413 to i1
  %1415 = select i1 %1414, ptr %84, ptr null
  %1416 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.361, i32 noundef 0, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef %1415, ptr noundef null, ptr noundef nonnull @.str.95, i32 noundef 0)
  %1417 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1418 = trunc nuw i8 %1417 to i1
  %1419 = select i1 %1418, ptr %84, ptr null
  %1420 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.362, i32 noundef 0, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s32_v, ptr noundef %1419, ptr noundef null, ptr noundef nonnull @.str.363, i32 noundef 2)
  %1421 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1422 = trunc nuw i8 %1421 to i1
  %1423 = select i1 %1422, ptr %91, ptr null
  %1424 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.364, i32 noundef 1, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef %1423, ptr noundef null, ptr noundef nonnull @.str.340, i32 noundef 0)
  %1425 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1426 = trunc nuw i8 %1425 to i1
  %1427 = select i1 %1426, ptr %91, ptr null
  %1428 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.365, i32 noundef 1, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u32_v, ptr noundef %1427, ptr noundef null, ptr noundef nonnull @.str.363, i32 noundef 2)
  %1429 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1430 = trunc nuw i8 %1429 to i1
  %1431 = select i1 %1430, ptr %98, ptr null
  %1432 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.366, i32 noundef 2, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5s64_v, ptr noundef %1431, ptr noundef null, ptr noundef null, i32 noundef 0)
  %1433 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1434 = trunc nuw i8 %1433 to i1
  %1435 = select i1 %1434, ptr %105, ptr null
  %1436 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.367, i32 noundef 3, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5u64_v, ptr noundef %1435, ptr noundef null, ptr noundef null, i32 noundef 0)
  %1437 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1438 = trunc nuw i8 %1437 to i1
  %1439 = select i1 %1438, ptr %112, ptr null
  %1440 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.123, i32 noundef 4, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f32_v, ptr noundef %1439, ptr noundef null, ptr noundef null, i32 noundef 0)
  %1441 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11inputs_step, align 1, !tbaa !5, !range !9, !noundef !10
  %1442 = trunc nuw i8 %1441 to i1
  %1443 = select i1 %1442, ptr %116, ptr null
  %1444 = call noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef nonnull @.str.125, i32 noundef 5, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5f64_v, ptr noundef %1443, ptr noundef null, ptr noundef null, i32 noundef 0)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %118) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %117) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %116) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %115) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %114) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %113) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %112) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %111) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %110) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %109) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %104) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %101) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %100) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %97) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %96) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %95) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %94) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %93) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %92) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %91) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %90) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %89) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %88) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %87) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %86) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %85) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %84) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %83) #13
  br label %1445

1445:                                             ; preds = %1369, %1367
  %1446 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.368)
  br i1 %1446, label %1447, label %1466

1447:                                             ; preds = %1445
  %1448 = call noundef zeroext i1 @_ZN5ImGui11InputFloat2EPKcPfS1_i(ptr noundef nonnull @.str.369, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, ptr noundef nonnull @.str.124, i32 noundef 0)
  %1449 = call noundef zeroext i1 @_ZN5ImGui10DragFloat2EPKcPffffS1_f(ptr noundef nonnull @.str.370, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0x3F847AE140000000, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  %1450 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat2EPKcPfffS1_f(ptr noundef nonnull @.str.371, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  %1451 = call noundef zeroext i1 @_ZN5ImGui9InputInt2EPKcPii(ptr noundef nonnull @.str.372, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0)
  %1452 = call noundef zeroext i1 @_ZN5ImGui8DragInt2EPKcPifiiS1_(ptr noundef nonnull @.str.373, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 255, ptr noundef nonnull @.str.95)
  %1453 = call noundef zeroext i1 @_ZN5ImGui10SliderInt2EPKcPiiiS1_(ptr noundef nonnull @.str.374, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0, i32 noundef 255, ptr noundef nonnull @.str.95)
  call void @_ZN5ImGui7SpacingEv()
  %1454 = call noundef zeroext i1 @_ZN5ImGui11InputFloat3EPKcPfS1_i(ptr noundef nonnull @.str.130, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, ptr noundef nonnull @.str.124, i32 noundef 0)
  %1455 = call noundef zeroext i1 @_ZN5ImGui10DragFloat3EPKcPffffS1_f(ptr noundef nonnull @.str.375, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0x3F847AE140000000, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  %1456 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat3EPKcPfffS1_f(ptr noundef nonnull @.str.376, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  %1457 = call noundef zeroext i1 @_ZN5ImGui9InputInt3EPKcPii(ptr noundef nonnull @.str.377, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0)
  %1458 = call noundef zeroext i1 @_ZN5ImGui8DragInt3EPKcPifiiS1_(ptr noundef nonnull @.str.378, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 255, ptr noundef nonnull @.str.95)
  %1459 = call noundef zeroext i1 @_ZN5ImGui10SliderInt3EPKcPiiiS1_(ptr noundef nonnull @.str.379, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0, i32 noundef 255, ptr noundef nonnull @.str.95)
  call void @_ZN5ImGui7SpacingEv()
  %1460 = call noundef zeroext i1 @_ZN5ImGui11InputFloat4EPKcPfS1_i(ptr noundef nonnull @.str.380, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, ptr noundef nonnull @.str.124, i32 noundef 0)
  %1461 = call noundef zeroext i1 @_ZN5ImGui10DragFloat4EPKcPffffS1_f(ptr noundef nonnull @.str.381, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0x3F847AE140000000, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  %1462 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat4EPKcPfffS1_f(ptr noundef nonnull @.str.382, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  %1463 = call noundef zeroext i1 @_ZN5ImGui9InputInt4EPKcPii(ptr noundef nonnull @.str.383, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0)
  %1464 = call noundef zeroext i1 @_ZN5ImGui8DragInt4EPKcPifiiS1_(ptr noundef nonnull @.str.384, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 255, ptr noundef nonnull @.str.95)
  %1465 = call noundef zeroext i1 @_ZN5ImGui10SliderInt4EPKcPiiiS1_(ptr noundef nonnull @.str.385, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5vec4i, i32 noundef 0, i32 noundef 255, ptr noundef nonnull @.str.95)
  call void @_ZN5ImGui7TreePopEv()
  br label %1466

1466:                                             ; preds = %1447, %1445
  %1467 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.386)
  br i1 %1467, label %1468, label %1646

1468:                                             ; preds = %1466
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %119) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %119, float noundef 4.000000e+00, float noundef 4.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef 13, ptr noundef nonnull align 4 dereferenceable(8) %119)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %119) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %120) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %120, float noundef 1.800000e+01, float noundef 1.600000e+02)
  %1469 = call noundef zeroext i1 @_ZN5ImGui10VSliderIntEPKcRK6ImVec2PiiiS1_(ptr noundef nonnull @.str.387, ptr noundef nonnull align 4 dereferenceable(8) %120, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9int_value, i32 noundef 0, i32 noundef 5, ptr noundef nonnull @.str.95)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %120) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef nonnull @.str.388)
  %1470 = getelementptr inbounds i8, ptr %122, i64 8
  %1471 = getelementptr inbounds i8, ptr %121, i64 8
  %1472 = getelementptr inbounds i8, ptr %124, i64 8
  %1473 = getelementptr inbounds i8, ptr %123, i64 8
  %1474 = getelementptr inbounds i8, ptr %126, i64 8
  %1475 = getelementptr inbounds i8, ptr %125, i64 8
  %1476 = getelementptr inbounds i8, ptr %128, i64 8
  %1477 = getelementptr inbounds i8, ptr %127, i64 8
  call void @_ZN5ImGui6PushIDEi(i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %121) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %122) #13
  %1478 = 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)
  %1479 = extractvalue { <2 x float>, <2 x float> } %1478, 0
  store <2 x float> %1479, ptr %122, align 8
  %1480 = extractvalue { <2 x float>, <2 x float> } %1478, 1
  store <2 x float> %1480, ptr %1470, align 8
  %1481 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %122)
  %1482 = extractvalue { <2 x float>, <2 x float> } %1481, 0
  store <2 x float> %1482, ptr %121, align 8
  %1483 = extractvalue { <2 x float>, <2 x float> } %1481, 1
  store <2 x float> %1483, ptr %1471, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 7, ptr noundef nonnull align 4 dereferenceable(16) %121)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %122) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %121) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %123) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %124) #13
  %1484 = 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)
  %1485 = extractvalue { <2 x float>, <2 x float> } %1484, 0
  store <2 x float> %1485, ptr %124, align 8
  %1486 = extractvalue { <2 x float>, <2 x float> } %1484, 1
  store <2 x float> %1486, ptr %1472, align 8
  %1487 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %124)
  %1488 = extractvalue { <2 x float>, <2 x float> } %1487, 0
  store <2 x float> %1488, ptr %123, align 8
  %1489 = extractvalue { <2 x float>, <2 x float> } %1487, 1
  store <2 x float> %1489, ptr %1473, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 8, ptr noundef nonnull align 4 dereferenceable(16) %123)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %124) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %123) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %125) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %126) #13
  %1490 = 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)
  %1491 = extractvalue { <2 x float>, <2 x float> } %1490, 0
  store <2 x float> %1491, ptr %126, align 8
  %1492 = extractvalue { <2 x float>, <2 x float> } %1490, 1
  store <2 x float> %1492, ptr %1474, align 8
  %1493 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %126)
  %1494 = extractvalue { <2 x float>, <2 x float> } %1493, 0
  store <2 x float> %1494, ptr %125, align 8
  %1495 = extractvalue { <2 x float>, <2 x float> } %1493, 1
  store <2 x float> %1495, ptr %1475, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 9, ptr noundef nonnull align 4 dereferenceable(16) %125)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %126) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %125) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %127) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %128) #13
  %1496 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FECCCCCC0000000, float noundef 0x3FECCCCCC0000000, float noundef 1.000000e+00)
  %1497 = extractvalue { <2 x float>, <2 x float> } %1496, 0
  store <2 x float> %1497, ptr %128, align 8
  %1498 = extractvalue { <2 x float>, <2 x float> } %1496, 1
  store <2 x float> %1498, ptr %1476, align 8
  %1499 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %128)
  %1500 = extractvalue { <2 x float>, <2 x float> } %1499, 0
  store <2 x float> %1500, ptr %127, align 8
  %1501 = extractvalue { <2 x float>, <2 x float> } %1499, 1
  store <2 x float> %1501, ptr %1477, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 19, ptr noundef nonnull align 4 dereferenceable(16) %127)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %128) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %127) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %129) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %129, float noundef 1.800000e+01, float noundef 1.600000e+02)
  %1502 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %129, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.390, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %129) #13
  %1503 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1503, label %1506, label %1504

1504:                                             ; preds = %1468
  %1505 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1505, label %1506, label %.peel.next746

1506:                                             ; preds = %1504, %1468
  %1507 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, align 16, !tbaa !25
  %1508 = fpext float %1507 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.124, double noundef %1508)
  br label %.peel.next746

.peel.next746:                                    ; preds = %1504, %1506
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 4)
  call void @_ZN5ImGui5PopIDEv()
  br label %1535

1509:                                             ; preds = %1571
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef nonnull @.str.391)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %130) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %130, float noundef 1.800000e+01, float noundef 0x4049555560000000)
  call void @_ZN5ImGui10BeginGroupEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 0)
  %1510 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %130, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7values2, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.390, float noundef 1.000000e+00)
  %1511 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1511, label %1514, label %1512

1512:                                             ; preds = %1509
  %1513 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1513, label %1514, label %1517

1514:                                             ; preds = %1512, %1509
  %1515 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, align 16, !tbaa !25
  %1516 = fpext float %1515 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.124, double noundef %1516)
  br label %1517

1517:                                             ; preds = %1514, %1512
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 1)
  %1518 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %130, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7values2, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.390, float noundef 1.000000e+00)
  %1519 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1519, label %1522, label %1520

1520:                                             ; preds = %1517
  %1521 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1521, label %1522, label %1525

1522:                                             ; preds = %1520, %1517
  %1523 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, align 16, !tbaa !25
  %1524 = fpext float %1523 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.124, double noundef %1524)
  br label %1525

1525:                                             ; preds = %1522, %1520
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 2)
  %1526 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %130, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7values2, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.390, float noundef 1.000000e+00)
  %1527 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1527, label %1530, label %1528

1528:                                             ; preds = %1525
  %1529 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1529, label %1530, label %.peel.next756

1530:                                             ; preds = %1528, %1525
  %1531 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, align 16, !tbaa !25
  %1532 = fpext float %1531 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.124, double noundef %1532)
  br label %.peel.next756

.peel.next756:                                    ; preds = %1528, %1530
  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)
  %1533 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %130, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 4), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.390, float noundef 1.000000e+00)
  %1534 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1534, label %1574, label %1572

1535:                                             ; preds = %.peel.next746, %1571
  %indvars.iv741 = phi i64 [ 1, %.peel.next746 ], [ %indvars.iv.next742, %1571 ]
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1536 = trunc nuw nsw i64 %indvars.iv741 to i32
  call void @_ZN5ImGui6PushIDEi(i32 noundef %1536)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %121) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %122) #13
  %1537 = uitofp nneg i32 %1536 to float
  %1538 = fdiv float %1537, 7.000000e+00
  %1539 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1538, float noundef 5.000000e-01, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1540 = extractvalue { <2 x float>, <2 x float> } %1539, 0
  store <2 x float> %1540, ptr %122, align 8
  %1541 = extractvalue { <2 x float>, <2 x float> } %1539, 1
  store <2 x float> %1541, ptr %1470, align 8
  %1542 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %122)
  %1543 = extractvalue { <2 x float>, <2 x float> } %1542, 0
  store <2 x float> %1543, ptr %121, align 8
  %1544 = extractvalue { <2 x float>, <2 x float> } %1542, 1
  store <2 x float> %1544, ptr %1471, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 7, ptr noundef nonnull align 4 dereferenceable(16) %121)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %122) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %121) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %123) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %124) #13
  %1545 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1538, float noundef 0x3FE3333340000000, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1546 = extractvalue { <2 x float>, <2 x float> } %1545, 0
  store <2 x float> %1546, ptr %124, align 8
  %1547 = extractvalue { <2 x float>, <2 x float> } %1545, 1
  store <2 x float> %1547, ptr %1472, align 8
  %1548 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %124)
  %1549 = extractvalue { <2 x float>, <2 x float> } %1548, 0
  store <2 x float> %1549, ptr %123, align 8
  %1550 = extractvalue { <2 x float>, <2 x float> } %1548, 1
  store <2 x float> %1550, ptr %1473, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 8, ptr noundef nonnull align 4 dereferenceable(16) %123)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %124) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %123) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %125) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %126) #13
  %1551 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1538, float noundef 0x3FE6666660000000, float noundef 5.000000e-01, float noundef 1.000000e+00)
  %1552 = extractvalue { <2 x float>, <2 x float> } %1551, 0
  store <2 x float> %1552, ptr %126, align 8
  %1553 = extractvalue { <2 x float>, <2 x float> } %1551, 1
  store <2 x float> %1553, ptr %1474, align 8
  %1554 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %126)
  %1555 = extractvalue { <2 x float>, <2 x float> } %1554, 0
  store <2 x float> %1555, ptr %125, align 8
  %1556 = extractvalue { <2 x float>, <2 x float> } %1554, 1
  store <2 x float> %1556, ptr %1475, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 9, ptr noundef nonnull align 4 dereferenceable(16) %125)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %126) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %125) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %127) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %128) #13
  %1557 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %1538, float noundef 0x3FECCCCCC0000000, float noundef 0x3FECCCCCC0000000, float noundef 1.000000e+00)
  %1558 = extractvalue { <2 x float>, <2 x float> } %1557, 0
  store <2 x float> %1558, ptr %128, align 8
  %1559 = extractvalue { <2 x float>, <2 x float> } %1557, 1
  store <2 x float> %1559, ptr %1476, align 8
  %1560 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %128)
  %1561 = extractvalue { <2 x float>, <2 x float> } %1560, 0
  store <2 x float> %1561, ptr %127, align 8
  %1562 = extractvalue { <2 x float>, <2 x float> } %1560, 1
  store <2 x float> %1562, ptr %1477, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 19, ptr noundef nonnull align 4 dereferenceable(16) %127)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %128) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %127) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %129) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %129, float noundef 1.800000e+01, float noundef 1.600000e+02)
  %1563 = getelementptr inbounds [7 x float], ptr @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, i64 0, i64 %indvars.iv741
  %1564 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %129, ptr noundef nonnull %1563, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.390, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %129) #13
  %1565 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1565, label %1568, label %1566

1566:                                             ; preds = %1535
  %1567 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1567, label %1568, label %1571

1568:                                             ; preds = %1566, %1535
  %1569 = load float, ptr %1563, align 4, !tbaa !25
  %1570 = fpext float %1569 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.124, double noundef %1570)
  br label %1571

1571:                                             ; preds = %1568, %1566
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 4)
  call void @_ZN5ImGui5PopIDEv()
  %indvars.iv.next742 = add nuw nsw i64 %indvars.iv741, 1
  %exitcond744.not = icmp eq i64 %indvars.iv.next742, 7
  br i1 %exitcond744.not, label %1509, label %1535, !llvm.loop !58

1572:                                             ; preds = %.peel.next756
  %1573 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1573, label %1574, label %1577

1574:                                             ; preds = %1572, %.peel.next756
  %1575 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 4), align 4, !tbaa !25
  %1576 = fpext float %1575 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.124, double noundef %1576)
  br label %1577

1577:                                             ; preds = %1574, %1572
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 4)
  %1578 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %130, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 4), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.390, float noundef 1.000000e+00)
  %1579 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1579, label %1582, label %1580

1580:                                             ; preds = %1577
  %1581 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1581, label %1582, label %1585

1582:                                             ; preds = %1580, %1577
  %1583 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 4), align 4, !tbaa !25
  %1584 = fpext float %1583 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.124, double noundef %1584)
  br label %1585

1585:                                             ; preds = %1582, %1580
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 5)
  %1586 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %130, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 4), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.390, float noundef 1.000000e+00)
  %1587 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1587, label %1590, label %1588

1588:                                             ; preds = %1585
  %1589 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1589, label %1590, label %1593

1590:                                             ; preds = %1588, %1585
  %1591 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 4), align 4, !tbaa !25
  %1592 = fpext float %1591 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.124, double noundef %1592)
  br label %1593

1593:                                             ; preds = %1590, %1588
  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)
  %1594 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %130, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 8), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.390, float noundef 1.000000e+00)
  %1595 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1595, label %1598, label %1596

1596:                                             ; preds = %1593
  %1597 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1597, label %1598, label %1601

1598:                                             ; preds = %1596, %1593
  %1599 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 8), align 8, !tbaa !25
  %1600 = fpext float %1599 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.124, double noundef %1600)
  br label %1601

1601:                                             ; preds = %1598, %1596
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 7)
  %1602 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %130, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 8), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.390, float noundef 1.000000e+00)
  %1603 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1603, label %1606, label %1604

1604:                                             ; preds = %1601
  %1605 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1605, label %1606, label %1609

1606:                                             ; preds = %1604, %1601
  %1607 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 8), align 8, !tbaa !25
  %1608 = fpext float %1607 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.124, double noundef %1608)
  br label %1609

1609:                                             ; preds = %1606, %1604
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 8)
  %1610 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %130, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 8), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.390, float noundef 1.000000e+00)
  %1611 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1611, label %1614, label %1612

1612:                                             ; preds = %1609
  %1613 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1613, label %1614, label %1617

1614:                                             ; preds = %1612, %1609
  %1615 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 8), align 8, !tbaa !25
  %1616 = fpext float %1615 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.124, double noundef %1616)
  br label %1617

1617:                                             ; preds = %1614, %1612
  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)
  %1618 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %130, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 12), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.390, float noundef 1.000000e+00)
  %1619 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1619, label %1622, label %1620

1620:                                             ; preds = %1617
  %1621 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1621, label %1622, label %1625

1622:                                             ; preds = %1620, %1617
  %1623 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 12), align 4, !tbaa !25
  %1624 = fpext float %1623 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.124, double noundef %1624)
  br label %1625

1625:                                             ; preds = %1622, %1620
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 10)
  %1626 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %130, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 12), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.390, float noundef 1.000000e+00)
  %1627 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1627, label %1630, label %1628

1628:                                             ; preds = %1625
  %1629 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1629, label %1630, label %1633

1630:                                             ; preds = %1628, %1625
  %1631 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 12), align 4, !tbaa !25
  %1632 = fpext float %1631 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.124, double noundef %1632)
  br label %1633

1633:                                             ; preds = %1630, %1628
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui6PushIDEi(i32 noundef 11)
  %1634 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %130, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 12), float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.390, float noundef 1.000000e+00)
  %1635 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %1635, label %1638, label %1636

1636:                                             ; preds = %1633
  %1637 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1637, label %1638, label %1641

1638:                                             ; preds = %1636, %1633
  %1639 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7values2, i64 12), align 4, !tbaa !25
  %1640 = fpext float %1639 to double
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.124, double noundef %1640)
  br label %1641

1641:                                             ; preds = %1638, %1636
  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.392)
  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 %131) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %131, float noundef 4.000000e+01, float noundef 1.600000e+02)
  %1642 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %131, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE6values_0, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.393, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %131) #13
  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 %131) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %131, float noundef 4.000000e+01, float noundef 1.600000e+02)
  %1643 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %131, 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.393, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %131) #13
  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 %131) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %131, float noundef 4.000000e+01, float noundef 1.600000e+02)
  %1644 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %131, 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.393, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %131) #13
  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 %131) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %131, float noundef 4.000000e+01, float noundef 1.600000e+02)
  %1645 = call noundef zeroext i1 @_ZN5ImGui12VSliderFloatEPKcRK6ImVec2PfffS1_f(ptr noundef nonnull @.str.389, ptr noundef nonnull align 4 dereferenceable(8) %131, 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.393, float noundef 1.000000e+00)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %131) #13
  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 %130) #13
  br label %1646

1646:                                             ; preds = %1641, %1466
  %1647 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.394)
  br i1 %1647, label %1648, label %1742

1648:                                             ; preds = %1646
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.395)
  call void @_ZN5ImGui6IndentEf(float noundef 0.000000e+00)
  %1649 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit3EPKcPfi(ptr noundef nonnull @.str.145, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4col1_0, i32 noundef 0)
  %1650 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.147, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4col2_0, i32 noundef 0)
  call void @_ZN5ImGui8UnindentEf(float noundef 0.000000e+00)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.396)
  call void @_ZN5ImGui6IndentEf(float noundef 0.000000e+00)
  %1651 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !18
  %1652 = icmp eq i32 %1651, 0
  %1653 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcb(ptr noundef nonnull @.str.397, i1 noundef zeroext %1652)
  br i1 %1653, label %1654, label %1655

1654:                                             ; preds = %1648
  store i32 0, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !18
  br label %1655

1655:                                             ; preds = %1654, %1648
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1656 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !18
  %1657 = icmp eq i32 %1656, 1
  %1658 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcb(ptr noundef nonnull @.str.398, i1 noundef zeroext %1657)
  br i1 %1658, label %1659, label %1660

1659:                                             ; preds = %1655
  store i32 1, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !18
  br label %1660

1660:                                             ; preds = %1659, %1655
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1661 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !18
  %1662 = icmp eq i32 %1661, 2
  %1663 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcb(ptr noundef nonnull @.str.399, i1 noundef zeroext %1662)
  br i1 %1663, label %1664, label %1665

1664:                                             ; preds = %1660
  store i32 2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !18
  br label %1665

1665:                                             ; preds = %1664, %1660
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %132) #13
  store i32 0, ptr %132, align 4, !tbaa !18
  br label %1667

1666:                                             ; preds = %1738
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %132) #13
  call void @_ZN5ImGui8UnindentEf(float noundef 0.000000e+00)
  call void @_ZN5ImGui7TreePopEv()
  br label %1742

1667:                                             ; preds = %1665, %1738
  %storemerge651 = phi i32 [ 0, %1665 ], [ %1740, %1738 ]
  call void @_ZN5ImGui6PushIDEi(i32 noundef %storemerge651)
  %1668 = load i32, ptr %132, align 4, !tbaa !18
  %1669 = srem i32 %1668, 3
  %.not586 = icmp eq i32 %1669, 0
  br i1 %.not586, label %1671, label %1670

1670:                                             ; preds = %1667
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %.pre880 = load i32, ptr %132, align 4, !tbaa !18
  br label %1671

1671:                                             ; preds = %1670, %1667
  %1672 = phi i32 [ %.pre880, %1670 ], [ %1668, %1667 ]
  %1673 = sext i32 %1672 to i64
  %1674 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %1673
  %1675 = load ptr, ptr %1674, align 8, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %133) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %133, float noundef 6.000000e+01, float noundef 6.000000e+01)
  %1676 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef %1675, ptr noundef nonnull align 4 dereferenceable(8) %133)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %133) #13
  %1677 = call noundef zeroext i1 @_ZN5ImGui19BeginDragDropSourceEi(i32 noundef 0)
  br i1 %1677, label %1678, label %1704

1678:                                             ; preds = %1671
  %1679 = call noundef zeroext i1 @_ZN5ImGui18SetDragDropPayloadEPKcPKvmi(ptr noundef nonnull @.str.409, ptr noundef nonnull %132, i64 noundef 4, i32 noundef 0)
  %1680 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !18
  %1681 = icmp eq i32 %1680, 0
  br i1 %1681, label %1682, label %1687

1682:                                             ; preds = %1678
  %1683 = load i32, ptr %132, align 4, !tbaa !18
  %1684 = sext i32 %1683 to i64
  %1685 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %1684
  %1686 = load ptr, ptr %1685, align 8, !tbaa !38
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.410, ptr noundef %1686)
  %.pr = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !18
  br label %1687

1687:                                             ; preds = %1682, %1678
  %1688 = phi i32 [ %.pr, %1682 ], [ %1680, %1678 ]
  %1689 = icmp eq i32 %1688, 1
  br i1 %1689, label %1690, label %1695

1690:                                             ; preds = %1687
  %1691 = load i32, ptr %132, align 4, !tbaa !18
  %1692 = sext i32 %1691 to i64
  %1693 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %1692
  %1694 = load ptr, ptr %1693, align 8, !tbaa !38
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.411, ptr noundef %1694)
  %.pre881 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !18
  br label %1695

1695:                                             ; preds = %1690, %1687
  %1696 = phi i32 [ %.pre881, %1690 ], [ %1688, %1687 ]
  %1697 = icmp eq i32 %1696, 2
  br i1 %1697, label %1698, label %1703

1698:                                             ; preds = %1695
  %1699 = load i32, ptr %132, align 4, !tbaa !18
  %1700 = sext i32 %1699 to i64
  %1701 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %1700
  %1702 = load ptr, ptr %1701, align 8, !tbaa !38
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.412, ptr noundef %1702)
  br label %1703

1703:                                             ; preds = %1698, %1695
  call void @_ZN5ImGui17EndDragDropSourceEv()
  br label %1704

1704:                                             ; preds = %1703, %1671
  %1705 = call noundef zeroext i1 @_ZN5ImGui19BeginDragDropTargetEv()
  br i1 %1705, label %1706, label %1738

1706:                                             ; preds = %1704
  %1707 = call noundef ptr @_ZN5ImGui21AcceptDragDropPayloadEPKci(ptr noundef nonnull @.str.409, i32 noundef 0)
  %.not587 = icmp eq ptr %1707, null
  br i1 %.not587, label %.thread613, label %1708

1708:                                             ; preds = %1706
  %1709 = getelementptr inbounds i8, ptr %1707, i64 8
  %1710 = load i32, ptr %1709, align 8, !tbaa !59
  %1711 = icmp eq i32 %1710, 4
  br i1 %1711, label %1713, label %1712

1712:                                             ; preds = %1708
  call void @__assert_fail(ptr noundef nonnull @.str.413, ptr noundef nonnull @.str.414, i32 noundef 1345, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5ImGui14ShowDemoWindowEPb) #14
  unreachable

1713:                                             ; preds = %1708
  %1714 = load ptr, ptr %1707, align 8, !tbaa !53
  %1715 = load i32, ptr %1714, align 4, !tbaa !18
  %1716 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4mode, align 4, !tbaa !18
  switch i32 %1716, label %.thread613 [
    i32 0, label %.thread612
    i32 1, label %1723
    i32 2, label %1730
  ]

.thread612:                                       ; preds = %1713
  %1717 = sext i32 %1715 to i64
  %1718 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %1717
  %1719 = load ptr, ptr %1718, align 8, !tbaa !38
  %1720 = load i32, ptr %132, align 4, !tbaa !18
  %1721 = sext i32 %1720 to i64
  %1722 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %1721
  store ptr %1719, ptr %1722, align 8, !tbaa !38
  br label %.thread613

1723:                                             ; preds = %1713
  %1724 = sext i32 %1715 to i64
  %1725 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %1724
  %1726 = load ptr, ptr %1725, align 8, !tbaa !38
  %1727 = load i32, ptr %132, align 4, !tbaa !18
  %1728 = sext i32 %1727 to i64
  %1729 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %1728
  store ptr %1726, ptr %1729, align 8, !tbaa !38
  store ptr @.str.390, ptr %1725, align 8, !tbaa !38
  br label %.thread613

1730:                                             ; preds = %1713
  %1731 = load i32, ptr %132, align 4, !tbaa !18
  %1732 = sext i32 %1731 to i64
  %1733 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %1732
  %1734 = load ptr, ptr %1733, align 8, !tbaa !38
  %1735 = sext i32 %1715 to i64
  %1736 = getelementptr inbounds [9 x ptr], ptr @_ZZN5ImGui14ShowDemoWindowEPbE5names, i64 0, i64 %1735
  %1737 = load ptr, ptr %1736, align 8, !tbaa !38
  store ptr %1737, ptr %1733, align 8, !tbaa !38
  store ptr %1734, ptr %1736, align 8, !tbaa !38
  br label %.thread613

.thread613:                                       ; preds = %1713, %1723, %.thread612, %1730, %1706
  call void @_ZN5ImGui17EndDragDropTargetEv()
  br label %1738

1738:                                             ; preds = %.thread613, %1704
  call void @_ZN5ImGui5PopIDEv()
  %1739 = load i32, ptr %132, align 4, !tbaa !18
  %1740 = add nsw i32 %1739, 1
  store i32 %1740, ptr %132, align 4, !tbaa !18
  %1741 = icmp slt i32 %1739, 8
  br i1 %1741, label %1667, label %1666, !llvm.loop !60

1742:                                             ; preds = %1666, %1646
  %1743 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.415)
  br i1 %1743, label %1744, label %1868

1744:                                             ; preds = %1742
  %1745 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.181, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 0)
  %1746 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.85, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 1)
  %1747 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.416, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 2)
  %1748 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.417, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 3)
  %1749 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.418, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 4)
  %1750 = call noundef zeroext i1 @_ZN5ImGui11RadioButtonEPKcPii(ptr noundef nonnull @.str.419, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, i32 noundef 5)
  call void @_ZN5ImGui9SeparatorEv()
  %1751 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !18
  %1752 = icmp eq i32 %1751, 0
  br i1 %1752, label %1753, label %1754

1753:                                             ; preds = %1744
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.420)
  %.pr614 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !18
  br label %1754

1754:                                             ; preds = %1753, %1744
  %1755 = phi i32 [ %.pr614, %1753 ], [ %1751, %1744 ]
  %1756 = icmp eq i32 %1755, 1
  br i1 %1756, label %1757, label %1759

1757:                                             ; preds = %1754
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %134) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %134, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1758 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.421, ptr noundef nonnull align 4 dereferenceable(8) %134)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %134) #13
  %.pre882 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !18
  br label %1759

1759:                                             ; preds = %1757, %1754
  %1760 = phi i32 [ %.pre882, %1757 ], [ %1755, %1754 ]
  %.0544 = phi i1 [ %1758, %1757 ], [ false, %1754 ]
  %1761 = icmp eq i32 %1760, 2
  br i1 %1761, label %1762, label %1764

1762:                                             ; preds = %1759
  %1763 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.422, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1b)
  %.pr615 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !18
  br label %1764

1764:                                             ; preds = %1762, %1759
  %1765 = phi i32 [ %.pr615, %1762 ], [ %1760, %1759 ]
  %.1545 = phi i1 [ %1763, %1762 ], [ %.0544, %1759 ]
  %1766 = icmp eq i32 %1765, 3
  br i1 %1766, label %1767, label %1769

1767:                                             ; preds = %1764
  %1768 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef nonnull @.str.423, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5col4f, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  %.pre883 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !18
  br label %1769

1769:                                             ; preds = %1767, %1764
  %1770 = phi i32 [ %.pre883, %1767 ], [ %1765, %1764 ]
  %.2546 = phi i1 [ %1768, %1767 ], [ %.1545, %1764 ]
  %1771 = icmp eq i32 %1770, 4
  br i1 %1771, label %1772, label %1774

1772:                                             ; preds = %1769
  %1773 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.424, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5col4f, i32 noundef 0)
  %.pr616 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9item_type, align 4, !tbaa !18
  br label %1774

1774:                                             ; preds = %1772, %1769
  %1775 = phi i32 [ %.pr616, %1772 ], [ %1770, %1769 ]
  %.3547 = phi i1 [ %1773, %1772 ], [ %.2546, %1769 ]
  %1776 = icmp eq i32 %1775, 5
  br i1 %1776, label %1777, label %1779

1777:                                             ; preds = %1774
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %135) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %135, ptr noundef nonnull align 16 dereferenceable(32) @__const._ZN5ImGui14ShowDemoWindowEPb.items.425, i64 32, i1 false)
  %1778 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef nonnull @.str.426, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7current, ptr noundef nonnull %135, i32 noundef 4, i32 noundef 4)
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %135) #13
  br label %1779

1779:                                             ; preds = %1777, %1774
  %.4548 = phi i1 [ %1778, %1777 ], [ %.3547, %1774 ]
  %1780 = zext i1 %.4548 to i32
  %1781 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  %1782 = zext i1 %1781 to i32
  %1783 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %1784 = zext i1 %1783 to i32
  %1785 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 8)
  %1786 = zext i1 %1785 to i32
  %1787 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 32)
  %1788 = zext i1 %1787 to i32
  %1789 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 64)
  %1790 = zext i1 %1789 to i32
  %1791 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 104)
  %1792 = zext i1 %1791 to i32
  %1793 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  %1794 = zext i1 %1793 to i32
  %1795 = call noundef zeroext i1 @_ZN5ImGui12IsItemEditedEv()
  %1796 = zext i1 %1795 to i32
  %1797 = call noundef zeroext i1 @_ZN5ImGui17IsItemDeactivatedEv()
  %1798 = zext i1 %1797 to i32
  %1799 = call noundef zeroext i1 @_ZN5ImGui26IsItemDeactivatedAfterEditEv()
  %1800 = zext i1 %1799 to i32
  %1801 = call noundef zeroext i1 @_ZN5ImGui13IsItemVisibleEv()
  %1802 = zext i1 %1801 to i32
  %1803 = call <2 x float> @_ZN5ImGui14GetItemRectMinEv()
  %.sroa.0228.0.vec.extract = extractelement <2 x float> %1803, i64 0
  %1804 = fpext float %.sroa.0228.0.vec.extract to double
  %1805 = call <2 x float> @_ZN5ImGui14GetItemRectMinEv()
  %.sroa.0227.4.vec.extract = extractelement <2 x float> %1805, i64 1
  %1806 = fpext float %.sroa.0227.4.vec.extract to double
  %1807 = call <2 x float> @_ZN5ImGui14GetItemRectMaxEv()
  %.sroa.0226.0.vec.extract = extractelement <2 x float> %1807, i64 0
  %1808 = fpext float %.sroa.0226.0.vec.extract to double
  %1809 = call <2 x float> @_ZN5ImGui14GetItemRectMaxEv()
  %.sroa.0225.4.vec.extract = extractelement <2 x float> %1809, i64 1
  %1810 = fpext float %.sroa.0225.4.vec.extract to double
  %1811 = call <2 x float> @_ZN5ImGui15GetItemRectSizeEv()
  %.sroa.0224.0.vec.extract = extractelement <2 x float> %1811, i64 0
  %1812 = fpext float %.sroa.0224.0.vec.extract to double
  %1813 = call <2 x float> @_ZN5ImGui15GetItemRectSizeEv()
  %.sroa.0223.4.vec.extract = extractelement <2 x float> %1813, i64 1
  %1814 = fpext float %.sroa.0223.4.vec.extract to double
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.427, i32 noundef %1780, i32 noundef %1782, i32 noundef %1784, i32 noundef %1786, i32 noundef %1788, i32 noundef %1790, i32 noundef %1792, i32 noundef %1794, i32 noundef %1796, i32 noundef %1798, i32 noundef %1800, i32 noundef %1802, double noundef %1804, double noundef %1806, double noundef %1808, double noundef %1810, double noundef %1812, double noundef %1814)
  %1815 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.428, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window)
  %1816 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window, align 1, !tbaa !5, !range !9, !noundef !10
  %1817 = trunc nuw i8 %1816 to i1
  br i1 %1817, label %1818, label %1822

1818:                                             ; preds = %1779
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %136) #13
  %1819 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %1820 = fmul float %1819, 2.000000e+01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %136, float noundef 0.000000e+00, float noundef %1820)
  %1821 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef nonnull @.str.429, ptr noundef nonnull align 4 dereferenceable(8) %136, i1 noundef zeroext true, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %136) #13
  br label %1822

1822:                                             ; preds = %1818, %1779
  %1823 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 0)
  %1824 = zext i1 %1823 to i32
  %1825 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 1)
  %1826 = zext i1 %1825 to i32
  %1827 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 3)
  %1828 = zext i1 %1827 to i32
  %1829 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 2)
  %1830 = zext i1 %1829 to i32
  %1831 = call noundef zeroext i1 @_ZN5ImGui15IsWindowFocusedEi(i32 noundef 4)
  %1832 = zext i1 %1831 to i32
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.430, i32 noundef %1824, i32 noundef %1826, i32 noundef %1828, i32 noundef %1830, i32 noundef %1832)
  %1833 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 0)
  %1834 = zext i1 %1833 to i32
  %1835 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 8)
  %1836 = zext i1 %1835 to i32
  %1837 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 32)
  %1838 = zext i1 %1837 to i32
  %1839 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 1)
  %1840 = zext i1 %1839 to i32
  %1841 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 3)
  %1842 = zext i1 %1841 to i32
  %1843 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 2)
  %1844 = zext i1 %1843 to i32
  %1845 = call noundef zeroext i1 @_ZN5ImGui15IsWindowHoveredEi(i32 noundef 4)
  %1846 = zext i1 %1845 to i32
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.431, i32 noundef %1834, i32 noundef %1836, i32 noundef %1838, i32 noundef %1840, i32 noundef %1842, i32 noundef %1844, i32 noundef %1846)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %137) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %137, float noundef 0.000000e+00, float noundef 5.000000e+01)
  %1847 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef nonnull @.str.432, ptr noundef nonnull align 4 dereferenceable(8) %137, i1 noundef zeroext true, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %137) #13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.433)
  call void @_ZN5ImGui8EndChildEv()
  %1848 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE31embed_all_inside_a_child_window, align 1, !tbaa !5, !range !9, !noundef !10
  %1849 = trunc nuw i8 %1848 to i1
  br i1 %1849, label %1850, label %1851

1850:                                             ; preds = %1822
  call void @_ZN5ImGui8EndChildEv()
  br label %1851

1851:                                             ; preds = %1850, %1822
  %1852 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.434, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE11test_window)
  %1853 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11test_window, align 1, !tbaa !5, !range !9, !noundef !10
  %1854 = trunc nuw i8 %1853 to i1
  br i1 %1854, label %1855, label %1867

1855:                                             ; preds = %1851
  %1856 = call noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef nonnull @.str.435, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE11test_window, i32 noundef 0)
  %1857 = call noundef zeroext i1 @_ZN5ImGui21BeginPopupContextItemEPKci(ptr noundef null, i32 noundef 1)
  br i1 %1857, label %1858, label %1862

1858:                                             ; preds = %1855
  %1859 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef nonnull @.str.436, ptr noundef null, i1 noundef zeroext false, i1 noundef zeroext true)
  br i1 %1859, label %1860, label %1861

1860:                                             ; preds = %1858
  store i8 0, ptr @_ZZN5ImGui14ShowDemoWindowEPbE11test_window, align 1, !tbaa !5
  br label %1861

1861:                                             ; preds = %1860, %1858
  call void @_ZN5ImGui8EndPopupEv()
  br label %1862

1862:                                             ; preds = %1861, %1855
  %1863 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  %1864 = zext i1 %1863 to i32
  %1865 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  %1866 = zext i1 %1865 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.437, i32 noundef %1864, i32 noundef %1866)
  call void @_ZN5ImGui3EndEv()
  br label %1867

1867:                                             ; preds = %1862, %1851
  call void @_ZN5ImGui7TreePopEv()
  br label %1868

1868:                                             ; preds = %1742, %1867, %404
  %1869 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.438, i32 noundef 0)
  br i1 %1869, label %1870, label %2244

1870:                                             ; preds = %1868
  %1871 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.439)
  br i1 %1871, label %1872, label %1917

1872:                                             ; preds = %1870
  %1873 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.440, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE19disable_mouse_wheel)
  %1874 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.441, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12disable_menu)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %138) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %138, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1875 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.442, ptr noundef nonnull align 4 dereferenceable(8) %138)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %138) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 1.000000e+02)
  %1876 = call noundef zeroext i1 @_ZN5ImGui8InputIntEPKcPiiii(ptr noundef nonnull @.str.443, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4line, i32 noundef 0, i32 noundef 0, i32 noundef 32)
  %1877 = or i1 %1875, %1876
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %139) #13
  %1878 = call noundef float @_ZN5ImGui27GetWindowContentRegionWidthEv()
  %1879 = fmul float %1878, 5.000000e-01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %139, float noundef %1879, float noundef 3.000000e+02)
  %1880 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE19disable_mouse_wheel, align 1, !tbaa !5, !range !9, !noundef !10
  %1881 = trunc nuw i8 %1880 to i1
  %1882 = select i1 %1881, i32 2064, i32 2048
  %1883 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef nonnull @.str.444, ptr noundef nonnull align 4 dereferenceable(8) %139, i1 noundef zeroext false, i32 noundef %1882)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %139) #13
  br label %1887

1884:                                             ; preds = %1891
  %1885 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4line, align 4
  %1886 = icmp sgt i32 %1885, 99
  %or.cond3 = select i1 %1877, i1 %1886, i1 false
  br i1 %or.cond3, label %1893, label %1894

1887:                                             ; preds = %1872, %1891
  %.0549652 = phi i32 [ 0, %1872 ], [ %1892, %1891 ]
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.445, i32 noundef %.0549652)
  %1888 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4line, align 4
  %1889 = icmp eq i32 %1888, %.0549652
  %or.cond = select i1 %1877, i1 %1889, i1 false
  br i1 %or.cond, label %1890, label %1891

1890:                                             ; preds = %1887
  call void @_ZN5ImGui14SetScrollHereYEf(float noundef 5.000000e-01)
  br label %1891

1891:                                             ; preds = %1887, %1890
  %1892 = add nuw nsw i32 %.0549652, 1
  %exitcond764.not = icmp eq i32 %1892, 100
  br i1 %exitcond764.not, label %1884, label %1887, !llvm.loop !61

1893:                                             ; preds = %1884
  call void @_ZN5ImGui14SetScrollHereYEf(float noundef 5.000000e-01)
  br label %1894

1894:                                             ; preds = %1893, %1884
  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 %140) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %140, float noundef 0.000000e+00, float noundef 3.000000e+02)
  %1895 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE19disable_mouse_wheel, align 1, !tbaa !5, !range !9, !noundef !10
  %1896 = trunc nuw i8 %1895 to i1
  %1897 = select i1 %1896, i32 16, i32 0
  %1898 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12disable_menu, align 1, !tbaa !5, !range !9, !noundef !10
  %1899 = trunc nuw i8 %1898 to i1
  %1900 = select i1 %1899, i32 0, i32 1024
  %1901 = or disjoint i32 %1900, %1897
  %1902 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef nonnull @.str.446, ptr noundef nonnull align 4 dereferenceable(8) %140, i1 noundef zeroext true, i32 noundef %1901)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %140) #13
  %1903 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12disable_menu, align 1, !tbaa !5, !range !9, !noundef !10
  %1904 = trunc nuw i8 %1903 to i1
  br i1 %1904, label %1911, label %1905

1905:                                             ; preds = %1894
  %1906 = call noundef zeroext i1 @_ZN5ImGui12BeginMenuBarEv()
  br i1 %1906, label %1907, label %1911

1907:                                             ; preds = %1905
  %1908 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef nonnull @.str.23, i1 noundef zeroext true)
  br i1 %1908, label %1909, label %1910

1909:                                             ; preds = %1907
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui7EndMenuEv()
  br label %1910

1910:                                             ; preds = %1909, %1907
  call void @_ZN5ImGui10EndMenuBarEv()
  br label %1911

1911:                                             ; preds = %1910, %1905, %1894
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 2, ptr noundef null, i1 noundef zeroext true)
  br label %1913

1912:                                             ; preds = %1913
  call void @_ZN5ImGui8EndChildEv()
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @_ZN5ImGui7TreePopEv()
  br label %1917

1913:                                             ; preds = %1911, %1913
  %.0550653 = phi i32 [ 0, %1911 ], [ %1916, %1913 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %141) #13
  %1914 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %141, ptr noundef nonnull dereferenceable(1) @.str.447, i32 noundef %.0550653) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %142) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %142, float noundef -1.000000e+00, float noundef 0.000000e+00)
  %1915 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull %141, ptr noundef nonnull align 4 dereferenceable(8) %142)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %142) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %141) #13
  %1916 = add nuw nsw i32 %.0550653, 1
  %exitcond765.not = icmp eq i32 %1916, 100
  br i1 %exitcond765.not, label %1912, label %1913, !llvm.loop !62

1917:                                             ; preds = %1912, %1870
  %1918 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.448)
  br i1 %1918, label %1919, label %1929

1919:                                             ; preds = %1917
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.449)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.450)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 1.000000e+02)
  %1920 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.451, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.452)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.453)
  %1921 = call noundef float @_ZN5ImGui14GetWindowWidthEv()
  %1922 = fmul float %1921, 5.000000e-01
  call void @_ZN5ImGui13PushItemWidthEf(float noundef %1922)
  %1923 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.454, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.455)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.456)
  %1924 = call noundef float @_ZN5ImGui26GetContentRegionAvailWidthEv()
  %1925 = fmul float %1924, 5.000000e-01
  call void @_ZN5ImGui13PushItemWidthEf(float noundef %1925)
  %1926 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.457, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.458)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.459)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef -1.000000e+02)
  %1927 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.460, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.461)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.462)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef -1.000000e+00)
  %1928 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.463, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE1f, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %1929

1929:                                             ; preds = %1919, %1917
  %1930 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.464)
  br i1 %1930, label %1931, label %1970

1931:                                             ; preds = %1929
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.465)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.466)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %143) #13
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %143, 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) %143, ptr noundef nonnull @.str.236)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %143) #13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.467)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef 2.000000e+01)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %144) #13
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %144, 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) %144, ptr noundef nonnull @.str.236)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %144) #13
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.468)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %145) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %145, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1932 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.149, ptr noundef nonnull align 4 dereferenceable(8) %145)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %145) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %146) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %146, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1933 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.148, ptr noundef nonnull align 4 dereferenceable(8) %146)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %146) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %147) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %147, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1934 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.469, ptr noundef nonnull align 4 dereferenceable(8) %147)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %147) #13
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.470)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1935 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.471)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.472)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.473)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.474)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.475)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.473)
  call void @_ZN5ImGui8SameLineEff(float noundef 1.500000e+02, float noundef -1.000000e+00)
  %1936 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.474)
  call void @_ZN5ImGui8SameLineEff(float noundef 3.000000e+02, float noundef -1.000000e+00)
  %1937 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.475)
  %1938 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.476, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2c1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1939 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.477, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2c2)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1940 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.478, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2c3)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1941 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.479, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2c4)
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 8.000000e+01)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %148) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %148, ptr noundef nonnull align 16 dereferenceable(32) @__const._ZN5ImGui14ShowDemoWindowEPb.items.480, i64 32, i1 false)
  %1942 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef nonnull @.str.207, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4item, ptr noundef nonnull %148, i32 noundef 4, i32 noundef -1)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1943 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef nonnull @.str.481, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f0_0, float noundef 0.000000e+00, float noundef 5.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1944 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef nonnull @.str.482, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f1_2, float noundef 0.000000e+00, float noundef 5.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1945 = call noundef zeroext i1 @_ZN5ImGui11SliderFloatEPKcPfffS1_f(ptr noundef nonnull @.str.483, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f2_1, float noundef 0.000000e+00, float noundef 5.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui13PushItemWidthEf(float noundef 8.000000e+01)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.484)
  call void @_ZN5ImGui6PushIDEi(i32 noundef 0)
  %1946 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef nonnull @.str.390, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9selection_1, ptr noundef nonnull %148, 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)
  %1947 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef nonnull @.str.390, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_1, i64 4), ptr noundef nonnull %148, 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)
  %1948 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef nonnull @.str.390, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_1, i64 8), ptr noundef nonnull %148, 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)
  %1949 = call noundef zeroext i1 @_ZN5ImGui7ListBoxEPKcPiPKS1_ii(ptr noundef nonnull @.str.390, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9selection_1, i64 12), ptr noundef nonnull %148, i32 noundef 4, i32 noundef -1)
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %149) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %149, float noundef 4.000000e+01, float noundef 4.000000e+01)
  %1950 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.485, ptr noundef nonnull align 4 dereferenceable(8) %149)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui5DummyERK6ImVec2(ptr noundef nonnull align 4 dereferenceable(8) %149)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1951 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.486, ptr noundef nonnull align 4 dereferenceable(8) %149)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.487)
  %1952 = call noundef nonnull align 4 dereferenceable(840) ptr @_ZN5ImGui8GetStyleEv()
  %1953 = call <2 x float> @_ZN5ImGui12GetWindowPosEv()
  %1954 = call <2 x float> @_ZN5ImGui25GetWindowContentRegionMaxEv()
  %1955 = fadd <2 x float> %1953, %1954
  %1956 = extractelement <2 x float> %1955, i64 0
  %1957 = getelementptr inbounds i8, ptr %1952, i64 68
  br label %1958

.loopexit902:                                     ; preds = %1969, %.thread900
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %149) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %148) #13
  br label %1970

1958:                                             ; preds = %1931, %1969
  %.0542655 = phi i32 [ 0, %1931 ], [ %1961, %1969 ]
  call void @_ZN5ImGui6PushIDEi(i32 noundef %.0542655)
  %1959 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.488, ptr noundef nonnull align 4 dereferenceable(8) %149)
  %1960 = call <2 x float> @_ZN5ImGui14GetItemRectMaxEv()
  %1961 = add nuw nsw i32 %.0542655, 1
  %.not584 = icmp eq i32 %.0542655, 19
  br i1 %.not584, label %.thread900, label %1962

.thread900:                                       ; preds = %1958
  call void @_ZN5ImGui5PopIDEv()
  br label %.loopexit902

1962:                                             ; preds = %1958
  %.sroa.0196.0.vec.extract = extractelement <2 x float> %1960, i64 0
  %1963 = load float, ptr %1957, align 4, !tbaa !63
  %1964 = fadd float %.sroa.0196.0.vec.extract, %1963
  %1965 = load float, ptr %149, align 4, !tbaa !64
  %1966 = fadd float %1964, %1965
  %1967 = fcmp olt float %1966, %1956
  br i1 %1967, label %1968, label %1969

1968:                                             ; preds = %1962
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  br label %1969

1969:                                             ; preds = %1968, %1962
  call void @_ZN5ImGui5PopIDEv()
  %exitcond770.not = icmp eq i32 %1961, 20
  br i1 %exitcond770.not, label %.loopexit902, label %1958, !llvm.loop !65

1970:                                             ; preds = %.loopexit902, %1929
  %1971 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.489)
  br i1 %1971, label %1972, label %2005

1972:                                             ; preds = %1970
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.490)
  call void @_ZN5ImGui10BeginGroupEv()
  call void @_ZN5ImGui10BeginGroupEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %150) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %150, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1973 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.491, ptr noundef nonnull align 4 dereferenceable(8) %150)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %150) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %151) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %151, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1974 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.492, ptr noundef nonnull align 4 dereferenceable(8) %151)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %151) #13
  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 %152) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %152, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1975 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.493, ptr noundef nonnull align 4 dereferenceable(8) %152)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %152) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %153) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %153, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1976 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.494, ptr noundef nonnull align 4 dereferenceable(8) %153)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %153) #13
  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 %154) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %154, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %1977 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.495, ptr noundef nonnull align 4 dereferenceable(8) %154)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %154) #13
  call void @_ZN5ImGui8EndGroupEv()
  %1978 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %1978, label %1979, label %1980

1979:                                             ; preds = %1972
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.496)
  br label %1980

1980:                                             ; preds = %1979, %1972
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %155) #13
  %1981 = call <2 x float> @_ZN5ImGui15GetItemRectSizeEv()
  store <2 x float> %1981, ptr %155, align 8
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %156) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %156, ptr noundef nonnull align 16 dereferenceable(20) @__const._ZN5ImGui14ShowDemoWindowEPb.values, i64 20, i1 false)
  call void @_ZN5ImGui13PlotHistogramEPKcPKfiiS1_ff6ImVec2i(ptr noundef nonnull @.str.497, ptr noundef nonnull %156, i32 noundef 5, i32 noundef 0, ptr noundef null, float noundef 0.000000e+00, float noundef 1.000000e+00, <2 x float> %1981, i32 noundef 4)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %157) #13
  %1982 = load float, ptr %155, align 8, !tbaa !64
  %1983 = call noundef nonnull align 4 dereferenceable(840) ptr @_ZN5ImGui8GetStyleEv()
  %1984 = getelementptr inbounds i8, ptr %1983, i64 68
  %1985 = load float, ptr %1984, align 4, !tbaa !63
  %1986 = fsub float %1982, %1985
  %1987 = fmul float %1986, 5.000000e-01
  %1988 = getelementptr inbounds i8, ptr %155, i64 4
  %1989 = load float, ptr %1988, align 4, !tbaa !66
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %157, float noundef %1987, float noundef %1989)
  %1990 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.498, ptr noundef nonnull align 4 dereferenceable(8) %157)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %157) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %158) #13
  %1991 = load float, ptr %155, align 8, !tbaa !64
  %1992 = call noundef nonnull align 4 dereferenceable(840) ptr @_ZN5ImGui8GetStyleEv()
  %1993 = getelementptr inbounds i8, ptr %1992, i64 68
  %1994 = load float, ptr %1993, align 4, !tbaa !63
  %1995 = fsub float %1991, %1994
  %1996 = fmul float %1995, 5.000000e-01
  %1997 = load float, ptr %1988, align 4, !tbaa !66
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %158, float noundef %1996, float noundef %1997)
  %1998 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.499, ptr noundef nonnull align 4 dereferenceable(8) %158)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %158) #13
  call void @_ZN5ImGui8EndGroupEv()
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %1999 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.500, ptr noundef nonnull align 4 dereferenceable(8) %155)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2000 = call noundef zeroext i1 @_ZN5ImGui13ListBoxHeaderEPKcRK6ImVec2(ptr noundef nonnull @.str.501, ptr noundef nonnull align 4 dereferenceable(8) %155)
  br i1 %2000, label %2001, label %2004

2001:                                             ; preds = %1980
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %159) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %159, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2002 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull @.str.502, i1 noundef zeroext true, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %159)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %159) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %160) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %160, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2003 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull @.str.503, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %160)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %160) #13
  call void @_ZN5ImGui13ListBoxFooterEv()
  br label %2004

2004:                                             ; preds = %2001, %1980
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %156) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %155) #13
  br label %2005

2005:                                             ; preds = %2004, %1970
  %2006 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.504)
  br i1 %2006, label %2007, label %2026

2007:                                             ; preds = %2005
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.505)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.506)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.507)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.149)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.149)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.507)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.506)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %161) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %161, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2008 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.508, ptr noundef nonnull align 4 dereferenceable(8) %161)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %161) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.149)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.507)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.149)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %162) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %162, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2009 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.509, ptr noundef nonnull align 4 dereferenceable(8) %162)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %162) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.507)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.149)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %163) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %163, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2010 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.510, ptr noundef nonnull align 4 dereferenceable(8) %163)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %163) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.511)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2011 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.512)
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.513)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %164) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %164, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2012 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.514, ptr noundef nonnull align 4 dereferenceable(8) %164)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %164) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.515)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2013 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.516)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %165) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %165, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2014 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.517, ptr noundef nonnull align 4 dereferenceable(8) %165)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %165) #13
  %2015 = call noundef nonnull align 4 dereferenceable(840) ptr @_ZN5ImGui8GetStyleEv()
  %2016 = getelementptr inbounds i8, ptr %2015, i64 76
  %2017 = load float, ptr %2016, align 4, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %166) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %166, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2018 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.518, ptr noundef nonnull align 4 dereferenceable(8) %166)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %166) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %2017)
  %2019 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.519)
  br i1 %2019, label %.preheader623.preheader, label %2020

.preheader623.preheader:                          ; preds = %2007
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.520, i32 noundef 0)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.520, i32 noundef 1)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.520, i32 noundef 2)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.520, i32 noundef 3)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.520, i32 noundef 4)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.520, i32 noundef 5)
  call void @_ZN5ImGui7TreePopEv()
  br label %2020

2020:                                             ; preds = %.preheader623.preheader, %2007
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  %2021 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.521)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %2017)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %167) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %167, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2022 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.522, ptr noundef nonnull align 4 dereferenceable(8) %167)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %167) #13
  br i1 %2021, label %.preheader622.preheader, label %2023

.preheader622.preheader:                          ; preds = %2020
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.520, i32 noundef 0)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.520, i32 noundef 1)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.520, i32 noundef 2)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.520, i32 noundef 3)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.520, i32 noundef 4)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.520, i32 noundef 5)
  call void @_ZN5ImGui7TreePopEv()
  br label %2023

2023:                                             ; preds = %.preheader622.preheader, %2020
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %168) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %168, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2024 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.523, ptr noundef nonnull align 4 dereferenceable(8) %168)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %168) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %2017)
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.524)
  call void @_ZN5ImGui23AlignTextToFramePaddingEv()
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.525)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef %2017)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %169) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %169, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2025 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.526, ptr noundef nonnull align 4 dereferenceable(8) %169)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %169) #13
  call void @_ZN5ImGui7TreePopEv()
  br label %2026

2026:                                             ; preds = %2023, %2005
  %2027 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.527)
  br i1 %2027, label %2028, label %2079

2028:                                             ; preds = %2026
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.528)
  %2029 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.529, 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)
  %2030 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef nonnull @.str.530, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE10track_line, float noundef 2.500000e-01, i32 noundef 0, i32 noundef 99, ptr noundef nonnull @.str.531)
  %2031 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !5, !range !9, !noundef !10
  %2032 = zext i1 %2030 to i8
  %2033 = or i8 %2031, %2032
  store i8 %2033, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %170) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %170, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2034 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.532, ptr noundef nonnull align 4 dereferenceable(8) %170)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %170) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 1.300000e+02, float noundef -1.000000e+00)
  %2035 = call noundef zeroext i1 @_ZN5ImGui7DragIntEPKcPifiiS1_(ptr noundef nonnull @.str.533, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE12scroll_to_px, float noundef 1.000000e+00, i32 noundef 0, i32 noundef 9999, ptr noundef nonnull @.str.534)
  %2036 = or i1 %2034, %2035
  call void @_ZN5ImGui12PopItemWidthEv()
  br i1 %2036, label %2037, label %2038

2037:                                             ; preds = %2028
  store i8 0, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !5
  br label %2038

2038:                                             ; preds = %2037, %2028
  %2039 = getelementptr inbounds i8, ptr %172, i64 8
  br label %2041

2040:                                             ; preds = %2062
  call void @_ZN5ImGui7TreePopEv()
  br label %2079

2041:                                             ; preds = %2038, %2062
  %indvars.iv774 = phi i64 [ 0, %2038 ], [ %indvars.iv.next775, %2062 ]
  %.not583 = icmp eq i64 %indvars.iv774, 0
  br i1 %.not583, label %.thread617, label %2042

.thread617:                                       ; preds = %2041
  call void @_ZN5ImGui10BeginGroupEv()
  br label %.fold.split

2042:                                             ; preds = %2041
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZN5ImGui10BeginGroupEv()
  %2043 = trunc nuw nsw i64 %indvars.iv774 to i32
  switch i32 %2043, label %2044 [
    i32 2, label %.fold.split604
    i32 1, label %.fold.split
  ]

2044:                                             ; preds = %2042
  %2045 = icmp eq i64 %indvars.iv774, 3
  %2046 = select i1 %2045, ptr @.str.539, ptr @.str.540
  br label %.fold.split

.fold.split604:                                   ; preds = %2042
  br label %.fold.split

.fold.split:                                      ; preds = %2042, %.thread617, %.fold.split604, %2044
  %2047 = phi ptr [ %2046, %2044 ], [ @.str.538, %.fold.split604 ], [ @.str.536, %.thread617 ], [ @.str.537, %2042 ]
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.535, ptr noundef nonnull %2047)
  %2048 = inttoptr i64 %indvars.iv774 to ptr
  %2049 = call noundef i32 @_ZN5ImGui5GetIDEPKv(ptr noundef %2048)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %171) #13
  %2050 = call noundef float @_ZN5ImGui14GetWindowWidthEv()
  %2051 = fmul float %2050, 0x3FC5C28F60000000
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %171, float noundef %2051, float noundef 2.000000e+02)
  %2052 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEjRK6ImVec2bi(i32 noundef %2049, ptr noundef nonnull align 4 dereferenceable(8) %171, i1 noundef zeroext true, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %171) #13
  br i1 %2036, label %2053, label %.fold.split._crit_edge

.fold.split._crit_edge:                           ; preds = %.fold.split
  %.pre890 = trunc nuw nsw i64 %indvars.iv774 to i32
  %.pre892 = uitofp nneg i32 %.pre890 to float
  %.pre894 = fmul float %.pre892, 2.500000e-01
  br label %2061

2053:                                             ; preds = %.fold.split
  %2054 = call <2 x float> @_ZN5ImGui17GetCursorStartPosEv()
  %.sroa.0169.4.vec.extract = extractelement <2 x float> %2054, i64 1
  %2055 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE12scroll_to_px, align 4, !tbaa !18
  %2056 = sitofp i32 %2055 to float
  %2057 = fadd float %.sroa.0169.4.vec.extract, %2056
  %2058 = trunc nuw nsw i64 %indvars.iv774 to i32
  %2059 = uitofp nneg i32 %2058 to float
  %2060 = fmul float %2059, 2.500000e-01
  call void @_ZN5ImGui17SetScrollFromPosYEff(float noundef %2057, float noundef %2060)
  br label %2061

2061:                                             ; preds = %.fold.split._crit_edge, %2053
  %.pre-phi895 = phi float [ %.pre894, %.fold.split._crit_edge ], [ %2060, %2053 ]
  br label %2067

2062:                                             ; preds = %2077
  %2063 = call noundef float @_ZN5ImGui10GetScrollYEv()
  %2064 = call noundef float @_ZN5ImGui13GetScrollMaxYEv()
  call void @_ZN5ImGui8EndChildEv()
  %2065 = fpext float %2063 to double
  %2066 = fpext float %2064 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.542, double noundef %2065, double noundef %2066)
  call void @_ZN5ImGui8EndGroupEv()
  %indvars.iv.next775 = add nuw nsw i64 %indvars.iv774, 1
  %exitcond777.not = icmp eq i64 %indvars.iv.next775, 5
  br i1 %exitcond777.not, label %2040, label %2041, !llvm.loop !67

2067:                                             ; preds = %2061, %2077
  %.0523658 = phi i32 [ 0, %2061 ], [ %2078, %2077 ]
  %2068 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5track, align 1, !tbaa !5, !range !9, !noundef !10
  %2069 = trunc nuw i8 %2068 to i1
  %2070 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE10track_line, align 4
  %2071 = icmp eq i32 %.0523658, %2070
  %or.cond606 = select i1 %2069, i1 %2071, i1 false
  br i1 %or.cond606, label %2072, label %2076

2072:                                             ; preds = %2067
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %172) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %173) #13
  call void @_ZN7ImColorC2Eiiii(ptr noundef nonnull align 4 dereferenceable(16) %173, i32 noundef 255, i32 noundef 255, i32 noundef 0, i32 noundef 255)
  %2073 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %173)
  %2074 = extractvalue { <2 x float>, <2 x float> } %2073, 0
  store <2 x float> %2074, ptr %172, align 8
  %2075 = extractvalue { <2 x float>, <2 x float> } %2073, 1
  store <2 x float> %2075, ptr %2039, align 8
  call void (ptr, ptr, ...) @_ZN5ImGui11TextColoredERK6ImVec4PKcz(ptr noundef nonnull align 4 dereferenceable(16) %172, ptr noundef nonnull @.str.541, i32 noundef %.0523658)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %173) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %172) #13
  call void @_ZN5ImGui14SetScrollHereYEf(float noundef %.pre-phi895)
  br label %2077

2076:                                             ; preds = %2067
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.541, i32 noundef %.0523658)
  br label %2077

2077:                                             ; preds = %2072, %2076
  %2078 = add nuw nsw i32 %.0523658, 1
  %exitcond773.not = icmp eq i32 %2078, 100
  br i1 %exitcond773.not, label %2062, label %2067, !llvm.loop !68

2079:                                             ; preds = %2040, %2026
  %2080 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.543)
  br i1 %2080, label %2081, label %2187

2081:                                             ; preds = %2079
  call void @_ZN5ImGui6BulletEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.544)
  call void @_ZN5ImGui6BulletEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.545)
  %2082 = call noundef zeroext i1 @_ZN5ImGui9SliderIntEPKcPiiiS1_(ptr noundef nonnull @.str.255, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5lines, i32 noundef 1, i32 noundef 15, ptr noundef nonnull @.str.95)
  call void @_ZN5ImGui12PushStyleVarEif(i32 noundef 11, float noundef 3.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %174) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %174, float noundef 2.000000e+00, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef 10, ptr noundef nonnull align 4 dereferenceable(8) %174)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %174) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %175) #13
  %2083 = call noundef float @_ZN5ImGui25GetFrameHeightWithSpacingEv()
  %2084 = call float @llvm.fmuladd.f32(float %2083, float 7.000000e+00, float 3.000000e+01)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %175, float noundef 0.000000e+00, float noundef %2084)
  %2085 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef nonnull @.str.546, ptr noundef nonnull align 4 dereferenceable(8) %175, i1 noundef zeroext true, i32 noundef 2048)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %175) #13
  %2086 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5lines, align 4, !tbaa !18
  %2087 = icmp sgt i32 %2086, 0
  br i1 %2087, label %.lr.ph663, label %._crit_edge664

.lr.ph663:                                        ; preds = %2081
  %2088 = getelementptr inbounds i8, ptr %178, i64 8
  %2089 = getelementptr inbounds i8, ptr %177, i64 8
  %2090 = getelementptr inbounds i8, ptr %180, i64 8
  %2091 = getelementptr inbounds i8, ptr %179, i64 8
  %2092 = getelementptr inbounds i8, ptr %182, i64 8
  %2093 = getelementptr inbounds i8, ptr %181, i64 8
  br label %2098

._crit_edge664:                                   ; preds = %.loopexit783, %2081
  %2094 = call noundef float @_ZN5ImGui10GetScrollXEv()
  %2095 = call noundef float @_ZN5ImGui13GetScrollMaxXEv()
  call void @_ZN5ImGui8EndChildEv()
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 2)
  %2096 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.550)
  %2097 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %2097, label %2165, label %2170

2098:                                             ; preds = %.lr.ph663, %.loopexit783
  %.0519661 = phi i32 [ 0, %.lr.ph663 ], [ %2126, %.loopexit783 ]
  %2099 = and i32 %.0519661, 1
  %.not578 = icmp eq i32 %2099, 0
  %.v = select i1 %.not578, i32 3, i32 9
  %2100 = mul nuw nsw i32 %.0519661, 1000
  %2101 = mul i32 %.v, %.0519661
  %2102 = add i32 %2101, 10
  call void @_ZN5ImGui6PushIDEi(i32 noundef %2100)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %176) #13
  %2103 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %176, ptr noundef nonnull dereferenceable(1) @.str.95, i32 noundef 0) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %177) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %178) #13
  %2104 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FE3333340000000, float noundef 0x3FE3333340000000, float noundef 1.000000e+00)
  %2105 = extractvalue { <2 x float>, <2 x float> } %2104, 0
  store <2 x float> %2105, ptr %178, align 8
  %2106 = extractvalue { <2 x float>, <2 x float> } %2104, 1
  store <2 x float> %2106, ptr %2088, align 8
  %2107 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %178)
  %2108 = extractvalue { <2 x float>, <2 x float> } %2107, 0
  store <2 x float> %2108, ptr %177, align 8
  %2109 = extractvalue { <2 x float>, <2 x float> } %2107, 1
  store <2 x float> %2109, ptr %2089, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 21, ptr noundef nonnull align 4 dereferenceable(16) %177)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %178) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %177) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %179) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %180) #13
  %2110 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FE6666660000000, float noundef 0x3FE6666660000000, float noundef 1.000000e+00)
  %2111 = extractvalue { <2 x float>, <2 x float> } %2110, 0
  store <2 x float> %2111, ptr %180, align 8
  %2112 = extractvalue { <2 x float>, <2 x float> } %2110, 1
  store <2 x float> %2112, ptr %2090, align 8
  %2113 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %180)
  %2114 = extractvalue { <2 x float>, <2 x float> } %2113, 0
  store <2 x float> %2114, ptr %179, align 8
  %2115 = extractvalue { <2 x float>, <2 x float> } %2113, 1
  store <2 x float> %2115, ptr %2091, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 22, ptr noundef nonnull align 4 dereferenceable(16) %179)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %180) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %179) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %181) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %182) #13
  %2116 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef 0.000000e+00, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, float noundef 1.000000e+00)
  %2117 = extractvalue { <2 x float>, <2 x float> } %2116, 0
  store <2 x float> %2117, ptr %182, align 8
  %2118 = extractvalue { <2 x float>, <2 x float> } %2116, 1
  store <2 x float> %2118, ptr %2092, align 8
  %2119 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %182)
  %2120 = extractvalue { <2 x float>, <2 x float> } %2119, 0
  store <2 x float> %2120, ptr %181, align 8
  %2121 = extractvalue { <2 x float>, <2 x float> } %2119, 1
  store <2 x float> %2121, ptr %2093, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 23, ptr noundef nonnull align 4 dereferenceable(16) %181)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %182) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %181) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %183) #13
  %2122 = uitofp nneg i32 %.0519661 to float
  %2123 = call float @sinf(float noundef %2122) #13
  %2124 = call float @llvm.fmuladd.f32(float %2123, float 2.000000e+01, float 4.000000e+01)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %183, float noundef %2124, float noundef 0.000000e+00)
  %2125 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.547, ptr noundef nonnull align 4 dereferenceable(8) %183)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %183) #13
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 3)
  call void @_ZN5ImGui5PopIDEv()
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %176) #13
  %exitcond778.peel.not = icmp ult i32 %2102, 2
  br i1 %exitcond778.peel.not, label %.loopexit783, label %.peel.next780

.loopexit783:                                     ; preds = %2137, %2098
  %2126 = add nuw nsw i32 %.0519661, 1
  %2127 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5lines, align 4, !tbaa !18
  %2128 = icmp slt i32 %2126, %2127
  br i1 %2128, label %2098, label %._crit_edge664, !llvm.loop !69

.peel.next780:                                    ; preds = %2098, %2137
  %.0517660 = phi i32 [ %2164, %2137 ], [ 1, %2098 ]
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2129 = add nuw nsw i32 %.0517660, %2100
  call void @_ZN5ImGui6PushIDEi(i32 noundef %2129)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %176) #13
  %2130 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %176, ptr noundef nonnull dereferenceable(1) @.str.95, i32 noundef %.0517660) #13
  %2131 = urem i32 %.0517660, 15
  %.not580 = icmp eq i32 %2131, 0
  br i1 %.not580, label %2137, label %2132

2132:                                             ; preds = %.peel.next780
  %2133 = urem i32 %.0517660, 3
  %.not581 = icmp eq i32 %2133, 0
  br i1 %.not581, label %2137, label %2134

2134:                                             ; preds = %2132
  %2135 = urem i32 %.0517660, 5
  %.not582 = icmp eq i32 %2135, 0
  %2136 = select i1 %.not582, ptr @.str.549, ptr %176
  br label %2137

2137:                                             ; preds = %2134, %2132, %.peel.next780
  %2138 = phi ptr [ @.str.547, %.peel.next780 ], [ %2136, %2134 ], [ @.str.548, %2132 ]
  %2139 = uitofp nneg i32 %.0517660 to float
  %2140 = fmul float %2139, 0x3FA99999A0000000
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %177) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %178) #13
  %2141 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %2140, float noundef 0x3FE3333340000000, float noundef 0x3FE3333340000000, float noundef 1.000000e+00)
  %2142 = extractvalue { <2 x float>, <2 x float> } %2141, 0
  store <2 x float> %2142, ptr %178, align 8
  %2143 = extractvalue { <2 x float>, <2 x float> } %2141, 1
  store <2 x float> %2143, ptr %2088, align 8
  %2144 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %178)
  %2145 = extractvalue { <2 x float>, <2 x float> } %2144, 0
  store <2 x float> %2145, ptr %177, align 8
  %2146 = extractvalue { <2 x float>, <2 x float> } %2144, 1
  store <2 x float> %2146, ptr %2089, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 21, ptr noundef nonnull align 4 dereferenceable(16) %177)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %178) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %177) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %179) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %180) #13
  %2147 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %2140, float noundef 0x3FE6666660000000, float noundef 0x3FE6666660000000, float noundef 1.000000e+00)
  %2148 = extractvalue { <2 x float>, <2 x float> } %2147, 0
  store <2 x float> %2148, ptr %180, align 8
  %2149 = extractvalue { <2 x float>, <2 x float> } %2147, 1
  store <2 x float> %2149, ptr %2090, align 8
  %2150 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %180)
  %2151 = extractvalue { <2 x float>, <2 x float> } %2150, 0
  store <2 x float> %2151, ptr %179, align 8
  %2152 = extractvalue { <2 x float>, <2 x float> } %2150, 1
  store <2 x float> %2152, ptr %2091, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 22, ptr noundef nonnull align 4 dereferenceable(16) %179)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %180) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %179) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %181) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %182) #13
  %2153 = call { <2 x float>, <2 x float> } @_ZN7ImColor3HSVEffff(float noundef %2140, float noundef 0x3FE99999A0000000, float noundef 0x3FE99999A0000000, float noundef 1.000000e+00)
  %2154 = extractvalue { <2 x float>, <2 x float> } %2153, 0
  store <2 x float> %2154, ptr %182, align 8
  %2155 = extractvalue { <2 x float>, <2 x float> } %2153, 1
  store <2 x float> %2155, ptr %2092, align 8
  %2156 = call { <2 x float>, <2 x float> } @_ZNK7ImColorcv6ImVec4Ev(ptr noundef nonnull align 4 dereferenceable(16) %182)
  %2157 = extractvalue { <2 x float>, <2 x float> } %2156, 0
  store <2 x float> %2157, ptr %181, align 8
  %2158 = extractvalue { <2 x float>, <2 x float> } %2156, 1
  store <2 x float> %2158, ptr %2093, align 8
  call void @_ZN5ImGui14PushStyleColorEiRK6ImVec4(i32 noundef 23, ptr noundef nonnull align 4 dereferenceable(16) %181)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %182) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %181) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %183) #13
  %2159 = add nuw nsw i32 %.0517660, %.0519661
  %2160 = uitofp nneg i32 %2159 to float
  %2161 = call float @sinf(float noundef %2160) #13
  %2162 = call float @llvm.fmuladd.f32(float %2161, float 2.000000e+01, float 4.000000e+01)
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %183, float noundef %2162, float noundef 0.000000e+00)
  %2163 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef %2138, ptr noundef nonnull align 4 dereferenceable(8) %183)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %183) #13
  call void @_ZN5ImGui13PopStyleColorEi(i32 noundef 3)
  call void @_ZN5ImGui5PopIDEv()
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %176) #13
  %2164 = add nuw i32 %.0517660, 1
  %exitcond778.not = icmp eq i32 %2102, %2164
  br i1 %exitcond778.not, label %.loopexit783, label %.peel.next780, !llvm.loop !70

2165:                                             ; preds = %._crit_edge664
  %2166 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %2167 = getelementptr inbounds i8, ptr %2166, i64 16
  %2168 = load float, ptr %2167, align 8, !tbaa !44
  %2169 = fmul float %2168, -1.000000e+03
  br label %2170

2170:                                             ; preds = %2165, %._crit_edge664
  %.0511 = phi float [ %2169, %2165 ], [ 0.000000e+00, %._crit_edge664 ]
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.551)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2171 = call noundef zeroext i1 @_ZN5ImGui11SmallButtonEPKc(ptr noundef nonnull @.str.552)
  %2172 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %2172, label %2173, label %2178

2173:                                             ; preds = %2170
  %2174 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %2175 = getelementptr inbounds i8, ptr %2174, i64 16
  %2176 = load float, ptr %2175, align 8, !tbaa !44
  %2177 = fmul float %2176, 1.000000e+03
  br label %2178

2178:                                             ; preds = %2173, %2170
  %.1512 = phi float [ %2177, %2173 ], [ %.0511, %2170 ]
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2179 = fpext float %2094 to double
  %2180 = fpext float %2095 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.553, double noundef %2179, double noundef %2180)
  %2181 = fcmp une float %.1512, 0.000000e+00
  br i1 %2181, label %2182, label %2186

2182:                                             ; preds = %2178
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %184) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %184, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2183 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef nonnull @.str.546, ptr noundef nonnull align 4 dereferenceable(8) %184, i1 noundef zeroext false, i32 noundef 0)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %184) #13
  %2184 = call noundef float @_ZN5ImGui10GetScrollXEv()
  %2185 = fadd float %.1512, %2184
  call void @_ZN5ImGui10SetScrollXEf(float noundef %2185)
  call void @_ZN5ImGui3EndEv()
  br label %2186

2186:                                             ; preds = %2182, %2178
  call void @_ZN5ImGui7TreePopEv()
  br label %2187

2187:                                             ; preds = %2186, %2079
  %2188 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.554)
  br i1 %2188, label %2189, label %2244

2189:                                             ; preds = %2187
  %2190 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE4size acquire, align 8
  %2191 = icmp eq i8 %2190, 0
  br i1 %2191, label %2192, label %2195, !prof !37

2192:                                             ; preds = %2189
  %2193 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE4size) #13
  %.not571 = icmp eq i32 %2193, 0
  br i1 %.not571, label %2195, label %2194

2194:                                             ; preds = %2192
  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) #13
  br label %2195

2195:                                             ; preds = %2194, %2192, %2189
  %2196 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6offset acquire, align 8
  %2197 = icmp eq i8 %2196, 0
  br i1 %2197, label %2198, label %2201, !prof !37

2198:                                             ; preds = %2195
  %2199 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE6offset) #13
  %.not572 = icmp eq i32 %2199, 0
  br i1 %.not572, label %2201, label %2200

2200:                                             ; preds = %2198
  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) #13
  br label %2201

2201:                                             ; preds = %2200, %2198, %2195
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.555)
  %2202 = call noundef zeroext i1 @_ZN5ImGui10DragFloat2EPKcPffffS1_f(ptr noundef nonnull @.str.556, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4size, float noundef 5.000000e-01, float noundef 0.000000e+00, float noundef 2.000000e+02, ptr noundef nonnull @.str.190, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.557)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %185) #13
  %2203 = call <2 x float> @_ZN5ImGui18GetCursorScreenPosEv()
  store <2 x float> %2203, ptr %185, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %186) #13
  %2204 = extractelement <2 x float> %2203, i64 0
  %2205 = getelementptr inbounds i8, ptr %185, i64 4
  %2206 = extractelement <2 x float> %2203, i64 1
  %2207 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, align 4, !tbaa !64
  %2208 = fadd float %2204, %2207
  %2209 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, i64 4), align 4, !tbaa !66
  %2210 = fadd float %2206, %2209
  call void @_ZN6ImVec4C2Effff(ptr noundef nonnull align 4 dereferenceable(16) %186, float noundef %2204, float noundef %2206, float noundef %2208, float noundef %2210)
  %2211 = call noundef zeroext i1 @_ZN5ImGui15InvisibleButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.558, ptr noundef nonnull align 4 dereferenceable(8) @_ZZN5ImGui14ShowDemoWindowEPbE4size)
  %2212 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %2212, label %2213, label %2226

2213:                                             ; preds = %2201
  %2214 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 0, float noundef -1.000000e+00)
  br i1 %2214, label %2215, label %2226

2215:                                             ; preds = %2213
  %2216 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %2217 = getelementptr inbounds i8, ptr %2216, i64 948
  %2218 = load float, ptr %2217, align 4, !tbaa !71
  %2219 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, align 4, !tbaa !64
  %2220 = fadd float %2218, %2219
  store float %2220, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, align 4, !tbaa !64
  %2221 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %2222 = getelementptr inbounds i8, ptr %2221, i64 952
  %2223 = load float, ptr %2222, align 8, !tbaa !72
  %2224 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, i64 4), align 4, !tbaa !66
  %2225 = fadd float %2223, %2224
  store float %2225, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, i64 4), align 4, !tbaa !66
  br label %2226

2226:                                             ; preds = %2215, %2213, %2201
  %2227 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %187) #13
  %2228 = load float, ptr %185, align 8, !tbaa !64
  %2229 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, align 4, !tbaa !64
  %2230 = fadd float %2228, %2229
  %2231 = load float, ptr %2205, align 4, !tbaa !66
  %2232 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE4size, i64 4), align 4, !tbaa !66
  %2233 = fadd float %2231, %2232
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %187, float noundef %2230, float noundef %2233)
  call void @_ZN10ImDrawList13AddRectFilledERK6ImVec2S2_jfi(ptr noundef nonnull align 8 dereferenceable(168) %2227, ptr noundef nonnull align 4 dereferenceable(8) %185, ptr noundef nonnull align 4 dereferenceable(8) %187, i32 noundef -8889766, float noundef 0.000000e+00, i32 noundef 15)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %187) #13
  %2234 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  %2235 = call noundef ptr @_ZN5ImGui7GetFontEv()
  %2236 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %2237 = fmul float %2236, 2.000000e+00
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %188) #13
  %2238 = load float, ptr %185, align 8, !tbaa !64
  %2239 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, align 4, !tbaa !64
  %2240 = fadd float %2238, %2239
  %2241 = load float, ptr %2205, align 4, !tbaa !66
  %2242 = load float, ptr getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE6offset, i64 4), align 4, !tbaa !66
  %2243 = fadd float %2241, %2242
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %188, float noundef %2240, float noundef %2243)
  call void @_ZN10ImDrawList7AddTextEPK6ImFontfRK6ImVec2jPKcS7_fPK6ImVec4(ptr noundef nonnull align 8 dereferenceable(168) %2234, ptr noundef %2235, float noundef %2237, ptr noundef nonnull align 4 dereferenceable(8) %188, i32 noundef -1, ptr noundef nonnull @.str.559, ptr noundef null, float noundef 0.000000e+00, ptr noundef nonnull %186)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %188) #13
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %186) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %185) #13
  br label %2244

2244:                                             ; preds = %2187, %2226, %1868
  %2245 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.560, i32 noundef 0)
  br i1 %2245, label %2246, label %2392

2246:                                             ; preds = %2244
  %2247 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.561)
  br i1 %2247, label %2248, label %2325

2248:                                             ; preds = %2246
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.562)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %189) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %189, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2249 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.568, ptr noundef nonnull align 4 dereferenceable(8) %189)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %189) #13
  br i1 %2249, label %2250, label %2251

2250:                                             ; preds = %2248
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.569)
  br label %2251

2251:                                             ; preds = %2250, %2248
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2252 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !18
  %2253 = icmp eq i32 %2252, -1
  br i1 %2253, label %2258, label %2254

2254:                                             ; preds = %2251
  %2255 = sext i32 %2252 to i64
  %2256 = getelementptr inbounds [5 x ptr], ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 0, i64 %2255
  %2257 = load ptr, ptr %2256, align 8, !tbaa !38
  br label %2258

2258:                                             ; preds = %2251, %2254
  %2259 = phi ptr [ %2257, %2254 ], [ @.str.570, %2251 ]
  call void @_ZN5ImGui15TextUnformattedEPKcS1_(ptr noundef %2259, ptr noundef null)
  %2260 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef nonnull @.str.569, i32 noundef 0)
  br i1 %2260, label %2261, label %2282

2261:                                             ; preds = %2258
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.571)
  call void @_ZN5ImGui9SeparatorEv()
  %2262 = load ptr, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, align 16, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %190) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %190, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2263 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %2262, 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) #13
  br i1 %2263, label %2264, label %2265

2264:                                             ; preds = %2261
  store i32 0, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !18
  br label %2265

2265:                                             ; preds = %2261, %2264
  %2266 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 8), align 8, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %190) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %190, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2267 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %2266, 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) #13
  br i1 %2267, label %2268, label %2269

2268:                                             ; preds = %2265
  store i32 1, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !18
  br label %2269

2269:                                             ; preds = %2268, %2265
  %2270 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 16), align 16, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %190) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %190, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2271 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %2270, 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) #13
  br i1 %2271, label %2272, label %2273

2272:                                             ; preds = %2269
  store i32 2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !18
  br label %2273

2273:                                             ; preds = %2272, %2269
  %2274 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 24), align 8, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %190) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %190, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2275 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %2274, 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) #13
  br i1 %2275, label %2276, label %2277

2276:                                             ; preds = %2273
  store i32 3, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !18
  br label %2277

2277:                                             ; preds = %2276, %2273
  %2278 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 32), align 16, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %190) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %190, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2279 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef %2278, 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) #13
  br i1 %2279, label %2280, label %2281

2280:                                             ; preds = %2277
  store i32 4, ptr @_ZZN5ImGui14ShowDemoWindowEPbE13selected_fish, align 4, !tbaa !18
  br label %2281

2281:                                             ; preds = %2280, %2277
  call void @_ZN5ImGui8EndPopupEv()
  br label %2282

2282:                                             ; preds = %2281, %2258
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %191) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %191, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2283 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.572, ptr noundef nonnull align 4 dereferenceable(8) %191)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %191) #13
  br i1 %2283, label %2284, label %2285

2284:                                             ; preds = %2282
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.573)
  br label %2285

2285:                                             ; preds = %2284, %2282
  %2286 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef nonnull @.str.573, i32 noundef 0)
  br i1 %2286, label %.preheader621.preheader, label %2318

.preheader621.preheader:                          ; preds = %2285
  %2287 = load ptr, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, align 16, !tbaa !38
  %2288 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2287, ptr noundef nonnull @.str.390, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i1 noundef zeroext true)
  %2289 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 8), align 8, !tbaa !38
  %2290 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2289, ptr noundef nonnull @.str.390, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 1), i1 noundef zeroext true)
  %2291 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 16), align 16, !tbaa !38
  %2292 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2291, ptr noundef nonnull @.str.390, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 2), i1 noundef zeroext true)
  %2293 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 24), align 8, !tbaa !38
  %2294 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2293, ptr noundef nonnull @.str.390, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 3), i1 noundef zeroext true)
  %2295 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names, i64 32), align 16, !tbaa !38
  %2296 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2295, ptr noundef nonnull @.str.390, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 4), i1 noundef zeroext true)
  %2297 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef nonnull @.str.574, i1 noundef zeroext true)
  br i1 %2297, label %2298, label %2300

2298:                                             ; preds = %.preheader621.preheader
  %2299 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef nonnull @.str.575, ptr noundef null, i1 noundef zeroext false, i1 noundef zeroext true)
  call void @_ZN5ImGui7EndMenuEv()
  br label %2300

2300:                                             ; preds = %2298, %.preheader621.preheader
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.576)
  %2301 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %2301, label %2302, label %2303

2302:                                             ; preds = %2300
  call void (ptr, ...) @_ZN5ImGui10SetTooltipEPKcz(ptr noundef nonnull @.str.577)
  br label %2303

2303:                                             ; preds = %2302, %2300
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %192) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %192, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2304 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.578, ptr noundef nonnull align 4 dereferenceable(8) %192)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %192) #13
  br i1 %2304, label %2305, label %2306

2305:                                             ; preds = %2303
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.579)
  br label %2306

2306:                                             ; preds = %2305, %2303
  %2307 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef nonnull @.str.579, i32 noundef 0)
  br i1 %2307, label %.preheader620.preheader, label %2317

.preheader620.preheader:                          ; preds = %2306
  %2308 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2287, ptr noundef nonnull @.str.390, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i1 noundef zeroext true)
  %2309 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2289, ptr noundef nonnull @.str.390, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 1), i1 noundef zeroext true)
  %2310 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2291, ptr noundef nonnull @.str.390, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 2), i1 noundef zeroext true)
  %2311 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2293, ptr noundef nonnull @.str.390, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 3), i1 noundef zeroext true)
  %2312 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %2295, ptr noundef nonnull @.str.390, ptr noundef nonnull getelementptr inbounds (i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE7toggles, i64 4), i1 noundef zeroext true)
  %2313 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef nonnull @.str.574, i1 noundef zeroext true)
  br i1 %2313, label %2314, label %2316

2314:                                             ; preds = %.preheader620.preheader
  %2315 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef nonnull @.str.575, ptr noundef null, i1 noundef zeroext false, i1 noundef zeroext true)
  call void @_ZN5ImGui7EndMenuEv()
  br label %2316

2316:                                             ; preds = %2314, %.preheader620.preheader
  call void @_ZN5ImGui8EndPopupEv()
  br label %2317

2317:                                             ; preds = %2316, %2306
  call void @_ZN5ImGui8EndPopupEv()
  br label %2318

2318:                                             ; preds = %2317, %2285
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %193) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %193, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2319 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.580, ptr noundef nonnull align 4 dereferenceable(8) %193)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %193) #13
  br i1 %2319, label %2320, label %2321

2320:                                             ; preds = %2318
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.581)
  br label %2321

2321:                                             ; preds = %2320, %2318
  %2322 = call noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef nonnull @.str.581, i32 noundef 0)
  br i1 %2322, label %2323, label %2324

2323:                                             ; preds = %2321
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui8EndPopupEv()
  br label %2324

2324:                                             ; preds = %2323, %2321
  call void @_ZN5ImGui7TreePopEv()
  br label %2325

2325:                                             ; preds = %2324, %2246
  %2326 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.582)
  br i1 %2326, label %2327, label %2349

2327:                                             ; preds = %2325
  %2328 = load float, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5value, align 4, !tbaa !25
  %2329 = fpext float %2328 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.583, double noundef %2329)
  %2330 = call noundef zeroext i1 @_ZN5ImGui21BeginPopupContextItemEPKci(ptr noundef nonnull @.str.584, i32 noundef 1)
  br i1 %2330, label %2331, label %2339

2331:                                             ; preds = %2327
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %194) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %194, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2332 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull @.str.585, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %194)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %194) #13
  br i1 %2332, label %2333, label %2334

2333:                                             ; preds = %2331
  store float 0.000000e+00, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5value, align 4, !tbaa !25
  br label %2334

2334:                                             ; preds = %2333, %2331
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %195) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %195, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2335 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull @.str.586, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %195)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %195) #13
  br i1 %2335, label %2336, label %2337

2336:                                             ; preds = %2334
  store float 0x400921CAC0000000, ptr @_ZZN5ImGui14ShowDemoWindowEPbE5value, align 4, !tbaa !25
  br label %2337

2337:                                             ; preds = %2336, %2334
  call void @_ZN5ImGui13PushItemWidthEf(float noundef -1.000000e+00)
  %2338 = call noundef zeroext i1 @_ZN5ImGui9DragFloatEPKcPffffS1_f(ptr noundef nonnull @.str.587, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5value, float noundef 0x3FB99999A0000000, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  call void @_ZN5ImGui12PopItemWidthEv()
  call void @_ZN5ImGui8EndPopupEv()
  br label %2339

2339:                                             ; preds = %2337, %2327
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %196) #13
  %2340 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %196, ptr noundef nonnull dereferenceable(1) @.str.588, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4name) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %197) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %197, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2341 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull %196, ptr noundef nonnull align 4 dereferenceable(8) %197)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %197) #13
  %2342 = call noundef zeroext i1 @_ZN5ImGui21BeginPopupContextItemEPKci(ptr noundef null, i32 noundef 1)
  br i1 %2342, label %2343, label %2348

2343:                                             ; preds = %2339
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.589)
  %2344 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.590, 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 %198) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %198, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2345 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.436, ptr noundef nonnull align 4 dereferenceable(8) %198)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %198) #13
  br i1 %2345, label %2346, label %2347

2346:                                             ; preds = %2343
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2347

2347:                                             ; preds = %2346, %2343
  call void @_ZN5ImGui8EndPopupEv()
  br label %2348

2348:                                             ; preds = %2347, %2339
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.591)
  call void @_ZN5ImGui7TreePopEv()
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %196) #13
  br label %2349

2349:                                             ; preds = %2348, %2325
  %2350 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.592)
  br i1 %2350, label %2351, label %2385

2351:                                             ; preds = %2349
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.593)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %199) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %199, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2352 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.594, ptr noundef nonnull align 4 dereferenceable(8) %199)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %199) #13
  br i1 %2352, label %2353, label %2354

2353:                                             ; preds = %2351
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.595)
  br label %2354

2354:                                             ; preds = %2353, %2351
  %2355 = call noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef nonnull @.str.595, ptr noundef null, i32 noundef 64)
  br i1 %2355, label %2356, label %2364

2356:                                             ; preds = %2354
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.596)
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %200) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %200, float noundef 0.000000e+00, float noundef 0.000000e+00)
  call void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef 10, ptr noundef nonnull align 4 dereferenceable(8) %200)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %200) #13
  %2357 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.597, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE21dont_ask_me_next_time)
  call void @_ZN5ImGui11PopStyleVarEi(i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %201) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %201, float noundef 1.200000e+02, float noundef 0.000000e+00)
  %2358 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.598, ptr noundef nonnull align 4 dereferenceable(8) %201)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %201) #13
  br i1 %2358, label %2359, label %2360

2359:                                             ; preds = %2356
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2360

2360:                                             ; preds = %2359, %2356
  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 %202) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %202, float noundef 1.200000e+02, float noundef 0.000000e+00)
  %2361 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.599, ptr noundef nonnull align 4 dereferenceable(8) %202)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %202) #13
  br i1 %2361, label %2362, label %2363

2362:                                             ; preds = %2360
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2363

2363:                                             ; preds = %2362, %2360
  call void @_ZN5ImGui8EndPopupEv()
  br label %2364

2364:                                             ; preds = %2363, %2354
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %203, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2365 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.600, ptr noundef nonnull align 4 dereferenceable(8) %203)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #13
  br i1 %2365, label %2366, label %2367

2366:                                             ; preds = %2364
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.601)
  br label %2367

2367:                                             ; preds = %2366, %2364
  %2368 = call noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef nonnull @.str.601, ptr noundef null, i32 noundef 0)
  br i1 %2368, label %2369, label %2384

2369:                                             ; preds = %2367
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.602)
  %2370 = call noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiS1_i(ptr noundef nonnull @.str.207, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE4item_0, ptr noundef nonnull @.str.214, i32 noundef -1)
  %2371 = call noundef zeroext i1 @_ZN5ImGui10ColorEdit4EPKcPfi(ptr noundef nonnull @.str.603, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE5color_0, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %204) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %204, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2372 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.604, ptr noundef nonnull align 4 dereferenceable(8) %204)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %204) #13
  br i1 %2372, label %2373, label %2374

2373:                                             ; preds = %2369
  call void @_ZN5ImGui9OpenPopupEPKc(ptr noundef nonnull @.str.605)
  br label %2374

2374:                                             ; preds = %2373, %2369
  %2375 = call noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef nonnull @.str.605, ptr noundef null, i32 noundef 0)
  br i1 %2375, label %2376, label %2380

2376:                                             ; preds = %2374
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.606)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %205) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %205, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2377 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.436, ptr noundef nonnull align 4 dereferenceable(8) %205)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %205) #13
  br i1 %2377, label %2378, label %2379

2378:                                             ; preds = %2376
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2379

2379:                                             ; preds = %2378, %2376
  call void @_ZN5ImGui8EndPopupEv()
  br label %2380

2380:                                             ; preds = %2379, %2374
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %206) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %206, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2381 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.436, ptr noundef nonnull align 4 dereferenceable(8) %206)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %206) #13
  br i1 %2381, label %2382, label %2383

2382:                                             ; preds = %2380
  call void @_ZN5ImGui17CloseCurrentPopupEv()
  br label %2383

2383:                                             ; preds = %2382, %2380
  call void @_ZN5ImGui8EndPopupEv()
  br label %2384

2384:                                             ; preds = %2383, %2367
  call void @_ZN5ImGui7TreePopEv()
  br label %2385

2385:                                             ; preds = %2384, %2349
  %2386 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.607)
  br i1 %2386, label %2387, label %2392

2387:                                             ; preds = %2385
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.608)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef nonnull @.str.609)
  %2388 = call noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_bb(ptr noundef nonnull @.str.610, ptr noundef nonnull @.str.611, i1 noundef zeroext false, i1 noundef zeroext true)
  %2389 = call noundef zeroext i1 @_ZN5ImGui9BeginMenuEPKcb(ptr noundef nonnull @.str.612, i1 noundef zeroext true)
  br i1 %2389, label %2390, label %2391

2390:                                             ; preds = %2387
  call void @_ZL19ShowExampleMenuFilev()
  call void @_ZN5ImGui7EndMenuEv()
  br label %2391

2391:                                             ; preds = %2390, %2387
  call void @_ZN5ImGui5PopIDEv()
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %2392

2392:                                             ; preds = %2385, %2391, %2244
  %2393 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.613, i32 noundef 0)
  br i1 %2393, label %2394, label %2673

2394:                                             ; preds = %2392
  call void @_ZN5ImGui6PushIDEPKc(ptr noundef nonnull @.str.613)
  %2395 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.84)
  br i1 %2395, label %2396, label %2455

2396:                                             ; preds = %2394
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.614)
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 3, ptr noundef nonnull @.str.615, i1 noundef zeroext false)
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #13
  %2397 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %207, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 0) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2398 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %207, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #13
  %2399 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %207, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 1) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2400 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %207, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #13
  %2401 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %207, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 2) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2402 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %207, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #13
  %2403 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %207, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 3) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2404 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %207, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #13
  %2405 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %207, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 4) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2406 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %207, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #13
  %2407 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %207, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 5) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2408 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %207, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #13
  %2409 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %207, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 6) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2410 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %207, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #13
  %2411 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %207, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 7) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2412 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %207, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #13
  %2413 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %207, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 8) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2414 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %207, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #13
  %2415 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %207, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 9) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2416 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %207, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #13
  %2417 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %207, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 10) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2418 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %207, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #13
  %2419 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %207, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 11) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2420 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %207, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #13
  %2421 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %207, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 12) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2422 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %207, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %207) #13
  %2423 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %207, ptr noundef nonnull dereferenceable(1) @.str.234, i32 noundef 13) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %208, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2424 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %207, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %208)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %208) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %207) #13
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.616)
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 4, ptr noundef nonnull @.str.617, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.618)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.619)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.620)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.621)
  call void @_ZN5ImGui10NextColumnEv()
  call void @_ZN5ImGui9SeparatorEv()
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %209) #13
  %2425 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %209, ptr noundef nonnull dereferenceable(1) @.str.629, i32 noundef 0) #13
  %2426 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !18
  %2427 = icmp eq i32 %2426, 0
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %210) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %210, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2428 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %209, i1 noundef zeroext %2427, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(8) %210)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %210) #13
  br i1 %2428, label %2429, label %2430

2429:                                             ; preds = %2396
  store i32 0, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !18
  br label %2430

2430:                                             ; preds = %2429, %2396
  %2431 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  call void @_ZN5ImGui10NextColumnEv()
  %2432 = load ptr, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names.625, align 16, !tbaa !38
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %2432)
  call void @_ZN5ImGui10NextColumnEv()
  %2433 = load ptr, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.paths, align 16, !tbaa !38
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %2433)
  call void @_ZN5ImGui10NextColumnEv()
  %2434 = zext i1 %2431 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.95, i32 noundef %2434)
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %209) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %209) #13
  %2435 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %209, ptr noundef nonnull dereferenceable(1) @.str.629, i32 noundef 1) #13
  %2436 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !18
  %2437 = icmp eq i32 %2436, 1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %210) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %210, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2438 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %209, i1 noundef zeroext %2437, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(8) %210)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %210) #13
  br i1 %2438, label %2439, label %2440

2439:                                             ; preds = %2430
  store i32 1, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !18
  br label %2440

2440:                                             ; preds = %2439, %2430
  %2441 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  call void @_ZN5ImGui10NextColumnEv()
  %2442 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names.625, i64 8), align 8, !tbaa !38
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %2442)
  call void @_ZN5ImGui10NextColumnEv()
  %2443 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.paths, i64 8), align 8, !tbaa !38
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %2443)
  call void @_ZN5ImGui10NextColumnEv()
  %2444 = zext i1 %2441 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.95, i32 noundef %2444)
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %209) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %209) #13
  %2445 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %209, ptr noundef nonnull dereferenceable(1) @.str.629, i32 noundef 2) #13
  %2446 = load i32, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !18
  %2447 = icmp eq i32 %2446, 2
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %210) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %210, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2448 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %209, i1 noundef zeroext %2447, i32 noundef 2, ptr noundef nonnull align 4 dereferenceable(8) %210)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %210) #13
  br i1 %2448, label %2449, label %2450

2449:                                             ; preds = %2440
  store i32 2, ptr @_ZZN5ImGui14ShowDemoWindowEPbE8selected_3, align 4, !tbaa !18
  br label %2450

2450:                                             ; preds = %2449, %2440
  %2451 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  call void @_ZN5ImGui10NextColumnEv()
  %2452 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.names.625, i64 16), align 16, !tbaa !38
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %2452)
  call void @_ZN5ImGui10NextColumnEv()
  %2453 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.paths, i64 16), align 16, !tbaa !38
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef %2453)
  call void @_ZN5ImGui10NextColumnEv()
  %2454 = zext i1 %2451 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.95, i32 noundef %2454)
  call void @_ZN5ImGui10NextColumnEv()
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %209) #13
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %2455

2455:                                             ; preds = %2450, %2394
  %2456 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.630)
  br i1 %2456, label %2457, label %2472

2457:                                             ; preds = %2455
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 3, ptr noundef nonnull @.str.631, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.632)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %211) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %211, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2458 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.149, ptr noundef nonnull align 4 dereferenceable(8) %211)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %211) #13
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.633)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %212) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %212, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2459 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.148, ptr noundef nonnull align 4 dereferenceable(8) %212)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %212) #13
  %2460 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef nonnull @.str.634, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3foo, float noundef 0x3FA99999A0000000, float noundef 0.000000e+00, ptr noundef nonnull @.str.124, i32 noundef 0)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.635)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.236)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %213) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %213, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %2461 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.469, ptr noundef nonnull align 4 dereferenceable(8) %213)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %213) #13
  %2462 = call noundef zeroext i1 @_ZN5ImGui10InputFloatEPKcPfffS1_i(ptr noundef nonnull @.str.636, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3bar, float noundef 0x3FA99999A0000000, float noundef 0.000000e+00, ptr noundef nonnull @.str.124, i32 noundef 0)
  call void @_ZN5ImGui10NextColumnEv()
  %2463 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.637, i32 noundef 0)
  br i1 %2463, label %2464, label %2465

2464:                                             ; preds = %2457
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.638)
  br label %2465

2465:                                             ; preds = %2464, %2457
  call void @_ZN5ImGui10NextColumnEv()
  %2466 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.639, i32 noundef 0)
  br i1 %2466, label %2467, label %2468

2467:                                             ; preds = %2465
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.638)
  br label %2468

2468:                                             ; preds = %2467, %2465
  call void @_ZN5ImGui10NextColumnEv()
  %2469 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.640, i32 noundef 0)
  br i1 %2469, label %2470, label %2471

2470:                                             ; preds = %2468
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.638)
  br label %2471

2471:                                             ; preds = %2470, %2468
  call void @_ZN5ImGui10NextColumnEv()
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %2472

2472:                                             ; preds = %2471, %2455
  %2473 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.641)
  br i1 %2473, label %2474, label %2475

2474:                                             ; preds = %2472
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 2, ptr noundef nonnull @.str.642, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.643)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.644)
  call void @_ZN5ImGui10NextColumnEv()
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.643)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.645)
  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, %2472
  %2476 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.646)
  br i1 %2476, label %2477, label %2618

2477:                                             ; preds = %2475
  %2478 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.647, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2479 = call noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef nonnull @.str.648, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE9v_borders)
  %2480 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9v_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2481 = trunc nuw i8 %2480 to i1
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 4, ptr noundef null, i1 noundef zeroext %2481)
  %2482 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2483 = trunc nuw i8 %2482 to i1
  br i1 %2483, label %2484, label %2488

2484:                                             ; preds = %2477
  %2485 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2486 = icmp eq i32 %2485, 0
  br i1 %2486, label %2487, label %2488

2487:                                             ; preds = %2484
  call void @_ZN5ImGui9SeparatorEv()
  br label %2488

2488:                                             ; preds = %2487, %2484, %2477
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.649, i32 noundef 97, i32 noundef 97, i32 noundef 97)
  %2489 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2490 = fpext float %2489 to double
  %2491 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2492 = fpext float %2491 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.650, double noundef %2490, double noundef %2492)
  call void @_ZN5ImGui10NextColumnEv()
  %2493 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2494 = trunc nuw i8 %2493 to i1
  br i1 %2494, label %2495, label %2499

2495:                                             ; preds = %2488
  %2496 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2497 = icmp eq i32 %2496, 0
  br i1 %2497, label %2498, label %2499

2498:                                             ; preds = %2495
  call void @_ZN5ImGui9SeparatorEv()
  br label %2499

2499:                                             ; preds = %2498, %2495, %2488
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.649, i32 noundef 98, i32 noundef 98, i32 noundef 98)
  %2500 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2501 = fpext float %2500 to double
  %2502 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2503 = fpext float %2502 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.650, double noundef %2501, double noundef %2503)
  call void @_ZN5ImGui10NextColumnEv()
  %2504 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2505 = trunc nuw i8 %2504 to i1
  br i1 %2505, label %2506, label %2510

2506:                                             ; preds = %2499
  %2507 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2508 = icmp eq i32 %2507, 0
  br i1 %2508, label %2509, label %2510

2509:                                             ; preds = %2506
  call void @_ZN5ImGui9SeparatorEv()
  br label %2510

2510:                                             ; preds = %2509, %2506, %2499
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.649, i32 noundef 99, i32 noundef 99, i32 noundef 99)
  %2511 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2512 = fpext float %2511 to double
  %2513 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2514 = fpext float %2513 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.650, double noundef %2512, double noundef %2514)
  call void @_ZN5ImGui10NextColumnEv()
  %2515 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2516 = trunc nuw i8 %2515 to i1
  br i1 %2516, label %2517, label %2521

2517:                                             ; preds = %2510
  %2518 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2519 = icmp eq i32 %2518, 0
  br i1 %2519, label %2520, label %2521

2520:                                             ; preds = %2517
  call void @_ZN5ImGui9SeparatorEv()
  br label %2521

2521:                                             ; preds = %2520, %2517, %2510
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.649, i32 noundef 100, i32 noundef 100, i32 noundef 100)
  %2522 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2523 = fpext float %2522 to double
  %2524 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2525 = fpext float %2524 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.650, double noundef %2523, double noundef %2525)
  call void @_ZN5ImGui10NextColumnEv()
  %2526 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2527 = trunc nuw i8 %2526 to i1
  br i1 %2527, label %2528, label %2532

2528:                                             ; preds = %2521
  %2529 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2530 = icmp eq i32 %2529, 0
  br i1 %2530, label %2531, label %2532

2531:                                             ; preds = %2528
  call void @_ZN5ImGui9SeparatorEv()
  br label %2532

2532:                                             ; preds = %2531, %2528, %2521
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.649, i32 noundef 101, i32 noundef 101, i32 noundef 101)
  %2533 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2534 = fpext float %2533 to double
  %2535 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2536 = fpext float %2535 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.650, double noundef %2534, double noundef %2536)
  call void @_ZN5ImGui10NextColumnEv()
  %2537 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2538 = trunc nuw i8 %2537 to i1
  br i1 %2538, label %2539, label %2543

2539:                                             ; preds = %2532
  %2540 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2541 = icmp eq i32 %2540, 0
  br i1 %2541, label %2542, label %2543

2542:                                             ; preds = %2539
  call void @_ZN5ImGui9SeparatorEv()
  br label %2543

2543:                                             ; preds = %2542, %2539, %2532
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.649, i32 noundef 102, i32 noundef 102, i32 noundef 102)
  %2544 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2545 = fpext float %2544 to double
  %2546 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2547 = fpext float %2546 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.650, double noundef %2545, double noundef %2547)
  call void @_ZN5ImGui10NextColumnEv()
  %2548 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2549 = trunc nuw i8 %2548 to i1
  br i1 %2549, label %2550, label %2554

2550:                                             ; preds = %2543
  %2551 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2552 = icmp eq i32 %2551, 0
  br i1 %2552, label %2553, label %2554

2553:                                             ; preds = %2550
  call void @_ZN5ImGui9SeparatorEv()
  br label %2554

2554:                                             ; preds = %2553, %2550, %2543
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.649, i32 noundef 103, i32 noundef 103, i32 noundef 103)
  %2555 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2556 = fpext float %2555 to double
  %2557 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2558 = fpext float %2557 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.650, double noundef %2556, double noundef %2558)
  call void @_ZN5ImGui10NextColumnEv()
  %2559 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2560 = trunc nuw i8 %2559 to i1
  br i1 %2560, label %2561, label %2565

2561:                                             ; preds = %2554
  %2562 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2563 = icmp eq i32 %2562, 0
  br i1 %2563, label %2564, label %2565

2564:                                             ; preds = %2561
  call void @_ZN5ImGui9SeparatorEv()
  br label %2565

2565:                                             ; preds = %2564, %2561, %2554
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.649, i32 noundef 104, i32 noundef 104, i32 noundef 104)
  %2566 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2567 = fpext float %2566 to double
  %2568 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2569 = fpext float %2568 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.650, double noundef %2567, double noundef %2569)
  call void @_ZN5ImGui10NextColumnEv()
  %2570 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2571 = trunc nuw i8 %2570 to i1
  br i1 %2571, label %2572, label %2576

2572:                                             ; preds = %2565
  %2573 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2574 = icmp eq i32 %2573, 0
  br i1 %2574, label %2575, label %2576

2575:                                             ; preds = %2572
  call void @_ZN5ImGui9SeparatorEv()
  br label %2576

2576:                                             ; preds = %2575, %2572, %2565
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.649, i32 noundef 105, i32 noundef 105, i32 noundef 105)
  %2577 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2578 = fpext float %2577 to double
  %2579 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2580 = fpext float %2579 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.650, double noundef %2578, double noundef %2580)
  call void @_ZN5ImGui10NextColumnEv()
  %2581 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2582 = trunc nuw i8 %2581 to i1
  br i1 %2582, label %2583, label %2587

2583:                                             ; preds = %2576
  %2584 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2585 = icmp eq i32 %2584, 0
  br i1 %2585, label %2586, label %2587

2586:                                             ; preds = %2583
  call void @_ZN5ImGui9SeparatorEv()
  br label %2587

2587:                                             ; preds = %2586, %2583, %2576
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.649, i32 noundef 106, i32 noundef 106, i32 noundef 106)
  %2588 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2589 = fpext float %2588 to double
  %2590 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2591 = fpext float %2590 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.650, double noundef %2589, double noundef %2591)
  call void @_ZN5ImGui10NextColumnEv()
  %2592 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2593 = trunc nuw i8 %2592 to i1
  br i1 %2593, label %2594, label %2598

2594:                                             ; preds = %2587
  %2595 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2596 = icmp eq i32 %2595, 0
  br i1 %2596, label %2597, label %2598

2597:                                             ; preds = %2594
  call void @_ZN5ImGui9SeparatorEv()
  br label %2598

2598:                                             ; preds = %2597, %2594, %2587
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.649, i32 noundef 107, i32 noundef 107, i32 noundef 107)
  %2599 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2600 = fpext float %2599 to double
  %2601 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2602 = fpext float %2601 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.650, double noundef %2600, double noundef %2602)
  call void @_ZN5ImGui10NextColumnEv()
  %2603 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2604 = trunc nuw i8 %2603 to i1
  br i1 %2604, label %2605, label %2609

2605:                                             ; preds = %2598
  %2606 = call noundef i32 @_ZN5ImGui14GetColumnIndexEv()
  %2607 = icmp eq i32 %2606, 0
  br i1 %2607, label %2608, label %2609

2608:                                             ; preds = %2605
  call void @_ZN5ImGui9SeparatorEv()
  br label %2609

2609:                                             ; preds = %2608, %2605, %2598
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.649, i32 noundef 108, i32 noundef 108, i32 noundef 108)
  %2610 = call noundef float @_ZN5ImGui14GetColumnWidthEi(i32 noundef -1)
  %2611 = fpext float %2610 to double
  %2612 = call noundef float @_ZN5ImGui15GetColumnOffsetEi(i32 noundef -1)
  %2613 = fpext float %2612 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.650, double noundef %2611, double noundef %2613)
  call void @_ZN5ImGui10NextColumnEv()
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  %2614 = load i8, ptr @_ZZN5ImGui14ShowDemoWindowEPbE9h_borders, align 1, !tbaa !5, !range !9, !noundef !10
  %2615 = trunc nuw i8 %2614 to i1
  br i1 %2615, label %2616, label %2617

2616:                                             ; preds = %2609
  call void @_ZN5ImGui9SeparatorEv()
  br label %2617

2617:                                             ; preds = %2616, %2609
  call void @_ZN5ImGui7TreePopEv()
  br label %2618

2618:                                             ; preds = %2617, %2475
  %2619 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.543)
  br i1 %2619, label %2620, label %2663

2620:                                             ; preds = %2618
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %214) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %214, float noundef 1.500000e+03, float noundef 0.000000e+00)
  call void @_ZN5ImGui24SetNextWindowContentSizeERK6ImVec2(ptr noundef nonnull align 4 dereferenceable(8) %214)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %214) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %215) #13
  %2621 = call noundef float @_ZN5ImGui11GetFontSizeEv()
  %2622 = fmul float %2621, 2.000000e+01
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %215, float noundef 0.000000e+00, float noundef %2622)
  %2623 = call noundef zeroext i1 @_ZN5ImGui10BeginChildEPKcRK6ImVec2bi(ptr noundef nonnull @.str.651, ptr noundef nonnull align 4 dereferenceable(8) %215, i1 noundef zeroext false, i32 noundef 2048)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %215) #13
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 10, ptr noundef null, i1 noundef zeroext true)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %216) #13
  call void @_ZN16ImGuiListClipperC2Eif(ptr noundef nonnull align 4 dereferenceable(24) %216, i32 noundef 2000, float noundef -1.000000e+00)
  %2624 = getelementptr inbounds i8, ptr %216, i64 16
  %2625 = getelementptr inbounds i8, ptr %216, i64 20
  br label %2626

.loopexit618:                                     ; preds = %2652, %2629
  br label %2626, !llvm.loop !73

2626:                                             ; preds = %.loopexit618, %2620
  %2627 = invoke noundef zeroext i1 @_ZN16ImGuiListClipper4StepEv(ptr noundef nonnull align 4 dereferenceable(24) %216)
          to label %2628 unwind label %.loopexit619

2628:                                             ; preds = %2626
  br i1 %2627, label %2629, label %2658

2629:                                             ; preds = %2628
  %2630 = load i32, ptr %2624, align 4, !tbaa !74
  %2631 = load i32, ptr %2625, align 4, !tbaa !76
  %2632 = icmp slt i32 %2630, %2631
  br i1 %2632, label %.preheader, label %.loopexit618

.preheader:                                       ; preds = %2629, %2652
  %.0502672 = phi i32 [ %2653, %2652 ], [ %2630, %2629 ]
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.652, i32 noundef %.0502672, i32 noundef 0)
          to label %2633 unwind label %2656

.loopexit619:                                     ; preds = %2626
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %2662

.loopexit.split-lp:                               ; preds = %2658, %2659, %2660
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %2662

2633:                                             ; preds = %.preheader
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2634 unwind label %2656

2634:                                             ; preds = %2633
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.652, i32 noundef %.0502672, i32 noundef 1)
          to label %2635 unwind label %2656

2635:                                             ; preds = %2634
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2636 unwind label %2656

2636:                                             ; preds = %2635
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.652, i32 noundef %.0502672, i32 noundef 2)
          to label %2637 unwind label %2656

2637:                                             ; preds = %2636
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2638 unwind label %2656

2638:                                             ; preds = %2637
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.652, i32 noundef %.0502672, i32 noundef 3)
          to label %2639 unwind label %2656

2639:                                             ; preds = %2638
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2640 unwind label %2656

2640:                                             ; preds = %2639
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.652, i32 noundef %.0502672, i32 noundef 4)
          to label %2641 unwind label %2656

2641:                                             ; preds = %2640
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2642 unwind label %2656

2642:                                             ; preds = %2641
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.652, i32 noundef %.0502672, i32 noundef 5)
          to label %2643 unwind label %2656

2643:                                             ; preds = %2642
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2644 unwind label %2656

2644:                                             ; preds = %2643
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.652, i32 noundef %.0502672, i32 noundef 6)
          to label %2645 unwind label %2656

2645:                                             ; preds = %2644
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2646 unwind label %2656

2646:                                             ; preds = %2645
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.652, i32 noundef %.0502672, i32 noundef 7)
          to label %2647 unwind label %2656

2647:                                             ; preds = %2646
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2648 unwind label %2656

2648:                                             ; preds = %2647
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.652, i32 noundef %.0502672, i32 noundef 8)
          to label %2649 unwind label %2656

2649:                                             ; preds = %2648
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2650 unwind label %2656

2650:                                             ; preds = %2649
  invoke void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.652, i32 noundef %.0502672, i32 noundef 9)
          to label %2651 unwind label %2656

2651:                                             ; preds = %2650
  invoke void @_ZN5ImGui10NextColumnEv()
          to label %2652 unwind label %2656

2652:                                             ; preds = %2651
  %2653 = add nsw i32 %.0502672, 1
  %2654 = load i32, ptr %2625, align 4, !tbaa !76
  %2655 = icmp slt i32 %2653, %2654
  br i1 %2655, label %.preheader, label %.loopexit618, !llvm.loop !77

2656:                                             ; preds = %2651, %2650, %2649, %2648, %2647, %2646, %2645, %2644, %2643, %2642, %2641, %2640, %2639, %2638, %2637, %2636, %2635, %2634, %2633, %.preheader
  %2657 = landingpad { ptr, i32 }
          cleanup
  br label %2662

2658:                                             ; preds = %2628
  invoke void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
          to label %2659 unwind label %.loopexit.split-lp

2659:                                             ; preds = %2658
  invoke void @_ZN5ImGui8EndChildEv()
          to label %2660 unwind label %.loopexit.split-lp

2660:                                             ; preds = %2659
  invoke void @_ZN5ImGui7TreePopEv()
          to label %2661 unwind label %.loopexit.split-lp

2661:                                             ; preds = %2660
  call void @_ZN16ImGuiListClipperD2Ev(ptr noundef nonnull align 4 dereferenceable(24) %216) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %216) #13
  br label %2663

2662:                                             ; preds = %.loopexit619, %.loopexit.split-lp, %2656
  %.pn = phi { ptr, i32 } [ %2657, %2656 ], [ %lpad.loopexit, %.loopexit619 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZN16ImGuiListClipperD2Ev(ptr noundef nonnull align 4 dereferenceable(24) %216) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %216) #13
  br label %3411

2663:                                             ; preds = %2661, %2618
  %2664 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.653)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.654)
  br i1 %2664, label %2665, label %2672

2665:                                             ; preds = %2663
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 2, ptr noundef nonnull @.str.655, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  %2666 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.632)
  br i1 %2666, label %2667, label %2668

2667:                                             ; preds = %2665
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.236)
  call void @_ZN5ImGui7TreePopEv()
  br label %2668

2668:                                             ; preds = %2667, %2665
  call void @_ZN5ImGui10NextColumnEv()
  %2669 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.656)
  br i1 %2669, label %2670, label %2671

2670:                                             ; preds = %2668
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.657)
  call void @_ZN5ImGui7TreePopEv()
  br label %2671

2671:                                             ; preds = %2670, %2668
  call void @_ZN5ImGui10NextColumnEv()
  call void @_ZN5ImGui7ColumnsEiPKcb(i32 noundef 1, ptr noundef null, i1 noundef zeroext true)
  call void @_ZN5ImGui9SeparatorEv()
  call void @_ZN5ImGui7TreePopEv()
  br label %2672

2672:                                             ; preds = %2671, %2663
  call void @_ZN5ImGui5PopIDEv()
  br label %2673

2673:                                             ; preds = %2672, %2392
  %2674 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.658, i32 noundef 0)
  br i1 %2674, label %2675, label %.loopexit

2675:                                             ; preds = %2673
  %2676 = load atomic i8, ptr @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter acquire, align 8
  %2677 = icmp eq i8 %2676, 0
  br i1 %2677, label %2678, label %2683, !prof !37

2678:                                             ; preds = %2675
  %2679 = call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter) #13
  %.not573 = icmp eq i32 %2679, 0
  br i1 %.not573, label %2683, label %2680

2680:                                             ; preds = %2678
  invoke void @_ZN15ImGuiTextFilterC1EPKc(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef nonnull @.str.390)
          to label %2681 unwind label %2687

2681:                                             ; preds = %2680
  %2682 = call i32 @__cxa_atexit(ptr nonnull @_ZN15ImGuiTextFilterD2Ev, ptr nonnull @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr nonnull @__dso_handle) #13
  call void @__cxa_guard_release(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter) #13
  br label %2683

2683:                                             ; preds = %2681, %2678, %2675
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.659)
  %2684 = call noundef zeroext i1 @_ZN15ImGuiTextFilter4DrawEPKcf(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef nonnull @.str.660, float noundef 0.000000e+00)
  %2685 = load ptr, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, align 16, !tbaa !38
  %2686 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2685, ptr noundef null)
  br i1 %2686, label %2689, label %2690

2687:                                             ; preds = %2680
  %2688 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_guard_abort(ptr nonnull @_ZGVZN5ImGui14ShowDemoWindowEPbE6filter) #13
  br label %3411

2689:                                             ; preds = %2683
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.535, ptr noundef %2685)
  br label %2690

2690:                                             ; preds = %2683, %2689
  %2691 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 8), align 8, !tbaa !38
  %2692 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2691, ptr noundef null)
  br i1 %2692, label %2693, label %2694

2693:                                             ; preds = %2690
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.535, ptr noundef %2691)
  br label %2694

2694:                                             ; preds = %2693, %2690
  %2695 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 16), align 16, !tbaa !38
  %2696 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2695, ptr noundef null)
  br i1 %2696, label %2697, label %2698

2697:                                             ; preds = %2694
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.535, ptr noundef %2695)
  br label %2698

2698:                                             ; preds = %2697, %2694
  %2699 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 24), align 8, !tbaa !38
  %2700 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2699, ptr noundef null)
  br i1 %2700, label %2701, label %2702

2701:                                             ; preds = %2698
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.535, ptr noundef %2699)
  br label %2702

2702:                                             ; preds = %2701, %2698
  %2703 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 32), align 16, !tbaa !38
  %2704 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2703, ptr noundef null)
  br i1 %2704, label %2705, label %2706

2705:                                             ; preds = %2702
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.535, ptr noundef %2703)
  br label %2706

2706:                                             ; preds = %2705, %2702
  %2707 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 40), align 8, !tbaa !38
  %2708 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2707, ptr noundef null)
  br i1 %2708, label %2709, label %2710

2709:                                             ; preds = %2706
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.535, ptr noundef %2707)
  br label %2710

2710:                                             ; preds = %2709, %2706
  %2711 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 48), align 16, !tbaa !38
  %2712 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2711, ptr noundef null)
  br i1 %2712, label %2713, label %2714

2713:                                             ; preds = %2710
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.535, ptr noundef %2711)
  br label %2714

2714:                                             ; preds = %2713, %2710
  %2715 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.lines, i64 56), align 8, !tbaa !38
  %2716 = call noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull align 8 dereferenceable(276) @_ZZN5ImGui14ShowDemoWindowEPbE6filter, ptr noundef %2715, ptr noundef null)
  br i1 %2716, label %2717, label %.loopexit

2717:                                             ; preds = %2714
  call void (ptr, ...) @_ZN5ImGui10BulletTextEPKcz(ptr noundef nonnull @.str.535, ptr noundef %2715)
  br label %.loopexit

.loopexit:                                        ; preds = %2714, %2717, %2673
  %2718 = call noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKci(ptr noundef nonnull @.str.669, i32 noundef 0)
  br i1 %2718, label %2719, label %3410

2719:                                             ; preds = %.loopexit
  %2720 = call noundef nonnull align 8 dereferenceable(5432) ptr @_ZN5ImGui5GetIOEv()
  %2721 = getelementptr inbounds i8, ptr %2720, i64 916
  %2722 = load i8, ptr %2721, align 4, !tbaa !78, !range !9, !noundef !10
  %2723 = zext nneg i8 %2722 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.670, i32 noundef %2723)
  %2724 = getelementptr inbounds i8, ptr %2720, i64 917
  %2725 = load i8, ptr %2724, align 1, !tbaa !79, !range !9, !noundef !10
  %2726 = zext nneg i8 %2725 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.671, i32 noundef %2726)
  %2727 = getelementptr inbounds i8, ptr %2720, i64 918
  %2728 = load i8, ptr %2727, align 2, !tbaa !80, !range !9, !noundef !10
  %2729 = zext nneg i8 %2728 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.672, i32 noundef %2729)
  %2730 = getelementptr inbounds i8, ptr %2720, i64 919
  %2731 = load i8, ptr %2730, align 1, !tbaa !81, !range !9, !noundef !10
  %2732 = zext nneg i8 %2731 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.673, i32 noundef %2732)
  %2733 = getelementptr inbounds i8, ptr %2720, i64 921
  %2734 = load i8, ptr %2733, align 1, !tbaa !82, !range !9, !noundef !10
  %2735 = zext nneg i8 %2734 to i32
  %2736 = getelementptr inbounds i8, ptr %2720, i64 922
  %2737 = load i8, ptr %2736, align 2, !tbaa !83, !range !9, !noundef !10
  %2738 = zext nneg i8 %2737 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.674, i32 noundef %2735, i32 noundef %2738)
  %2739 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.675)
  br i1 %2739, label %2740, label %3265

2740:                                             ; preds = %2719
  %2741 = call noundef zeroext i1 @_ZN5ImGui15IsMousePosValidEPK6ImVec2(ptr noundef null)
  br i1 %2741, label %2742, label %2749

2742:                                             ; preds = %2740
  %2743 = getelementptr inbounds i8, ptr %2720, i64 256
  %2744 = load float, ptr %2743, align 8, !tbaa !34
  %2745 = fpext float %2744 to double
  %2746 = getelementptr inbounds i8, ptr %2720, i64 260
  %2747 = load float, ptr %2746, align 4, !tbaa !35
  %2748 = fpext float %2747 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.676, double noundef %2745, double noundef %2748)
  br label %2750

2749:                                             ; preds = %2740
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.677)
  br label %2750

2750:                                             ; preds = %2749, %2742
  %2751 = getelementptr inbounds i8, ptr %2720, i64 948
  %2752 = load float, ptr %2751, align 4, !tbaa !71
  %2753 = fpext float %2752 to double
  %2754 = getelementptr inbounds i8, ptr %2720, i64 952
  %2755 = load float, ptr %2754, align 8, !tbaa !72
  %2756 = fpext float %2755 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.678, double noundef %2753, double noundef %2756)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.679)
  %2757 = getelementptr inbounds i8, ptr %2720, i64 1068
  %2758 = load float, ptr %2757, align 4, !tbaa !25
  %2759 = fcmp ult float %2758, 0.000000e+00
  br i1 %2759, label %2763, label %2760

2760:                                             ; preds = %2750
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2761 = load float, ptr %2757, align 4, !tbaa !25
  %2762 = fpext float %2761 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.680, i32 noundef 0, double noundef %2762)
  br label %2763

2763:                                             ; preds = %2750, %2760
  %2764 = getelementptr inbounds i8, ptr %2720, i64 1072
  %2765 = load float, ptr %2764, align 8, !tbaa !25
  %2766 = fcmp ult float %2765, 0.000000e+00
  br i1 %2766, label %2770, label %2767

2767:                                             ; preds = %2763
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2768 = load float, ptr %2764, align 8, !tbaa !25
  %2769 = fpext float %2768 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.680, i32 noundef 1, double noundef %2769)
  br label %2770

2770:                                             ; preds = %2767, %2763
  %2771 = getelementptr inbounds i8, ptr %2720, i64 1076
  %2772 = load float, ptr %2771, align 4, !tbaa !25
  %2773 = fcmp ult float %2772, 0.000000e+00
  br i1 %2773, label %2777, label %2774

2774:                                             ; preds = %2770
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2775 = load float, ptr %2771, align 4, !tbaa !25
  %2776 = fpext float %2775 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.680, i32 noundef 2, double noundef %2776)
  br label %2777

2777:                                             ; preds = %2774, %2770
  %2778 = getelementptr inbounds i8, ptr %2720, i64 1080
  %2779 = load float, ptr %2778, align 8, !tbaa !25
  %2780 = fcmp ult float %2779, 0.000000e+00
  br i1 %2780, label %2784, label %2781

2781:                                             ; preds = %2777
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2782 = load float, ptr %2778, align 8, !tbaa !25
  %2783 = fpext float %2782 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.680, i32 noundef 3, double noundef %2783)
  br label %2784

2784:                                             ; preds = %2781, %2777
  %2785 = getelementptr inbounds i8, ptr %2720, i64 1084
  %2786 = load float, ptr %2785, align 4, !tbaa !25
  %2787 = fcmp ult float %2786, 0.000000e+00
  br i1 %2787, label %2791, label %2788

2788:                                             ; preds = %2784
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2789 = load float, ptr %2785, align 4, !tbaa !25
  %2790 = fpext float %2789 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.680, i32 noundef 4, double noundef %2790)
  br label %2791

2791:                                             ; preds = %2788, %2784
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.681)
  %2792 = call noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef 0, i1 noundef zeroext false)
  br i1 %2792, label %2793, label %2794

2793:                                             ; preds = %2791
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 0)
  br label %2794

2794:                                             ; preds = %2791, %2793
  %2795 = call noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef 1, i1 noundef zeroext false)
  br i1 %2795, label %2796, label %2797

2796:                                             ; preds = %2794
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 1)
  br label %2797

2797:                                             ; preds = %2796, %2794
  %2798 = call noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef 2, i1 noundef zeroext false)
  br i1 %2798, label %2799, label %2800

2799:                                             ; preds = %2797
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 2)
  br label %2800

2800:                                             ; preds = %2799, %2797
  %2801 = call noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef 3, i1 noundef zeroext false)
  br i1 %2801, label %2802, label %2803

2802:                                             ; preds = %2800
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 3)
  br label %2803

2803:                                             ; preds = %2802, %2800
  %2804 = call noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef 4, i1 noundef zeroext false)
  br i1 %2804, label %2805, label %2806

2805:                                             ; preds = %2803
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 4)
  br label %2806

2806:                                             ; preds = %2805, %2803
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.683)
  %2807 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef 0)
  br i1 %2807, label %2808, label %2809

2808:                                             ; preds = %2806
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 0)
  br label %2809

2809:                                             ; preds = %2806, %2808
  %2810 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef 1)
  br i1 %2810, label %2811, label %2812

2811:                                             ; preds = %2809
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 1)
  br label %2812

2812:                                             ; preds = %2811, %2809
  %2813 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef 2)
  br i1 %2813, label %2814, label %2815

2814:                                             ; preds = %2812
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 2)
  br label %2815

2815:                                             ; preds = %2814, %2812
  %2816 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef 3)
  br i1 %2816, label %2817, label %2818

2817:                                             ; preds = %2815
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 3)
  br label %2818

2818:                                             ; preds = %2817, %2815
  %2819 = call noundef zeroext i1 @_ZN5ImGui20IsMouseDoubleClickedEi(i32 noundef 4)
  br i1 %2819, label %2820, label %2821

2820:                                             ; preds = %2818
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 4)
  br label %2821

2821:                                             ; preds = %2820, %2818
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.684)
  %2822 = call noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef 0)
  br i1 %2822, label %2823, label %2824

2823:                                             ; preds = %2821
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 0)
  br label %2824

2824:                                             ; preds = %2821, %2823
  %2825 = call noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef 1)
  br i1 %2825, label %2826, label %2827

2826:                                             ; preds = %2824
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 1)
  br label %2827

2827:                                             ; preds = %2826, %2824
  %2828 = call noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef 2)
  br i1 %2828, label %2829, label %2830

2829:                                             ; preds = %2827
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 2)
  br label %2830

2830:                                             ; preds = %2829, %2827
  %2831 = call noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef 3)
  br i1 %2831, label %2832, label %2833

2832:                                             ; preds = %2830
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 3)
  br label %2833

2833:                                             ; preds = %2832, %2830
  %2834 = call noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef 4)
  br i1 %2834, label %2835, label %2836

2835:                                             ; preds = %2833
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.682, i32 noundef 4)
  br label %2836

2836:                                             ; preds = %2835, %2833
  %2837 = getelementptr inbounds i8, ptr %2720, i64 272
  %2838 = load float, ptr %2837, align 8, !tbaa !84
  %2839 = fpext float %2838 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.685, double noundef %2839)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.686)
  %2840 = getelementptr inbounds i8, ptr %2720, i64 1168
  br label %2842

2841:                                             ; preds = %2850
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.688)
  br label %2852

2842:                                             ; preds = %2836, %2850
  %indvars.iv814 = phi i64 [ 0, %2836 ], [ %indvars.iv.next815, %2850 ]
  %2843 = getelementptr inbounds [512 x float], ptr %2840, i64 0, i64 %indvars.iv814
  %2844 = load float, ptr %2843, align 4, !tbaa !25
  %2845 = fcmp ult float %2844, 0.000000e+00
  br i1 %2845, label %2850, label %2846

2846:                                             ; preds = %2842
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2847 = load float, ptr %2843, align 4, !tbaa !25
  %2848 = fpext float %2847 to double
  %2849 = trunc nuw nsw i64 %indvars.iv814 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.687, i32 noundef %2849, double noundef %2848)
  br label %2850

2850:                                             ; preds = %2842, %2846
  %indvars.iv.next815 = add nuw nsw i64 %indvars.iv814, 1
  %exitcond817.not = icmp eq i64 %indvars.iv.next815, 512
  br i1 %exitcond817.not, label %2841, label %2842, !llvm.loop !85

2851:                                             ; preds = %2855
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.689)
  br label %2877

2852:                                             ; preds = %2841, %2855
  %.0492679 = phi i32 [ 0, %2841 ], [ %2856, %2855 ]
  %2853 = call noundef zeroext i1 @_ZN5ImGui12IsKeyPressedEib(i32 noundef %.0492679, i1 noundef zeroext true)
  br i1 %2853, label %2854, label %2855

2854:                                             ; preds = %2852
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.95, i32 noundef %.0492679)
  br label %2855

2855:                                             ; preds = %2852, %2854
  %2856 = add nuw nsw i32 %.0492679, 1
  %exitcond818.not = icmp eq i32 %2856, 512
  br i1 %exitcond818.not, label %2851, label %2852, !llvm.loop !86

2857:                                             ; preds = %2880
  %2858 = getelementptr inbounds i8, ptr %2720, i64 280
  %2859 = load i8, ptr %2858, align 8, !tbaa !24, !range !9, !noundef !10
  %2860 = trunc nuw i8 %2859 to i1
  %2861 = select i1 %2860, ptr @.str.691, ptr @.str.390
  %2862 = getelementptr inbounds i8, ptr %2720, i64 281
  %2863 = load i8, ptr %2862, align 1, !tbaa !87, !range !9, !noundef !10
  %2864 = trunc nuw i8 %2863 to i1
  %2865 = select i1 %2864, ptr @.str.692, ptr @.str.390
  %2866 = getelementptr inbounds i8, ptr %2720, i64 282
  %2867 = load i8, ptr %2866, align 2, !tbaa !88, !range !9, !noundef !10
  %2868 = trunc nuw i8 %2867 to i1
  %2869 = select i1 %2868, ptr @.str.693, ptr @.str.390
  %2870 = getelementptr inbounds i8, ptr %2720, i64 283
  %2871 = load i8, ptr %2870, align 1, !tbaa !89, !range !9, !noundef !10
  %2872 = trunc nuw i8 %2871 to i1
  %2873 = select i1 %2872, ptr @.str.694, ptr @.str.390
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.690, ptr noundef nonnull %2861, ptr noundef nonnull %2865, ptr noundef nonnull %2869, ptr noundef nonnull %2873)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.695)
  %2874 = getelementptr inbounds i8, ptr %2720, i64 832
  %2875 = load float, ptr %2874, align 8, !tbaa !25
  %2876 = fcmp ogt float %2875, 0.000000e+00
  br i1 %2876, label %2882, label %2885

2877:                                             ; preds = %2851, %2880
  %.0491680 = phi i32 [ 0, %2851 ], [ %2881, %2880 ]
  %2878 = call noundef zeroext i1 @_ZN5ImGui13IsKeyReleasedEi(i32 noundef %.0491680)
  br i1 %2878, label %2879, label %2880

2879:                                             ; preds = %2877
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.95, i32 noundef %.0491680)
  br label %2880

2880:                                             ; preds = %2877, %2879
  %2881 = add nuw nsw i32 %.0491680, 1
  %exitcond819.not = icmp eq i32 %2881, 512
  br i1 %exitcond819.not, label %2857, label %2877, !llvm.loop !90

2882:                                             ; preds = %2857
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2883 = load float, ptr %2874, align 8, !tbaa !25
  %2884 = fpext float %2883 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 0, double noundef %2884)
  br label %2885

2885:                                             ; preds = %2857, %2882
  %2886 = getelementptr inbounds i8, ptr %2720, i64 836
  %2887 = load float, ptr %2886, align 4, !tbaa !25
  %2888 = fcmp ogt float %2887, 0.000000e+00
  br i1 %2888, label %2889, label %2892

2889:                                             ; preds = %2885
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2890 = load float, ptr %2886, align 4, !tbaa !25
  %2891 = fpext float %2890 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 1, double noundef %2891)
  br label %2892

2892:                                             ; preds = %2889, %2885
  %2893 = getelementptr inbounds i8, ptr %2720, i64 840
  %2894 = load float, ptr %2893, align 8, !tbaa !25
  %2895 = fcmp ogt float %2894, 0.000000e+00
  br i1 %2895, label %2896, label %2899

2896:                                             ; preds = %2892
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2897 = load float, ptr %2893, align 8, !tbaa !25
  %2898 = fpext float %2897 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 2, double noundef %2898)
  br label %2899

2899:                                             ; preds = %2896, %2892
  %2900 = getelementptr inbounds i8, ptr %2720, i64 844
  %2901 = load float, ptr %2900, align 4, !tbaa !25
  %2902 = fcmp ogt float %2901, 0.000000e+00
  br i1 %2902, label %2903, label %2906

2903:                                             ; preds = %2899
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2904 = load float, ptr %2900, align 4, !tbaa !25
  %2905 = fpext float %2904 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 3, double noundef %2905)
  br label %2906

2906:                                             ; preds = %2903, %2899
  %2907 = getelementptr inbounds i8, ptr %2720, i64 848
  %2908 = load float, ptr %2907, align 8, !tbaa !25
  %2909 = fcmp ogt float %2908, 0.000000e+00
  br i1 %2909, label %2910, label %2913

2910:                                             ; preds = %2906
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2911 = load float, ptr %2907, align 8, !tbaa !25
  %2912 = fpext float %2911 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 4, double noundef %2912)
  br label %2913

2913:                                             ; preds = %2910, %2906
  %2914 = getelementptr inbounds i8, ptr %2720, i64 852
  %2915 = load float, ptr %2914, align 4, !tbaa !25
  %2916 = fcmp ogt float %2915, 0.000000e+00
  br i1 %2916, label %2917, label %2920

2917:                                             ; preds = %2913
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2918 = load float, ptr %2914, align 4, !tbaa !25
  %2919 = fpext float %2918 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 5, double noundef %2919)
  br label %2920

2920:                                             ; preds = %2917, %2913
  %2921 = getelementptr inbounds i8, ptr %2720, i64 856
  %2922 = load float, ptr %2921, align 8, !tbaa !25
  %2923 = fcmp ogt float %2922, 0.000000e+00
  br i1 %2923, label %2924, label %2927

2924:                                             ; preds = %2920
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2925 = load float, ptr %2921, align 8, !tbaa !25
  %2926 = fpext float %2925 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 6, double noundef %2926)
  br label %2927

2927:                                             ; preds = %2924, %2920
  %2928 = getelementptr inbounds i8, ptr %2720, i64 860
  %2929 = load float, ptr %2928, align 4, !tbaa !25
  %2930 = fcmp ogt float %2929, 0.000000e+00
  br i1 %2930, label %2931, label %2934

2931:                                             ; preds = %2927
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2932 = load float, ptr %2928, align 4, !tbaa !25
  %2933 = fpext float %2932 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 7, double noundef %2933)
  br label %2934

2934:                                             ; preds = %2931, %2927
  %2935 = getelementptr inbounds i8, ptr %2720, i64 864
  %2936 = load float, ptr %2935, align 8, !tbaa !25
  %2937 = fcmp ogt float %2936, 0.000000e+00
  br i1 %2937, label %2938, label %2941

2938:                                             ; preds = %2934
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2939 = load float, ptr %2935, align 8, !tbaa !25
  %2940 = fpext float %2939 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 8, double noundef %2940)
  br label %2941

2941:                                             ; preds = %2938, %2934
  %2942 = getelementptr inbounds i8, ptr %2720, i64 868
  %2943 = load float, ptr %2942, align 4, !tbaa !25
  %2944 = fcmp ogt float %2943, 0.000000e+00
  br i1 %2944, label %2945, label %2948

2945:                                             ; preds = %2941
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2946 = load float, ptr %2942, align 4, !tbaa !25
  %2947 = fpext float %2946 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 9, double noundef %2947)
  br label %2948

2948:                                             ; preds = %2945, %2941
  %2949 = getelementptr inbounds i8, ptr %2720, i64 872
  %2950 = load float, ptr %2949, align 8, !tbaa !25
  %2951 = fcmp ogt float %2950, 0.000000e+00
  br i1 %2951, label %2952, label %2955

2952:                                             ; preds = %2948
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2953 = load float, ptr %2949, align 8, !tbaa !25
  %2954 = fpext float %2953 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 10, double noundef %2954)
  br label %2955

2955:                                             ; preds = %2952, %2948
  %2956 = getelementptr inbounds i8, ptr %2720, i64 876
  %2957 = load float, ptr %2956, align 4, !tbaa !25
  %2958 = fcmp ogt float %2957, 0.000000e+00
  br i1 %2958, label %2959, label %2962

2959:                                             ; preds = %2955
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2960 = load float, ptr %2956, align 4, !tbaa !25
  %2961 = fpext float %2960 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 11, double noundef %2961)
  br label %2962

2962:                                             ; preds = %2959, %2955
  %2963 = getelementptr inbounds i8, ptr %2720, i64 880
  %2964 = load float, ptr %2963, align 8, !tbaa !25
  %2965 = fcmp ogt float %2964, 0.000000e+00
  br i1 %2965, label %2966, label %2969

2966:                                             ; preds = %2962
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2967 = load float, ptr %2963, align 8, !tbaa !25
  %2968 = fpext float %2967 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 12, double noundef %2968)
  br label %2969

2969:                                             ; preds = %2966, %2962
  %2970 = getelementptr inbounds i8, ptr %2720, i64 884
  %2971 = load float, ptr %2970, align 4, !tbaa !25
  %2972 = fcmp ogt float %2971, 0.000000e+00
  br i1 %2972, label %2973, label %2976

2973:                                             ; preds = %2969
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2974 = load float, ptr %2970, align 4, !tbaa !25
  %2975 = fpext float %2974 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 13, double noundef %2975)
  br label %2976

2976:                                             ; preds = %2973, %2969
  %2977 = getelementptr inbounds i8, ptr %2720, i64 888
  %2978 = load float, ptr %2977, align 8, !tbaa !25
  %2979 = fcmp ogt float %2978, 0.000000e+00
  br i1 %2979, label %2980, label %2983

2980:                                             ; preds = %2976
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2981 = load float, ptr %2977, align 8, !tbaa !25
  %2982 = fpext float %2981 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 14, double noundef %2982)
  br label %2983

2983:                                             ; preds = %2980, %2976
  %2984 = getelementptr inbounds i8, ptr %2720, i64 892
  %2985 = load float, ptr %2984, align 4, !tbaa !25
  %2986 = fcmp ogt float %2985, 0.000000e+00
  br i1 %2986, label %2987, label %2990

2987:                                             ; preds = %2983
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2988 = load float, ptr %2984, align 4, !tbaa !25
  %2989 = fpext float %2988 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 15, double noundef %2989)
  br label %2990

2990:                                             ; preds = %2987, %2983
  %2991 = getelementptr inbounds i8, ptr %2720, i64 896
  %2992 = load float, ptr %2991, align 8, !tbaa !25
  %2993 = fcmp ogt float %2992, 0.000000e+00
  br i1 %2993, label %2994, label %2997

2994:                                             ; preds = %2990
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %2995 = load float, ptr %2991, align 8, !tbaa !25
  %2996 = fpext float %2995 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 16, double noundef %2996)
  br label %2997

2997:                                             ; preds = %2994, %2990
  %2998 = getelementptr inbounds i8, ptr %2720, i64 900
  %2999 = load float, ptr %2998, align 4, !tbaa !25
  %3000 = fcmp ogt float %2999, 0.000000e+00
  br i1 %3000, label %3001, label %3004

3001:                                             ; preds = %2997
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3002 = load float, ptr %2998, align 4, !tbaa !25
  %3003 = fpext float %3002 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 17, double noundef %3003)
  br label %3004

3004:                                             ; preds = %3001, %2997
  %3005 = getelementptr inbounds i8, ptr %2720, i64 904
  %3006 = load float, ptr %3005, align 8, !tbaa !25
  %3007 = fcmp ogt float %3006, 0.000000e+00
  br i1 %3007, label %3008, label %3011

3008:                                             ; preds = %3004
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3009 = load float, ptr %3005, align 8, !tbaa !25
  %3010 = fpext float %3009 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 18, double noundef %3010)
  br label %3011

3011:                                             ; preds = %3008, %3004
  %3012 = getelementptr inbounds i8, ptr %2720, i64 908
  %3013 = load float, ptr %3012, align 4, !tbaa !25
  %3014 = fcmp ogt float %3013, 0.000000e+00
  br i1 %3014, label %3015, label %3018

3015:                                             ; preds = %3011
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3016 = load float, ptr %3012, align 4, !tbaa !25
  %3017 = fpext float %3016 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 19, double noundef %3017)
  br label %3018

3018:                                             ; preds = %3015, %3011
  %3019 = getelementptr inbounds i8, ptr %2720, i64 912
  %3020 = load float, ptr %3019, align 8, !tbaa !25
  %3021 = fcmp ogt float %3020, 0.000000e+00
  br i1 %3021, label %3022, label %3025

3022:                                             ; preds = %3018
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3023 = load float, ptr %3019, align 8, !tbaa !25
  %3024 = fpext float %3023 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 20, double noundef %3024)
  br label %3025

3025:                                             ; preds = %3022, %3018
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.697)
  %3026 = getelementptr inbounds i8, ptr %2720, i64 5264
  %3027 = load float, ptr %3026, align 8, !tbaa !25
  %3028 = fcmp oeq float %3027, 0.000000e+00
  br i1 %3028, label %3029, label %3030

3029:                                             ; preds = %3025
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 0)
  br label %3030

3030:                                             ; preds = %3025, %3029
  %3031 = getelementptr inbounds i8, ptr %2720, i64 5268
  %3032 = load float, ptr %3031, align 4, !tbaa !25
  %3033 = fcmp oeq float %3032, 0.000000e+00
  br i1 %3033, label %3034, label %3035

3034:                                             ; preds = %3030
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 1)
  br label %3035

3035:                                             ; preds = %3034, %3030
  %3036 = getelementptr inbounds i8, ptr %2720, i64 5272
  %3037 = load float, ptr %3036, align 8, !tbaa !25
  %3038 = fcmp oeq float %3037, 0.000000e+00
  br i1 %3038, label %3039, label %3040

3039:                                             ; preds = %3035
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 2)
  br label %3040

3040:                                             ; preds = %3039, %3035
  %3041 = getelementptr inbounds i8, ptr %2720, i64 5276
  %3042 = load float, ptr %3041, align 4, !tbaa !25
  %3043 = fcmp oeq float %3042, 0.000000e+00
  br i1 %3043, label %3044, label %3045

3044:                                             ; preds = %3040
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 3)
  br label %3045

3045:                                             ; preds = %3044, %3040
  %3046 = getelementptr inbounds i8, ptr %2720, i64 5280
  %3047 = load float, ptr %3046, align 8, !tbaa !25
  %3048 = fcmp oeq float %3047, 0.000000e+00
  br i1 %3048, label %3049, label %3050

3049:                                             ; preds = %3045
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 4)
  br label %3050

3050:                                             ; preds = %3049, %3045
  %3051 = getelementptr inbounds i8, ptr %2720, i64 5284
  %3052 = load float, ptr %3051, align 4, !tbaa !25
  %3053 = fcmp oeq float %3052, 0.000000e+00
  br i1 %3053, label %3054, label %3055

3054:                                             ; preds = %3050
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 5)
  br label %3055

3055:                                             ; preds = %3054, %3050
  %3056 = getelementptr inbounds i8, ptr %2720, i64 5288
  %3057 = load float, ptr %3056, align 8, !tbaa !25
  %3058 = fcmp oeq float %3057, 0.000000e+00
  br i1 %3058, label %3059, label %3060

3059:                                             ; preds = %3055
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 6)
  br label %3060

3060:                                             ; preds = %3059, %3055
  %3061 = getelementptr inbounds i8, ptr %2720, i64 5292
  %3062 = load float, ptr %3061, align 4, !tbaa !25
  %3063 = fcmp oeq float %3062, 0.000000e+00
  br i1 %3063, label %3064, label %3065

3064:                                             ; preds = %3060
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 7)
  br label %3065

3065:                                             ; preds = %3064, %3060
  %3066 = getelementptr inbounds i8, ptr %2720, i64 5296
  %3067 = load float, ptr %3066, align 8, !tbaa !25
  %3068 = fcmp oeq float %3067, 0.000000e+00
  br i1 %3068, label %3069, label %3070

3069:                                             ; preds = %3065
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 8)
  br label %3070

3070:                                             ; preds = %3069, %3065
  %3071 = getelementptr inbounds i8, ptr %2720, i64 5300
  %3072 = load float, ptr %3071, align 4, !tbaa !25
  %3073 = fcmp oeq float %3072, 0.000000e+00
  br i1 %3073, label %3074, label %3075

3074:                                             ; preds = %3070
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 9)
  br label %3075

3075:                                             ; preds = %3074, %3070
  %3076 = getelementptr inbounds i8, ptr %2720, i64 5304
  %3077 = load float, ptr %3076, align 8, !tbaa !25
  %3078 = fcmp oeq float %3077, 0.000000e+00
  br i1 %3078, label %3079, label %3080

3079:                                             ; preds = %3075
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 10)
  br label %3080

3080:                                             ; preds = %3079, %3075
  %3081 = getelementptr inbounds i8, ptr %2720, i64 5308
  %3082 = load float, ptr %3081, align 4, !tbaa !25
  %3083 = fcmp oeq float %3082, 0.000000e+00
  br i1 %3083, label %3084, label %3085

3084:                                             ; preds = %3080
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 11)
  br label %3085

3085:                                             ; preds = %3084, %3080
  %3086 = getelementptr inbounds i8, ptr %2720, i64 5312
  %3087 = load float, ptr %3086, align 8, !tbaa !25
  %3088 = fcmp oeq float %3087, 0.000000e+00
  br i1 %3088, label %3089, label %3090

3089:                                             ; preds = %3085
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 12)
  br label %3090

3090:                                             ; preds = %3089, %3085
  %3091 = getelementptr inbounds i8, ptr %2720, i64 5316
  %3092 = load float, ptr %3091, align 4, !tbaa !25
  %3093 = fcmp oeq float %3092, 0.000000e+00
  br i1 %3093, label %3094, label %3095

3094:                                             ; preds = %3090
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 13)
  br label %3095

3095:                                             ; preds = %3094, %3090
  %3096 = getelementptr inbounds i8, ptr %2720, i64 5320
  %3097 = load float, ptr %3096, align 8, !tbaa !25
  %3098 = fcmp oeq float %3097, 0.000000e+00
  br i1 %3098, label %3099, label %3100

3099:                                             ; preds = %3095
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 14)
  br label %3100

3100:                                             ; preds = %3099, %3095
  %3101 = getelementptr inbounds i8, ptr %2720, i64 5324
  %3102 = load float, ptr %3101, align 4, !tbaa !25
  %3103 = fcmp oeq float %3102, 0.000000e+00
  br i1 %3103, label %3104, label %3105

3104:                                             ; preds = %3100
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 15)
  br label %3105

3105:                                             ; preds = %3104, %3100
  %3106 = getelementptr inbounds i8, ptr %2720, i64 5328
  %3107 = load float, ptr %3106, align 8, !tbaa !25
  %3108 = fcmp oeq float %3107, 0.000000e+00
  br i1 %3108, label %3109, label %3110

3109:                                             ; preds = %3105
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 16)
  br label %3110

3110:                                             ; preds = %3109, %3105
  %3111 = getelementptr inbounds i8, ptr %2720, i64 5332
  %3112 = load float, ptr %3111, align 4, !tbaa !25
  %3113 = fcmp oeq float %3112, 0.000000e+00
  br i1 %3113, label %3114, label %3115

3114:                                             ; preds = %3110
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 17)
  br label %3115

3115:                                             ; preds = %3114, %3110
  %3116 = getelementptr inbounds i8, ptr %2720, i64 5336
  %3117 = load float, ptr %3116, align 8, !tbaa !25
  %3118 = fcmp oeq float %3117, 0.000000e+00
  br i1 %3118, label %3119, label %3120

3119:                                             ; preds = %3115
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 18)
  br label %3120

3120:                                             ; preds = %3119, %3115
  %3121 = getelementptr inbounds i8, ptr %2720, i64 5340
  %3122 = load float, ptr %3121, align 4, !tbaa !25
  %3123 = fcmp oeq float %3122, 0.000000e+00
  br i1 %3123, label %3124, label %3125

3124:                                             ; preds = %3120
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 19)
  br label %3125

3125:                                             ; preds = %3124, %3120
  %3126 = getelementptr inbounds i8, ptr %2720, i64 5344
  %3127 = load float, ptr %3126, align 8, !tbaa !25
  %3128 = fcmp oeq float %3127, 0.000000e+00
  br i1 %3128, label %3129, label %3130

3129:                                             ; preds = %3125
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.698, i32 noundef 20)
  br label %3130

3130:                                             ; preds = %3129, %3125
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.699)
  %3131 = load float, ptr %3026, align 8, !tbaa !25
  %3132 = fcmp ult float %3131, 0.000000e+00
  br i1 %3132, label %3136, label %3133

3133:                                             ; preds = %3130
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3134 = load float, ptr %3026, align 8, !tbaa !25
  %3135 = fpext float %3134 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 0, double noundef %3135)
  br label %3136

3136:                                             ; preds = %3130, %3133
  %3137 = load float, ptr %3031, align 4, !tbaa !25
  %3138 = fcmp ult float %3137, 0.000000e+00
  br i1 %3138, label %3142, label %3139

3139:                                             ; preds = %3136
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3140 = load float, ptr %3031, align 4, !tbaa !25
  %3141 = fpext float %3140 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 1, double noundef %3141)
  br label %3142

3142:                                             ; preds = %3139, %3136
  %3143 = load float, ptr %3036, align 8, !tbaa !25
  %3144 = fcmp ult float %3143, 0.000000e+00
  br i1 %3144, label %3148, label %3145

3145:                                             ; preds = %3142
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3146 = load float, ptr %3036, align 8, !tbaa !25
  %3147 = fpext float %3146 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 2, double noundef %3147)
  br label %3148

3148:                                             ; preds = %3145, %3142
  %3149 = load float, ptr %3041, align 4, !tbaa !25
  %3150 = fcmp ult float %3149, 0.000000e+00
  br i1 %3150, label %3154, label %3151

3151:                                             ; preds = %3148
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3152 = load float, ptr %3041, align 4, !tbaa !25
  %3153 = fpext float %3152 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 3, double noundef %3153)
  br label %3154

3154:                                             ; preds = %3151, %3148
  %3155 = load float, ptr %3046, align 8, !tbaa !25
  %3156 = fcmp ult float %3155, 0.000000e+00
  br i1 %3156, label %3160, label %3157

3157:                                             ; preds = %3154
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3158 = load float, ptr %3046, align 8, !tbaa !25
  %3159 = fpext float %3158 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 4, double noundef %3159)
  br label %3160

3160:                                             ; preds = %3157, %3154
  %3161 = load float, ptr %3051, align 4, !tbaa !25
  %3162 = fcmp ult float %3161, 0.000000e+00
  br i1 %3162, label %3166, label %3163

3163:                                             ; preds = %3160
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3164 = load float, ptr %3051, align 4, !tbaa !25
  %3165 = fpext float %3164 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 5, double noundef %3165)
  br label %3166

3166:                                             ; preds = %3163, %3160
  %3167 = load float, ptr %3056, align 8, !tbaa !25
  %3168 = fcmp ult float %3167, 0.000000e+00
  br i1 %3168, label %3172, label %3169

3169:                                             ; preds = %3166
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3170 = load float, ptr %3056, align 8, !tbaa !25
  %3171 = fpext float %3170 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 6, double noundef %3171)
  br label %3172

3172:                                             ; preds = %3169, %3166
  %3173 = load float, ptr %3061, align 4, !tbaa !25
  %3174 = fcmp ult float %3173, 0.000000e+00
  br i1 %3174, label %3178, label %3175

3175:                                             ; preds = %3172
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3176 = load float, ptr %3061, align 4, !tbaa !25
  %3177 = fpext float %3176 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 7, double noundef %3177)
  br label %3178

3178:                                             ; preds = %3175, %3172
  %3179 = load float, ptr %3066, align 8, !tbaa !25
  %3180 = fcmp ult float %3179, 0.000000e+00
  br i1 %3180, label %3184, label %3181

3181:                                             ; preds = %3178
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3182 = load float, ptr %3066, align 8, !tbaa !25
  %3183 = fpext float %3182 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 8, double noundef %3183)
  br label %3184

3184:                                             ; preds = %3181, %3178
  %3185 = load float, ptr %3071, align 4, !tbaa !25
  %3186 = fcmp ult float %3185, 0.000000e+00
  br i1 %3186, label %3190, label %3187

3187:                                             ; preds = %3184
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3188 = load float, ptr %3071, align 4, !tbaa !25
  %3189 = fpext float %3188 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 9, double noundef %3189)
  br label %3190

3190:                                             ; preds = %3187, %3184
  %3191 = load float, ptr %3076, align 8, !tbaa !25
  %3192 = fcmp ult float %3191, 0.000000e+00
  br i1 %3192, label %3196, label %3193

3193:                                             ; preds = %3190
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3194 = load float, ptr %3076, align 8, !tbaa !25
  %3195 = fpext float %3194 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 10, double noundef %3195)
  br label %3196

3196:                                             ; preds = %3193, %3190
  %3197 = load float, ptr %3081, align 4, !tbaa !25
  %3198 = fcmp ult float %3197, 0.000000e+00
  br i1 %3198, label %3202, label %3199

3199:                                             ; preds = %3196
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3200 = load float, ptr %3081, align 4, !tbaa !25
  %3201 = fpext float %3200 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 11, double noundef %3201)
  br label %3202

3202:                                             ; preds = %3199, %3196
  %3203 = load float, ptr %3086, align 8, !tbaa !25
  %3204 = fcmp ult float %3203, 0.000000e+00
  br i1 %3204, label %3208, label %3205

3205:                                             ; preds = %3202
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3206 = load float, ptr %3086, align 8, !tbaa !25
  %3207 = fpext float %3206 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 12, double noundef %3207)
  br label %3208

3208:                                             ; preds = %3205, %3202
  %3209 = load float, ptr %3091, align 4, !tbaa !25
  %3210 = fcmp ult float %3209, 0.000000e+00
  br i1 %3210, label %3214, label %3211

3211:                                             ; preds = %3208
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3212 = load float, ptr %3091, align 4, !tbaa !25
  %3213 = fpext float %3212 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 13, double noundef %3213)
  br label %3214

3214:                                             ; preds = %3211, %3208
  %3215 = load float, ptr %3096, align 8, !tbaa !25
  %3216 = fcmp ult float %3215, 0.000000e+00
  br i1 %3216, label %3220, label %3217

3217:                                             ; preds = %3214
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3218 = load float, ptr %3096, align 8, !tbaa !25
  %3219 = fpext float %3218 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 14, double noundef %3219)
  br label %3220

3220:                                             ; preds = %3217, %3214
  %3221 = load float, ptr %3101, align 4, !tbaa !25
  %3222 = fcmp ult float %3221, 0.000000e+00
  br i1 %3222, label %3226, label %3223

3223:                                             ; preds = %3220
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3224 = load float, ptr %3101, align 4, !tbaa !25
  %3225 = fpext float %3224 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 15, double noundef %3225)
  br label %3226

3226:                                             ; preds = %3223, %3220
  %3227 = load float, ptr %3106, align 8, !tbaa !25
  %3228 = fcmp ult float %3227, 0.000000e+00
  br i1 %3228, label %3232, label %3229

3229:                                             ; preds = %3226
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3230 = load float, ptr %3106, align 8, !tbaa !25
  %3231 = fpext float %3230 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 16, double noundef %3231)
  br label %3232

3232:                                             ; preds = %3229, %3226
  %3233 = load float, ptr %3111, align 4, !tbaa !25
  %3234 = fcmp ult float %3233, 0.000000e+00
  br i1 %3234, label %3238, label %3235

3235:                                             ; preds = %3232
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3236 = load float, ptr %3111, align 4, !tbaa !25
  %3237 = fpext float %3236 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 17, double noundef %3237)
  br label %3238

3238:                                             ; preds = %3235, %3232
  %3239 = load float, ptr %3116, align 8, !tbaa !25
  %3240 = fcmp ult float %3239, 0.000000e+00
  br i1 %3240, label %3244, label %3241

3241:                                             ; preds = %3238
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3242 = load float, ptr %3116, align 8, !tbaa !25
  %3243 = fpext float %3242 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 18, double noundef %3243)
  br label %3244

3244:                                             ; preds = %3241, %3238
  %3245 = load float, ptr %3121, align 4, !tbaa !25
  %3246 = fcmp ult float %3245, 0.000000e+00
  br i1 %3246, label %3250, label %3247

3247:                                             ; preds = %3244
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3248 = load float, ptr %3121, align 4, !tbaa !25
  %3249 = fpext float %3248 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 19, double noundef %3249)
  br label %3250

3250:                                             ; preds = %3247, %3244
  %3251 = load float, ptr %3126, align 8, !tbaa !25
  %3252 = fcmp ult float %3251, 0.000000e+00
  br i1 %3252, label %3256, label %3253

3253:                                             ; preds = %3250
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %3254 = load float, ptr %3126, align 8, !tbaa !25
  %3255 = fpext float %3254 to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.696, i32 noundef 20, double noundef %3255)
  br label %3256

3256:                                             ; preds = %3253, %3250
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %217) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %217, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3257 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.700, ptr noundef nonnull align 4 dereferenceable(8) %217)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %217) #13
  %3258 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3258, label %3259, label %3260

3259:                                             ; preds = %3256
  call void @_ZN5ImGui22CaptureKeyboardFromAppEb(i1 noundef zeroext true)
  br label %3260

3260:                                             ; preds = %3259, %3256
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %218) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %218, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3261 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.701, ptr noundef nonnull align 4 dereferenceable(8) %218)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %218) #13
  %3262 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %3262, label %3263, label %3264

3263:                                             ; preds = %3260
  call void @_ZN5ImGui22CaptureKeyboardFromAppEb(i1 noundef zeroext false)
  br label %3264

3264:                                             ; preds = %3263, %3260
  call void @_ZN5ImGui7TreePopEv()
  br label %3265

3265:                                             ; preds = %3264, %2719
  %3266 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.702)
  br i1 %3266, label %3267, label %3273

3267:                                             ; preds = %3265
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.703)
  %3268 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.704, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3269 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.705, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3270 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.706, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui22PushAllowKeyboardFocusEb(i1 noundef zeroext false)
  %3271 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.707, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui21PopAllowKeyboardFocusEv()
  %3272 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.708, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_0, i64 noundef 32, i32 noundef 0, ptr noundef null, ptr noundef null)
  call void @_ZN5ImGui7TreePopEv()
  br label %3273

3273:                                             ; preds = %3267, %3265
  %3274 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.709)
  br i1 %3274, label %3275, label %3300

3275:                                             ; preds = %3273
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %219) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %219, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3276 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.710, ptr noundef nonnull align 4 dereferenceable(8) %219)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %219) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %220) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %220, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3277 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.711, ptr noundef nonnull align 4 dereferenceable(8) %220)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %220) #13
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %221) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %221, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3278 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.712, ptr noundef nonnull align 4 dereferenceable(8) %221)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %221) #13
  br i1 %3276, label %3279, label %3280

3279:                                             ; preds = %3275
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef 0)
  br label %3280

3280:                                             ; preds = %3279, %3275
  %3281 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.704, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_1, i64 noundef 128, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3282 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  %spec.select607 = zext i1 %3282 to i32
  br i1 %3277, label %3283, label %3284

3283:                                             ; preds = %3280
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef 0)
  br label %3284

3284:                                             ; preds = %3283, %3280
  %3285 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.705, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_1, i64 noundef 128, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3286 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  %spec.select608 = select i1 %3286, i32 2, i32 %spec.select607
  call void @_ZN5ImGui22PushAllowKeyboardFocusEb(i1 noundef zeroext false)
  br i1 %3278, label %3287, label %3288

3287:                                             ; preds = %3284
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef 0)
  br label %3288

3288:                                             ; preds = %3287, %3284
  %3289 = call noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef nonnull @.str.713, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE3buf_1, i64 noundef 128, i32 noundef 0, ptr noundef null, ptr noundef null)
  %3290 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  %spec.select609 = select i1 %3290, i32 3, i32 %spec.select608
  call void @_ZN5ImGui21PopAllowKeyboardFocusEv()
  %.not574 = icmp eq i32 %spec.select609, 0
  br i1 %.not574, label %3292, label %3291

3291:                                             ; preds = %3288
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.714, i32 noundef %spec.select609)
  br label %3293

3292:                                             ; preds = %3288
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.715)
  br label %3293

3293:                                             ; preds = %3292, %3291
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %222) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %222, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3294 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.716, ptr noundef nonnull align 4 dereferenceable(8) %222)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %222) #13
  %not. = xor i1 %3294, true
  %spec.select610 = 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 %223) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %223, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3295 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.717, ptr noundef nonnull align 4 dereferenceable(8) %223)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %223) #13
  %.1479 = select i1 %3295, i32 1, i32 %spec.select610
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %224) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %224, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3296 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.718, ptr noundef nonnull align 4 dereferenceable(8) %224)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %224) #13
  %.2480 = select i1 %3296, i32 2, i32 %.1479
  %.not575 = icmp eq i32 %.2480, -1
  br i1 %.not575, label %3298, label %3297

3297:                                             ; preds = %3293
  call void @_ZN5ImGui20SetKeyboardFocusHereEi(i32 noundef %.2480)
  br label %3298

3298:                                             ; preds = %3297, %3293
  %3299 = call noundef zeroext i1 @_ZN5ImGui12SliderFloat3EPKcPfffS1_f(ptr noundef nonnull @.str.719, ptr noundef nonnull @_ZZN5ImGui14ShowDemoWindowEPbE2f3, float noundef 0.000000e+00, float noundef 1.000000e+00, ptr noundef nonnull @.str.124, float noundef 1.000000e+00)
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.720)
  call void @_ZN5ImGui7TreePopEv()
  br label %3300

3300:                                             ; preds = %3298, %3273
  %3301 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.721)
  br i1 %3301, label %3302, label %3338

3302:                                             ; preds = %3300
  call void (ptr, ...) @_ZN5ImGui11TextWrappedEPKcz(ptr noundef nonnull @.str.722)
  %3303 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 0, float noundef -1.000000e+00)
  %3304 = zext i1 %3303 to i32
  %3305 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 0, float noundef 0.000000e+00)
  %3306 = zext i1 %3305 to i32
  %3307 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 0, float noundef 2.000000e+01)
  %3308 = zext i1 %3307 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.723, i32 noundef 0, i32 noundef %3304, i32 noundef %3306, i32 noundef %3308)
  %3309 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 1, float noundef -1.000000e+00)
  %3310 = zext i1 %3309 to i32
  %3311 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 1, float noundef 0.000000e+00)
  %3312 = zext i1 %3311 to i32
  %3313 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 1, float noundef 2.000000e+01)
  %3314 = zext i1 %3313 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.723, i32 noundef 1, i32 noundef %3310, i32 noundef %3312, i32 noundef %3314)
  %3315 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 2, float noundef -1.000000e+00)
  %3316 = zext i1 %3315 to i32
  %3317 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 2, float noundef 0.000000e+00)
  %3318 = zext i1 %3317 to i32
  %3319 = call noundef zeroext i1 @_ZN5ImGui15IsMouseDraggingEif(i32 noundef 2, float noundef 2.000000e+01)
  %3320 = zext i1 %3319 to i32
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.723, i32 noundef 2, i32 noundef %3316, i32 noundef %3318, i32 noundef %3320)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %225) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %225, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3321 = call noundef zeroext i1 @_ZN5ImGui6ButtonEPKcRK6ImVec2(ptr noundef nonnull @.str.724, ptr noundef nonnull align 4 dereferenceable(8) %225)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %225) #13
  %3322 = call noundef zeroext i1 @_ZN5ImGui12IsItemActiveEv()
  br i1 %3322, label %3323, label %3337

3323:                                             ; preds = %3302
  %3324 = call noundef ptr @_ZN5ImGui17GetWindowDrawListEv()
  call void @_ZN10ImDrawList22PushClipRectFullScreenEv(ptr noundef nonnull align 8 dereferenceable(168) %3324)
  %3325 = getelementptr inbounds i8, ptr %2720, i64 964
  %3326 = getelementptr inbounds i8, ptr %2720, i64 256
  %3327 = call noundef i32 @_ZN5ImGui11GetColorU32Eif(i32 noundef 21, float noundef 1.000000e+00)
  call void @_ZN10ImDrawList7AddLineERK6ImVec2S2_jf(ptr noundef nonnull align 8 dereferenceable(168) %3324, ptr noundef nonnull align 4 dereferenceable(8) %3325, ptr noundef nonnull align 4 dereferenceable(8) %3326, i32 noundef %3327, float noundef 4.000000e+00)
  call void @_ZN10ImDrawList11PopClipRectEv(ptr noundef nonnull align 8 dereferenceable(168) %3324)
  %3328 = call <2 x float> @_ZN5ImGui17GetMouseDragDeltaEif(i32 noundef 0, float noundef 0.000000e+00)
  %3329 = call <2 x float> @_ZN5ImGui17GetMouseDragDeltaEif(i32 noundef 0, float noundef -1.000000e+00)
  %3330 = getelementptr inbounds i8, ptr %2720, i64 948
  %.sroa.0.0.copyload = load float, ptr %3330, align 4, !tbaa !25
  %.sroa.4.0..sroa_idx = getelementptr inbounds i8, ptr %2720, i64 952
  %.sroa.4.0.copyload = load float, ptr %.sroa.4.0..sroa_idx, align 8, !tbaa !25
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  %.sroa.09.0.vec.extract = extractelement <2 x float> %3328, i64 0
  %3331 = fpext float %.sroa.09.0.vec.extract to double
  %.sroa.09.4.vec.extract = extractelement <2 x float> %3328, i64 1
  %3332 = fpext float %.sroa.09.4.vec.extract to double
  %.sroa.08.0.vec.extract = extractelement <2 x float> %3329, i64 0
  %3333 = fpext float %.sroa.08.0.vec.extract to double
  %.sroa.08.4.vec.extract = extractelement <2 x float> %3329, i64 1
  %3334 = fpext float %.sroa.08.4.vec.extract to double
  %3335 = fpext float %.sroa.0.0.copyload to double
  %3336 = fpext float %.sroa.4.0.copyload to double
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.725, double noundef %3331, double noundef %3332, double noundef %3333, double noundef %3334, double noundef %3335, double noundef %3336)
  br label %3337

3337:                                             ; preds = %3323, %3302
  call void @_ZN5ImGui7TreePopEv()
  br label %3338

3338:                                             ; preds = %3337, %3300
  %3339 = call noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef nonnull @.str.726)
  br i1 %3339, label %3340, label %3410

3340:                                             ; preds = %3338
  %3341 = call noundef i32 @_ZN5ImGui14GetMouseCursorEv()
  %3342 = call noundef i32 @_ZN5ImGui14GetMouseCursorEv()
  %3343 = sext i32 %3342 to i64
  %3344 = getelementptr inbounds [8 x ptr], ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 0, i64 %3343
  %3345 = load ptr, ptr %3344, align 8, !tbaa !38
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.734, i32 noundef %3341, ptr noundef %3345)
  call void (ptr, ...) @_ZN5ImGui4TextEPKcz(ptr noundef nonnull @.str.735)
  call void @_ZN5ImGui8SameLineEff(float noundef 0.000000e+00, float noundef -1.000000e+00)
  call void @_ZL14ShowHelpMarkerPKc(ptr noundef nonnull @.str.736)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %226) #13
  %3346 = load ptr, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, align 16, !tbaa !38
  %3347 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %226, ptr noundef nonnull dereferenceable(1) @.str.737, i32 noundef 0, ptr noundef %3346) #13
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %227) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %227, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3348 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %226, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %227)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %227) #13
  %3349 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3349, label %3352, label %3350

3350:                                             ; preds = %3340
  %3351 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3351, label %3352, label %3353

3352:                                             ; preds = %3350, %3340
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 0)
  br label %3353

3353:                                             ; preds = %3352, %3350
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %226) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %226) #13
  %3354 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 8), align 8, !tbaa !38
  %3355 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %226, ptr noundef nonnull dereferenceable(1) @.str.737, i32 noundef 1, ptr noundef %3354) #13
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %227) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %227, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3356 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %226, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %227)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %227) #13
  %3357 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3357, label %3360, label %3358

3358:                                             ; preds = %3353
  %3359 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3359, label %3360, label %3361

3360:                                             ; preds = %3358, %3353
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 1)
  br label %3361

3361:                                             ; preds = %3360, %3358
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %226) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %226) #13
  %3362 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 16), align 16, !tbaa !38
  %3363 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %226, ptr noundef nonnull dereferenceable(1) @.str.737, i32 noundef 2, ptr noundef %3362) #13
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %227) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %227, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3364 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %226, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %227)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %227) #13
  %3365 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3365, label %3368, label %3366

3366:                                             ; preds = %3361
  %3367 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3367, label %3368, label %3369

3368:                                             ; preds = %3366, %3361
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 2)
  br label %3369

3369:                                             ; preds = %3368, %3366
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %226) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %226) #13
  %3370 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 24), align 8, !tbaa !38
  %3371 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %226, ptr noundef nonnull dereferenceable(1) @.str.737, i32 noundef 3, ptr noundef %3370) #13
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %227) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %227, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3372 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %226, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %227)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %227) #13
  %3373 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3373, label %3376, label %3374

3374:                                             ; preds = %3369
  %3375 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3375, label %3376, label %3377

3376:                                             ; preds = %3374, %3369
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 3)
  br label %3377

3377:                                             ; preds = %3376, %3374
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %226) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %226) #13
  %3378 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 32), align 16, !tbaa !38
  %3379 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %226, ptr noundef nonnull dereferenceable(1) @.str.737, i32 noundef 4, ptr noundef %3378) #13
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %227) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %227, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3380 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %226, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %227)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %227) #13
  %3381 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3381, label %3384, label %3382

3382:                                             ; preds = %3377
  %3383 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3383, label %3384, label %3385

3384:                                             ; preds = %3382, %3377
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 4)
  br label %3385

3385:                                             ; preds = %3384, %3382
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %226) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %226) #13
  %3386 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 40), align 8, !tbaa !38
  %3387 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %226, ptr noundef nonnull dereferenceable(1) @.str.737, i32 noundef 5, ptr noundef %3386) #13
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %227) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %227, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3388 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %226, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %227)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %227) #13
  %3389 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3389, label %3392, label %3390

3390:                                             ; preds = %3385
  %3391 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3391, label %3392, label %3393

3392:                                             ; preds = %3390, %3385
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 5)
  br label %3393

3393:                                             ; preds = %3392, %3390
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %226) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %226) #13
  %3394 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 48), align 16, !tbaa !38
  %3395 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %226, ptr noundef nonnull dereferenceable(1) @.str.737, i32 noundef 6, ptr noundef %3394) #13
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %227) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %227, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3396 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %226, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %227)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %227) #13
  %3397 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3397, label %3400, label %3398

3398:                                             ; preds = %3393
  %3399 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3399, label %3400, label %3401

3400:                                             ; preds = %3398, %3393
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 6)
  br label %3401

3401:                                             ; preds = %3400, %3398
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %226) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %226) #13
  %3402 = load ptr, ptr getelementptr inbounds (i8, ptr @__const._ZN5ImGui14ShowDemoWindowEPb.mouse_cursors_names, i64 56), align 8, !tbaa !38
  %3403 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %226, ptr noundef nonnull dereferenceable(1) @.str.737, i32 noundef 7, ptr noundef %3402) #13
  call void @_ZN5ImGui6BulletEv()
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %227) #13
  call void @_ZN6ImVec2C2Eff(ptr noundef nonnull align 4 dereferenceable(8) %227, float noundef 0.000000e+00, float noundef 0.000000e+00)
  %3404 = call noundef zeroext i1 @_ZN5ImGui10SelectableEPKcbiRK6ImVec2(ptr noundef nonnull %226, i1 noundef zeroext false, i32 noundef 0, ptr noundef nonnull align 4 dereferenceable(8) %227)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %227) #13
  %3405 = call noundef zeroext i1 @_ZN5ImGui13IsItemHoveredEi(i32 noundef 0)
  br i1 %3405, label %3408, label %3406

3406:                                             ; preds = %3401
  %3407 = call noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv()
  br i1 %3407, label %3408, label %3409

3408:                                             ; preds = %3406, %3401
  call void @_ZN5ImGui14SetMouseCursorEi(i32 noundef 7)
  br label %3409

3409:                                             ; preds = %3408, %3406
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %226) #13
  call void @_ZN5ImGui7TreePopEv()
  br label %3410

3410:                                             ; preds = %.loopexit, %3409, %3338, %286
  call void @_ZN5ImGui3EndEv()
  ret void

3411:                                             ; preds = %2687, %2662, %1243
  %.pn.pn = phi { ptr, i32 } [ %.pn, %2662 ], [ %2688, %2687 ], [ %1244, %1243 ]
  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 @_ZN5ImGui16SetNextWindowPosERK6ImVec2iS2_(ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, ptr noundef nonnull align 4 dereferenceable(8)) 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 @_ZN5ImGui17SetNextWindowSizeERK6ImVec2i(ptr noundef nonnull align 4 dereferenceable(8), i32 noundef) local_unnamed_addr #1

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 noundef zeroext i1 @_ZN5ImGui8TreeNodeEPKc(ptr noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui13CheckboxFlagsEPKcPjj(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui8SameLineEff(float noundef, float noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL14ShowHelpMarkerPKc(ptr noundef) local_unnamed_addr #0

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare float @fmodf(float noundef, float noundef) local_unnamed_addr #5

declare noundef double @_ZN5ImGui7GetTimeEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui12IsKeyPressedEib(i32 noundef, i1 noundef zeroext) local_unnamed_addr #1

declare noundef i32 @_ZN5ImGui11GetKeyIndexEi(i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef, ptr noundef) local_unnamed_addr #1

declare void @_ZN5ImGui7TreePopEv() local_unnamed_addr #1

declare void @_ZN5ImGui11TextWrappedEPKcz(ptr noundef, ...) 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 void @_ZN5ImGui14LogToClipboardEi(i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui7LogTextEPKcz(ptr noundef, ...) local_unnamed_addr #1

declare void @_ZN5ImGui9LogFinishEv() 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 #6 align 2

declare void @_ZN5ImGui13PopStyleColorEi(i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui5PopIDEv() local_unnamed_addr #1

declare void @_ZN5ImGui23AlignTextToFramePaddingEv() local_unnamed_addr #1

declare noundef nonnull align 4 dereferenceable(840) 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) #7

declare noundef zeroext i1 @_ZN5ImGui5ComboEPKcPiPKS1_ii(ptr noundef, ptr noundef, ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui9InputTextEPKcPcmiPFiP26ImGuiInputTextCallbackDataEPv(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) #8

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

; Function Attrs: nofree nounwind
declare i32 @__cxa_guard_acquire(ptr) local_unnamed_addr #9

; Function Attrs: nofree nounwind
declare void @__cxa_guard_release(ptr) local_unnamed_addr #9

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 #10

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #11

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 @_ZZN5ImGui14ShowDemoWindowEPbEN11TextFilters18FilterImGuiLettersEP26ImGuiInputTextCallbackData(ptr noundef) #4 align 2

declare noundef zeroext i1 @_ZN5ImGui18InputTextMultilineEPKcPcmRK6ImVec2iPFiP26ImGuiInputTextCallbackDataEPv(ptr noundef, ptr noundef, i64 noundef, ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare float @cosf(float noundef) local_unnamed_addr #5

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 #9

; 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 void @_ZN5ImGui12PushStyleVarEiRK6ImVec2(i32 noundef, ptr noundef nonnull align 4 dereferenceable(8)) 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 @_ZN5ImGui11RadioButtonEPKcb(ptr noundef, i1 noundef zeroext) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui19BeginDragDropSourceEi(i32 noundef) local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui18SetDragDropPayloadEPKcPKvmi(ptr noundef, ptr noundef, i64 noundef, i32 noundef) local_unnamed_addr #1

declare void @_ZN5ImGui17EndDragDropSourceEv() local_unnamed_addr #1

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #12

declare noundef zeroext i1 @_ZN5ImGui13IsItemFocusedEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui12IsItemEditedEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui17IsItemDeactivatedEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui26IsItemDeactivatedAfterEditEv() local_unnamed_addr #1

declare noundef zeroext i1 @_ZN5ImGui13IsItemVisibleEv() local_unnamed_addr #1

declare <2 x float> @_ZN5ImGui15GetItemRectSizeEv() 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 zeroext i1 @_ZN5ImGui21BeginPopupContextItemEPKci(ptr noundef, i32 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 float @_ZN5ImGui27GetWindowContentRegionWidthEv() local_unnamed_addr #1

declare void @_ZN5ImGui14SetScrollHereYEf(float noundef) local_unnamed_addr #1

declare noundef float @_ZN5ImGui14GetWindowWidthEv() local_unnamed_addr #1

declare noundef float @_ZN5ImGui26GetContentRegionAvailWidthEv() local_unnamed_addr #1

declare void @_ZN5ImGui5DummyERK6ImVec2(ptr noundef nonnull align 4 dereferenceable(8)) local_unnamed_addr #1

declare <2 x float> @_ZN5ImGui12GetWindowPosEv() local_unnamed_addr #1

declare <2 x float> @_ZN5ImGui25GetWindowContentRegionMaxEv() 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 #5

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 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 #6 align 2

; Function Attrs: nofree nounwind
declare i32 @__cxa_atexit(ptr, ptr, ptr) local_unnamed_addr #9

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 @_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 = { 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 #6 = { 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 #7 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #9 = { nofree nounwind }
attributes #10 = { 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 #11 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #12 = { noreturn 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 #13 = { nounwind }
attributes #14 = { noreturn 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, !13, i64 0}
!12 = !{!"_ZTS7ImGuiIO", !13, i64 0, !13, i64 4, !14, i64 8, !15, i64 16, !15, i64 20, !16, i64 24, !16, i64 32, !15, i64 40, !15, i64 44, !15, i64 48, !7, i64 52, !15, i64 136, !15, i64 140, !16, i64 144, !16, i64 152, !15, i64 160, !6, i64 164, !16, i64 168, !14, i64 176, !14, i64 184, !14, i64 192, !6, i64 200, !6, i64 201, !6, i64 202, !6, i64 203, !16, i64 208, !16, i64 216, !16, i64 224, !16, i64 232, !16, i64 240, !16, i64 248, !14, i64 256, !7, i64 264, !15, i64 272, !15, i64 276, !6, i64 280, !6, i64 281, !6, i64 282, !6, i64 283, !7, i64 284, !7, i64 796, !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, !13, i64 928, !13, i64 932, !13, i64 936, !13, i64 940, !13, i64 944, !14, i64 948, !14, i64 956, !7, i64 964, !7, i64 1008, !7, i64 1048, !7, i64 1053, !7, i64 1058, !7, i64 1063, !7, i64 1068, !7, i64 1088, !7, i64 1108, !7, i64 1148, !7, i64 1168, !7, i64 3216, !7, i64 5264, !7, i64 5348}
!13 = !{!"int", !7, i64 0}
!14 = !{!"_ZTS6ImVec2", !15, i64 0, !15, i64 4}
!15 = !{!"float", !7, i64 0}
!16 = !{!"any pointer", !7, i64 0}
!17 = !{!12, !13, i64 4}
!18 = !{!13, !13, i64 0}
!19 = !{!20, !15, i64 76}
!20 = !{!"_ZTS10ImGuiStyle", !15, i64 0, !14, i64 4, !15, i64 12, !15, i64 16, !14, i64 20, !14, i64 28, !15, i64 36, !15, i64 40, !15, i64 44, !15, i64 48, !14, i64 52, !15, i64 60, !15, i64 64, !14, i64 68, !14, i64 76, !14, i64 84, !15, i64 92, !15, i64 96, !15, i64 100, !15, i64 104, !15, i64 108, !15, i64 112, !14, i64 116, !14, i64 124, !14, i64 132, !15, i64 140, !6, i64 144, !6, i64 145, !15, i64 148, !7, i64 152}
!21 = distinct !{!21, !22, !23}
!22 = !{!"llvm.loop.mustprogress"}
!23 = !{!"llvm.loop.peeled.count", i32 1}
!24 = !{!12, !6, i64 280}
!25 = !{!15, !15, i64 0}
!26 = !{!12, !16, i64 152}
!27 = !{!28, !16, i64 8}
!28 = !{!"_ZTS11ImFontAtlas", !6, i64 0, !13, i64 4, !16, i64 8, !13, i64 16, !13, i64 20, !16, i64 24, !16, i64 32, !13, i64 40, !13, i64 44, !14, i64 48, !14, i64 56, !29, i64 64, !30, i64 80, !31, i64 96, !7, i64 112}
!29 = !{!"_ZTS8ImVectorIP6ImFontE", !13, i64 0, !13, i64 4, !16, i64 8}
!30 = !{!"_ZTS8ImVectorIN11ImFontAtlas10CustomRectEE", !13, i64 0, !13, i64 4, !16, i64 8}
!31 = !{!"_ZTS8ImVectorI12ImFontConfigE", !13, i64 0, !13, i64 4, !16, i64 8}
!32 = !{!28, !13, i64 40}
!33 = !{!28, !13, i64 44}
!34 = !{!12, !15, i64 256}
!35 = !{!12, !15, i64 260}
!36 = distinct !{!36, !22}
!37 = !{!"branch_weights", i32 1, i32 1048575}
!38 = !{!16, !16, i64 0}
!39 = distinct !{!39, !22, !40}
!40 = !{!"llvm.loop.peeled.count", i32 4}
!41 = !{!42, !42, i64 0}
!42 = !{!"double", !7, i64 0}
!43 = distinct !{!43, !22}
!44 = !{!12, !15, i64 16}
!45 = !{!46, !15, i64 12}
!46 = !{!"_ZTS6ImVec4", !15, i64 0, !15, i64 4, !15, i64 8, !15, i64 12}
!47 = distinct !{!47, !22}
!48 = !{i64 0, i64 4, !25, i64 4, i64 4, !25, i64 8, i64 4, !25, i64 12, i64 4, !25}
!49 = !{!20, !15, i64 72}
!50 = !{!46, !15, i64 0}
!51 = !{!46, !15, i64 4}
!52 = !{!46, !15, i64 8}
!53 = !{!54, !16, i64 0}
!54 = !{!"_ZTS12ImGuiPayload", !16, i64 0, !13, i64 8, !13, i64 12, !13, i64 16, !13, i64 20, !7, i64 24, !6, i64 57, !6, i64 58}
!55 = distinct !{!55, !22}
!56 = !{!57, !57, i64 0}
!57 = !{!"long long", !7, i64 0}
!58 = distinct !{!58, !22, !23}
!59 = !{!54, !13, i64 8}
!60 = distinct !{!60, !22}
!61 = distinct !{!61, !22}
!62 = distinct !{!62, !22}
!63 = !{!20, !15, i64 68}
!64 = !{!14, !15, i64 0}
!65 = distinct !{!65, !22}
!66 = !{!14, !15, i64 4}
!67 = distinct !{!67, !22}
!68 = distinct !{!68, !22}
!69 = distinct !{!69, !22}
!70 = distinct !{!70, !22, !23}
!71 = !{!12, !15, i64 948}
!72 = !{!12, !15, i64 952}
!73 = distinct !{!73, !22}
!74 = !{!75, !13, i64 16}
!75 = !{!"_ZTS16ImGuiListClipper", !15, i64 0, !15, i64 4, !13, i64 8, !13, i64 12, !13, i64 16, !13, i64 20}
!76 = !{!75, !13, i64 20}
!77 = distinct !{!77, !22}
!78 = !{!12, !6, i64 916}
!79 = !{!12, !6, i64 917}
!80 = !{!12, !6, i64 918}
!81 = !{!12, !6, i64 919}
!82 = !{!12, !6, i64 921}
!83 = !{!12, !6, i64 922}
!84 = !{!12, !15, i64 272}
!85 = distinct !{!85, !22}
!86 = distinct !{!86, !22}
!87 = !{!12, !6, i64 281}
!88 = !{!12, !6, i64 282}
!89 = !{!12, !6, i64 283}
!90 = distinct !{!90, !22}


; 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,VectorCombinePass