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

@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
  %st6.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* @edx to double*), align 8
  %v4_a = fpext double %v3_a to x86_fp80
  %v2_c = add i32 %v3_7, -32
  %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
  %v6_c = add i3 %v0_a, -2
  store x86_fp80 %v5_c, x86_fp80* %st6.global-to-local, align 4
  %v4_f = fmul x86_fp80 %v4_a, %v5_c
  %v2_11 = add i32 %v3_7, -16
  %v3_11 = inttoptr i32 %v2_11 to double*
  %v4_11 = load double, double* %v3_11, align 4
  %v5_11 = fpext double %v4_11 to x86_fp80
  %v4_14 = fadd x86_fp80 %v4_f, %v5_11
  %v3_18 = fmul x86_fp80 %v4_14, %v4_14
  %v4_1c = fadd x86_fp80 %v3_18, 0xK3FFF8000000000000000
  %v2_1e = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v4_1c)
  %v4_20 = fadd x86_fp80 %v4_14, %v2_1e
  store i3 %v6_c, i3* %fpu_stat_TOP.global-to-local, align 1
  store x86_fp80 %v4_20, x86_fp80* %st6.global-to-local, align 4
  %v2_27 = call i32 @__asm_fyl2x(i32 %v0_3, i32 %v0_0)
  %v1_29 = load i32, i32* %esi.global-to-local, align 4
  %v2_29 = add i32 %v1_29, -24
  %v3_29 = inttoptr i32 %v2_29 to double*
  %v4_29 = load double, double* %v3_29, align 4
  %v5_29 = fpext double %v4_29 to x86_fp80
  %v3_2c = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v4_2c = fsub x86_fp80 %v3_2c, %v5_29
  store x86_fp80 %v4_2c, x86_fp80* %st6.global-to-local, align 4
  %v2_2e = load i32, i32* @edx, align 8
  %v3_2e = fptrunc x86_fp80 %v4_2c to double
  %v4_2e = inttoptr i32 %v2_2e to double*
  store double %v3_2e, double* %v4_2e, align 4
  %v5_2e = add i3 %v0_a, -1
  store i3 %v5_2e, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v0_3, i32* %esi.global-to-local, align 4
  ret i32 %v2_27
}

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

declare i32 @__asm_fyl2x(i32, i32) local_unnamed_addr

attributes #0 = { nounwind readnone speculatable }
