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

define i32 @function_0() local_unnamed_addr {
dec_label_pc_0:
  %eax.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
  %v0_0 = load i32, i32* %edi.global-to-local, align 4
  %v1_0 = add i32 %v0_0, -68
  %v2_0 = inttoptr i32 %v1_0 to i32*
  %v3_0 = load i32, i32* %v2_0, align 4
  %v1_3 = mul i32 %v3_0, 8
  %v2_6 = and i32 %v1_3, 8
  store i32 %v2_6, i32* %eax.global-to-local, align 4
  %v2_e = mul i32 %v2_6, 2
  %v2_10 = sub nsw i32 16, %v2_e
  store i32 %v2_10, i32* %edx.global-to-local, align 4
  %v1_12 = load i32, i32* %esi.global-to-local, align 4
  %v3_12 = add nsw i32 %v2_6, -120
  %v4_12 = add i32 %v3_12, %v1_12
  %v5_12 = inttoptr i32 %v4_12 to i128*
  %v6_12 = load i128, i128* %v5_12, align 4
  %v7_12 = call i128 @__asm_movupd(i128 %v6_12)
  %v0_18 = load i32, i32* %edx.global-to-local, align 4
  %v1_18 = load i32, i32* %esi.global-to-local, align 4
  %v3_18 = add i32 %v0_18, -120
  %v4_18 = add i32 %v3_18, %v1_18
  %v5_18 = inttoptr i32 %v4_18 to i64*
  %v6_18 = load i64, i64* %v5_18, align 4
  %v7_18 = call i128 @__asm_movsd(i64 %v6_18)
  %v1_1e = load i32, i32* %edi.global-to-local, align 4
  %v2_1e = add i32 %v1_1e, -32
  %v3_1e = inttoptr i32 %v2_1e to i128*
  %v4_1e = load i128, i128* %v3_1e, align 4
  %v5_1e = call i128 @__asm_subpd(i128 %v7_12, i128 %v4_1e)
  %v2_23 = add i32 %v1_1e, -48
  %v3_23 = inttoptr i32 %v2_23 to i128*
  %v4_23 = load i128, i128* %v3_23, align 4
  %v5_23 = call i128 @__asm_divpd(i128 %v5_1e, i128 %v4_23)
  %v1_28 = load i32, i32* %edi.global-to-local, align 4
  %v2_28 = add i32 %v1_28, -16
  %v3_28 = inttoptr i32 %v2_28 to i64*
  %v4_28 = load i64, i64* %v3_28, align 4
  %v5_28 = call i128 @__asm_subsd(i128 %v7_18, i64 %v4_28)
  %v1_2d = call i128 @__asm_cvtpd2dq(i128 %v5_23)
  %v1_31 = call i32 @__asm_movsd.1(i128 %v5_28)
  %v2_31 = load i32, i32* %edx.global-to-local, align 4
  %v3_31 = load i32, i32* %esi.global-to-local, align 4
  %v5_31 = add i32 %v2_31, -120
  %v6_31 = add i32 %v5_31, %v3_31
  %v7_31 = sext i32 %v1_31 to i64
  %v8_31 = inttoptr i32 %v6_31 to i64*
  store i64 %v7_31, i64* %v8_31, align 4
  %v1_37 = call i128 @__asm_cvtdq2pd(i128 %v1_2d)
  %v2_3b = call i128 @__asm_subpd(i128 %v5_23, i128 %v1_37)
  %v1_3f = load i32, i32* %edi.global-to-local, align 4
  %v2_3f = add i32 %v1_3f, -48
  %v3_3f = inttoptr i32 %v2_3f to i128*
  %v4_3f = load i128, i128* %v3_3f, align 4
  %v5_3f = call i128 @__asm_mulpd(i128 %v2_3b, i128 %v4_3f)
  %v2_44 = add i32 %v1_3f, -64
  %v3_44 = inttoptr i32 %v2_44 to i128*
  %v4_44 = load i128, i128* %v3_44, align 4
  %v5_44 = call i128 @__asm_addpd(i128 %v5_3f, i128 %v4_44)
  %v0_49 = load i32, i32* %eax.global-to-local, align 4
  %v1_49 = load i32, i32* %esi.global-to-local, align 4
  %v3_49 = add i32 %v0_49, -120
  %v4_49 = add i32 %v3_49, %v1_49
  %v5_49 = inttoptr i32 %v4_49 to i128*
  %v6_49 = load i128, i128* %v5_49, align 4
  call void @__asm_movupd.2(i128 %v6_49, i128 %v5_44)
  %v0_4f = load i32, i32* %eax.global-to-local, align 4
  ret i32 %v0_4f
}

declare i128 @__asm_movupd(i128) local_unnamed_addr

declare i128 @__asm_movsd(i64) local_unnamed_addr

declare i128 @__asm_subpd(i128, i128) local_unnamed_addr

declare i128 @__asm_divpd(i128, i128) local_unnamed_addr

declare i128 @__asm_subsd(i128, i64) local_unnamed_addr

declare i128 @__asm_cvtpd2dq(i128) local_unnamed_addr

declare i32 @__asm_movsd.1(i128) local_unnamed_addr

declare i128 @__asm_cvtdq2pd(i128) local_unnamed_addr

declare i128 @__asm_mulpd(i128, i128) local_unnamed_addr

declare i128 @__asm_addpd(i128, i128) local_unnamed_addr

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