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

@eax = internal unnamed_addr global i32 0, align 8
@ecx = internal unnamed_addr global i32 0, align 8

define i32 @function_0(i32 %arg1) local_unnamed_addr {
dec_label_pc_0:
  %cf.global-to-local = alloca i1, align 1
  %ebx.global-to-local = alloca i32, align 4
  %esi.global-to-local = alloca i32, align 4
  %v0_3 = load i32, i32* %esi.global-to-local, align 4
  %v0_4 = load i32, i32* %ebx.global-to-local, align 4
  store i32 %arg1, i32* %esi.global-to-local, align 4
  %v1_8 = add i32 %arg1, 48
  %v2_8 = inttoptr i32 %v1_8 to i32*
  %v3_8 = load i32, i32* %v2_8, align 4
  store i32 %v3_8, i32* %ebx.global-to-local, align 4
  %v2_b = load i128, i128* bitcast (i32* @eax to i128*), align 8
  %v3_b = call i128 @__asm_movupd(i128 %v2_b)
  %v2_f = load i128, i128* bitcast (i32* @ecx to i128*), align 8
  %v3_f = call i128 @__asm_movupd(i128 %v2_f)
  %v2_13 = inttoptr i32 %v3_8 to i128*
  %v3_13 = load i128, i128* %v2_13, align 4
  %v4_13 = call i128 @__asm_andpd(i128 %v3_b, i128 %v3_13)
  %v1_17 = load i32, i32* %ebx.global-to-local, align 4
  %v2_17 = inttoptr i32 %v1_17 to i128*
  %v3_17 = load i128, i128* %v2_17, align 4
  %v4_17 = call i128 @__asm_andpd(i128 %v3_f, i128 %v3_17)
  %v1_1b = add i32 %v1_17, -64
  %v2_1b = inttoptr i32 %v1_1b to i128*
  %v3_1b = load i128, i128* %v2_1b, align 4
  %v4_1b = call i128 @__asm_movapd(i128 %v3_1b)
  %v0_20 = load i32, i32* %ebx.global-to-local, align 4
  %v1_20 = add i32 %v0_20, -48
  %v2_20 = inttoptr i32 %v1_20 to i64*
  %v3_20 = load i64, i64* %v2_20, align 4
  %v4_20 = call i128 @__asm_movsd(i64 %v3_20)
  %v1_25 = add i32 %v0_20, -40
  %v2_25 = inttoptr i32 %v1_25 to i64*
  %v3_25 = load i64, i64* %v2_25, align 4
  %v4_25 = call i128 @__asm_movsd(i64 %v3_25)
  %v2_2a = call i128 @__asm_subpd(i128 %v4_1b, i128 %v4_13)
  %v2_2e = call i128 @__asm_subsd(i128 %v4_20, i128 %v4_17)
  %v1_32 = call i128 @__asm_movapd(i128 %v2_2a)
  %v1_36 = call i128 @__asm_movapd(i128 %v2_2e)
  %v2_3a = call i128 @__asm_mulpd(i128 %v1_32, i128 %v1_32)
  %v2_3e = call i128 @__asm_mulsd(i128 %v1_36, i128 %v1_36)
  %v1_42 = call i128 @__asm_pshufd(i128 %v2_3a, i32 78)
  %v2_47 = call i128 @__asm_addsd(i128 %v2_3a, i128 %v2_3e)
  %v2_4b = call i128 @__asm_addsd(i128 %v2_47, i128 %v1_42)
  %v1_4f = load i32, i32* %ebx.global-to-local, align 4
  %v2_4f = add i32 %v1_4f, -32
  %v3_4f = inttoptr i32 %v2_4f to i64*
  %v4_4f = load i64, i64* %v3_4f, align 4
  call void @__asm_ucomisd(i128 %v2_4b, i64 %v4_4f)
  %v0_54 = load i1, i1* %cf.global-to-local, align 1
  %v1_54 = icmp eq i1 %v0_54, false
  %v1_5d = load i32, i32* %ebx.global-to-local, align 4
  br i1 %v1_54, label %dec_label_pc_5d, label %dec_label_pc_56

dec_label_pc_56:                                  ; preds = %dec_label_pc_0
  %v1_56 = add i32 %v1_5d, -24
  %v2_56 = inttoptr i32 %v1_56 to i64*
  %v3_56 = load i64, i64* %v2_56, align 4
  %v4_56 = call i128 @__asm_movsd(i64 %v3_56)
  br label %dec_label_pc_6d

dec_label_pc_5d:                                  ; preds = %dec_label_pc_0
  %v2_5d = add i32 %v1_5d, 16
  %v3_5d = inttoptr i32 %v2_5d to i64*
  %v4_5d = load i64, i64* %v3_5d, align 4
  call void @__asm_ucomisd(i128 %v2_4b, i64 %v4_5d)
  %v0_62 = load i32, i32* %ebx.global-to-local, align 4
  %v1_62 = add i32 %v0_62, -16
  %v2_62 = inttoptr i32 %v1_62 to i64*
  %v3_62 = load i64, i64* %v2_62, align 4
  %v4_62 = call i128 @__asm_movsd(i64 %v3_62)
  %v0_67 = load i1, i1* %cf.global-to-local, align 1
  %v1_67 = icmp eq i1 %v0_67, false
  br i1 %v1_67, label %dec_label_pc_6d, label %dec_label_pc_69

dec_label_pc_69:                                  ; preds = %dec_label_pc_5d
  %v2_69 = call i128 @__asm_divsd(i128 %v4_62, i128 %v2_4b)
  br label %dec_label_pc_6d

dec_label_pc_6d:                                  ; preds = %dec_label_pc_69, %dec_label_pc_5d, %dec_label_pc_56
  %v0_6d = phi i128 [ %v2_69, %dec_label_pc_69 ], [ %v4_62, %dec_label_pc_5d ], [ %v4_56, %dec_label_pc_56 ]
  %v2_6d = call i128 @__asm_shufpd(i128 %v0_6d, i128 %v0_6d, i32 0)
  %v0_72 = load i32, i32* %esi.global-to-local, align 4
  %v1_72 = add i32 %v0_72, 24
  %v2_72 = inttoptr i32 %v1_72 to i128*
  %v3_72 = load i128, i128* %v2_72, align 4
  %v4_72 = call i128 @__asm_movupd(i128 %v3_72)
  %v2_77 = call i128 @__asm_shufpd(i128 %v2_2e, i128 %v4_17, i32 2)
  %v2_7c = call i128 @__asm_mulpd(i128 %v2_2a, i128 %v2_6d)
  %v2_80 = call i128 @__asm_mulpd(i128 %v2_77, i128 %v2_6d)
  %v2_84 = call i128 @__asm_addpd(i128 %v2_7c, i128 %v4_72)
  %v1_88 = load i32, i32* %esi.global-to-local, align 4
  %v2_88 = add i32 %v1_88, 40
  %v3_88 = inttoptr i32 %v2_88 to i64*
  %v4_88 = load i64, i64* %v3_88, align 4
  %v5_88 = call i128 @__asm_addsd.1(i128 %v2_80, i64 %v4_88)
  %v2_8d = load i128, i128* bitcast (i32* @eax to i128*), align 8
  call void @__asm_movupd.2(i128 %v2_8d, i128 %v2_84)
  %v2_91 = load i128, i128* bitcast (i32* @ecx to i128*), align 8
  call void @__asm_movupd.2(i128 %v2_91, i128 %v5_88)
  store i32 %v0_4, i32* %ebx.global-to-local, align 4
  store i32 %v0_3, i32* %esi.global-to-local, align 4
  %v0_98 = load i32, i32* @eax, align 8
  ret i32 %v0_98
}

declare i128 @__asm_movupd(i128) local_unnamed_addr

declare i128 @__asm_andpd(i128, i128) local_unnamed_addr

declare i128 @__asm_movapd(i128) local_unnamed_addr

declare i128 @__asm_movsd(i64) local_unnamed_addr

declare i128 @__asm_subpd(i128, i128) local_unnamed_addr

declare i128 @__asm_subsd(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_pshufd(i128, i32) local_unnamed_addr

declare i128 @__asm_addsd(i128, i128) local_unnamed_addr

declare void @__asm_ucomisd(i128, i64) local_unnamed_addr

declare i128 @__asm_divsd(i128, i128) local_unnamed_addr

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

declare i128 @__asm_addpd(i128, i128) local_unnamed_addr

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

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