You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

857 lines
38 KiB

@global_fbb2 = global [5 x float] [float 0x3ff0000000000000, float 0x4000000000000000, float 0x4008000000000000, float 0x0, float 0x0]
@global_fca = constant float 0x4008147ae0000000
@global_fcaa = constant [5 x float] [float 0x3ff0000000000000, float 0x4000000000000000, float 0x4008000000000000, float 0x4010000000000000, float 0x0]
@global_ica = constant i32 3
@global_icaa = constant [10 x i32] [i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10]
@global_ia = global i32 zeroinitializer
@global_fb = global float zeroinitializer
@global_iaa = global [10 x i32] [i32 zeroinitializer, i32 zeroinitializer, i32 zeroinitializer, i32 zeroinitializer, i32 zeroinitializer, i32 zeroinitializer, i32 zeroinitializer, i32 zeroinitializer, i32 zeroinitializer, i32 zeroinitializer]
@global_fbb = global [5 x float] [float zeroinitializer, float zeroinitializer, float zeroinitializer, float zeroinitializer, float zeroinitializer]
@global_ia2 = global i32 1
@global_ia3 = global i32 5
@global_fb2 = global float 0x3ff0000000000000
@global_fb3 = global i32 7
@global_iaa2 = global [10 x i32] [i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10]
@global_iaa3 = global [10 x i32] [i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 8, i32 9, i32 0, i32 0]
@scope_test = global i32 1
@short_cut_flag = global i32 0
@check = global i32 99
declare i32 @get_int()
declare float @get_float()
declare i32 @get_char()
declare i32 @get_int_array(i32*)
declare i32 @get_float_array(float*)
declare void @put_int(i32)
declare void @put_float(float)
declare void @put_char(i32)
declare void @put_int_array(i32, i32*)
declare void @put_float_array(i32, float*)
define i32 @func1(i32 %arg0, i32 %arg1) {
label_func1funcBB:
%op2 = alloca i32
store i32 0, i32* %op2
%op3 = alloca i32
store i32 %arg0, i32* %op3
%op4 = alloca i32
store i32 %arg1, i32* %op4
%op5 = alloca i32
%op6 = load i32, i32* %op3
%op7 = load i32, i32* %op4
%op8 = add i32 %op6, %op7
store i32 %op8, i32* %op5
%op9 = load i32, i32* %op5
store i32 %op9, i32* %op2
br label %label_func1retBB
label_func1retBB: ; preds = %label_func1funcBB
%op10 = load i32, i32* %op2
ret i32 %op10
}
define i32 @func2(float %arg0, float %arg1) {
label_func2funcBB:
%op2 = alloca i32
store i32 0, i32* %op2
%op3 = alloca float
store float %arg0, float* %op3
%op4 = alloca float
store float %arg1, float* %op4
%op5 = load float, float* @global_fb2
%op6 = load float, float* %op3
%op7 = load float, float* %op4
%op8 = fadd float %op6, %op7
store float %op8, float* @global_fb2
br label %label_func2retBB
label_func2retBB: ; preds = %label_func2funcBB
%op9 = load i32, i32* %op2
ret i32 %op9
}
define i32 @func3(i32 %arg0, i32 %arg1) {
label_func3funcBB:
%op2 = alloca i32
store i32 0, i32* %op2
%op3 = alloca i32
store i32 %arg0, i32* %op3
%op4 = alloca i32
store i32 %arg1, i32* %op4
%op5 = load i32, i32* %op3
%op6 = load i32, i32* %op4
%op7 = add i32 %op5, %op6
store i32 %op7, i32* %op2
br label %label_func3retBB
label_func3retBB: ; preds = %label_func3funcBB
%op8 = load i32, i32* %op2
ret i32 %op8
}
define i32 @func4(float %arg0, float %arg1) {
label_func4funcBB:
%op2 = alloca i32
store i32 0, i32* %op2
%op3 = alloca float
store float %arg0, float* %op3
%op4 = alloca float
store float %arg1, float* %op4
%op5 = alloca float
%op6 = load float, float* %op3
%op7 = load float, float* %op4
%op8 = fadd float %op6, %op7
store float %op8, float* %op5
%op9 = load float, float* %op5
%op10 = fptosi float %op9 to i32
store i32 %op10, i32* %op2
br label %label_func4retBB
label_func4retBB: ; preds = %label_func4funcBB
%op11 = load i32, i32* %op2
ret i32 %op11
}
define i32 @func_5() {
label_func_5funcBB:
%op0 = alloca i32
store i32 0, i32* %op0
%op1 = alloca i32
store i32 1, i32* %op1
%op2 = alloca i32
store i32 zeroinitializer, i32* %op2
%op3 = alloca i32
store i32 2, i32* %op3
%op4 = load i32, i32* %op2
%op5 = load i32, i32* %op3
store i32 %op5, i32* %op2
%op6 = alloca i32
%op7 = load i32, i32* %op1
store i32 %op7, i32* %op6
%op8 = load i32, i32* %op6
%op9 = load i32, i32* %op2
%op10 = add i32 %op8, %op9
store i32 %op10, i32* %op0
br label %label_func_5retBB
label_func_5retBB: ; preds = %label_func_5funcBB
%op11 = load i32, i32* %op0
ret i32 %op11
}
define i32 @func_while() {
label_func_whilefuncBB:
%op0 = alloca i32
store i32 0, i32* %op0
%op1 = alloca i32
store i32 0, i32* %op1
%op2 = alloca i32
store i32 zeroinitializer, i32* %op2
br label %label_cond_while_0
label_func_whileretBB: ; preds = %label_after_while_2
%op3 = load i32, i32* %op0
ret i32 %op3
label_cond_while_0: ; preds = %label_func_whilefuncBB, %label_after_if_5
%op4 = load i32, i32* %op1
%op5 = icmp slt i32 %op4, 10
br i1 %op5, label %label_while_1, label %label_after_while_2
label_while_1: ; preds = %label_cond_while_0
%op6 = load i32, i32* %op1
%op7 = load i32, i32* %op1
%op8 = add i32 %op7, 1
store i32 %op8, i32* %op1
%op9 = load i32, i32* %op1
%op10 = icmp eq i32 %op9, 7
br i1 %op10, label %label_true_if_3, label %label_false_if_4
label_after_while_2: ; preds = %label_cond_while_0, %label_true_if_3
%op11 = load i32, i32* %op2
%op12 = load i32, i32* %op1
%op13 = add i32 %op11, %op12
store i32 %op13, i32* %op0
br label %label_func_whileretBB
label_true_if_3: ; preds = %label_while_1
br label %label_after_while_2
label_false_if_4: ; preds = %label_while_1
%op14 = load i32, i32* %op1
%op15 = icmp eq i32 %op14, 6
br i1 %op15, label %label_true_if_7, label %label_false_if_8
label_after_if_5: ; preds = %label_after_break_6, %label_after_if_9
br label %label_cond_while_0
label_after_break_6:
br label %label_after_if_5
label_true_if_7: ; preds = %label_false_if_4
%op16 = load i32, i32* %op2
%op17 = load i32, i32* %op1
store i32 %op17, i32* %op2
br label %label_after_if_9
label_false_if_8: ; preds = %label_false_if_4
br label %label_after_if_9
label_after_if_9: ; preds = %label_true_if_7, %label_false_if_8
br label %label_after_if_5
}
define i32 @func_while_if() {
label_func_while_iffuncBB:
%op0 = alloca i32
store i32 0, i32* %op0
%op1 = alloca i32
store i32 0, i32* %op1
%op2 = alloca i32
store i32 0, i32* %op2
br label %label_cond_while_10
label_func_while_ifretBB: ; preds = %label_after_while_12
%op3 = load i32, i32* %op0
ret i32 %op3
label_cond_while_10: ; preds = %label_func_while_iffuncBB, %label_false_if_17, %label_after_if_15
%op4 = load i32, i32* %op2
%op5 = icmp slt i32 %op4, 20
br i1 %op5, label %label_while_11, label %label_after_while_12
label_while_11: ; preds = %label_cond_while_10
%op6 = load i32, i32* %op2
%op7 = load i32, i32* %op2
%op8 = add i32 %op7, 1
store i32 %op8, i32* %op2
%op9 = load i32, i32* %op2
%op10 = icmp slt i32 %op9, 5
br i1 %op10, label %label_true_if_13, label %label_false_if_14
label_after_while_12: ; preds = %label_cond_while_10
%op11 = load i32, i32* %op1
store i32 %op11, i32* %op0
br label %label_func_while_ifretBB
label_true_if_13: ; preds = %label_while_11
%op12 = load i32, i32* %op2
%op13 = load i32, i32* %op2
%op14 = add i32 %op13, 1
store i32 %op14, i32* %op2
br label %label_after_if_15
label_false_if_14: ; preds = %label_while_11
%op15 = load i32, i32* %op2
%op16 = icmp sgt i32 %op15, 10
br i1 %op16, label %label_true_if_16, label %label_false_if_17
label_after_if_15: ; preds = %label_true_if_13, %label_after_if_18
%op17 = load i32, i32* %op1
%op18 = load i32, i32* %op1
%op19 = add i32 %op18, 1
store i32 %op19, i32* %op1
br label %label_cond_while_10
label_true_if_16: ; preds = %label_false_if_14
%op20 = load i32, i32* %op2
%op21 = load i32, i32* %op2
%op22 = add i32 %op21, 2
store i32 %op22, i32* %op2
br label %label_after_if_18
label_false_if_17: ; preds = %label_false_if_14
br label %label_cond_while_10
label_after_if_18: ; preds = %label_true_if_16, %label_after_continue_19
br label %label_after_if_15
label_after_continue_19:
br label %label_after_if_18
}
define void @func_febonacci(i32* %arg0) {
label_func_febonaccifuncBB:
%op1 = alloca i32*
store i32* %arg0, i32** %op1
%op2 = alloca i32
store i32 2, i32* %op2
%op3 = load i32*, i32** %op1
%op4 = getelementptr i32, i32* %op3, i32 0
%op5 = load i32, i32* %op4
store i32 0, i32* %op4
%op6 = load i32*, i32** %op1
%op7 = getelementptr i32, i32* %op6, i32 1
%op8 = load i32, i32* %op7
store i32 1, i32* %op7
br label %label_cond_while_20
label_func_febonacciretBB: ; preds = %label_after_while_22
ret void
label_cond_while_20: ; preds = %label_func_febonaccifuncBB, %label_while_21
%op9 = load i32, i32* %op2
%op10 = icmp slt i32 %op9, 10
br i1 %op10, label %label_while_21, label %label_after_while_22
label_while_21: ; preds = %label_cond_while_20
%op11 = load i32, i32* %op2
%op12 = load i32*, i32** %op1
%op13 = getelementptr i32, i32* %op12, i32 %op11
%op14 = load i32, i32* %op13
%op15 = load i32, i32* %op2
%op16 = sub i32 %op15, 1
%op17 = load i32*, i32** %op1
%op18 = getelementptr i32, i32* %op17, i32 %op16
%op19 = load i32, i32* %op18
%op20 = load i32, i32* %op2
%op21 = sub i32 %op20, 2
%op22 = load i32*, i32** %op1
%op23 = getelementptr i32, i32* %op22, i32 %op21
%op24 = load i32, i32* %op23
%op25 = add i32 %op19, %op24
store i32 %op25, i32* %op13
%op26 = load i32, i32* %op2
%op27 = load i32, i32* %op2
%op28 = add i32 %op27, 1
store i32 %op28, i32* %op2
br label %label_cond_while_20
label_after_while_22: ; preds = %label_cond_while_20
br label %label_func_febonacciretBB
}
define i32 @sort(i32* %arg0, i32 %arg1) {
label_sortfuncBB:
%op2 = alloca i32
store i32 0, i32* %op2
%op3 = alloca i32*
store i32* %arg0, i32** %op3
%op4 = alloca i32
store i32 %arg1, i32* %op4
%op5 = alloca i32
store i32 zeroinitializer, i32* %op5
%op6 = alloca i32
store i32 zeroinitializer, i32* %op6
%op7 = alloca i32
store i32 zeroinitializer, i32* %op7
%op8 = load i32, i32* %op5
store i32 0, i32* %op5
br label %label_cond_while_23
label_sortretBB: ; preds = %label_after_while_25
%op9 = load i32, i32* %op2
ret i32 %op9
label_cond_while_23: ; preds = %label_sortfuncBB, %label_after_while_28
%op10 = load i32, i32* %op5
%op11 = load i32, i32* %op4
%op12 = icmp slt i32 %op10, %op11
br i1 %op12, label %label_while_24, label %label_after_while_25
label_while_24: ; preds = %label_cond_while_23
%op13 = load i32, i32* %op6
store i32 0, i32* %op6
br label %label_cond_while_26
label_after_while_25: ; preds = %label_cond_while_23
store i32 0, i32* %op2
br label %label_sortretBB
label_cond_while_26: ; preds = %label_while_24, %label_after_if_30
%op14 = load i32, i32* %op6
%op15 = load i32, i32* %op4
%op16 = load i32, i32* %op5
%op17 = sub i32 %op15, %op16
%op18 = sub i32 %op17, 1
%op19 = icmp slt i32 %op14, %op18
br i1 %op19, label %label_while_27, label %label_after_while_28
label_while_27: ; preds = %label_cond_while_26
%op20 = load i32, i32* %op6
%op21 = load i32*, i32** %op3
%op22 = getelementptr i32, i32* %op21, i32 %op20
%op23 = load i32, i32* %op22
%op24 = load i32, i32* %op6
%op25 = add i32 %op24, 1
%op26 = load i32*, i32** %op3
%op27 = getelementptr i32, i32* %op26, i32 %op25
%op28 = load i32, i32* %op27
%op29 = icmp sgt i32 %op23, %op28
br i1 %op29, label %label_true_if_29, label %label_after_if_30
label_after_while_28: ; preds = %label_cond_while_26
%op30 = load i32, i32* %op5
%op31 = load i32, i32* %op5
%op32 = add i32 %op31, 1
store i32 %op32, i32* %op5
br label %label_cond_while_23
label_true_if_29: ; preds = %label_while_27
%op33 = load i32, i32* %op7
%op34 = load i32, i32* %op6
%op35 = add i32 %op34, 1
%op36 = load i32*, i32** %op3
%op37 = getelementptr i32, i32* %op36, i32 %op35
%op38 = load i32, i32* %op37
store i32 %op38, i32* %op7
%op39 = load i32, i32* %op6
%op40 = add i32 %op39, 1
%op41 = load i32*, i32** %op3
%op42 = getelementptr i32, i32* %op41, i32 %op40
%op43 = load i32, i32* %op42
%op44 = load i32, i32* %op6
%op45 = load i32*, i32** %op3
%op46 = getelementptr i32, i32* %op45, i32 %op44
%op47 = load i32, i32* %op46
store i32 %op47, i32* %op42
%op48 = load i32, i32* %op6
%op49 = load i32*, i32** %op3
%op50 = getelementptr i32, i32* %op49, i32 %op48
%op51 = load i32, i32* %op50
%op52 = load i32, i32* %op7
store i32 %op52, i32* %op50
br label %label_after_if_30
label_after_if_30: ; preds = %label_while_27, %label_true_if_29
%op53 = load i32, i32* %op6
%op54 = load i32, i32* %op6
%op55 = add i32 %op54, 1
store i32 %op55, i32* %op6
br label %label_cond_while_26
}
define i32 @short_cut() {
label_short_cutfuncBB:
%op0 = alloca i32
store i32 0, i32* %op0
%op1 = load i32, i32* @short_cut_flag
store i32 1, i32* @short_cut_flag
store i32 1, i32* %op0
br label %label_short_cutretBB
label_short_cutretBB: ; preds = %label_short_cutfuncBB
%op2 = load i32, i32* %op0
ret i32 %op2
}
define i32 @main() {
label_mainfuncBB:
%op0 = alloca i32
store i32 0, i32* %op0
%op1 = load i32, i32* @global_ia3
%op2 = icmp ne i32 %op1, 5
br i1 %op2, label %label_true_if_31, label %label_after_if_32
label_mainretBB: ; preds = %label_true_if_31, %label_true_if_33, %label_true_if_38, %label_true_if_40, %label_true_if_42, %label_true_if_44, %label_true_if_46, %label_true_if_48, %label_true_if_50, %label_true_if_52, %label_true_if_54, %label_true_if_56, %label_true_if_58, %label_true_if_60, %label_true_if_62, %label_true_if_64, %label_true_if_74, %label_true_if_84, %label_true_if_90, %label_true_if_92, %label_true_if_98, %label_true_if_104, %label_true_if_110, %label_true_if_112, %label_true_if_114, %label_after_if_115
%op3 = load i32, i32* %op0
ret i32 %op3
label_true_if_31: ; preds = %label_mainfuncBB
%op4 = load i32, i32* @check
%op5 = sub i32 0, 1
store i32 %op5, i32* @check
store i32 1, i32* %op0
br label %label_mainretBB
label_after_if_32: ; preds = %label_mainfuncBB
%op6 = load i32, i32* @global_fb3
%op7 = icmp ne i32 %op6, 7
br i1 %op7, label %label_true_if_33, label %label_after_if_34
label_true_if_33: ; preds = %label_after_if_32
%op8 = load i32, i32* @check
%op9 = sub i32 0, 1
store i32 %op9, i32* @check
store i32 2, i32* %op0
br label %label_mainretBB
label_after_if_34: ; preds = %label_after_if_32
%op10 = alloca i32
store i32 0, i32* %op10
br label %label_cond_while_35
label_cond_while_35: ; preds = %label_after_if_34, %label_after_if_39
%op11 = load i32, i32* %op10
%op12 = icmp slt i32 %op11, 10
br i1 %op12, label %label_while_36, label %label_after_while_37
label_while_36: ; preds = %label_cond_while_35
%op13 = load i32, i32* %op10
%op14 = getelementptr [10 x i32], [10 x i32]* @global_iaa2, i32 0, i32 %op13
%op15 = load i32, i32* %op14
%op16 = load i32, i32* %op10
%op17 = add i32 %op16, 1
%op18 = icmp ne i32 %op15, %op17
br i1 %op18, label %label_true_if_38, label %label_after_if_39
label_after_while_37: ; preds = %label_cond_while_35
%op19 = getelementptr [5 x float], [5 x float]* @global_fbb2, i32 0, i32 4
%op20 = load float, float* %op19
%op21 = sitofp i32 0 to float
%op22 = fcmp une float %op20, %op21
br i1 %op22, label %label_true_if_40, label %label_after_if_41
label_true_if_38: ; preds = %label_while_36
%op23 = load i32, i32* @check
%op24 = sub i32 0, 1
store i32 %op24, i32* @check
store i32 3, i32* %op0
br label %label_mainretBB
label_after_if_39: ; preds = %label_while_36
%op25 = load i32, i32* %op10
%op26 = load i32, i32* %op10
%op27 = add i32 %op26, 1
store i32 %op27, i32* %op10
br label %label_cond_while_35
label_true_if_40: ; preds = %label_after_while_37
%op28 = load i32, i32* @check
%op29 = sub i32 0, 1
store i32 %op29, i32* @check
store i32 4, i32* %op0
br label %label_mainretBB
label_after_if_41: ; preds = %label_after_while_37
%op30 = call i32 @func1(i32 1, i32 2)
%op31 = icmp ne i32 %op30, 3
br i1 %op31, label %label_true_if_42, label %label_after_if_43
label_true_if_42: ; preds = %label_after_if_41
%op32 = load i32, i32* @check
%op33 = sub i32 0, 1
store i32 %op33, i32* @check
store i32 5, i32* %op0
br label %label_mainretBB
label_after_if_43: ; preds = %label_after_if_41
%op34 = load i32, i32* @scope_test
%op35 = icmp ne i32 %op34, 1
br i1 %op35, label %label_true_if_44, label %label_after_if_45
label_true_if_44: ; preds = %label_after_if_43
%op36 = load i32, i32* @check
%op37 = sub i32 0, 1
store i32 %op37, i32* @check
store i32 6, i32* %op0
br label %label_mainretBB
label_after_if_45: ; preds = %label_after_if_43
%op38 = alloca i32
store i32 2, i32* %op38
%op39 = load i32, i32* %op38
%op40 = icmp ne i32 %op39, 2
br i1 %op40, label %label_true_if_46, label %label_after_if_47
label_true_if_46: ; preds = %label_after_if_45
%op41 = load i32, i32* @check
%op42 = sub i32 0, 1
store i32 %op42, i32* @check
store i32 7, i32* %op0
br label %label_mainretBB
label_after_if_47: ; preds = %label_after_if_45
%op43 = load i32, i32* @scope_test
%op44 = icmp ne i32 %op43, 1
br i1 %op44, label %label_true_if_48, label %label_after_if_49
label_true_if_48: ; preds = %label_after_if_47
%op45 = load i32, i32* @check
%op46 = sub i32 0, 1
store i32 %op46, i32* @check
store i32 8, i32* %op0
br label %label_mainretBB
label_after_if_49: ; preds = %label_after_if_47
%op47 = call i32 @func2(float 0x4001333340000000, float 0x4008147ae0000000)
%op48 = icmp ne i32 %op47, 0
br i1 %op48, label %label_true_if_50, label %label_after_if_51
label_true_if_50: ; preds = %label_after_if_49
%op49 = load i32, i32* @check
%op50 = sub i32 0, 1
store i32 %op50, i32* @check
store i32 9, i32* %op0
br label %label_mainretBB
label_after_if_51: ; preds = %label_after_if_49
%op51 = load float, float* @global_fb2
%op52 = fcmp une float %op51, 0x4014a3d700000000
br i1 %op52, label %label_true_if_52, label %label_after_if_53
label_true_if_52: ; preds = %label_after_if_51
%op53 = load i32, i32* @check
%op54 = sub i32 0, 1
store i32 %op54, i32* @check
store i32 10, i32* %op0
br label %label_mainretBB
label_after_if_53: ; preds = %label_after_if_51
%op55 = call i32 @func3(i32 1, i32 2)
%op56 = icmp ne i32 %op55, 3
br i1 %op56, label %label_true_if_54, label %label_after_if_55
label_true_if_54: ; preds = %label_after_if_53
%op57 = load i32, i32* @check
%op58 = sub i32 0, 1
store i32 %op58, i32* @check
store i32 11, i32* %op0
br label %label_mainretBB
label_after_if_55: ; preds = %label_after_if_53
%op59 = call i32 @func4(float 0x3ff19999a0000000, float 0x4000147ae0000000)
%op60 = icmp ne i32 %op59, 3
br i1 %op60, label %label_true_if_56, label %label_after_if_57
label_true_if_56: ; preds = %label_after_if_55
%op61 = load i32, i32* @check
%op62 = sub i32 0, 1
store i32 %op62, i32* @check
store i32 12, i32* %op0
br label %label_mainretBB
label_after_if_57: ; preds = %label_after_if_55
%op63 = call i32 @func_5()
%op64 = icmp ne i32 %op63, 3
br i1 %op64, label %label_true_if_58, label %label_after_if_59
label_true_if_58: ; preds = %label_after_if_57
%op65 = load i32, i32* @check
%op66 = sub i32 0, 1
store i32 %op66, i32* @check
store i32 13, i32* %op0
br label %label_mainretBB
label_after_if_59: ; preds = %label_after_if_57
%op67 = call i32 @func_while()
%op68 = icmp ne i32 %op67, 13
br i1 %op68, label %label_true_if_60, label %label_after_if_61
label_true_if_60: ; preds = %label_after_if_59
%op69 = load i32, i32* @check
%op70 = sub i32 0, 1
store i32 %op70, i32* @check
store i32 14, i32* %op0
br label %label_mainretBB
label_after_if_61: ; preds = %label_after_if_59
%op71 = alloca [10 x i32]
%op72 = getelementptr [10 x i32], [10 x i32]* %op71, i32 0, i32 0
call void @func_febonacci(i32* %op72)
%op73 = getelementptr [10 x i32], [10 x i32]* %op71, i32 0, i32 9
%op74 = load i32, i32* %op73
%op75 = icmp ne i32 %op74, 34
br i1 %op75, label %label_true_if_62, label %label_after_if_63
label_true_if_62: ; preds = %label_after_if_61
%op76 = load i32, i32* @check
%op77 = sub i32 0, 1
store i32 %op77, i32* @check
store i32 15, i32* %op0
br label %label_mainretBB
label_after_if_63: ; preds = %label_after_if_61
%op78 = alloca [10 x i32]
%op79 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 0
store i32 1, i32* %op79
%op80 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 1
store i32 33, i32* %op80
%op81 = sub i32 0, 5
%op82 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 2
store i32 %op81, i32* %op82
%op83 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 3
store i32 7, i32* %op83
%op84 = sub i32 0, 1
%op85 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 4
store i32 %op84, i32* %op85
%op86 = sub i32 0, 2
%op87 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 5
store i32 %op86, i32* %op87
%op88 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 6
store i32 4, i32* %op88
%op89 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 7
store i32 6, i32* %op89
%op90 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 8
store i32 28, i32* %op90
%op91 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 9
store i32 10, i32* %op91
%op92 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 0
%op93 = call i32 @sort(i32* %op92, i32 10)
%op94 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 0
%op95 = load i32, i32* %op94
%op96 = sub i32 0, 5
%op97 = icmp ne i32 %op95, %op96
br i1 %op97, label %label_after_lor_bb_67, label %label_next_lor_bb_66
label_true_if_64: ; preds = %label_after_lor_bb_73
%op98 = load i32, i32* @check
%op99 = sub i32 0, 1
store i32 %op99, i32* @check
store i32 16, i32* %op0
br label %label_mainretBB
label_after_if_65: ; preds = %label_after_lor_bb_73
%op100 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 5
%op101 = load i32, i32* %op100
%op102 = icmp ne i32 %op101, 6
br i1 %op102, label %label_after_lor_bb_77, label %label_next_lor_bb_76
label_next_lor_bb_66: ; preds = %label_after_if_63
%op103 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 1
%op104 = load i32, i32* %op103
%op105 = sub i32 0, 2
%op106 = icmp ne i32 %op104, %op105
br label %label_after_lor_bb_67
label_after_lor_bb_67: ; preds = %label_after_if_63, %label_next_lor_bb_66
br i1 %op106, label %label_after_lor_bb_69, label %label_next_lor_bb_68
label_next_lor_bb_68: ; preds = %label_after_lor_bb_67
%op107 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 2
%op108 = load i32, i32* %op107
%op109 = sub i32 0, 1
%op110 = icmp ne i32 %op108, %op109
br label %label_after_lor_bb_69
label_after_lor_bb_69: ; preds = %label_after_lor_bb_67, %label_next_lor_bb_68
br i1 %op110, label %label_after_lor_bb_71, label %label_next_lor_bb_70
label_next_lor_bb_70: ; preds = %label_after_lor_bb_69
%op111 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 3
%op112 = load i32, i32* %op111
%op113 = icmp ne i32 %op112, 1
br label %label_after_lor_bb_71
label_after_lor_bb_71: ; preds = %label_after_lor_bb_69, %label_next_lor_bb_70
br i1 %op113, label %label_after_lor_bb_73, label %label_next_lor_bb_72
label_next_lor_bb_72: ; preds = %label_after_lor_bb_71
%op114 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 4
%op115 = load i32, i32* %op114
%op116 = icmp ne i32 %op115, 4
br label %label_after_lor_bb_73
label_after_lor_bb_73: ; preds = %label_after_lor_bb_71, %label_next_lor_bb_72
br i1 %op116, label %label_true_if_64, label %label_after_if_65
label_true_if_74: ; preds = %label_after_lor_bb_83
%op117 = load i32, i32* @check
%op118 = sub i32 0, 1
store i32 %op118, i32* @check
store i32 17, i32* %op0
br label %label_mainretBB
label_after_if_75: ; preds = %label_after_lor_bb_83
%op119 = alloca [3 x i32]
%op120 = getelementptr [10 x i32], [10 x i32]* @global_iaa2, i32 0, i32 0
%op121 = load i32, i32* %op120
%op122 = getelementptr [10 x i32], [10 x i32]* @global_iaa2, i32 0, i32 1
%op123 = load i32, i32* %op122
%op124 = sub i32 %op121, %op123
%op125 = getelementptr [3 x i32], [3 x i32]* %op119, i32 0, i32 0
store i32 %op124, i32* %op125
%op126 = getelementptr [10 x i32], [10 x i32]* @global_iaa2, i32 0, i32 2
%op127 = load i32, i32* %op126
%op128 = getelementptr [10 x i32], [10 x i32]* @global_iaa2, i32 0, i32 3
%op129 = load i32, i32* %op128
%op130 = mul i32 %op127, %op129
%op131 = getelementptr [3 x i32], [3 x i32]* %op119, i32 0, i32 1
store i32 %op130, i32* %op131
%op132 = getelementptr [10 x i32], [10 x i32]* @global_iaa2, i32 0, i32 4
%op133 = load i32, i32* %op132
%op134 = getelementptr [10 x i32], [10 x i32]* @global_iaa2, i32 0, i32 5
%op135 = load i32, i32* %op134
%op136 = add i32 %op133, %op135
%op137 = getelementptr [3 x i32], [3 x i32]* %op119, i32 0, i32 2
store i32 %op136, i32* %op137
%op138 = getelementptr [3 x i32], [3 x i32]* %op119, i32 0, i32 0
%op139 = load i32, i32* %op138
%op140 = sub i32 0, 1
%op141 = icmp ne i32 %op139, %op140
br i1 %op141, label %label_after_lor_bb_87, label %label_next_lor_bb_86
label_next_lor_bb_76: ; preds = %label_after_if_65
%op142 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 6
%op143 = load i32, i32* %op142
%op144 = icmp ne i32 %op143, 7
br label %label_after_lor_bb_77
label_after_lor_bb_77: ; preds = %label_after_if_65, %label_next_lor_bb_76
br i1 %op144, label %label_after_lor_bb_79, label %label_next_lor_bb_78
label_next_lor_bb_78: ; preds = %label_after_lor_bb_77
%op145 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 7
%op146 = load i32, i32* %op145
%op147 = icmp ne i32 %op146, 10
br label %label_after_lor_bb_79
label_after_lor_bb_79: ; preds = %label_after_lor_bb_77, %label_next_lor_bb_78
br i1 %op147, label %label_after_lor_bb_81, label %label_next_lor_bb_80
label_next_lor_bb_80: ; preds = %label_after_lor_bb_79
%op148 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 8
%op149 = load i32, i32* %op148
%op150 = icmp ne i32 %op149, 28
br label %label_after_lor_bb_81
label_after_lor_bb_81: ; preds = %label_after_lor_bb_79, %label_next_lor_bb_80
br i1 %op150, label %label_after_lor_bb_83, label %label_next_lor_bb_82
label_next_lor_bb_82: ; preds = %label_after_lor_bb_81
%op151 = getelementptr [10 x i32], [10 x i32]* %op78, i32 0, i32 9
%op152 = load i32, i32* %op151
%op153 = icmp ne i32 %op152, 33
br label %label_after_lor_bb_83
label_after_lor_bb_83: ; preds = %label_after_lor_bb_81, %label_next_lor_bb_82
br i1 %op153, label %label_true_if_74, label %label_after_if_75
label_true_if_84: ; preds = %label_after_lor_bb_89
%op154 = load i32, i32* @check
%op155 = sub i32 0, 1
store i32 %op155, i32* @check
store i32 18, i32* %op0
br label %label_mainretBB
label_after_if_85: ; preds = %label_after_lor_bb_89
%op156 = alloca i32
%op157 = add i32 16, 1
store i32 %op157, i32* %op156
%op158 = load i32, i32* %op156
%op159 = icmp ne i32 %op158, 17
br i1 %op159, label %label_true_if_90, label %label_after_if_91
label_next_lor_bb_86: ; preds = %label_after_if_75
%op160 = getelementptr [3 x i32], [3 x i32]* %op119, i32 0, i32 1
%op161 = load i32, i32* %op160
%op162 = icmp ne i32 %op161, 12
br label %label_after_lor_bb_87
label_after_lor_bb_87: ; preds = %label_after_if_75, %label_next_lor_bb_86
br i1 %op162, label %label_after_lor_bb_89, label %label_next_lor_bb_88
label_next_lor_bb_88: ; preds = %label_after_lor_bb_87
%op163 = getelementptr [3 x i32], [3 x i32]* %op119, i32 0, i32 2
%op164 = load i32, i32* %op163
%op165 = icmp ne i32 %op164, 11
br label %label_after_lor_bb_89
label_after_lor_bb_89: ; preds = %label_after_lor_bb_87, %label_next_lor_bb_88
br i1 %op165, label %label_true_if_84, label %label_after_if_85
label_true_if_90: ; preds = %label_after_if_85
%op166 = load i32, i32* @check
%op167 = sub i32 0, 1
store i32 %op167, i32* @check
store i32 19, i32* %op0
br label %label_mainretBB
label_after_if_91: ; preds = %label_after_if_85
%op168 = alloca i32
%op169 = add i32 15, 9
store i32 %op169, i32* %op168
%op170 = load i32, i32* %op168
%op171 = icmp ne i32 %op170, 24
br i1 %op171, label %label_true_if_92, label %label_after_if_93
label_true_if_92: ; preds = %label_after_if_91
%op172 = load i32, i32* @check
%op173 = sub i32 0, 1
store i32 %op173, i32* @check
store i32 20, i32* %op0
br label %label_mainretBB
label_after_if_93: ; preds = %label_after_if_91
%op174 = load i32, i32* @short_cut_flag
store i32 0, i32* @short_cut_flag
%op175 = load i32, i32* @short_cut_flag
%op176 = icmp slt i32 %op175, 7
br i1 %op176, label %label_after_lor_bb_97, label %label_next_lor_bb_96
label_true_if_94: ; preds = %label_after_lor_bb_97
%op177 = load i32, i32* @short_cut_flag
%op178 = icmp ne i32 %op177, 0
br i1 %op178, label %label_true_if_98, label %label_after_if_99
label_after_if_95: ; preds = %label_after_lor_bb_97, %label_after_if_99
%op179 = load i32, i32* @short_cut_flag
store i32 0, i32* @short_cut_flag
%op180 = icmp eq i32 5, 5
br i1 %op180, label %label_next_land_bb_102, label %label_after_land_bb_103
label_next_lor_bb_96: ; preds = %label_after_if_93
%op181 = call i32 @short_cut()
%op182 = icmp ne i32 %op181, 0
br label %label_after_lor_bb_97
label_after_lor_bb_97: ; preds = %label_after_if_93, %label_next_lor_bb_96
br i1 %op182, label %label_true_if_94, label %label_after_if_95
label_true_if_98: ; preds = %label_true_if_94
%op183 = load i32, i32* @check
%op184 = sub i32 0, 1
store i32 %op184, i32* @check
store i32 21, i32* %op0
br label %label_mainretBB
label_after_if_99: ; preds = %label_true_if_94
br label %label_after_if_95
label_true_if_100: ; preds = %label_after_land_bb_103
%op185 = load i32, i32* @short_cut_flag
%op186 = icmp ne i32 %op185, 1
br i1 %op186, label %label_true_if_104, label %label_after_if_105
label_after_if_101: ; preds = %label_after_land_bb_103, %label_after_if_105
%op187 = load i32, i32* @short_cut_flag
store i32 0, i32* @short_cut_flag
%op188 = icmp eq i32 5, 6
br i1 %op188, label %label_next_land_bb_108, label %label_after_land_bb_109
label_next_land_bb_102: ; preds = %label_after_if_95
%op189 = call i32 @short_cut()
%op190 = icmp ne i32 %op189, 0
br label %label_after_land_bb_103
label_after_land_bb_103: ; preds = %label_after_if_95, %label_next_land_bb_102
br i1 %op190, label %label_true_if_100, label %label_after_if_101
label_true_if_104: ; preds = %label_true_if_100
%op191 = load i32, i32* @check
%op192 = sub i32 0, 1
store i32 %op192, i32* @check
store i32 22, i32* %op0
br label %label_mainretBB
label_after_if_105: ; preds = %label_true_if_100
br label %label_after_if_101
label_true_if_106: ; preds = %label_after_land_bb_109
%op193 = load i32, i32* @short_cut_flag
%op194 = icmp ne i32 %op193, 0
br i1 %op194, label %label_true_if_110, label %label_after_if_111
label_after_if_107: ; preds = %label_after_land_bb_109, %label_after_if_111
%op195 = alloca i32
store i32 12, i32* %op195
%op196 = load i32, i32* %op195
%op197 = sub i32 0, %op196
%op198 = sub i32 0, 12
%op199 = icmp ne i32 %op197, %op198
br i1 %op199, label %label_true_if_112, label %label_after_if_113
label_next_land_bb_108: ; preds = %label_after_if_101
%op200 = call i32 @short_cut()
%op201 = icmp ne i32 %op200, 0
br label %label_after_land_bb_109
label_after_land_bb_109: ; preds = %label_after_if_101, %label_next_land_bb_108
br i1 %op201, label %label_true_if_106, label %label_after_if_107
label_true_if_110: ; preds = %label_true_if_106
%op202 = load i32, i32* @check
%op203 = sub i32 0, 1
store i32 %op203, i32* @check
store i32 23, i32* %op0
br label %label_mainretBB
label_after_if_111: ; preds = %label_true_if_106
br label %label_after_if_107
label_true_if_112: ; preds = %label_after_if_107
%op204 = load i32, i32* @check
%op205 = sub i32 0, 1
store i32 %op205, i32* @check
store i32 24, i32* %op0
br label %label_mainretBB
label_after_if_113: ; preds = %label_after_if_107
%op206 = load i32, i32* %op195
%op207 = icmp eq i32 %op206, 0
br i1 %op207, label %label_true_if_114, label %label_after_if_115
label_true_if_114: ; preds = %label_after_if_113
%op208 = load i32, i32* @check
%op209 = sub i32 0, 1
store i32 %op209, i32* @check
store i32 25, i32* %op0
br label %label_mainretBB
label_after_if_115: ; preds = %label_after_if_113
%op210 = load i32, i32* @check
store i32 %op210, i32* %op0
br label %label_mainretBB
}