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

define i32 @function_0(i32 %arg1) local_unnamed_addr {
dec_label_pc_0:
  %eax.global-to-local = alloca i32, align 4
  %ebp.global-to-local = alloca i32, align 4
  %edi.global-to-local = alloca i32, align 4
  %esi.global-to-local = alloca i32, align 4
  %v0_0 = load i32, i32* %ebp.global-to-local, align 4
  %v0_3 = load i32, i32* %esi.global-to-local, align 4
  %v0_4 = load i32, i32* %edi.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* %edi.global-to-local, align 4
  %v1_b = add i32 %v3_8, -12
  %v2_b = inttoptr i32 %v1_b to i32*
  %v3_b = load i32, i32* %v2_b, align 4
  %v1_e = urem i32 %v3_b, 4
  store i32 %v1_e, i32* %esi.global-to-local, align 4
  %v1_11 = load i32, i32* %eax.global-to-local, align 4
  %v3_11 = mul i32 %v1_e, 8
  %v4_11 = add i32 %v1_11, %v3_11
  %v5_11 = inttoptr i32 %v4_11 to double*
  %v6_11 = load double, double* %v5_11, align 4
  %v7_11 = fpext double %v6_11 to x86_fp80
  %v3_14 = add i32 %v3_8, -16
  %v4_14 = inttoptr i32 %v3_14 to float*
  %v5_14 = load float, float* %v4_14, align 4
  %v6_14 = fpext float %v5_14 to x86_fp80
  %v7_14 = fsub x86_fp80 %v7_11, %v6_14
  %v3_17 = add i32 %v3_8, -20
  %v4_17 = inttoptr i32 %v3_17 to float*
  %v5_17 = load float, float* %v4_17, align 4
  %v6_17 = fpext float %v5_17 to x86_fp80
  %v7_17 = fmul x86_fp80 %v7_14, %v6_17
  %v2_1a = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_17)
  %v3_1a = fcmp olt x86_fp80 %v2_1a, 0xK403E8000000000000000
  %v4_1a = call x86_fp80 @llvm.sin.f80(x86_fp80 %v7_17)
  %storemerge = select i1 %v3_1a, x86_fp80 %v4_1a, x86_fp80 %v7_17
  %v3_1c = add i32 %v3_8, -24
  %v4_1c = inttoptr i32 %v3_1c to float*
  %v5_1c = load float, float* %v4_1c, align 4
  %v6_1c = fpext float %v5_1c to x86_fp80
  %v7_1c = fmul x86_fp80 %storemerge, %v6_1c
  %v3_1f = add i32 %v3_8, -28
  %v4_1f = inttoptr i32 %v3_1f to float*
  %v5_1f = load float, float* %v4_1f, align 4
  %v6_1f = fpext float %v5_1f to x86_fp80
  %v7_1f = fadd x86_fp80 %v7_1c, %v6_1f
  %v6_22 = fptrunc x86_fp80 %v7_1f to double
  store double %v6_22, double* %v5_11, align 4
  store i32 %v0_4, i32* %edi.global-to-local, align 4
  store i32 %v0_3, i32* %esi.global-to-local, align 4
  store i32 %v0_0, i32* %ebp.global-to-local, align 4
  ret i32 %v1_11
}

; Function Attrs: nounwind readnone speculatable
declare x86_fp80 @llvm.fabs.f80(x86_fp80) #0

; Function Attrs: nounwind readnone speculatable
declare x86_fp80 @llvm.sin.f80(x86_fp80) #0

attributes #0 = { nounwind readnone speculatable }
