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
@edx = internal unnamed_addr global i32 0, align 8

define i32 @function_0(i32 %arg1) local_unnamed_addr {
dec_label_pc_0:
  %ebp.global-to-local = alloca i32, align 4
  %esi.global-to-local = alloca i32, align 4
  %fpu_stat_TOP.global-to-local = alloca i3, align 1
  %st7.global-to-local = alloca x86_fp80, align 4
  %v0_0 = load i32, i32* %ebp.global-to-local, align 4
  %v0_3 = load i32, i32* %esi.global-to-local, align 4
  store i32 %arg1, i32* %esi.global-to-local, align 4
  %v1_7 = add i32 %arg1, 48
  %v2_7 = inttoptr i32 %v1_7 to i32*
  %v3_7 = load i32, i32* %v2_7, align 4
  store i32 %v3_7, i32* %esi.global-to-local, align 4
  %v0_a = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v3_a = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_a = fpext double %v3_a to x86_fp80
  %v5_a = add i3 %v0_a, -1
  store x86_fp80 %v4_a, x86_fp80* %st7.global-to-local, align 4
  %v2_c = add i32 %v3_7, -56
  %v3_c = inttoptr i32 %v2_c to double*
  %v4_c = load double, double* %v3_c, align 4
  %v5_c = fpext double %v4_c to x86_fp80
  %v4_f = fmul x86_fp80 %v4_a, %v5_c
  store x86_fp80 %v4_f, x86_fp80* %st7.global-to-local, align 4
  store i3 %v5_a, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_11 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_f)
  %v3_11 = fcmp olt x86_fp80 %v2_11, 0xK403E8000000000000000
  %tmp243 = bitcast double %v3_a to i64
  %tmp244 = trunc i64 %tmp243 to i32
  br i1 %v3_11, label %bb, label %bb245

bb:                                               ; preds = %dec_label_pc_0
  %v4_11 = call x86_fp80 @llvm.sin.f80(x86_fp80 %v4_f)
  store x86_fp80 %v4_11, x86_fp80* %st7.global-to-local, align 4
  br label %bb245

bb245:                                            ; preds = %dec_label_pc_0, %bb
  %v3_15 = phi x86_fp80 [ %v4_f, %dec_label_pc_0 ], [ %v4_11, %bb ]
  %v5_13 = add i3 %v0_a, -2
  %v4_15 = fadd x86_fp80 %v3_15, %v4_a
  store x86_fp80 %v4_15, x86_fp80* %st7.global-to-local, align 4
  %v2_17 = add i32 %v3_7, -48
  %v3_17 = inttoptr i32 %v2_17 to double*
  %v4_17 = load double, double* %v3_17, align 4
  %v5_17 = fpext double %v4_17 to x86_fp80
  %v4_1a = fmul x86_fp80 %v4_15, %v5_17
  store x86_fp80 %v4_1a, x86_fp80* %st7.global-to-local, align 4
  store i3 %v5_a, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_1c = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_1a)
  %v3_1c = fcmp olt x86_fp80 %v2_1c, 0xK403E8000000000000000
  br i1 %v3_1c, label %bb246, label %bb247

bb246:                                            ; preds = %bb245
  %v4_1c = call x86_fp80 @llvm.sin.f80(x86_fp80 %v4_1a)
  store x86_fp80 %v4_1c, x86_fp80* %st7.global-to-local, align 4
  br label %bb247

bb247:                                            ; preds = %bb245, %bb246
  %v4_20 = fadd x86_fp80 %v4_a, %v4_a
  store x86_fp80 %v4_20, x86_fp80* %st7.global-to-local, align 4
  store i3 %v5_a, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_22 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_20)
  %v3_22 = fcmp olt x86_fp80 %v2_22, 0xK403E8000000000000000
  br i1 %v3_22, label %bb248, label %bb249

bb248:                                            ; preds = %bb247
  %v4_22 = call x86_fp80 @llvm.sin.f80(x86_fp80 %v4_20)
  store x86_fp80 %v4_22, x86_fp80* %st7.global-to-local, align 4
  br label %bb249

bb249:                                            ; preds = %bb247, %bb248
  %v3_2b = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_2b = fpext double %v3_2b to x86_fp80
  %v2_2f = add i32 %v3_7, -16
  %v3_2f = inttoptr i32 %v2_2f to double*
  %v5_3d = add i3 %v0_a, -3
  %v4_3f = fadd x86_fp80 %v4_2b, %v4_2b
  store x86_fp80 %v4_3f, x86_fp80* %st7.global-to-local, align 4
  %v4_41 = load double, double* %v3_17, align 4
  %v5_41 = fpext double %v4_41 to x86_fp80
  %v4_44 = fmul x86_fp80 %v5_41, %v5_41
  store x86_fp80 %v4_44, x86_fp80* %st7.global-to-local, align 4
  store i3 %v5_13, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_46 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_44)
  %v3_46 = fcmp olt x86_fp80 %v2_46, 0xK403E8000000000000000
  br i1 %v3_46, label %bb252, label %bb253

bb252:                                            ; preds = %bb249
  %v4_46 = call x86_fp80 @llvm.sin.f80(x86_fp80 %v4_44)
  store x86_fp80 %v4_46, x86_fp80* %st7.global-to-local, align 4
  br label %bb253

bb253:                                            ; preds = %bb249, %bb252
  %v3_4a = phi x86_fp80 [ %v4_44, %bb249 ], [ %v4_46, %bb252 ]
  %v4_4a = fadd x86_fp80 %v3_4a, %v4_2b
  store x86_fp80 %v4_4a, x86_fp80* %st7.global-to-local, align 4
  store i3 %v5_13, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_4c = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_4a)
  %v3_4c = fcmp olt x86_fp80 %v2_4c, 0xK403E8000000000000000
  br i1 %v3_4c, label %bb254, label %bb255

bb254:                                            ; preds = %bb253
  %v4_4c = call x86_fp80 @llvm.sin.f80(x86_fp80 %v4_4a)
  store x86_fp80 %v4_4c, x86_fp80* %st7.global-to-local, align 4
  br label %bb255

bb255:                                            ; preds = %bb253, %bb254
  %v3_55 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_55 = fpext double %v3_55 to x86_fp80
  %v4_74 = fadd x86_fp80 %v4_55, %v4_55
  store x86_fp80 %v4_74, x86_fp80* %st7.global-to-local, align 4
  store i3 %v5_3d, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_76 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_74)
  %v3_76 = fcmp olt x86_fp80 %v2_76, 0xK403E8000000000000000
  br i1 %v3_76, label %bb260, label %bb261

bb260:                                            ; preds = %bb255
  %v4_76 = call x86_fp80 @llvm.sin.f80(x86_fp80 %v4_74)
  store x86_fp80 %v4_76, x86_fp80* %st7.global-to-local, align 4
  br label %bb261

bb261:                                            ; preds = %bb255, %bb260
  %v3_7b = phi x86_fp80 [ %v4_74, %bb255 ], [ %v4_76, %bb260 ]
  %v2_78 = add i32 %v3_7, -40
  %v3_78 = inttoptr i32 %v2_78 to double*
  %v4_78 = load double, double* %v3_78, align 4
  %v5_78 = fpext double %v4_78 to x86_fp80
  %v4_7b = fmul x86_fp80 %v3_7b, %v5_78
  %v4_81 = fsub x86_fp80 %v4_a, %v4_7b
  store x86_fp80 %v4_81, x86_fp80* %st7.global-to-local, align 4
  %v4_83 = load double, double* %v3_2f, align 4
  %v5_83 = fpext double %v4_83 to x86_fp80
  %v4_86 = fmul x86_fp80 %v4_81, %v5_83
  store x86_fp80 %v4_86, x86_fp80* %st7.global-to-local, align 4
  %v3_88 = fptrunc x86_fp80 %v4_86 to double
  %v4_88 = inttoptr i32 %tmp244 to double*
  store double %v3_88, double* %v4_88, align 4
  %v1_8a = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_8a = load i32, i32* @edx, align 8
  %v3_8a = fptrunc x86_fp80 %v1_8a to double
  %v4_8a = inttoptr i32 %v2_8a to double*
  store double %v3_8a, double* %v4_8a, align 4
  %v1_8c = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_8c = load i32, i32* @eax, align 8
  %v3_8c = fptrunc x86_fp80 %v1_8c to double
  %v4_8c = inttoptr i32 %v2_8c to double*
  store double %v3_8c, double* %v4_8c, align 4
  store i3 %v0_a, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v0_3, i32* %esi.global-to-local, align 4
  store i32 %v0_0, i32* %ebp.global-to-local, align 4
  %v0_90 = load i32, i32* @eax, align 8
  ret i32 %v0_90
}

; 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 }
