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
@ecx = internal unnamed_addr global i32 0
@edx = internal unnamed_addr global i32 0
@ebx = internal unnamed_addr global i32 0
@esi = internal unnamed_addr global i32 0, align 8
@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
  %ecx.global-to-local = alloca i32, align 4
  %edi.global-to-local = alloca i32, align 4
  %xmm5.global-to-local = alloca i128, align 8
  %v0_3 = load i32, i32* @esi, align 8
  %v0_4 = load i32, i32* %edi.global-to-local, align 4
  %v0_5 = load i32, i32* %ebx.global-to-local, align 4
  %v0_6 = load i32, i32* %ecx.global-to-local, align 4
  store i32 %arg1, i32* @esi, align 8
  %v1_a = add i32 %arg1, 48
  %v2_a = inttoptr i32 %v1_a to i32*
  %v3_a = load i32, i32* %v2_a, align 4
  store i32 %v3_a, i32* @edi, align 4
  %v1_d = add i32 %arg1, 24
  store i32 %v1_d, i32* @esi, align 8
  %v1_10 = inttoptr i32 %v3_a to i128*
  %v2_10 = load i128, i128* %v1_10, align 4
  %v3_10 = call i128 @__asm_movapd(i128 %v2_10)
  store i128 %v3_10, i128* @xmm6, align 8
  %v0_14 = load i32, i32* @esi, align 8
  %v1_14 = inttoptr i32 %v0_14 to i128*
  %v2_14 = load i128, i128* %v1_14, align 4
  %v3_14 = call i128 @__asm_movupd(i128 %v2_14)
  %v0_18 = load i32, i32* @esi, align 8
  %v1_18 = add i32 %v0_18, 16
  %v2_18 = inttoptr i32 %v1_18 to i64*
  %v3_18 = load i64, i64* %v2_18, align 4
  %v4_18 = call i128 @__asm_movsd(i64 %v3_18)
  %v1_1d = call i128 @__asm_movapd(i128 %v3_14)
  %v0_21 = load i128, i128* %xmm5.global-to-local, align 8
  %v2_21 = call i128 @__asm_movsd.1(i128 %v0_21, i128 %v4_18)
  store i128 %v2_21, i128* %xmm5.global-to-local, align 8
  %v2_25 = call i128 @__asm_mulpd(i128 %v1_1d, i128 %v1_1d)
  %v2_29 = call i128 @__asm_mulsd(i128 %v2_21, i128 %v2_21)
  store i128 %v2_29, i128* %xmm5.global-to-local, align 8
  %v2_2d = call i128 @__asm_haddpd(i128 %v2_25, i128 %v2_25)
  %v2_31 = call i128 @__asm_addsd(i128 %v2_29, i128 %v2_2d)
  store i128 %v2_31, i128* %xmm5.global-to-local, align 8
  %v0_35 = load i32, i32* @edi, align 4
  %v1_35 = add i32 %v0_35, 16
  %v2_35 = inttoptr i32 %v1_35 to i64*
  %v3_35 = load i64, i64* %v2_35, align 4
  %v4_35 = call i128 @__asm_movsd(i64 %v3_35)
  %v1_3a = call i128 @__asm_sqrtsd(i128 %v2_31)
  store i128 %v1_3a, i128* %xmm5.global-to-local, align 8
  %v2_3e = call i128 @__asm_divsd(i128 %v4_35, i128 %v1_3a)
  %v2_42 = call i128 @__asm_unpcklpd(i128 %v2_3e, i128 %v2_3e)
  %v2_46 = call i128 @__asm_mulpd(i128 %v3_14, i128 %v2_42)
  store i128 %v2_46, i128* @xmm0, align 8
  %v2_4a = call i128 @__asm_mulsd(i128 %v4_18, i128 %v2_42)
  store i128 %v2_4a, i128* @xmm1, align 8
  %v0_4e = load i32, i32* @edi, align 4
  %v1_4e = add i32 %v0_4e, -12
  %v2_4e = inttoptr i32 %v1_4e to i32*
  %v3_4e = load i32, i32* %v2_4e, align 4
  %v10_4e = icmp eq i32 %v3_4e, 0
  br i1 %v10_4e, label %dec_label_pc_59, label %dec_label_pc_54

dec_label_pc_54:                                  ; preds = %dec_label_pc_0
  %v0_54 = load i128, i128* @xmm0, align 8
  %v2_54 = call i128 @__asm_shufpd(i128 %v0_54, i128 %v0_54, i32 1)
  store i128 %v2_54, i128* @xmm0, align 8
  br label %dec_label_pc_59

dec_label_pc_59:                                  ; preds = %dec_label_pc_54, %dec_label_pc_0
  %v1_59 = call i32 @__asm_movsd.2(i128 %v1_3a)
  %v2_59 = load i32, i32* @esi, align 8
  %v3_59 = add i32 %v2_59, 8
  %v4_59 = sext i32 %v1_59 to i64
  %v5_59 = inttoptr i32 %v3_59 to i64*
  store i64 %v4_59, i64* %v5_59, align 4
  %v0_5e = load i32, i32* @edi, align 4
  %v1_5e = add i32 %v0_5e, -16
  %v2_5e = inttoptr i32 %v1_5e to i32*
  %v3_5e = load i32, i32* %v2_5e, align 4
  store i32 %v3_5e, i32* @edx, align 4
  %v1_61 = add i32 %v0_5e, -20
  %v2_61 = inttoptr i32 %v1_61 to i32*
  %v3_61 = load i32, i32* %v2_61, align 4
  store i32 %v3_61, i32* @ebx, align 4
  %v0_64 = call i32 @function_b2()
  store i32 %v0_64, i32* @eax, align 4
  %v0_69 = load i32, i32* @edi, align 4
  %v1_69 = add i32 %v0_69, -24
  %v2_69 = inttoptr i32 %v1_69 to i32*
  %v3_69 = load i32, i32* %v2_69, align 4
  %v10_69 = icmp eq i32 %v3_69, 0
  br i1 %v10_69, label %dec_label_pc_7a, label %dec_label_pc_6f

dec_label_pc_6f:                                  ; preds = %dec_label_pc_59
  %v1_6f = add i32 %v0_69, -28
  %v2_6f = inttoptr i32 %v1_6f to i32*
  %v3_6f = load i32, i32* %v2_6f, align 4
  store i32 %v3_6f, i32* @edx, align 4
  %v1_72 = add i32 %v0_69, -32
  %v2_72 = inttoptr i32 %v1_72 to i32*
  %v3_72 = load i32, i32* %v2_72, align 4
  store i32 %v3_72, i32* @ebx, align 4
  %v0_75 = call i32 @function_b2()
  store i32 %v0_75, i32* @eax, align 4
  %v0_7a.pre = load i32, i32* @edi, align 4
  br label %dec_label_pc_7a

dec_label_pc_7a:                                  ; preds = %dec_label_pc_6f, %dec_label_pc_59
  %v0_80 = phi i32 [ %v0_7a.pre, %dec_label_pc_6f ], [ %v0_69, %dec_label_pc_59 ]
  %v1_7a = add i32 %v0_80, -36
  %v2_7a = inttoptr i32 %v1_7a to i32*
  %v3_7a = load i32, i32* %v2_7a, align 4
  %v10_7a = icmp eq i32 %v3_7a, 0
  br i1 %v10_7a, label %dec_label_pc_8b, label %dec_label_pc_80

dec_label_pc_80:                                  ; preds = %dec_label_pc_7a
  %v1_80 = add i32 %v0_80, -40
  %v2_80 = inttoptr i32 %v1_80 to i32*
  %v3_80 = load i32, i32* %v2_80, align 4
  store i32 %v3_80, i32* @edx, align 4
  %v1_83 = add i32 %v0_80, -44
  %v2_83 = inttoptr i32 %v1_83 to i32*
  %v3_83 = load i32, i32* %v2_83, align 4
  store i32 %v3_83, i32* @ebx, align 4
  %v0_86 = call i32 @function_b2()
  store i32 %v0_86, i32* @eax, align 4
  br label %dec_label_pc_8b

dec_label_pc_8b:                                  ; preds = %dec_label_pc_80, %dec_label_pc_7a
  %v0_8b = load i32, i32* @esi, align 8
  %v1_8b = add i32 %v0_8b, 8
  %v2_8b = inttoptr i32 %v1_8b to i64*
  %v3_8b = load i64, i64* %v2_8b, align 4
  %v4_8b = call i128 @__asm_movsd(i64 %v3_8b)
  store i128 %v4_8b, i128* %xmm5.global-to-local, align 8
  %v2_90 = call i128 @__asm_unpcklpd(i128 %v4_8b, i128 %v4_8b)
  store i128 %v2_90, i128* %xmm5.global-to-local, align 8
  %v2_94 = call i128 @__asm_mulsd(i128 %v2_4a, i128 %v2_90)
  %v0_98 = load i128, i128* @xmm0, align 8
  %v2_98 = call i128 @__asm_mulpd(i128 %v0_98, i128 %v2_90)
  %v1_9c = load i32, i32* @edi, align 4
  %v2_9c = add i32 %v1_9c, -52
  %v3_9c = inttoptr i32 %v2_9c to i64*
  %v4_9c = load i64, i64* %v3_9c, align 4
  %v5_9c = call i128 @__asm_mulsd.3(i128 %v2_94, i64 %v4_9c)
  %v0_a1 = load i32, i32* @esi, align 8
  %v1_a1 = inttoptr i32 %v0_a1 to i128*
  %v2_a1 = load i128, i128* %v1_a1, align 4
  call void @__asm_movupd.4(i128 %v2_a1, i128 %v2_98)
  %v1_a5 = call i32 @__asm_movsd.2(i128 %v5_9c)
  %v2_a5 = load i32, i32* @esi, align 8
  %v3_a5 = add i32 %v2_a5, 16
  %v4_a5 = sext i32 %v1_a5 to i64
  %v5_a5 = inttoptr i32 %v3_a5 to i64*
  store i64 %v4_a5, i64* %v5_a5, align 4
  store i32 %v0_6, i32* %ecx.global-to-local, 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, align 8
  %v0_af = load i32, i32* @eax, align 4
  ret i32 %v0_af
}

define i32 @function_b2() local_unnamed_addr {
dec_label_pc_b2:
  %eax.global-to-local = alloca i32, align 4
  store i32 0, i32* @ecx, align 4
  %v0_b4 = load i32, i32* @ebx, align 4
  %v5_b7 = icmp slt i32 %v0_b4, 6
  br i1 %v5_b7, label %dec_label_pc_bf, label %dec_label_pc_b9

dec_label_pc_b9:                                  ; preds = %dec_label_pc_b2
  %v1_b4 = add i32 %v0_b4, -6
  store i32 1, i32* @ecx, align 4
  br label %dec_label_pc_bf

dec_label_pc_bf:                                  ; preds = %dec_label_pc_b9, %dec_label_pc_b2
  %v0_bf = phi i32 [ %v1_b4, %dec_label_pc_b9 ], [ %v0_b4, %dec_label_pc_b2 ]
  %v1_bf = add i32 %v0_bf, -1
  %v11_bf = icmp slt i32 %v1_bf, 0
  %v1_c2 = icmp eq i1 %v11_bf, false
  br i1 %v1_c2, label %dec_label_pc_fb, label %dec_label_pc_c4

dec_label_pc_c4:                                  ; preds = %dec_label_pc_bf
  %v0_c4 = load i128, i128* @xmm0, align 8
  %v1_c4 = call i128 @__asm_movapd(i128 %v0_c4)
  %v2_c8 = call i128 @__asm_mulpd(i128 %v1_c4, i128 %v1_c4)
  %v2_cc = call i128 @__asm_haddpd(i128 %v2_c8, i128 %v2_c8)
  %v1_d0 = call i128 @__asm_sqrtsd(i128 %v2_cc)
  %v0_d4 = load i32, i32* @edi, align 4
  %v1_d4 = add i32 %v0_d4, 16
  %v2_d4 = inttoptr i32 %v1_d4 to i64*
  %v3_d4 = load i64, i64* %v2_d4, align 4
  %v4_d4 = call i128 @__asm_movsd(i64 %v3_d4)
  %v2_d9 = call i128 @__asm_divsd(i128 %v4_d4, i128 %v1_d0)
  %v2_dd = call i128 @__asm_unpcklpd(i128 %v2_d9, i128 %v2_d9)
  %v2_e1 = call i128 @__asm_unpcklpd(i128 %v1_d0, i128 %v1_d0)
  %v0_e5 = load i128, i128* @xmm1, align 8
  %v1_e5 = call i32 @__asm_movsd.2(i128 %v0_e5)
  %v2_e5 = load i32, i32* @esi, align 8
  %v3_e5 = sext i32 %v1_e5 to i64
  %v4_e5 = inttoptr i32 %v2_e5 to i64*
  store i64 %v3_e5, i64* %v4_e5, align 4
  %v0_e9 = load i128, i128* @xmm0, align 8
  %v2_e9 = call i128 @__asm_mulpd(i128 %v0_e9, i128 %v2_dd)
  store i128 %v2_e9, i128* @xmm0, align 8
  %v0_ed = call i32 @function_255()
  store i32 %v0_ed, i32* %eax.global-to-local, align 4
  %v2_f2 = load i64, i64* bitcast (i32* @esi to i64*), align 8
  %v3_f2 = call i128 @__asm_movsd(i64 %v2_f2)
  store i128 %v3_f2, i128* @xmm1, align 8
  %v2_f6 = call i128 @__asm_mulpd(i128 %v2_e9, i128 %v2_e1)
  store i128 %v2_f6, i128* @xmm0, align 8
  ret i32 %v0_ed

dec_label_pc_fb:                                  ; preds = %dec_label_pc_bf
  %v1_fb = add i32 %v0_bf, -2
  %v11_fb = icmp slt i32 %v1_fb, 0
  %v1_fe = icmp eq i1 %v11_fb, false
  br i1 %v1_fe, label %dec_label_pc_140, label %dec_label_pc_100

dec_label_pc_100:                                 ; preds = %dec_label_pc_fb
  %v2_100 = load i64, i64* bitcast (i32* @esi to i64*), align 8
  %v3_100 = load i128, i128* @xmm0, align 8
  call void @__asm_movhpd(i64 %v2_100, i128 %v3_100)
  %v0_104 = load i128, i128* @xmm0, align 8
  %v1_104 = load i128, i128* @xmm1, align 8
  %v2_104 = call i128 @__asm_unpcklpd(i128 %v0_104, i128 %v1_104)
  %v1_108 = call i128 @__asm_movapd(i128 %v2_104)
  %v2_10c = call i128 @__asm_mulpd(i128 %v1_108, i128 %v1_108)
  %v2_110 = call i128 @__asm_haddpd(i128 %v2_10c, i128 %v2_10c)
  %v1_114 = call i128 @__asm_sqrtsd(i128 %v2_110)
  %v0_118 = load i32, i32* @edi, align 4
  %v1_118 = add i32 %v0_118, 16
  %v2_118 = inttoptr i32 %v1_118 to i64*
  %v3_118 = load i64, i64* %v2_118, align 4
  %v4_118 = call i128 @__asm_movsd(i64 %v3_118)
  %v2_11d = call i128 @__asm_divsd(i128 %v4_118, i128 %v1_114)
  %v2_121 = call i128 @__asm_unpcklpd(i128 %v2_11d, i128 %v2_11d)
  %v2_125 = call i128 @__asm_unpcklpd(i128 %v1_114, i128 %v1_114)
  %v2_129 = call i128 @__asm_mulpd(i128 %v2_104, i128 %v2_121)
  store i128 %v2_129, i128* @xmm0, align 8
  %v0_12d = call i32 @function_255()
  store i32 %v0_12d, i32* %eax.global-to-local, align 4
  %v2_132 = call i128 @__asm_mulpd(i128 %v2_129, i128 %v2_125)
  %v1_136 = call i128 @__asm_pshufd(i128 %v2_132, i32 78)
  store i128 %v1_136, i128* @xmm1, align 8
  %v3_13b = load i64, i64* bitcast (i32* @esi to i64*), align 8
  %v4_13b = call i128 @__asm_movhpd.5(i128 %v2_132, i64 %v3_13b)
  store i128 %v4_13b, i128* @xmm0, align 8
  %v0_13f = load i32, i32* %eax.global-to-local, align 4
  ret i32 %v0_13f

dec_label_pc_140:                                 ; preds = %dec_label_pc_fb
  %v1_140 = add i32 %v0_bf, -3
  %v11_140 = icmp slt i32 %v1_140, 0
  %v1_143 = icmp eq i1 %v11_140, false
  br i1 %v1_143, label %dec_label_pc_18d, label %dec_label_pc_145

dec_label_pc_145:                                 ; preds = %dec_label_pc_140
  %v0_145 = load i128, i128* @xmm0, align 8
  %v1_145 = call i32 @__asm_movsd.2(i128 %v0_145)
  %v2_145 = load i32, i32* @esi, align 8
  %v3_145 = sext i32 %v1_145 to i64
  %v4_145 = inttoptr i32 %v2_145 to i64*
  store i64 %v3_145, i64* %v4_145, align 4
  %v0_149 = load i128, i128* @xmm0, align 8
  %v2_149 = call i128 @__asm_unpckhpd(i128 %v0_149, i128 %v0_149)
  %v1_14d = load i128, i128* @xmm1, align 8
  %v2_14d = call i128 @__asm_unpcklpd(i128 %v2_149, i128 %v1_14d)
  %v1_151 = call i128 @__asm_movapd(i128 %v2_14d)
  %v2_155 = call i128 @__asm_mulpd(i128 %v1_151, i128 %v1_151)
  %v2_159 = call i128 @__asm_haddpd(i128 %v2_155, i128 %v2_155)
  %v1_15d = call i128 @__asm_sqrtsd(i128 %v2_159)
  %v0_161 = load i32, i32* @edi, align 4
  %v1_161 = add i32 %v0_161, 16
  %v2_161 = inttoptr i32 %v1_161 to i64*
  %v3_161 = load i64, i64* %v2_161, align 4
  %v4_161 = call i128 @__asm_movsd(i64 %v3_161)
  %v2_166 = call i128 @__asm_divsd(i128 %v4_161, i128 %v1_15d)
  %v2_16a = call i128 @__asm_unpcklpd(i128 %v2_166, i128 %v2_166)
  %v2_16e = call i128 @__asm_unpcklpd(i128 %v1_15d, i128 %v1_15d)
  %v2_172 = call i128 @__asm_mulpd(i128 %v2_14d, i128 %v2_16a)
  store i128 %v2_172, i128* @xmm0, align 8
  %v0_176 = call i32 @function_255()
  store i32 %v0_176, i32* %eax.global-to-local, align 4
  %v2_17b = call i128 @__asm_mulpd(i128 %v2_172, i128 %v2_16e)
  %v1_17f = call i128 @__asm_pshufd(i128 %v2_17b, i32 78)
  store i128 %v1_17f, i128* @xmm1, align 8
  %v2_184 = call i128 @__asm_unpcklpd(i128 %v2_17b, i128 %v2_17b)
  %v3_188 = load i64, i64* bitcast (i32* @esi to i64*), align 8
  %v4_188 = call i128 @__asm_movlpd(i128 %v2_184, i64 %v3_188)
  store i128 %v4_188, i128* @xmm0, align 8
  %v0_18c = load i32, i32* %eax.global-to-local, align 4
  ret i32 %v0_18c

dec_label_pc_18d:                                 ; preds = %dec_label_pc_140
  %v1_18d = add i32 %v0_bf, -4
  %v11_18d = icmp slt i32 %v1_18d, 0
  %v1_190 = icmp eq i1 %v11_18d, false
  br i1 %v1_190, label %dec_label_pc_1c4, label %dec_label_pc_192

dec_label_pc_192:                                 ; preds = %dec_label_pc_18d
  %v0_192 = load i128, i128* @xmm0, align 8
  %v1_192 = call i128 @__asm_movapd(i128 %v0_192)
  %v0_196 = load i128, i128* @xmm0, align 8
  %v2_196 = call i128 @__asm_mulpd(i128 %v0_196, i128 %v0_196)
  %v2_19a = call i128 @__asm_haddpd(i128 %v2_196, i128 %v2_196)
  %v1_19e = call i128 @__asm_sqrtsd(i128 %v2_19a)
  %v1_1a2 = call i32 @__asm_movsd.2(i128 %v1_19e)
  %v2_1a2 = load i32, i32* @esi, align 8
  %v3_1a2 = sext i32 %v1_1a2 to i64
  %v4_1a2 = inttoptr i32 %v2_1a2 to i64*
  store i64 %v3_1a2, i64* %v4_1a2, align 4
  %v1_1a6 = load i128, i128* @xmm1, align 8
  %v2_1a6 = call i128 @__asm_unpcklpd(i128 %v1_19e, i128 %v1_1a6)
  store i128 %v2_1a6, i128* @xmm0, align 8
  %v0_1aa = call i32 @function_255()
  store i32 %v0_1aa, i32* %eax.global-to-local, align 4
  %v1_1af = call i128 @__asm_movapd(i128 %v2_1a6)
  %v3_1b3 = load i64, i64* bitcast (i32* @esi to i64*), align 8
  %v4_1b3 = call i128 @__asm_divsd.6(i128 %v2_1a6, i64 %v3_1b3)
  %v2_1b7 = call i128 @__asm_unpcklpd(i128 %v4_1b3, i128 %v4_1b3)
  %v2_1bb = call i128 @__asm_unpckhpd(i128 %v1_1af, i128 %v1_1af)
  store i128 %v2_1bb, i128* @xmm1, align 8
  %v2_1bf = call i128 @__asm_mulpd(i128 %v2_1b7, i128 %v1_192)
  store i128 %v2_1bf, i128* @xmm0, align 8
  %v0_1c3 = load i32, i32* %eax.global-to-local, align 4
  ret i32 %v0_1c3

dec_label_pc_1c4:                                 ; preds = %dec_label_pc_18d
  %v1_1c4 = add i32 %v0_bf, -5
  %v11_1c4 = icmp slt i32 %v1_1c4, 0
  %v1_1c7 = icmp eq i1 %v11_1c4, false
  br i1 %v1_1c7, label %dec_label_pc_20d, label %dec_label_pc_1c9

dec_label_pc_1c9:                                 ; preds = %dec_label_pc_1c4
  %v0_1c9 = load i32, i32* @esi, align 8
  %v1_1c9 = add i32 %v0_1c9, 16
  %v2_1c9 = inttoptr i32 %v1_1c9 to i64*
  %v3_1c9 = load i64, i64* %v2_1c9, align 4
  %v4_1c9 = load i128, i128* @xmm0, align 8
  call void @__asm_movhpd(i64 %v3_1c9, i128 %v4_1c9)
  %v0_1ce = load i128, i128* @xmm0, align 8
  %v1_1ce = load i128, i128* @xmm1, align 8
  %v2_1ce = call i128 @__asm_unpcklpd(i128 %v0_1ce, i128 %v1_1ce)
  %v1_1d2 = call i128 @__asm_movapd(i128 %v2_1ce)
  %v2_1d6 = call i128 @__asm_mulpd(i128 %v2_1ce, i128 %v2_1ce)
  %v2_1da = call i128 @__asm_haddpd(i128 %v2_1d6, i128 %v2_1d6)
  %v1_1de = call i128 @__asm_sqrtsd(i128 %v2_1da)
  %v1_1e2 = call i32 @__asm_movsd.2(i128 %v1_1de)
  %v2_1e2 = load i32, i32* @esi, 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
  %v1_1e6 = load i32, i32* @esi, align 8
  %v2_1e6 = add i32 %v1_1e6, 16
  %v3_1e6 = inttoptr i32 %v2_1e6 to i64*
  %v4_1e6 = load i64, i64* %v3_1e6, align 4
  %v5_1e6 = call i128 @__asm_movhpd.5(i128 %v1_1de, i64 %v4_1e6)
  store i128 %v5_1e6, i128* @xmm0, align 8
  %v0_1eb = call i32 @function_255()
  store i32 %v0_1eb, i32* %eax.global-to-local, align 4
  %v1_1f0 = call i128 @__asm_movapd(i128 %v5_1e6)
  %v3_1f4 = load i64, i64* bitcast (i32* @esi to i64*), align 8
  %v4_1f4 = call i128 @__asm_divsd.6(i128 %v5_1e6, i64 %v3_1f4)
  %v2_1f8 = call i128 @__asm_unpcklpd(i128 %v4_1f4, i128 %v4_1f4)
  %v2_1fc = call i128 @__asm_mulpd(i128 %v2_1f8, i128 %v1_1d2)
  %v2_200 = call i128 @__asm_unpckhpd(i128 %v1_1f0, i128 %v2_1fc)
  %v2_204 = call i128 @__asm_unpcklpd(i128 %v2_1fc, i128 %v2_200)
  store i128 %v2_204, i128* @xmm0, align 8
  %v2_208 = call i128 @__asm_unpckhpd(i128 %v2_200, i128 %v2_200)
  store i128 %v2_208, i128* @xmm1, align 8
  %v0_20c = load i32, i32* %eax.global-to-local, align 4
  ret i32 %v0_20c

dec_label_pc_20d:                                 ; preds = %dec_label_pc_1c4
  %v0_20d = load i128, i128* @xmm0, align 8
  %v1_20d = call i32 @__asm_movsd.2(i128 %v0_20d)
  %v2_20d = load i32, i32* @esi, align 8
  %v3_20d = add i32 %v2_20d, 16
  %v4_20d = sext i32 %v1_20d to i64
  %v5_20d = inttoptr i32 %v3_20d to i64*
  store i64 %v4_20d, i64* %v5_20d, align 4
  %v0_212 = load i128, i128* @xmm1, align 8
  %v2_212 = call i128 @__asm_unpcklpd(i128 %v0_212, i128 %v0_212)
  %v0_216 = load i128, i128* @xmm0, align 8
  %v2_216 = call i128 @__asm_unpckhpd(i128 %v0_216, i128 %v2_212)
  %v1_21a = call i128 @__asm_movapd(i128 %v2_216)
  %v2_21e = call i128 @__asm_mulpd(i128 %v2_216, i128 %v2_216)
  %v2_222 = call i128 @__asm_haddpd(i128 %v2_21e, i128 %v2_21e)
  %v1_226 = call i128 @__asm_sqrtsd(i128 %v2_222)
  %v1_22a = call i32 @__asm_movsd.2(i128 %v1_226)
  %v2_22a = load i32, i32* @esi, align 8
  %v3_22a = sext i32 %v1_22a to i64
  %v4_22a = inttoptr i32 %v2_22a to i64*
  store i64 %v3_22a, i64* %v4_22a, align 4
  %v1_22e = load i32, i32* @esi, align 8
  %v2_22e = add i32 %v1_22e, 16
  %v3_22e = inttoptr i32 %v2_22e to i64*
  %v4_22e = load i64, i64* %v3_22e, align 4
  %v5_22e = call i128 @__asm_movhpd.5(i128 %v1_226, i64 %v4_22e)
  store i128 %v5_22e, i128* @xmm0, align 8
  %v0_233 = call i32 @function_255()
  store i32 %v0_233, i32* %eax.global-to-local, align 4
  %v1_238 = call i128 @__asm_movapd(i128 %v5_22e)
  %v3_23c = load i64, i64* bitcast (i32* @esi to i64*), align 8
  %v4_23c = call i128 @__asm_divsd.6(i128 %v1_238, i64 %v3_23c)
  %v2_240 = call i128 @__asm_unpcklpd(i128 %v4_23c, i128 %v4_23c)
  %v2_244 = call i128 @__asm_mulpd(i128 %v2_240, i128 %v1_21a)
  %v2_248 = call i128 @__asm_unpckhpd(i128 %v5_22e, i128 %v5_22e)
  %v2_24c = call i128 @__asm_unpcklpd(i128 %v2_248, i128 %v2_244)
  store i128 %v2_24c, i128* @xmm0, align 8
  %v2_250 = call i128 @__asm_unpckhpd(i128 %v2_244, i128 %v2_244)
  store i128 %v2_250, i128* @xmm1, align 8
  %v0_254 = load i32, i32* %eax.global-to-local, align 4
  ret i32 %v0_254
}

define i32 @function_255() local_unnamed_addr {
dec_label_pc_255:
  %tmp9 = call i128 @__decompiler_undefined_function_0()
  %v0_255 = load i32, i32* @ecx, align 4
  %v7_255 = icmp eq i32 %v0_255, 0
  br i1 %v7_255, label %dec_label_pc_25f, label %dec_label_pc_25a

dec_label_pc_25a:                                 ; preds = %dec_label_pc_255
  %v0_25a = load i128, i128* @xmm0, align 8
  %v2_25a = call i128 @__asm_shufpd(i128 %v0_25a, i128 %v0_25a, i32 1)
  store i128 %v2_25a, i128* @xmm0, align 8
  br label %dec_label_pc_25f

dec_label_pc_25f:                                 ; preds = %dec_label_pc_25a, %dec_label_pc_255
  %.0 = phi i128 [ %tmp9, %dec_label_pc_255 ], [ %v2_25a, %dec_label_pc_25a ]
  %v1_25f = call i128 @__asm_movapd(i128 %.0)
  store i128 %v1_25f, i128* @xmm1, align 8
  %v0_263 = call i32 @function_2be()
  store i32 %v0_263, i32* @eax, align 4
  %v0_268 = load i32, i32* @edx, align 4
  %v7_26b = icmp sgt i32 %v0_268, 2
  br i1 %v7_26b, label %dec_label_pc_26d, label %dec_label_pc_2b3

dec_label_pc_26d:                                 ; preds = %dec_label_pc_25f
  %v1_26d = call i128 @__asm_movapd(i128 %v1_25f)
  %v0_271 = load i32, i32* @edx, align 4
  %v5_274 = icmp slt i32 %v0_271, 4
  br i1 %v5_274, label %dec_label_pc_2a6, label %dec_label_pc_276

dec_label_pc_276:                                 ; preds = %dec_label_pc_26d
  %v1_276 = call i128 @__asm_movapd(i128 %.0)
  %v1_27a = call i128 @__asm_movapd(i128 %.0)
  store i128 %v1_27a, i128* @xmm1, align 8
  %v0_27e = call i32 @function_2be()
  store i32 %v0_27e, i32* @eax, align 4
  %v0_283 = load i32, i32* @edx, align 4
  %v5_286 = icmp slt i32 %v0_283, 8
  br i1 %v5_286, label %dec_label_pc_298, label %dec_label_pc_288

dec_label_pc_288:                                 ; preds = %dec_label_pc_276
  %v1_288 = call i128 @__asm_movapd(i128 %.0)
  store i128 %v1_288, i128* @xmm1, align 8
  %v0_28c = call i32 @function_2be()
  store i32 %v0_28c, i32* @eax, align 4
  %v0_291 = load i32, i32* @edx, align 4
  %v5_294 = icmp slt i32 %v0_291, 10
  br i1 %v5_294, label %dec_label_pc_2a6, label %dec_label_pc_29d

dec_label_pc_298:                                 ; preds = %dec_label_pc_276
  %v5_29b = icmp slt i32 %v0_283, 6
  br i1 %v5_29b, label %dec_label_pc_2a6, label %dec_label_pc_29d

dec_label_pc_29d:                                 ; preds = %dec_label_pc_288, %dec_label_pc_298
  %v1_29d = call i128 @__asm_movapd(i128 %v1_276)
  store i128 %v1_29d, i128* @xmm1, align 8
  %v0_2a1 = call i32 @function_2be()
  store i32 %v0_2a1, i32* @eax, align 4
  %v0_2a6.pre = load i32, i32* @edx, align 4
  br label %dec_label_pc_2a6

dec_label_pc_2a6:                                 ; preds = %dec_label_pc_29d, %dec_label_pc_298, %dec_label_pc_288, %dec_label_pc_26d
  %v0_2a6 = phi i32 [ %v0_2a6.pre, %dec_label_pc_29d ], [ %v0_283, %dec_label_pc_298 ], [ %v0_291, %dec_label_pc_288 ], [ %v0_271, %dec_label_pc_26d ]
  %v9_2a6 = urem i32 %v0_2a6, 2
  %v10_2a6 = icmp ne i32 %v9_2a6, 0
  %v1_2a8 = icmp eq i1 %v10_2a6, false
  br i1 %v1_2a8, label %dec_label_pc_2b3, label %dec_label_pc_2aa

dec_label_pc_2aa:                                 ; preds = %dec_label_pc_2a6
  %v1_2aa = call i128 @__asm_movapd(i128 %v1_26d)
  store i128 %v1_2aa, i128* @xmm1, align 8
  %v0_2ae = call i32 @function_2be()
  store i32 %v0_2ae, i32* @eax, align 4
  br label %dec_label_pc_2b3

dec_label_pc_2b3:                                 ; preds = %dec_label_pc_25f, %dec_label_pc_2aa, %dec_label_pc_2a6
  %v0_2b3 = load i32, i32* @ecx, align 4
  %v7_2b3 = icmp eq i32 %v0_2b3, 0
  br i1 %v7_2b3, label %dec_label_pc_2bd, label %dec_label_pc_2b8

dec_label_pc_2b8:                                 ; preds = %dec_label_pc_2b3
  %v2_2b8 = call i128 @__asm_shufpd(i128 %.0, i128 %.0, i32 1)
  br label %dec_label_pc_2bd

dec_label_pc_2bd:                                 ; preds = %dec_label_pc_2b8, %dec_label_pc_2b3
  %v0_2bd = load i32, i32* @eax, align 4
  ret i32 %v0_2bd
}

define i32 @function_2be() local_unnamed_addr {
dec_label_pc_2be:
  %v0_2be = load i128, i128* @xmm0, align 8
  %v1_2be = call i128 @__asm_pshufd(i128 %v0_2be, i32 78)
  %v0_2c3 = load i128, i128* @xmm0, align 8
  %v1_2c3 = load i128, i128* @xmm1, align 8
  %v2_2c3 = call i128 @__asm_mulpd(i128 %v0_2c3, i128 %v1_2c3)
  %v1_2c7 = load i128, i128* @xmm1, align 8
  %v2_2c7 = call i128 @__asm_mulpd(i128 %v1_2be, i128 %v1_2c7)
  %v1_2cb = load i128, i128* @xmm6, align 8
  %v2_2cb = call i128 @__asm_xorpd(i128 %v2_2c3, i128 %v1_2cb)
  %v2_2cf = call i128 @__asm_haddpd(i128 %v2_2cb, i128 %v2_2c7)
  store i128 %v2_2cf, i128* @xmm0, align 8
  %v0_2d3 = load i32, i32* @eax, align 4
  ret i32 %v0_2d3
}

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_movsd.1(i128, i128) 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_unpcklpd(i128, i128) local_unnamed_addr

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

declare i32 @__asm_movsd.2(i128) local_unnamed_addr

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

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

declare void @__asm_movhpd(i64, i128) local_unnamed_addr

declare i128 @__asm_pshufd(i128, i32) local_unnamed_addr

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

declare i128 @__asm_unpckhpd(i128, i128) local_unnamed_addr

declare i128 @__asm_movlpd(i128, i64) local_unnamed_addr

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

declare i128 @__asm_xorpd(i128, i128) local_unnamed_addr

declare i128 @__decompiler_undefined_function_0() local_unnamed_addr
