source_filename = "test"
target datalayout = "e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"

@xmm0 = internal unnamed_addr global i128 0
@xmm1 = internal unnamed_addr global i128 0
@xmm6 = internal unnamed_addr global i128 0
@eax = internal unnamed_addr global i32 0, align 8
@ecx = internal unnamed_addr global i32 0, align 8
@edx = internal unnamed_addr global i32 0
@ebx = internal unnamed_addr global i32 0
@esi = internal unnamed_addr global i32 0
@edi = internal unnamed_addr global i32 0

define i32 @function_0(i32 %arg1) local_unnamed_addr {
dec_label_pc_0:
  %ebx.global-to-local = alloca i32, align 4
  %edi.global-to-local = alloca i32, align 4
  %edx.global-to-local = alloca i32, align 4
  %esi.global-to-local = alloca i32, align 4
  %xmm3.global-to-local = alloca i128, align 8
  %xmm5.global-to-local = alloca i128, align 8
  %v0_3 = load i32, i32* %esi.global-to-local, align 4
  %v0_4 = load i32, i32* %edi.global-to-local, align 4
  %v0_5 = load i32, i32* %ebx.global-to-local, align 4
  store i32 %arg1, i32* %esi.global-to-local, align 4
  %v1_9 = add i32 %arg1, 48
  %v2_9 = inttoptr i32 %v1_9 to i32*
  %v3_9 = load i32, i32* %v2_9, align 4
  store i32 %v3_9, i32* @edi, align 4
  %v1_c = inttoptr i32 %v3_9 to i128*
  %v2_c = load i128, i128* %v1_c, align 4
  %v3_c = call i128 @__asm_movapd(i128 %v2_c)
  store i128 %v3_c, i128* @xmm6, align 8
  %v2_10 = load i128, i128* bitcast (i32* @eax to i128*), align 8
  %v3_10 = call i128 @__asm_movupd(i128 %v2_10)
  %v2_14 = load i64, i64* bitcast (i32* @ecx to i64*), align 8
  %v3_14 = call i128 @__asm_movsd(i64 %v2_14)
  store i128 %v3_14, i128* %xmm5.global-to-local, align 8
  %v2_18 = call i128 @__asm_mulpd(i128 %v3_10, i128 %v3_10)
  %v2_1c = call i128 @__asm_mulsd(i128 %v3_14, i128 %v3_14)
  store i128 %v2_1c, i128* %xmm5.global-to-local, align 8
  %v2_20 = call i128 @__asm_haddpd(i128 %v2_18, i128 %v2_18)
  %v2_24 = call i128 @__asm_addsd(i128 %v2_1c, i128 %v2_20)
  store i128 %v2_24, i128* %xmm5.global-to-local, align 8
  %v0_28 = load i32, i32* @edi, align 4
  %v1_28 = add i32 %v0_28, 16
  %v2_28 = inttoptr i32 %v1_28 to i64*
  %v3_28 = load i64, i64* %v2_28, align 4
  %v4_28 = call i128 @__asm_movsd(i64 %v3_28)
  %v1_2d = call i128 @__asm_sqrtsd(i128 %v2_24)
  %v2_31 = call i128 @__asm_divsd(i128 %v4_28, i128 %v1_2d)
  %v0_35 = load i32, i32* @edi, align 4
  %v1_35 = add i32 %v0_35, -12
  %v2_35 = inttoptr i32 %v1_35 to i32*
  %v3_35 = load i32, i32* %v2_35, align 4
  store i32 %v3_35, i32* %edx.global-to-local, align 4
  %v5_3b = icmp slt i32 %v3_35, 4
  br i1 %v5_3b, label %dec_label_pc_5e, label %dec_label_pc_3d

dec_label_pc_3d:                                  ; preds = %dec_label_pc_0
  %v0_3d = load i128, i128* %xmm3.global-to-local, align 8
  %v1_3d = load i128, i128* %xmm5.global-to-local, align 8
  %v2_3d = call i128 @__asm_movsd.1(i128 %v0_3d, i128 %v1_3d)
  store i128 %v2_3d, i128* %xmm3.global-to-local, align 8
  %v2_41 = call i128 @__asm_mulsd(i128 %v1_3d, i128 %v1_3d)
  store i128 %v2_41, i128* %xmm5.global-to-local, align 8
  %v0_45 = load i32, i32* %edx.global-to-local, align 4
  %v5_48 = icmp slt i32 %v0_45, 8
  br i1 %v5_48, label %dec_label_pc_55, label %dec_label_pc_4a

dec_label_pc_4a:                                  ; preds = %dec_label_pc_3d
  %v2_4a = call i128 @__asm_mulsd(i128 %v2_41, i128 %v2_41)
  store i128 %v2_4a, i128* %xmm5.global-to-local, align 8
  %v0_4e = load i32, i32* %edx.global-to-local, align 4
  %v5_51 = icmp slt i32 %v0_4e, 10
  br i1 %v5_51, label %dec_label_pc_5e, label %dec_label_pc_5a

dec_label_pc_55:                                  ; preds = %dec_label_pc_3d
  %v5_58 = icmp slt i32 %v0_45, 6
  br i1 %v5_58, label %dec_label_pc_5e, label %dec_label_pc_5a

dec_label_pc_5a:                                  ; preds = %dec_label_pc_4a, %dec_label_pc_55
  %v0_5a = phi i128 [ %v2_4a, %dec_label_pc_4a ], [ %v2_41, %dec_label_pc_55 ]
  %v2_5a = call i128 @__asm_mulsd(i128 %v0_5a, i128 %v2_3d)
  store i128 %v2_5a, i128* %xmm5.global-to-local, align 8
  %v0_5e.pre = load i32, i32* %edx.global-to-local, align 4
  br label %dec_label_pc_5e

dec_label_pc_5e:                                  ; preds = %dec_label_pc_5a, %dec_label_pc_55, %dec_label_pc_4a, %dec_label_pc_0
  %v0_5e = phi i32 [ %v0_5e.pre, %dec_label_pc_5a ], [ %v0_45, %dec_label_pc_55 ], [ %v0_4e, %dec_label_pc_4a ], [ %v3_35, %dec_label_pc_0 ]
  %v2_5e = udiv i32 %v0_5e, 2
  store i32 %v2_5e, i32* %edx.global-to-local, align 4
  %v9_5e = urem i32 %v0_5e, 2
  %v10_5e = icmp ne i32 %v9_5e, 0
  %v1_60 = icmp eq i1 %v10_5e, false
  br i1 %v1_60, label %dec_label_pc_66, label %dec_label_pc_62

dec_label_pc_62:                                  ; preds = %dec_label_pc_5e
  %v0_62 = load i128, i128* %xmm5.global-to-local, align 8
  %v2_62 = call i128 @__asm_mulsd(i128 %v0_62, i128 %v1_2d)
  store i128 %v2_62, i128* %xmm5.global-to-local, align 8
  br label %dec_label_pc_66

dec_label_pc_66:                                  ; preds = %dec_label_pc_62, %dec_label_pc_5e
  %v2_66 = call i128 @__asm_unpcklpd(i128 %v2_31, i128 %v2_31)
  %v2_6a = load i128, i128* bitcast (i32* @eax to i128*), align 8
  %v3_6a = call i128 @__asm_movupd(i128 %v2_6a)
  %v2_6e = load i64, i64* bitcast (i32* @ecx to i64*), align 8
  %v3_6e = call i128 @__asm_movsd(i64 %v2_6e)
  %v2_72 = call i128 @__asm_mulpd(i128 %v3_6a, i128 %v2_66)
  store i128 %v2_72, i128* @xmm0, align 8
  %v0_76 = load i128, i128* %xmm5.global-to-local, align 8
  %v1_76 = call i32 @__asm_movsd.2(i128 %v0_76)
  %v2_76 = load i32, i32* @eax, align 8
  %v3_76 = add i32 %v2_76, 8
  %v4_76 = sext i32 %v1_76 to i64
  %v5_76 = inttoptr i32 %v3_76 to i64*
  store i64 %v4_76, i64* %v5_76, align 4
  %v2_7b = call i128 @__asm_mulsd(i128 %v3_6e, i128 %v2_66)
  store i128 %v2_7b, i128* @xmm1, align 8
  %v0_7f = load i32, i32* @edi, align 4
  %v1_7f = add i32 %v0_7f, -16
  %v2_7f = inttoptr i32 %v1_7f to i32*
  %v3_7f = load i32, i32* %v2_7f, align 4
  store i32 %v3_7f, i32* @edx, align 4
  %v1_82 = add i32 %v0_7f, -20
  %v2_82 = inttoptr i32 %v1_82 to i32*
  %v3_82 = load i32, i32* %v2_82, align 4
  store i32 %v3_82, i32* @ebx, align 4
  %v0_85 = call i32 @function_e2()
  store i32 %v0_85, i32* @eax, align 8
  %v0_8a = load i32, i32* @edi, align 4
  %v1_8a = add i32 %v0_8a, -24
  %v2_8a = inttoptr i32 %v1_8a to i32*
  %v3_8a = load i32, i32* %v2_8a, align 4
  %v10_8a = icmp eq i32 %v3_8a, 0
  br i1 %v10_8a, label %dec_label_pc_9b, label %dec_label_pc_90

dec_label_pc_90:                                  ; preds = %dec_label_pc_66
  %v1_90 = add i32 %v0_8a, -28
  %v2_90 = inttoptr i32 %v1_90 to i32*
  %v3_90 = load i32, i32* %v2_90, align 4
  store i32 %v3_90, i32* @edx, align 4
  %v1_93 = add i32 %v0_8a, -32
  %v2_93 = inttoptr i32 %v1_93 to i32*
  %v3_93 = load i32, i32* %v2_93, align 4
  store i32 %v3_93, i32* @ebx, align 4
  %v0_96 = call i32 @function_e2()
  store i32 %v0_96, i32* @eax, align 8
  %v0_9b.pre = load i32, i32* @edi, align 4
  br label %dec_label_pc_9b

dec_label_pc_9b:                                  ; preds = %dec_label_pc_90, %dec_label_pc_66
  %v0_af5 = phi i32 [ %v0_96, %dec_label_pc_90 ], [ %v0_85, %dec_label_pc_66 ]
  %v0_a1 = phi i32 [ %v0_9b.pre, %dec_label_pc_90 ], [ %v0_8a, %dec_label_pc_66 ]
  %v1_9b = add i32 %v0_a1, -36
  %v2_9b = inttoptr i32 %v1_9b to i32*
  %v3_9b = load i32, i32* %v2_9b, align 4
  %v10_9b = icmp eq i32 %v3_9b, 0
  br i1 %v10_9b, label %dec_label_pc_ac, label %dec_label_pc_a1

dec_label_pc_a1:                                  ; preds = %dec_label_pc_9b
  %v1_a1 = add i32 %v0_a1, -40
  %v2_a1 = inttoptr i32 %v1_a1 to i32*
  %v3_a1 = load i32, i32* %v2_a1, align 4
  store i32 %v3_a1, i32* @edx, align 4
  %v1_a4 = add i32 %v0_a1, -44
  %v2_a4 = inttoptr i32 %v1_a4 to i32*
  %v3_a4 = load i32, i32* %v2_a4, align 4
  store i32 %v3_a4, i32* @ebx, align 4
  %v0_a7 = call i32 @function_e2()
  store i32 %v0_a7, i32* @eax, align 8
  br label %dec_label_pc_ac

dec_label_pc_ac:                                  ; preds = %dec_label_pc_a1, %dec_label_pc_9b
  %v0_af = phi i32 [ %v0_a7, %dec_label_pc_a1 ], [ %v0_af5, %dec_label_pc_9b ]
  store i32 %arg1, i32* %esi.global-to-local, align 4
  %v1_af = add i32 %v0_af, 8
  %v2_af = inttoptr i32 %v1_af to i64*
  %v3_af = load i64, i64* %v2_af, align 4
  %v4_af = call i128 @__asm_movsd(i64 %v3_af)
  store i128 %v4_af, i128* %xmm5.global-to-local, align 8
  %v1_b4 = add i32 %arg1, 24
  %v2_b4 = inttoptr i32 %v1_b4 to i128*
  %v3_b4 = load i128, i128* %v2_b4, align 4
  %v4_b4 = call i128 @__asm_movupd(i128 %v3_b4)
  store i128 %v4_b4, i128* %xmm3.global-to-local, align 8
  %v2_b9 = call i128 @__asm_unpcklpd(i128 %v4_af, i128 %v4_af)
  store i128 %v2_b9, i128* %xmm5.global-to-local, align 8
  %v2_bd = call i128 @__asm_mulsd(i128 %v2_7b, i128 %v2_b9)
  %v2_c1 = call i128 @__asm_mulpd(i128 %v2_72, i128 %v2_b9)
  %v1_c5 = load i32, i32* @edi, align 4
  %v2_c5 = add i32 %v1_c5, -52
  %v3_c5 = inttoptr i32 %v2_c5 to i64*
  %v4_c5 = load i64, i64* %v3_c5, align 4
  %v5_c5 = call i128 @__asm_mulsd.3(i128 %v2_bd, i64 %v4_c5)
  %v2_ca = call i128 @__asm_addpd(i128 %v2_c1, i128 %v4_b4)
  %v1_ce = load i32, i32* %esi.global-to-local, align 4
  %v2_ce = add i32 %v1_ce, 40
  %v3_ce = inttoptr i32 %v2_ce to i64*
  %v4_ce = load i64, i64* %v3_ce, align 4
  %v5_ce = call i128 @__asm_addsd.4(i128 %v5_c5, i64 %v4_ce)
  %v0_d3 = load i32, i32* @eax, align 8
  %v1_d3 = inttoptr i32 %v0_d3 to i128*
  %v2_d3 = load i128, i128* %v1_d3, align 4
  call void @__asm_movupd.5(i128 %v2_d3, i128 %v2_ca)
  %v1_d7 = call i32 @__asm_movsd.2(i128 %v5_ce)
  %v2_d7 = load i32, i32* @ecx, align 8
  %v3_d7 = sext i32 %v1_d7 to i64
  %v4_d7 = inttoptr i32 %v2_d7 to i64*
  store i64 %v3_d7, i64* %v4_d7, align 4
  store i32 %v0_5, i32* %ebx.global-to-local, align 4
  store i32 %v0_4, i32* %edi.global-to-local, align 4
  store i32 %v0_3, i32* %esi.global-to-local, align 4
  %v0_df = load i32, i32* @eax, align 8
  ret i32 %v0_df
}

define i32 @function_e2() local_unnamed_addr {
dec_label_pc_e2:
  store i32 0, i32* @esi, align 4
  %v0_e4 = load i32, i32* @ebx, align 4
  %v5_e7 = icmp slt i32 %v0_e4, 6
  br i1 %v5_e7, label %dec_label_pc_ef, label %dec_label_pc_e9

dec_label_pc_e9:                                  ; preds = %dec_label_pc_e2
  %v1_e4 = add i32 %v0_e4, -6
  store i32 1, i32* @esi, align 4
  br label %dec_label_pc_ef

dec_label_pc_ef:                                  ; preds = %dec_label_pc_e2, %dec_label_pc_e9
  %v0_1bc = phi i32 [ %v1_e4, %dec_label_pc_e9 ], [ %v0_e4, %dec_label_pc_e2 ]
  %v5_f2 = icmp slt i32 %v0_1bc, 3
  br i1 %v5_f2, label %dec_label_pc_1bc, label %dec_label_pc_f8

dec_label_pc_f8:                                  ; preds = %dec_label_pc_ef
  %v1_f8 = add i32 %v0_1bc, -4
  %v11_f8 = icmp slt i32 %v1_f8, 0
  %v1_fb = icmp eq i1 %v11_f8, false
  br i1 %v1_fb, label %dec_label_pc_12f, label %dec_label_pc_fd

dec_label_pc_fd:                                  ; preds = %dec_label_pc_f8
  %v0_fd = load i128, i128* @xmm0, align 8
  %v1_fd = call i128 @__asm_movapd(i128 %v0_fd)
  %v0_101 = load i128, i128* @xmm0, align 8
  %v2_101 = call i128 @__asm_mulpd(i128 %v0_101, i128 %v0_101)
  %v2_105 = call i128 @__asm_haddpd(i128 %v2_101, i128 %v2_101)
  %v1_109 = call i128 @__asm_sqrtsd(i128 %v2_105)
  %v1_10d = call i32 @__asm_movsd.2(i128 %v1_109)
  %v2_10d = load i32, i32* @ecx, align 8
  %v3_10d = sext i32 %v1_10d to i64
  %v4_10d = inttoptr i32 %v2_10d to i64*
  store i64 %v3_10d, i64* %v4_10d, align 4
  %v1_111 = load i128, i128* @xmm1, align 8
  %v2_111 = call i128 @__asm_unpcklpd(i128 %v1_109, i128 %v1_111)
  store i128 %v2_111, i128* @xmm0, align 8
  %v0_115 = call i32 @function_285()
  store i32 %v0_115, i32* @eax, align 8
  %v1_11a = call i128 @__asm_movapd(i128 %v2_111)
  %v3_11e = load i64, i64* bitcast (i32* @ecx to i64*), align 8
  %v4_11e = call i128 @__asm_divsd.6(i128 %v2_111, i64 %v3_11e)
  %v2_122 = call i128 @__asm_unpcklpd(i128 %v4_11e, i128 %v4_11e)
  %v2_126 = call i128 @__asm_unpckhpd(i128 %v1_11a, i128 %v1_11a)
  store i128 %v2_126, i128* @xmm1, align 8
  %v2_12a = call i128 @__asm_mulpd(i128 %v2_122, i128 %v1_fd)
  store i128 %v2_12a, i128* @xmm0, align 8
  %v0_12e = load i32, i32* @eax, align 8
  ret i32 %v0_12e

dec_label_pc_12f:                                 ; preds = %dec_label_pc_f8
  %v1_12f = add i32 %v0_1bc, -5
  %v11_12f = icmp slt i32 %v1_12f, 0
  %v1_132 = icmp eq i1 %v11_12f, false
  br i1 %v1_132, label %dec_label_pc_176, label %dec_label_pc_134

dec_label_pc_134:                                 ; preds = %dec_label_pc_12f
  %v2_134 = load i64, i64* bitcast (i32* @eax to i64*), align 8
  %v3_134 = load i128, i128* @xmm0, align 8
  call void @__asm_movhpd(i64 %v2_134, i128 %v3_134)
  %v0_138 = load i128, i128* @xmm0, align 8
  %v1_138 = load i128, i128* @xmm1, align 8
  %v2_138 = call i128 @__asm_unpcklpd(i128 %v0_138, i128 %v1_138)
  %v1_13c = call i128 @__asm_movapd(i128 %v2_138)
  %v2_140 = call i128 @__asm_mulpd(i128 %v2_138, i128 %v2_138)
  %v2_144 = call i128 @__asm_haddpd(i128 %v2_140, i128 %v2_140)
  %v1_148 = call i128 @__asm_sqrtsd(i128 %v2_144)
  %v1_14c = call i32 @__asm_movsd.2(i128 %v1_148)
  %v2_14c = load i32, i32* @ecx, align 8
  %v3_14c = sext i32 %v1_14c to i64
  %v4_14c = inttoptr i32 %v2_14c to i64*
  store i64 %v3_14c, i64* %v4_14c, align 4
  %v3_150 = load i64, i64* bitcast (i32* @eax to i64*), align 8
  %v4_150 = call i128 @__asm_movhpd.7(i128 %v1_148, i64 %v3_150)
  store i128 %v4_150, i128* @xmm0, align 8
  %v0_154 = call i32 @function_285()
  store i32 %v0_154, i32* @eax, align 8
  %v1_159 = call i128 @__asm_movapd(i128 %v4_150)
  %v3_15d = load i64, i64* bitcast (i32* @ecx to i64*), align 8
  %v4_15d = call i128 @__asm_divsd.6(i128 %v4_150, i64 %v3_15d)
  %v2_161 = call i128 @__asm_unpcklpd(i128 %v4_15d, i128 %v4_15d)
  %v2_165 = call i128 @__asm_mulpd(i128 %v2_161, i128 %v1_13c)
  %v2_169 = call i128 @__asm_unpckhpd(i128 %v1_159, i128 %v2_165)
  %v2_16d = call i128 @__asm_unpcklpd(i128 %v2_165, i128 %v2_169)
  store i128 %v2_16d, i128* @xmm0, align 8
  %v2_171 = call i128 @__asm_unpckhpd(i128 %v2_169, i128 %v2_169)
  store i128 %v2_171, i128* @xmm1, align 8
  %v0_175 = load i32, i32* @eax, align 8
  ret i32 %v0_175

dec_label_pc_176:                                 ; preds = %dec_label_pc_12f
  %v0_176 = load i128, i128* @xmm0, align 8
  %v1_176 = call i32 @__asm_movsd.2(i128 %v0_176)
  %v2_176 = load i32, i32* @eax, align 8
  %v3_176 = sext i32 %v1_176 to i64
  %v4_176 = inttoptr i32 %v2_176 to i64*
  store i64 %v3_176, i64* %v4_176, align 4
  %v0_17a = load i128, i128* @xmm1, align 8
  %v2_17a = call i128 @__asm_unpcklpd(i128 %v0_17a, i128 %v0_17a)
  %v0_17e = load i128, i128* @xmm0, align 8
  %v2_17e = call i128 @__asm_unpckhpd(i128 %v0_17e, i128 %v2_17a)
  %v1_182 = call i128 @__asm_movapd(i128 %v2_17e)
  %v2_186 = call i128 @__asm_mulpd(i128 %v2_17e, i128 %v2_17e)
  %v2_18a = call i128 @__asm_haddpd(i128 %v2_186, i128 %v2_186)
  %v1_18e = call i128 @__asm_sqrtsd(i128 %v2_18a)
  %v1_192 = call i32 @__asm_movsd.2(i128 %v1_18e)
  %v2_192 = load i32, i32* @ecx, align 8
  %v3_192 = sext i32 %v1_192 to i64
  %v4_192 = inttoptr i32 %v2_192 to i64*
  store i64 %v3_192, i64* %v4_192, align 4
  %v3_196 = load i64, i64* bitcast (i32* @eax to i64*), align 8
  %v4_196 = call i128 @__asm_movhpd.7(i128 %v1_18e, i64 %v3_196)
  store i128 %v4_196, i128* @xmm0, align 8
  %v0_19a = call i32 @function_285()
  store i32 %v0_19a, i32* @eax, align 8
  %v1_19f = call i128 @__asm_movapd(i128 %v4_196)
  %v3_1a3 = load i64, i64* bitcast (i32* @ecx to i64*), align 8
  %v4_1a3 = call i128 @__asm_divsd.6(i128 %v1_19f, i64 %v3_1a3)
  %v2_1a7 = call i128 @__asm_unpcklpd(i128 %v4_1a3, i128 %v4_1a3)
  %v2_1ab = call i128 @__asm_mulpd(i128 %v2_1a7, i128 %v1_182)
  %v2_1af = call i128 @__asm_unpckhpd(i128 %v4_196, i128 %v4_196)
  %v2_1b3 = call i128 @__asm_unpcklpd(i128 %v2_1af, i128 %v2_1ab)
  store i128 %v2_1b3, i128* @xmm0, align 8
  %v2_1b7 = call i128 @__asm_unpckhpd(i128 %v2_1ab, i128 %v2_1ab)
  store i128 %v2_1b7, i128* @xmm1, align 8
  %v0_1bb = load i32, i32* @eax, align 8
  ret i32 %v0_1bb

dec_label_pc_1bc:                                 ; preds = %dec_label_pc_ef
  %v1_1bc = add i32 %v0_1bc, -1
  %v11_1bc = icmp slt i32 %v1_1bc, 0
  %v1_1bf = icmp eq i1 %v11_1bc, false
  br i1 %v1_1bf, label %dec_label_pc_1f8, label %dec_label_pc_1c1

dec_label_pc_1c1:                                 ; preds = %dec_label_pc_1bc
  %v0_1c1 = load i128, i128* @xmm0, align 8
  %v1_1c1 = call i128 @__asm_movapd(i128 %v0_1c1)
  %v2_1c5 = call i128 @__asm_mulpd(i128 %v1_1c1, i128 %v1_1c1)
  %v2_1c9 = call i128 @__asm_haddpd(i128 %v2_1c5, i128 %v2_1c5)
  %v1_1cd = call i128 @__asm_sqrtsd(i128 %v2_1c9)
  %v0_1d1 = load i32, i32* @edi, align 4
  %v1_1d1 = add i32 %v0_1d1, 16
  %v2_1d1 = inttoptr i32 %v1_1d1 to i64*
  %v3_1d1 = load i64, i64* %v2_1d1, align 4
  %v4_1d1 = call i128 @__asm_movsd(i64 %v3_1d1)
  %v2_1d6 = call i128 @__asm_divsd(i128 %v4_1d1, i128 %v1_1cd)
  %v2_1da = call i128 @__asm_unpcklpd(i128 %v2_1d6, i128 %v2_1d6)
  %v2_1de = call i128 @__asm_unpcklpd(i128 %v1_1cd, i128 %v1_1cd)
  %v0_1e2 = load i128, i128* @xmm1, align 8
  %v1_1e2 = call i32 @__asm_movsd.2(i128 %v0_1e2)
  %v2_1e2 = load i32, i32* @ecx, align 8
  %v3_1e2 = sext i32 %v1_1e2 to i64
  %v4_1e2 = inttoptr i32 %v2_1e2 to i64*
  store i64 %v3_1e2, i64* %v4_1e2, align 4
  %v0_1e6 = load i128, i128* @xmm0, align 8
  %v2_1e6 = call i128 @__asm_mulpd(i128 %v0_1e6, i128 %v2_1da)
  store i128 %v2_1e6, i128* @xmm0, align 8
  %v0_1ea = call i32 @function_285()
  store i32 %v0_1ea, i32* @eax, align 8
  %v2_1ef = load i64, i64* bitcast (i32* @ecx to i64*), align 8
  %v3_1ef = call i128 @__asm_movsd(i64 %v2_1ef)
  store i128 %v3_1ef, i128* @xmm1, align 8
  %v2_1f3 = call i128 @__asm_mulpd(i128 %v2_1e6, i128 %v2_1de)
  store i128 %v2_1f3, i128* @xmm0, align 8
  %v0_1f7 = load i32, i32* @eax, align 8
  ret i32 %v0_1f7

dec_label_pc_1f8:                                 ; preds = %dec_label_pc_1bc
  %v1_1f8 = add i32 %v0_1bc, -2
  %v11_1f8 = icmp slt i32 %v1_1f8, 0
  %v1_1fb = icmp eq i1 %v11_1f8, false
  br i1 %v1_1fb, label %dec_label_pc_23d, label %dec_label_pc_1fd

dec_label_pc_1fd:                                 ; preds = %dec_label_pc_1f8
  %v2_1fd = load i64, i64* bitcast (i32* @ecx to i64*), align 8
  %v3_1fd = load i128, i128* @xmm0, align 8
  call void @__asm_movhpd(i64 %v2_1fd, i128 %v3_1fd)
  %v0_201 = load i128, i128* @xmm0, align 8
  %v1_201 = load i128, i128* @xmm1, align 8
  %v2_201 = call i128 @__asm_unpcklpd(i128 %v0_201, i128 %v1_201)
  %v1_205 = call i128 @__asm_movapd(i128 %v2_201)
  %v2_209 = call i128 @__asm_mulpd(i128 %v1_205, i128 %v1_205)
  %v2_20d = call i128 @__asm_haddpd(i128 %v2_209, i128 %v2_209)
  %v1_211 = call i128 @__asm_sqrtsd(i128 %v2_20d)
  %v0_215 = load i32, i32* @edi, align 4
  %v1_215 = add i32 %v0_215, 16
  %v2_215 = inttoptr i32 %v1_215 to i64*
  %v3_215 = load i64, i64* %v2_215, align 4
  %v4_215 = call i128 @__asm_movsd(i64 %v3_215)
  %v2_21a = call i128 @__asm_divsd(i128 %v4_215, i128 %v1_211)
  %v2_21e = call i128 @__asm_unpcklpd(i128 %v2_21a, i128 %v2_21a)
  %v2_222 = call i128 @__asm_unpcklpd(i128 %v1_211, i128 %v1_211)
  %v2_226 = call i128 @__asm_mulpd(i128 %v2_201, i128 %v2_21e)
  store i128 %v2_226, i128* @xmm0, align 8
  %v0_22a = call i32 @function_285()
  store i32 %v0_22a, i32* @eax, align 8
  %v2_22f = call i128 @__asm_mulpd(i128 %v2_226, i128 %v2_222)
  %v1_233 = call i128 @__asm_pshufd(i128 %v2_22f, i32 78)
  store i128 %v1_233, i128* @xmm1, align 8
  %v3_238 = load i64, i64* bitcast (i32* @ecx to i64*), align 8
  %v4_238 = call i128 @__asm_movhpd.7(i128 %v2_22f, i64 %v3_238)
  store i128 %v4_238, i128* @xmm0, align 8
  %v0_23c = load i32, i32* @eax, align 8
  ret i32 %v0_23c

dec_label_pc_23d:                                 ; preds = %dec_label_pc_1f8
  %v0_23d = load i128, i128* @xmm0, align 8
  %v1_23d = call i32 @__asm_movsd.2(i128 %v0_23d)
  %v2_23d = load i32, i32* @ecx, align 8
  %v3_23d = sext i32 %v1_23d to i64
  %v4_23d = inttoptr i32 %v2_23d to i64*
  store i64 %v3_23d, i64* %v4_23d, align 4
  %v0_241 = load i128, i128* @xmm0, align 8
  %v2_241 = call i128 @__asm_unpckhpd(i128 %v0_241, i128 %v0_241)
  %v1_245 = load i128, i128* @xmm1, align 8
  %v2_245 = call i128 @__asm_unpcklpd(i128 %v2_241, i128 %v1_245)
  %v1_249 = call i128 @__asm_movapd(i128 %v2_245)
  %v2_24d = call i128 @__asm_mulpd(i128 %v1_249, i128 %v1_249)
  %v2_251 = call i128 @__asm_haddpd(i128 %v2_24d, i128 %v2_24d)
  %v1_255 = call i128 @__asm_sqrtsd(i128 %v2_251)
  %v0_259 = load i32, i32* @edi, align 4
  %v1_259 = add i32 %v0_259, 16
  %v2_259 = inttoptr i32 %v1_259 to i64*
  %v3_259 = load i64, i64* %v2_259, align 4
  %v4_259 = call i128 @__asm_movsd(i64 %v3_259)
  %v2_25e = call i128 @__asm_divsd(i128 %v4_259, i128 %v1_255)
  %v2_262 = call i128 @__asm_unpcklpd(i128 %v2_25e, i128 %v2_25e)
  %v2_266 = call i128 @__asm_unpcklpd(i128 %v1_255, i128 %v1_255)
  %v2_26a = call i128 @__asm_mulpd(i128 %v2_245, i128 %v2_262)
  store i128 %v2_26a, i128* @xmm0, align 8
  %v0_26e = call i32 @function_285()
  store i32 %v0_26e, i32* @eax, align 8
  %v2_273 = call i128 @__asm_mulpd(i128 %v2_26a, i128 %v2_266)
  %v1_277 = call i128 @__asm_pshufd(i128 %v2_273, i32 78)
  store i128 %v1_277, i128* @xmm1, align 8
  %v2_27c = call i128 @__asm_unpcklpd(i128 %v2_273, i128 %v2_273)
  %v3_280 = load i64, i64* bitcast (i32* @ecx to i64*), align 8
  %v4_280 = call i128 @__asm_movlpd(i128 %v2_27c, i64 %v3_280)
  store i128 %v4_280, i128* @xmm0, align 8
  %v0_284 = load i32, i32* @eax, align 8
  ret i32 %v0_284
}

define i32 @function_285() local_unnamed_addr {
dec_label_pc_285:
  %tmp9 = call i128 @__decompiler_undefined_function_0()
  %v0_285 = load i32, i32* @esi, align 4
  %v7_285 = icmp eq i32 %v0_285, 0
  br i1 %v7_285, label %dec_label_pc_28f, label %dec_label_pc_28a

dec_label_pc_28a:                                 ; preds = %dec_label_pc_285
  %v0_28a = load i128, i128* @xmm0, align 8
  %v2_28a = call i128 @__asm_shufpd(i128 %v0_28a, i128 %v0_28a, i32 1)
  store i128 %v2_28a, i128* @xmm0, align 8
  br label %dec_label_pc_28f

dec_label_pc_28f:                                 ; preds = %dec_label_pc_28a, %dec_label_pc_285
  %.0 = phi i128 [ %tmp9, %dec_label_pc_285 ], [ %v2_28a, %dec_label_pc_28a ]
  %v1_28f = call i128 @__asm_movapd(i128 %.0)
  store i128 %v1_28f, i128* @xmm1, align 8
  %v0_293 = call i32 @function_2ee()
  store i32 %v0_293, i32* @eax, align 8
  %v0_298 = load i32, i32* @edx, align 4
  %v7_29b = icmp sgt i32 %v0_298, 2
  br i1 %v7_29b, label %dec_label_pc_29d, label %dec_label_pc_2e3

dec_label_pc_29d:                                 ; preds = %dec_label_pc_28f
  %v1_29d = call i128 @__asm_movapd(i128 %v1_28f)
  %v0_2a1 = load i32, i32* @edx, align 4
  %v5_2a4 = icmp slt i32 %v0_2a1, 4
  br i1 %v5_2a4, label %dec_label_pc_2d6, label %dec_label_pc_2a6

dec_label_pc_2a6:                                 ; preds = %dec_label_pc_29d
  %v1_2a6 = call i128 @__asm_movapd(i128 %.0)
  %v1_2aa = call i128 @__asm_movapd(i128 %.0)
  store i128 %v1_2aa, i128* @xmm1, align 8
  %v0_2ae = call i32 @function_2ee()
  store i32 %v0_2ae, i32* @eax, align 8
  %v0_2b3 = load i32, i32* @edx, align 4
  %v5_2b6 = icmp slt i32 %v0_2b3, 8
  br i1 %v5_2b6, label %dec_label_pc_2c8, label %dec_label_pc_2b8

dec_label_pc_2b8:                                 ; preds = %dec_label_pc_2a6
  %v1_2b8 = call i128 @__asm_movapd(i128 %.0)
  store i128 %v1_2b8, i128* @xmm1, align 8
  %v0_2bc = call i32 @function_2ee()
  store i32 %v0_2bc, i32* @eax, align 8
  %v0_2c1 = load i32, i32* @edx, align 4
  %v5_2c4 = icmp slt i32 %v0_2c1, 10
  br i1 %v5_2c4, label %dec_label_pc_2d6, label %dec_label_pc_2cd

dec_label_pc_2c8:                                 ; preds = %dec_label_pc_2a6
  %v5_2cb = icmp slt i32 %v0_2b3, 6
  br i1 %v5_2cb, label %dec_label_pc_2d6, label %dec_label_pc_2cd

dec_label_pc_2cd:                                 ; preds = %dec_label_pc_2b8, %dec_label_pc_2c8
  %v1_2cd = call i128 @__asm_movapd(i128 %v1_2a6)
  store i128 %v1_2cd, i128* @xmm1, align 8
  %v0_2d1 = call i32 @function_2ee()
  store i32 %v0_2d1, i32* @eax, align 8
  %v0_2d6.pre = load i32, i32* @edx, align 4
  br label %dec_label_pc_2d6

dec_label_pc_2d6:                                 ; preds = %dec_label_pc_2cd, %dec_label_pc_2c8, %dec_label_pc_2b8, %dec_label_pc_29d
  %v0_2d6 = phi i32 [ %v0_2d6.pre, %dec_label_pc_2cd ], [ %v0_2b3, %dec_label_pc_2c8 ], [ %v0_2c1, %dec_label_pc_2b8 ], [ %v0_2a1, %dec_label_pc_29d ]
  %v9_2d6 = urem i32 %v0_2d6, 2
  %v10_2d6 = icmp ne i32 %v9_2d6, 0
  %v1_2d8 = icmp eq i1 %v10_2d6, false
  br i1 %v1_2d8, label %dec_label_pc_2e3, label %dec_label_pc_2da

dec_label_pc_2da:                                 ; preds = %dec_label_pc_2d6
  %v1_2da = call i128 @__asm_movapd(i128 %v1_29d)
  store i128 %v1_2da, i128* @xmm1, align 8
  %v0_2de = call i32 @function_2ee()
  store i32 %v0_2de, i32* @eax, align 8
  br label %dec_label_pc_2e3

dec_label_pc_2e3:                                 ; preds = %dec_label_pc_28f, %dec_label_pc_2da, %dec_label_pc_2d6
  %v0_2e3 = load i32, i32* @esi, align 4
  %v7_2e3 = icmp eq i32 %v0_2e3, 0
  br i1 %v7_2e3, label %dec_label_pc_2ed, label %dec_label_pc_2e8

dec_label_pc_2e8:                                 ; preds = %dec_label_pc_2e3
  %v2_2e8 = call i128 @__asm_shufpd(i128 %.0, i128 %.0, i32 1)
  br label %dec_label_pc_2ed

dec_label_pc_2ed:                                 ; preds = %dec_label_pc_2e8, %dec_label_pc_2e3
  %v0_2ed = load i32, i32* @eax, align 8
  ret i32 %v0_2ed
}

define i32 @function_2ee() local_unnamed_addr {
dec_label_pc_2ee:
  %v0_2ee = load i128, i128* @xmm0, align 8
  %v1_2ee = call i128 @__asm_pshufd(i128 %v0_2ee, i32 78)
  %v0_2f3 = load i128, i128* @xmm0, align 8
  %v1_2f3 = load i128, i128* @xmm1, align 8
  %v2_2f3 = call i128 @__asm_mulpd(i128 %v0_2f3, i128 %v1_2f3)
  %v1_2f7 = load i128, i128* @xmm1, align 8
  %v2_2f7 = call i128 @__asm_mulpd(i128 %v1_2ee, i128 %v1_2f7)
  %v1_2fb = load i128, i128* @xmm6, align 8
  %v2_2fb = call i128 @__asm_xorpd(i128 %v2_2f3, i128 %v1_2fb)
  %v2_2ff = call i128 @__asm_haddpd(i128 %v2_2fb, i128 %v2_2f7)
  store i128 %v2_2ff, i128* @xmm0, align 8
  %v0_303 = load i32, i32* @eax, align 8
  ret i32 %v0_303
}

declare i128 @__asm_movapd(i128) local_unnamed_addr

declare i128 @__asm_movupd(i128) local_unnamed_addr

declare i128 @__asm_movsd(i64) local_unnamed_addr

declare i128 @__asm_mulpd(i128, i128) local_unnamed_addr

declare i128 @__asm_mulsd(i128, i128) local_unnamed_addr

declare i128 @__asm_haddpd(i128, i128) local_unnamed_addr

declare i128 @__asm_addsd(i128, i128) local_unnamed_addr

declare i128 @__asm_sqrtsd(i128) local_unnamed_addr

declare i128 @__asm_divsd(i128, i128) local_unnamed_addr

declare i128 @__asm_movsd.1(i128, i128) local_unnamed_addr

declare i128 @__asm_unpcklpd(i128, i128) local_unnamed_addr

declare i32 @__asm_movsd.2(i128) local_unnamed_addr

declare i128 @__asm_mulsd.3(i128, i64) local_unnamed_addr

declare i128 @__asm_addpd(i128, i128) local_unnamed_addr

declare i128 @__asm_addsd.4(i128, i64) local_unnamed_addr

declare void @__asm_movupd.5(i128, i128) local_unnamed_addr

declare i128 @__asm_divsd.6(i128, i64) local_unnamed_addr

declare i128 @__asm_unpckhpd(i128, i128) local_unnamed_addr

declare void @__asm_movhpd(i64, i128) local_unnamed_addr

declare i128 @__asm_movhpd.7(i128, i64) local_unnamed_addr

declare i128 @__asm_pshufd(i128, i32) local_unnamed_addr

declare i128 @__asm_movlpd(i128, i64) local_unnamed_addr

declare i128 @__asm_shufpd(i128, i128, i32) local_unnamed_addr

declare i128 @__asm_xorpd(i128, i128) local_unnamed_addr

declare i128 @__decompiler_undefined_function_0() local_unnamed_addr
