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:
  %ebx.global-to-local = alloca i32, align 4
  %edi.global-to-local = alloca i32, align 4
  %esi.global-to-local = alloca i32, align 4
  %fpsw.global-to-local = alloca i32, align 4
  %v0_3 = load i32, i32* %ebx.global-to-local, align 4
  %v0_4 = load i32, i32* @eax, align 8
  %v0_5 = load i32, i32* %esi.global-to-local, align 4
  %v0_6 = load i32, i32* %edi.global-to-local, align 4
  store i32 %arg1, i32* %esi.global-to-local, align 4
  store i32 %v0_4, i32* %ebx.global-to-local, align 4
  %v1_d = add i32 %arg1, 48
  %v2_d = inttoptr i32 %v1_d to i32*
  %v3_d = load i32, i32* %v2_d, align 4
  store i32 %v3_d, i32* %edi.global-to-local, align 4
  %v3_10 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_10 = fpext double %v3_10 to x86_fp80
  %v2_14 = add i32 %arg1, 24
  %v3_14 = inttoptr i32 %v2_14 to double*
  %v4_14 = load double, double* %v3_14, align 4
  %v5_14 = fpext double %v4_14 to x86_fp80
  %v3_17 = add i32 %v3_d, -16
  %v4_17 = inttoptr i32 %v3_17 to double*
  %v5_17 = load double, double* %v4_17, align 4
  %v6_17 = fpext double %v5_17 to x86_fp80
  %v7_17 = fmul x86_fp80 %v5_14, %v6_17
  %v4_1a = fadd x86_fp80 %v7_17, %v4_10
  %v2_1c = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_1a)
  %v4_26 = fsub x86_fp80 %v2_1c, %v7_17
  %v3_2a = add i32 %v3_d, -24
  %v4_2a = inttoptr i32 %v3_2a to double*
  %v5_2a = load double, double* %v4_2a, align 4
  %v6_2a = fpext double %v5_2a to x86_fp80
  %v7_2a = fmul x86_fp80 %v4_10, %v6_2a
  %v4_2d = fadd x86_fp80 %v7_2a, %v4_26
  %v3_2f = fptrunc x86_fp80 %v4_2d to double
  %v4_2f = inttoptr i32 %v0_4 to double*
  store double %v3_2f, double* %v4_2f, align 4
  %v0_38 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_38 = call i16 @__asm_fnstsw(i32 %v0_38)
  %v2_38 = sext i16 %v1_38 to i32
  %v3_38 = load i32, i32* @eax, align 8
  %v4_38 = and i32 %v3_38, -65536
  %v1_3a = udiv i32 %v2_38, 256
  %v2_3a = trunc i32 %v1_3a to i8
  %v3_3a = and i8 %v2_3a, 65
  %v2_38.masked = and i32 %v2_38, -65281
  %v12_3a = or i32 %v4_38, %v2_38.masked
  %v3_3d = xor i8 %v3_3a, 64
  %v4_3d = icmp eq i8 %v3_3d, 0
  %v9_3d = zext i8 %v3_3d to i32
  %v11_3d = mul i32 %v9_3d, 256
  %v13_3d = or i32 %v12_3a, %v11_3d
  store i32 %v13_3d, i32* @eax, align 8
  br i1 %v4_3d, label %dec_label_pc_5a, label %dec_label_pc_42

dec_label_pc_42:                                  ; preds = %dec_label_pc_0
  %v3_42 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_42 = fpext double %v3_42 to x86_fp80
  %v1_44 = load i32, i32* %esi.global-to-local, align 4
  %v2_44 = add i32 %v1_44, 40
  %v3_44 = inttoptr i32 %v2_44 to double*
  %v4_44 = load double, double* %v3_44, align 4
  %v5_44 = fpext double %v4_44 to x86_fp80
  %v2_47 = load i32, i32* %edi.global-to-local, align 4
  %v3_47 = add i32 %v2_47, -32
  %v4_47 = inttoptr i32 %v3_47 to double*
  %v5_47 = load double, double* %v4_47, align 4
  %v6_47 = fpext double %v5_47 to x86_fp80
  %v7_47 = fmul x86_fp80 %v5_44, %v6_47
  %v4_4a = fadd x86_fp80 %v7_47, %v4_42
  %v2_4c = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_4a)
  %v3_51 = add i32 %v2_47, -40
  %v4_51 = inttoptr i32 %v3_51 to double*
  %v5_51 = load double, double* %v4_51, align 4
  %v6_51 = fpext double %v5_51 to x86_fp80
  %v7_51 = fmul x86_fp80 %v5_44, %v6_51
  %v4_56 = fsub x86_fp80 %v2_4c, %v7_51
  %tmp236 = bitcast double %v3_42 to i64
  %tmp237 = trunc i64 %tmp236 to i32
  %v3_58 = fptrunc x86_fp80 %v4_56 to double
  %v4_58 = inttoptr i32 %tmp237 to double*
  store double %v3_58, double* %v4_58, align 4
  br label %dec_label_pc_5a

dec_label_pc_5a:                                  ; preds = %dec_label_pc_42, %dec_label_pc_0
  store i32 %v0_6, i32* %edi.global-to-local, align 4
  store i32 %v0_5, i32* %esi.global-to-local, align 4
  store i32 %v0_4, i32* @eax, align 8
  store i32 %v0_3, i32* %ebx.global-to-local, align 4
  ret i32 %v0_4
}

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

declare i16 @__asm_fnstsw(i32) local_unnamed_addr

attributes #0 = { nounwind readnone speculatable }
