Skip to content

Instantly share code, notes, and snippets.

@tmcdonell
Created February 12, 2017 01:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tmcdonell/490e336274d8bff943b0259b13382907 to your computer and use it in GitHub Desktop.
Save tmcdonell/490e336274d8bff943b0259b13382907 to your computer and use it in GitHub Desktop.
-- compile with:
-- ghc -Odph -rtsopts -threaded -fno-liberate-case -funfolding-use-threshold1000 -funfolding-keeness-factor1000 -fllvm -optlo-O3 -c -keep-llvm-files Test.hs
module Test where
import Prelude as P
import Data.Array.Repa as R
test1 :: Array U DIM1 Double -> IO (Array U DIM1 Double)
test1 xs = computeUnboxedP $ R.map (+1) xs
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-apple-darwin10.0.0"
declare ccc i8* @memcpy$def(i8*, i8*, i64)
declare ccc i8* @memmove$def(i8*, i8*, i64)
declare ccc i8* @memset$def(i8*, i64, i64)
declare ccc i64 @newSpark$def(i8*, i8*)
!0 = !{!"top", null}
!1 = !{!"stack", !0}
!2 = !{!"heap", !0}
!3 = !{!"rx", !2}
!4 = !{!"base", !0}
!5 = !{!"other", !0}
%__stginit_Test_struct = type <{}>
@__stginit_Test$def = internal global %__stginit_Test_struct<{}>
@__stginit_Test = alias i8* bitcast (%__stginit_Test_struct* @__stginit_Test$def to i8*)
%ciTx_str_struct = type <{[5 x i8]}>
%Test_zdtrModule1_closure_struct = type <{i64, i64}>
@ciTx_str$def = internal constant %ciTx_str_struct<{[5 x i8] [i8 84, i8 101, i8 115, i8 116, i8 0]}>
@ciTx_str = internal alias i8* bitcast (%ciTx_str_struct* @ciTx_str$def to i8*)
@Test_zdtrModule1_closure$def = internal global %Test_zdtrModule1_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_TrNameS_static_info to i64), i64 ptrtoint (i8* @ciTx_str to i64)}>
@Test_zdtrModule1_closure = alias i8* bitcast (%Test_zdtrModule1_closure_struct* @Test_zdtrModule1_closure$def to i8*)
%ciTz_str_struct = type <{[5 x i8]}>
%Test_zdtrModule2_closure_struct = type <{i64, i64}>
@ciTz_str$def = internal constant %ciTz_str_struct<{[5 x i8] [i8 109, i8 97, i8 105, i8 110, i8 0]}>
@ciTz_str = internal alias i8* bitcast (%ciTz_str_struct* @ciTz_str$def to i8*)
@Test_zdtrModule2_closure$def = internal global %Test_zdtrModule2_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_TrNameS_static_info to i64), i64 ptrtoint (i8* @ciTz_str to i64)}>
@Test_zdtrModule2_closure = alias i8* bitcast (%Test_zdtrModule2_closure_struct* @Test_zdtrModule2_closure$def to i8*)
%Test_zdtrModule_closure_struct = type <{i64, i64, i64, i64}>
@Test_zdtrModule_closure$def = internal global %Test_zdtrModule_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Module_static_info to i64), i64 add (i64 ptrtoint (%Test_zdtrModule2_closure_struct* @Test_zdtrModule2_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%Test_zdtrModule1_closure_struct* @Test_zdtrModule1_closure$def to i64),i64 1), i64 3}>
@Test_zdtrModule_closure = alias i8* bitcast (%Test_zdtrModule_closure_struct* @Test_zdtrModule_closure$def to i8*)
%riFu_closure_struct = type <{i64}>
@riFu_closure$def = internal global %riFu_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFu_info$def to i64)}>
@riFu_closure = internal alias i8* bitcast (%riFu_closure_struct* @riFu_closure$def to i8*)
@riFu_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFu_info$def to i8*)
define internal ghccc void @riFu_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 17179869207, i64 0, i64 15}>
{
ciU0:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R4_Var = alloca i64, i32 1
store i64 %R4_Arg, i64* %R4_Var
%R3_Var = alloca i64, i32 1
store i64 %R3_Arg, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lniUq = load i64*, i64** %Sp_Var
%lniUr = getelementptr inbounds i64, i64* %lniUq, i32 -4
%lniUs = ptrtoint i64* %lniUr to i64
%lniUt = icmp ult i64 %lniUs, %SpLim_Arg
br i1 %lniUt, label %ciUd, label %ciUe
ciUe:
%lniUv = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciTY_info$def to i64
%lniUu = load i64*, i64** %Sp_Var
%lniUw = getelementptr inbounds i64, i64* %lniUu, i32 -3
store i64 %lniUv, i64* %lniUw, !tbaa !1
%lniUx = load i64, i64* %R2_Var
store i64 %lniUx, i64* %R1_Var
%lniUz = load i64, i64* %R3_Var
%lniUy = load i64*, i64** %Sp_Var
%lniUA = getelementptr inbounds i64, i64* %lniUy, i32 -2
store i64 %lniUz, i64* %lniUA, !tbaa !1
%lniUC = load i64, i64* %R4_Var
%lniUB = load i64*, i64** %Sp_Var
%lniUD = getelementptr inbounds i64, i64* %lniUB, i32 -1
store i64 %lniUC, i64* %lniUD, !tbaa !1
%lniUE = load i64*, i64** %Sp_Var
%lniUF = getelementptr inbounds i64, i64* %lniUE, i32 -3
%lniUG = ptrtoint i64* %lniUF to i64
%lniUH = inttoptr i64 %lniUG to i64*
store i64* %lniUH, i64** %Sp_Var
%lniUI = bitcast i8* @stg_ap_0_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniUJ = load i64*, i64** %Sp_Var
%lniUK = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniUI( i64* %Base_Arg, i64* %lniUJ, i64* %Hp_Arg, i64 %lniUK, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ciUd:
%lniUL = load i64, i64* %R4_Var
store i64 %lniUL, i64* %R4_Var
%lniUM = load i64, i64* %R3_Var
store i64 %lniUM, i64* %R3_Var
%lniUN = load i64, i64* %R2_Var
store i64 %lniUN, i64* %R2_Var
%lniUO = ptrtoint %riFu_closure_struct* @riFu_closure$def to i64
store i64 %lniUO, i64* %R1_Var
%lniUP = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lniUQ = bitcast i64* %lniUP to i64*
%lniUR = load i64, i64* %lniUQ, !tbaa !4
%lniUS = inttoptr i64 %lniUR to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniUT = load i64*, i64** %Sp_Var
%lniUU = load i64, i64* %R1_Var
%lniUV = load i64, i64* %R2_Var
%lniUW = load i64, i64* %R3_Var
%lniUX = load i64, i64* %R4_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniUS( i64* %Base_Arg, i64* %lniUT, i64* %Hp_Arg, i64 %lniUU, i64 %lniUV, i64 %lniUW, i64 %lniUX, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ciTY_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciTY_info$def to i8*)
define internal ghccc void @ciTY_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 2, i64 32}>
{
ciTY:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lniUY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciU3_info$def to i64
%lniUZ = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lniUY, i64* %lniUZ, !tbaa !1
%lniV2 = load i64, i64* %R1_Var
%lniV3 = add i64 %lniV2, 7
%lniV4 = inttoptr i64 %lniV3 to i64*
%lniV5 = load i64, i64* %lniV4, !tbaa !3
store i64 %lniV5, i64* %R1_Var
%lniV6 = bitcast i8* @stg_ap_0_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniV7 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniV6( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lniV7, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ciU3_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciU3_info$def to i8*)
define internal ghccc void @ciU3_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 2, i64 32}>
{
ciU3:
%lsiGJ = alloca i64, i32 1
%lsiGH = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lniV9 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciU7_info$def to i64
%lniV8 = load i64*, i64** %Sp_Var
%lniVa = getelementptr inbounds i64, i64* %lniV8, i32 -1
store i64 %lniV9, i64* %lniVa, !tbaa !1
%lniVd = load i64, i64* %R1_Var
%lniVe = add i64 %lniVd, 7
%lniVf = inttoptr i64 %lniVe to i64*
%lniVg = load i64, i64* %lniVf, !tbaa !3
store i64 %lniVg, i64* %lsiGJ
%lniVj = load i64, i64* %R1_Var
%lniVk = add i64 %lniVj, 15
%lniVl = inttoptr i64 %lniVk to i64*
%lniVm = load i64, i64* %lniVl, !tbaa !3
store i64 %lniVm, i64* %lsiGH
%lniVn = load i64*, i64** %Sp_Var
%lniVo = getelementptr inbounds i64, i64* %lniVn, i32 1
%lniVp = bitcast i64* %lniVo to i64*
%lniVq = load i64, i64* %lniVp, !tbaa !1
store i64 %lniVq, i64* %R1_Var
%lniVs = load i64, i64* %lsiGJ
%lniVr = load i64*, i64** %Sp_Var
%lniVt = getelementptr inbounds i64, i64* %lniVr, i32 0
store i64 %lniVs, i64* %lniVt, !tbaa !1
%lniVv = load i64, i64* %lsiGH
%lniVu = load i64*, i64** %Sp_Var
%lniVw = getelementptr inbounds i64, i64* %lniVu, i32 1
store i64 %lniVv, i64* %lniVw, !tbaa !1
%lniVx = load i64*, i64** %Sp_Var
%lniVy = getelementptr inbounds i64, i64* %lniVx, i32 -1
%lniVz = ptrtoint i64* %lniVy to i64
%lniVA = inttoptr i64 %lniVz to i64*
store i64* %lniVA, i64** %Sp_Var
%lniVB = load i64, i64* %R1_Var
%lniVC = and i64 %lniVB, 7
%lniVD = icmp ne i64 %lniVC, 0
br i1 %lniVD, label %uiUo, label %ciU8
ciU8:
%lniVF = load i64, i64* %R1_Var
%lniVG = inttoptr i64 %lniVF to i64*
%lniVH = load i64, i64* %lniVG, !tbaa !3
%lniVI = inttoptr i64 %lniVH to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniVJ = load i64*, i64** %Sp_Var
%lniVK = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniVI( i64* %Base_Arg, i64* %lniVJ, i64* %Hp_Arg, i64 %lniVK, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uiUo:
%lniVL = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciU7_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniVM = load i64*, i64** %Sp_Var
%lniVN = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniVL( i64* %Base_Arg, i64* %lniVM, i64* %Hp_Arg, i64 %lniVN, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ciU7_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciU7_info$def to i8*)
define internal ghccc void @ciU7_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 131, i64 32}>
{
ciU7:
%lsiGL = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lniVO = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciUc_info$def to i64
%lniVP = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lniVO, i64* %lniVP, !tbaa !1
%lniVS = load i64, i64* %R1_Var
%lniVT = add i64 %lniVS, 7
%lniVU = inttoptr i64 %lniVT to i64*
%lniVV = load i64, i64* %lniVU, !tbaa !3
store i64 %lniVV, i64* %lsiGL
%lniVW = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
%lniVX = bitcast i64* %lniVW to i64*
%lniVY = load i64, i64* %lniVX, !tbaa !1
store i64 %lniVY, i64* %R1_Var
%lniVZ = load i64, i64* %lsiGL
%lniW0 = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
store i64 %lniVZ, i64* %lniW0, !tbaa !1
%lniW1 = load i64, i64* %R1_Var
%lniW2 = and i64 %lniW1, 7
%lniW3 = icmp ne i64 %lniW2, 0
br i1 %lniW3, label %uiUp, label %ciUi
ciUi:
%lniW5 = load i64, i64* %R1_Var
%lniW6 = inttoptr i64 %lniW5 to i64*
%lniW7 = load i64, i64* %lniW6, !tbaa !3
%lniW8 = inttoptr i64 %lniW7 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniW9 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniW8( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lniW9, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uiUp:
%lniWa = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciUc_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniWb = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniWa( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lniWb, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ciUc_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciUc_info$def to i8*)
define internal ghccc void @ciUc_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 387, i64 32}>
{
ciUc:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lniWc = load i64*, i64** %Sp_Var
%lniWd = getelementptr inbounds i64, i64* %lniWc, i32 1
%lniWe = bitcast i64* %lniWd to i64*
%lniWf = load i64, i64* %lniWe, !tbaa !1
%lniWg = load i64*, i64** %Sp_Var
%lniWh = getelementptr inbounds i64, i64* %lniWg, i32 2
%lniWi = bitcast i64* %lniWh to i64*
%lniWj = load i64, i64* %lniWi, !tbaa !1
%lniWk = load i64*, i64** %Sp_Var
%lniWl = getelementptr inbounds i64, i64* %lniWk, i32 3
%lniWm = bitcast i64* %lniWl to i64*
%lniWn = load i64, i64* %lniWm, !tbaa !1
%lniWo = add i64 %lniWj, %lniWn
%lniWp = shl i64 %lniWo, 3
%lniWq = add i64 %lniWp, 16
%lniWr = add i64 %lniWf, %lniWq
%lniWu = load i64, i64* %R1_Var
%lniWv = add i64 %lniWu, 7
%lniWw = inttoptr i64 %lniWv to double*
%lniWx = load double, double* %lniWw, !tbaa !3
%lniWy = inttoptr i64 %lniWr to double*
store double %lniWx, double* %lniWy, !tbaa !5
%lniWz = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64
%lniWA = add i64 %lniWz, 1
store i64 %lniWA, i64* %R1_Var
%lniWB = load i64*, i64** %Sp_Var
%lniWC = getelementptr inbounds i64, i64* %lniWB, i32 4
%lniWD = ptrtoint i64* %lniWC to i64
%lniWE = inttoptr i64 %lniWD to i64*
store i64* %lniWE, i64** %Sp_Var
%lniWF = load i64*, i64** %Sp_Var
%lniWG = getelementptr inbounds i64, i64* %lniWF, i32 0
%lniWH = bitcast i64* %lniWG to i64*
%lniWI = load i64, i64* %lniWH, !tbaa !1
%lniWJ = inttoptr i64 %lniWI to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniWK = load i64*, i64** %Sp_Var
%lniWL = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniWJ( i64* %Base_Arg, i64* %lniWK, i64* %Hp_Arg, i64 %lniWL, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure_struct = type <{i64}>
@Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure$def = internal global %Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_info$def to i64)}>
@Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure = alias i8* bitcast (%Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure_struct* @Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure$def to i8*)
@Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_info = alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_info$def to i8*)
define ghccc void @Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 17179869207, i64 0, i64 15}>
{
ciWR:
%R4_Var = alloca i64, i32 1
store i64 %R4_Arg, i64* %R4_Var
%R3_Var = alloca i64, i32 1
store i64 %R3_Arg, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lniWU = load i64, i64* %R4_Var
store i64 %lniWU, i64* %R4_Var
%lniWV = load i64, i64* %R3_Var
store i64 %lniWV, i64* %R3_Var
%lniWW = load i64, i64* %R2_Var
store i64 %lniWW, i64* %R2_Var
%lniWX = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFu_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniWY = load i64, i64* %R2_Var
%lniWZ = load i64, i64* %R3_Var
%lniX0 = load i64, i64* %R4_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniWX( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 %lniWY, i64 %lniWZ, i64 %lniX0, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFv_closure_struct = type <{i64, i64, i64, i64}>
%ciX8_str_struct = type <{[33 x i8]}>
@riFv_closure$def = internal global %riFv_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFv_info$def to i64), i64 0, i64 0, i64 0}>
@riFv_closure = internal alias i8* bitcast (%riFv_closure_struct* @riFv_closure$def to i8*)
@ciX8_str$def = internal constant %ciX8_str_struct<{[33 x i8] [i8 46, i8 47, i8 68, i8 97, i8 116, i8 97, i8 47, i8 86, i8 101, i8 99, i8 116, i8 111, i8 114, i8 47, i8 71, i8 101, i8 110, i8 101, i8 114, i8 105, i8 99, i8 47, i8 77, i8 117, i8 116, i8 97, i8 98, i8 108, i8 101, i8 46, i8 104, i8 115, i8 0]}>
@ciX8_str = internal alias i8* bitcast (%ciX8_str_struct* @ciX8_str$def to i8*)
@riFv_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFv_info$def to i8*)
define internal ghccc void @riFv_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}>
{
ciX9:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%lciX5 = alloca i64, i32 1
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lniXc = load i64*, i64** %Sp_Var
%lniXd = getelementptr inbounds i64, i64* %lniXc, i32 -2
%lniXe = ptrtoint i64* %lniXd to i64
%lniXf = icmp ult i64 %lniXe, %SpLim_Arg
br i1 %lniXf, label %ciXa, label %ciXb
ciXb:
%lniXg = ptrtoint i64* %Base_Arg to i64
%lniXh = inttoptr i64 %lniXg to i8*
%lniXi = load i64, i64* %R1_Var
%lniXj = inttoptr i64 %lniXi to i8*
%lniXk = bitcast i8* @newCAF to i8* (i8*, i8*)*
store i64 undef, i64* %R3_Var
store i64 undef, i64* %R4_Var
store i64 undef, i64* %R5_Var
store i64 undef, i64* %R6_Var
store float undef, float* %F1_Var
store double undef, double* %D1_Var
store float undef, float* %F2_Var
store double undef, double* %D2_Var
store float undef, float* %F3_Var
store double undef, double* %D3_Var
store float undef, float* %F4_Var
store double undef, double* %D4_Var
store float undef, float* %F5_Var
store double undef, double* %D5_Var
store float undef, float* %F6_Var
store double undef, double* %D6_Var
%lniXl = call ccc i8* (i8*, i8*) %lniXk( i8* %lniXh, i8* %lniXj ) nounwind
%lniXm = ptrtoint i8* %lniXl to i64
store i64 %lniXm, i64* %lciX5
%lniXn = load i64, i64* %lciX5
%lniXo = icmp eq i64 %lniXn, 0
br i1 %lniXo, label %ciX7, label %ciX6
ciX6:
%lniXq = ptrtoint i8* @stg_bh_upd_frame_info to i64
%lniXp = load i64*, i64** %Sp_Var
%lniXr = getelementptr inbounds i64, i64* %lniXp, i32 -2
store i64 %lniXq, i64* %lniXr, !tbaa !1
%lniXt = load i64, i64* %lciX5
%lniXs = load i64*, i64** %Sp_Var
%lniXu = getelementptr inbounds i64, i64* %lniXs, i32 -1
store i64 %lniXt, i64* %lniXu, !tbaa !1
%lniXv = ptrtoint %ciX8_str_struct* @ciX8_str$def to i64
store i64 %lniXv, i64* %R2_Var
%lniXw = load i64*, i64** %Sp_Var
%lniXx = getelementptr inbounds i64, i64* %lniXw, i32 -2
%lniXy = ptrtoint i64* %lniXx to i64
%lniXz = inttoptr i64 %lniXy to i64*
store i64* %lniXz, i64** %Sp_Var
%lniXA = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniXB = load i64*, i64** %Sp_Var
%lniXC = load i64, i64* %R1_Var
%lniXD = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniXA( i64* %Base_Arg, i64* %lniXB, i64* %Hp_Arg, i64 %lniXC, i64 %lniXD, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ciX7:
%lniXF = load i64, i64* %R1_Var
%lniXG = inttoptr i64 %lniXF to i64*
%lniXH = load i64, i64* %lniXG, !tbaa !3
%lniXI = inttoptr i64 %lniXH to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniXJ = load i64*, i64** %Sp_Var
%lniXK = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniXI( i64* %Base_Arg, i64* %lniXJ, i64* %Hp_Arg, i64 %lniXK, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ciXa:
%lniXL = load i64, i64* %R1_Var
store i64 %lniXL, i64* %R1_Var
%lniXM = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lniXN = bitcast i64* %lniXM to i64*
%lniXO = load i64, i64* %lniXN, !tbaa !4
%lniXP = inttoptr i64 %lniXO to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniXQ = load i64*, i64** %Sp_Var
%lniXR = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniXP( i64* %Base_Arg, i64* %lniXQ, i64* %Hp_Arg, i64 %lniXR, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFw_closure_struct = type <{i64, i64}>
@riFw_closure$def = internal global %riFw_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Izh_static_info to i64), i64 584}>
@riFw_closure = internal alias i8* bitcast (%riFw_closure_struct* @riFw_closure$def to i8*)
%riFx_closure_struct = type <{i64, i64, i64, i64}>
%ciY0_str_struct = type <{[4 x i8]}>
@riFx_closure$def = internal global %riFx_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFx_info$def to i64), i64 0, i64 0, i64 0}>
@riFx_closure = internal alias i8* bitcast (%riFx_closure_struct* @riFx_closure$def to i8*)
@ciY0_str$def = internal constant %ciY0_str_struct<{[4 x i8] [i8 110, i8 101, i8 119, i8 0]}>
@ciY0_str = internal alias i8* bitcast (%ciY0_str_struct* @ciY0_str$def to i8*)
@riFx_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFx_info$def to i8*)
define internal ghccc void @riFx_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}>
{
ciY1:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%lciXX = alloca i64, i32 1
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lniY4 = load i64*, i64** %Sp_Var
%lniY5 = getelementptr inbounds i64, i64* %lniY4, i32 -2
%lniY6 = ptrtoint i64* %lniY5 to i64
%lniY7 = icmp ult i64 %lniY6, %SpLim_Arg
br i1 %lniY7, label %ciY2, label %ciY3
ciY3:
%lniY8 = ptrtoint i64* %Base_Arg to i64
%lniY9 = inttoptr i64 %lniY8 to i8*
%lniYa = load i64, i64* %R1_Var
%lniYb = inttoptr i64 %lniYa to i8*
%lniYc = bitcast i8* @newCAF to i8* (i8*, i8*)*
store i64 undef, i64* %R3_Var
store i64 undef, i64* %R4_Var
store i64 undef, i64* %R5_Var
store i64 undef, i64* %R6_Var
store float undef, float* %F1_Var
store double undef, double* %D1_Var
store float undef, float* %F2_Var
store double undef, double* %D2_Var
store float undef, float* %F3_Var
store double undef, double* %D3_Var
store float undef, float* %F4_Var
store double undef, double* %D4_Var
store float undef, float* %F5_Var
store double undef, double* %D5_Var
store float undef, float* %F6_Var
store double undef, double* %D6_Var
%lniYd = call ccc i8* (i8*, i8*) %lniYc( i8* %lniY9, i8* %lniYb ) nounwind
%lniYe = ptrtoint i8* %lniYd to i64
store i64 %lniYe, i64* %lciXX
%lniYf = load i64, i64* %lciXX
%lniYg = icmp eq i64 %lniYf, 0
br i1 %lniYg, label %ciXZ, label %ciXY
ciXY:
%lniYi = ptrtoint i8* @stg_bh_upd_frame_info to i64
%lniYh = load i64*, i64** %Sp_Var
%lniYj = getelementptr inbounds i64, i64* %lniYh, i32 -2
store i64 %lniYi, i64* %lniYj, !tbaa !1
%lniYl = load i64, i64* %lciXX
%lniYk = load i64*, i64** %Sp_Var
%lniYm = getelementptr inbounds i64, i64* %lniYk, i32 -1
store i64 %lniYl, i64* %lniYm, !tbaa !1
%lniYn = ptrtoint %ciY0_str_struct* @ciY0_str$def to i64
store i64 %lniYn, i64* %R2_Var
%lniYo = load i64*, i64** %Sp_Var
%lniYp = getelementptr inbounds i64, i64* %lniYo, i32 -2
%lniYq = ptrtoint i64* %lniYp to i64
%lniYr = inttoptr i64 %lniYq to i64*
store i64* %lniYr, i64** %Sp_Var
%lniYs = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniYt = load i64*, i64** %Sp_Var
%lniYu = load i64, i64* %R1_Var
%lniYv = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniYs( i64* %Base_Arg, i64* %lniYt, i64* %Hp_Arg, i64 %lniYu, i64 %lniYv, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ciXZ:
%lniYx = load i64, i64* %R1_Var
%lniYy = inttoptr i64 %lniYx to i64*
%lniYz = load i64, i64* %lniYy, !tbaa !3
%lniYA = inttoptr i64 %lniYz to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniYB = load i64*, i64** %Sp_Var
%lniYC = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniYA( i64* %Base_Arg, i64* %lniYB, i64* %Hp_Arg, i64 %lniYC, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ciY2:
%lniYD = load i64, i64* %R1_Var
store i64 %lniYD, i64* %R1_Var
%lniYE = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lniYF = bitcast i64* %lniYE to i64*
%lniYG = load i64, i64* %lniYF, !tbaa !4
%lniYH = inttoptr i64 %lniYG to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniYI = load i64*, i64** %Sp_Var
%lniYJ = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniYH( i64* %Base_Arg, i64* %lniYI, i64* %Hp_Arg, i64 %lniYJ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFy_closure_struct = type <{i64, i64}>
@riFy_closure$def = internal global %riFy_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFy_info$def to i64), i64 0}>
@riFy_closure = internal alias i8* bitcast (%riFy_closure_struct* @riFy_closure$def to i8*)
@riFy_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFy_info$def to i8*)
define internal ghccc void @riFy_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFy_info$def to i64)),i64 0), i64 4294967300, i64 0, i64 64424509455}>
{
ciYU:
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lniZ1 = load i64*, i64** %Sp_Var
%lniZ2 = getelementptr inbounds i64, i64* %lniZ1, i32 -1
%lniZ3 = ptrtoint i64* %lniZ2 to i64
%lniZ4 = icmp ult i64 %lniZ3, %SpLim_Arg
br i1 %lniZ4, label %ciYV, label %ciYW
ciYW:
%lniZ6 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciYS_info$def to i64
%lniZ5 = load i64*, i64** %Sp_Var
%lniZ7 = getelementptr inbounds i64, i64* %lniZ5, i32 -1
store i64 %lniZ6, i64* %lniZ7, !tbaa !1
%lniZ8 = load i64, i64* %R2_Var
store i64 %lniZ8, i64* %R2_Var
%lniZ9 = load i64*, i64** %Sp_Var
%lniZa = getelementptr inbounds i64, i64* %lniZ9, i32 -1
%lniZb = ptrtoint i64* %lniZa to i64
%lniZc = inttoptr i64 %lniZb to i64*
store i64* %lniZc, i64** %Sp_Var
%lniZd = bitcast i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_checkLengthzumsgzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniZe = load i64*, i64** %Sp_Var
%lniZf = load i64, i64* %R1_Var
%lniZg = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniZd( i64* %Base_Arg, i64* %lniZe, i64* %Hp_Arg, i64 %lniZf, i64 %lniZg, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ciYV:
%lniZh = load i64, i64* %R2_Var
store i64 %lniZh, i64* %R2_Var
%lniZi = ptrtoint %riFy_closure_struct* @riFy_closure$def to i64
store i64 %lniZi, i64* %R1_Var
%lniZj = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lniZk = bitcast i64* %lniZj to i64*
%lniZl = load i64, i64* %lniZk, !tbaa !4
%lniZm = inttoptr i64 %lniZl to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniZn = load i64*, i64** %Sp_Var
%lniZo = load i64, i64* %R1_Var
%lniZp = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniZm( i64* %Base_Arg, i64* %lniZn, i64* %Hp_Arg, i64 %lniZo, i64 %lniZp, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ciYS_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciYS_info$def to i8*)
define internal ghccc void @ciYS_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciYS_info$def to i64)),i64 0), i64 0, i64 30064771104}>
{
ciYS:
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
store i64 %R1_Arg, i64* %R6_Var
%lniZq = ptrtoint %riFx_closure_struct* @riFx_closure$def to i64
store i64 %lniZq, i64* %R5_Var
%lniZr = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_Bounds_closure to i64
%lniZs = add i64 %lniZr, 1
store i64 %lniZs, i64* %R4_Var
%lniZt = ptrtoint %riFw_closure_struct* @riFw_closure$def to i64
%lniZu = add i64 %lniZt, 1
store i64 %lniZu, i64* %R3_Var
%lniZv = ptrtoint %riFv_closure_struct* @riFv_closure$def to i64
store i64 %lniZv, i64* %R2_Var
%lniZw = load i64*, i64** %Sp_Var
%lniZx = getelementptr inbounds i64, i64* %lniZw, i32 1
%lniZy = ptrtoint i64* %lniZx to i64
%lniZz = inttoptr i64 %lniZy to i64*
store i64* %lniZz, i64** %Sp_Var
%lniZA = bitcast i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_checkError_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lniZB = load i64*, i64** %Sp_Var
%lniZC = load i64, i64* %R2_Var
%lniZD = load i64, i64* %R3_Var
%lniZE = load i64, i64* %R4_Var
%lniZF = load i64, i64* %R5_Var
%lniZG = load i64, i64* %R6_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniZA( i64* %Base_Arg, i64* %lniZB, i64* %Hp_Arg, i64 %R1_Arg, i64 %lniZC, i64 %lniZD, i64 %lniZE, i64 %lniZF, i64 %lniZG, i64 %SpLim_Arg ) nounwind
ret void
}
%riFz_closure_struct = type <{i64, i64, i64, i64}>
%ciZO_str_struct = type <{[25 x i8]}>
@riFz_closure$def = internal global %riFz_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFz_info$def to i64), i64 0, i64 0, i64 0}>
@riFz_closure = internal alias i8* bitcast (%riFz_closure_struct* @riFz_closure$def to i8*)
@ciZO_str$def = internal constant %ciZO_str_struct<{[25 x i8] [i8 82, i8 101, i8 112, i8 97, i8 46, i8 108, i8 111, i8 97, i8 100, i8 80, i8 91, i8 68, i8 101, i8 108, i8 97, i8 121, i8 101, i8 100, i8 93, i8 58, i8 32, i8 101, i8 110, i8 100, i8 0]}>
@ciZO_str = internal alias i8* bitcast (%ciZO_str_struct* @ciZO_str$def to i8*)
@riFz_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFz_info$def to i8*)
define internal ghccc void @riFz_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}>
{
ciZP:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%lciZL = alloca i64, i32 1
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lniZS = load i64*, i64** %Sp_Var
%lniZT = getelementptr inbounds i64, i64* %lniZS, i32 -2
%lniZU = ptrtoint i64* %lniZT to i64
%lniZV = icmp ult i64 %lniZU, %SpLim_Arg
br i1 %lniZV, label %ciZQ, label %ciZR
ciZR:
%lniZW = ptrtoint i64* %Base_Arg to i64
%lniZX = inttoptr i64 %lniZW to i8*
%lniZY = load i64, i64* %R1_Var
%lniZZ = inttoptr i64 %lniZY to i8*
%lnj00 = bitcast i8* @newCAF to i8* (i8*, i8*)*
store i64 undef, i64* %R3_Var
store i64 undef, i64* %R4_Var
store i64 undef, i64* %R5_Var
store i64 undef, i64* %R6_Var
store float undef, float* %F1_Var
store double undef, double* %D1_Var
store float undef, float* %F2_Var
store double undef, double* %D2_Var
store float undef, float* %F3_Var
store double undef, double* %D3_Var
store float undef, float* %F4_Var
store double undef, double* %D4_Var
store float undef, float* %F5_Var
store double undef, double* %D5_Var
store float undef, float* %F6_Var
store double undef, double* %D6_Var
%lnj01 = call ccc i8* (i8*, i8*) %lnj00( i8* %lniZX, i8* %lniZZ ) nounwind
%lnj02 = ptrtoint i8* %lnj01 to i64
store i64 %lnj02, i64* %lciZL
%lnj03 = load i64, i64* %lciZL
%lnj04 = icmp eq i64 %lnj03, 0
br i1 %lnj04, label %ciZN, label %ciZM
ciZM:
%lnj06 = ptrtoint i8* @stg_bh_upd_frame_info to i64
%lnj05 = load i64*, i64** %Sp_Var
%lnj07 = getelementptr inbounds i64, i64* %lnj05, i32 -2
store i64 %lnj06, i64* %lnj07, !tbaa !1
%lnj09 = load i64, i64* %lciZL
%lnj08 = load i64*, i64** %Sp_Var
%lnj0a = getelementptr inbounds i64, i64* %lnj08, i32 -1
store i64 %lnj09, i64* %lnj0a, !tbaa !1
%lnj0b = ptrtoint %ciZO_str_struct* @ciZO_str$def to i64
store i64 %lnj0b, i64* %R2_Var
%lnj0c = load i64*, i64** %Sp_Var
%lnj0d = getelementptr inbounds i64, i64* %lnj0c, i32 -2
%lnj0e = ptrtoint i64* %lnj0d to i64
%lnj0f = inttoptr i64 %lnj0e to i64*
store i64* %lnj0f, i64** %Sp_Var
%lnj0g = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnj0h = load i64*, i64** %Sp_Var
%lnj0i = load i64, i64* %R1_Var
%lnj0j = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnj0g( i64* %Base_Arg, i64* %lnj0h, i64* %Hp_Arg, i64 %lnj0i, i64 %lnj0j, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ciZN:
%lnj0l = load i64, i64* %R1_Var
%lnj0m = inttoptr i64 %lnj0l to i64*
%lnj0n = load i64, i64* %lnj0m, !tbaa !3
%lnj0o = inttoptr i64 %lnj0n to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnj0p = load i64*, i64** %Sp_Var
%lnj0q = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnj0o( i64* %Base_Arg, i64* %lnj0p, i64* %Hp_Arg, i64 %lnj0q, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ciZQ:
%lnj0r = load i64, i64* %R1_Var
store i64 %lnj0r, i64* %R1_Var
%lnj0s = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lnj0t = bitcast i64* %lnj0s to i64*
%lnj0u = load i64, i64* %lnj0t, !tbaa !4
%lnj0v = inttoptr i64 %lnj0u to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnj0w = load i64*, i64** %Sp_Var
%lnj0x = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnj0v( i64* %Base_Arg, i64* %lnj0w, i64* %Hp_Arg, i64 %lnj0x, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFA_closure_struct = type <{i64, i64}>
@riFA_closure$def = internal global %riFA_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFA_info$def to i64), i64 0}>
@riFA_closure = internal alias i8* bitcast (%riFA_closure_struct* @riFA_closure$def to i8*)
@siH2_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siH2_info$def to i8*)
define internal ghccc void @siH2_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901902, i64 4294967296, i64 11}>
{
cj4N:
%R3_Var = alloca i64, i32 1
store i64 %R3_Arg, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjaP = load i64*, i64** %Sp_Var
%lnjaQ = getelementptr inbounds i64, i64* %lnjaP, i32 -5
%lnjaR = ptrtoint i64* %lnjaQ to i64
%lnjaS = icmp uge i64 %lnjaR, %SpLim_Arg
br i1 %lnjaS, label %uj55, label %cj4O
cj4O:
%lnjaT = load i64, i64* %R3_Var
store i64 %lnjaT, i64* %R3_Var
%lnjaU = load i64, i64* %R2_Var
store i64 %lnjaU, i64* %R2_Var
%lnjaV = load i64, i64* %R1_Var
store i64 %lnjaV, i64* %R1_Var
%lnjaW = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnjaX = bitcast i64* %lnjaW to i64*
%lnjaY = load i64, i64* %lnjaX, !tbaa !4
%lnjaZ = inttoptr i64 %lnjaY to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjb0 = load i64*, i64** %Sp_Var
%lnjb1 = load i64, i64* %R1_Var
%lnjb2 = load i64, i64* %R2_Var
%lnjb3 = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjaZ( i64* %Base_Arg, i64* %lnjb0, i64* %Hp_Arg, i64 %lnjb1, i64 %lnjb2, i64 %lnjb3, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uj55:
%lnjb5 = load i64, i64* %R1_Var
%lnjb4 = load i64*, i64** %Sp_Var
%lnjb6 = getelementptr inbounds i64, i64* %lnjb4, i32 -3
store i64 %lnjb5, i64* %lnjb6, !tbaa !1
%lnjb8 = load i64, i64* %R2_Var
%lnjb7 = load i64*, i64** %Sp_Var
%lnjb9 = getelementptr inbounds i64, i64* %lnjb7, i32 -2
store i64 %lnjb8, i64* %lnjb9, !tbaa !1
%lnjbb = load i64, i64* %R3_Var
%lnjba = load i64*, i64** %Sp_Var
%lnjbc = getelementptr inbounds i64, i64* %lnjba, i32 -1
store i64 %lnjbb, i64* %lnjbc, !tbaa !1
%lnjbd = load i64*, i64** %Sp_Var
%lnjbe = getelementptr inbounds i64, i64* %lnjbd, i32 -3
%lnjbf = ptrtoint i64* %lnjbe to i64
%lnjbg = inttoptr i64 %lnjbf to i64*
store i64* %lnjbg, i64** %Sp_Var
%lnjbh = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4D_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjbi = load i64*, i64** %Sp_Var
%lnjbj = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjbh( i64* %Base_Arg, i64* %lnjbi, i64* %Hp_Arg, i64 %lnjbj, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj4D_entry = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4D_entry$def to i8*)
define internal ghccc void @cj4D_entry$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind
{
cj4D:
%lsiH1 = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjbk = load i64*, i64** %Sp_Var
%lnjbl = getelementptr inbounds i64, i64* %lnjbk, i32 0
%lnjbm = bitcast i64* %lnjbl to i64*
%lnjbn = load i64, i64* %lnjbm, !tbaa !1
%lnjbo = add i64 %lnjbn, 5
%lnjbp = inttoptr i64 %lnjbo to i64*
%lnjbq = load i64, i64* %lnjbp, !tbaa !5
store i64 %lnjbq, i64* %lsiH1
%lnjbs = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4G_info$def to i64
%lnjbr = load i64*, i64** %Sp_Var
%lnjbt = getelementptr inbounds i64, i64* %lnjbr, i32 -1
store i64 %lnjbs, i64* %lnjbt, !tbaa !1
%lnjbu = load i64*, i64** %Sp_Var
%lnjbv = getelementptr inbounds i64, i64* %lnjbu, i32 1
%lnjbw = bitcast i64* %lnjbv to i64*
%lnjbx = load i64, i64* %lnjbw, !tbaa !1
store i64 %lnjbx, i64* %R1_Var
%lnjbz = load i64, i64* %lsiH1
%lnjby = load i64*, i64** %Sp_Var
%lnjbA = getelementptr inbounds i64, i64* %lnjby, i32 1
store i64 %lnjbz, i64* %lnjbA, !tbaa !1
%lnjbB = load i64*, i64** %Sp_Var
%lnjbC = getelementptr inbounds i64, i64* %lnjbB, i32 -1
%lnjbD = ptrtoint i64* %lnjbC to i64
%lnjbE = inttoptr i64 %lnjbD to i64*
store i64* %lnjbE, i64** %Sp_Var
%lnjbF = load i64, i64* %R1_Var
%lnjbG = and i64 %lnjbF, 7
%lnjbH = icmp ne i64 %lnjbG, 0
br i1 %lnjbH, label %uj57, label %cj4H
cj4H:
%lnjbJ = load i64, i64* %R1_Var
%lnjbK = inttoptr i64 %lnjbJ to i64*
%lnjbL = load i64, i64* %lnjbK, !tbaa !3
%lnjbM = inttoptr i64 %lnjbL to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjbN = load i64*, i64** %Sp_Var
%lnjbO = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjbM( i64* %Base_Arg, i64* %lnjbN, i64* %Hp_Arg, i64 %lnjbO, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uj57:
%lnjbP = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4G_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjbQ = load i64*, i64** %Sp_Var
%lnjbR = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjbP( i64* %Base_Arg, i64* %lnjbQ, i64* %Hp_Arg, i64 %lnjbR, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj4G_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4G_info$def to i8*)
define internal ghccc void @cj4G_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 387, i64 32}>
{
cj4G:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lsiH8 = alloca i64, i32 1
%lnjbS = load i64, i64* %R1_Var
%lnjbT = and i64 %lnjbS, 7
switch i64 %lnjbT, label %cj4K [i64 1, label %cj4K
i64 2, label %cj4L]
cj4K:
%lnjbU = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64
%lnjbV = add i64 %lnjbU, 1
store i64 %lnjbV, i64* %R1_Var
%lnjbW = load i64*, i64** %Sp_Var
%lnjbX = getelementptr inbounds i64, i64* %lnjbW, i32 4
%lnjbY = ptrtoint i64* %lnjbX to i64
%lnjbZ = inttoptr i64 %lnjbY to i64*
store i64* %lnjbZ, i64** %Sp_Var
%lnjc0 = load i64*, i64** %Sp_Var
%lnjc1 = getelementptr inbounds i64, i64* %lnjc0, i32 0
%lnjc2 = bitcast i64* %lnjc1 to i64*
%lnjc3 = load i64, i64* %lnjc2, !tbaa !1
%lnjc4 = inttoptr i64 %lnjc3 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjc5 = load i64*, i64** %Sp_Var
%lnjc6 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjc4( i64* %Base_Arg, i64* %lnjc5, i64* %Hp_Arg, i64 %lnjc6, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cj4L:
%lnjc8 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4V_info$def to i64
%lnjc7 = load i64*, i64** %Sp_Var
%lnjc9 = getelementptr inbounds i64, i64* %lnjc7, i32 -1
store i64 %lnjc8, i64* %lnjc9, !tbaa !1
%lnjcc = load i64, i64* %R1_Var
%lnjcd = add i64 %lnjcc, 14
%lnjce = inttoptr i64 %lnjcd to i64*
%lnjcf = load i64, i64* %lnjce, !tbaa !3
store i64 %lnjcf, i64* %lsiH8
%lnjci = load i64, i64* %R1_Var
%lnjcj = add i64 %lnjci, 6
%lnjck = inttoptr i64 %lnjcj to i64*
%lnjcl = load i64, i64* %lnjck, !tbaa !3
store i64 %lnjcl, i64* %R1_Var
%lnjcn = load i64, i64* %lsiH8
%lnjcm = load i64*, i64** %Sp_Var
%lnjco = getelementptr inbounds i64, i64* %lnjcm, i32 0
store i64 %lnjcn, i64* %lnjco, !tbaa !1
%lnjcp = load i64*, i64** %Sp_Var
%lnjcq = getelementptr inbounds i64, i64* %lnjcp, i32 -1
%lnjcr = ptrtoint i64* %lnjcq to i64
%lnjcs = inttoptr i64 %lnjcr to i64*
store i64* %lnjcs, i64** %Sp_Var
%lnjct = load i64, i64* %R1_Var
%lnjcu = and i64 %lnjct, 7
%lnjcv = icmp ne i64 %lnjcu, 0
br i1 %lnjcv, label %uj58, label %cj4X
cj4X:
%lnjcx = load i64, i64* %R1_Var
%lnjcy = inttoptr i64 %lnjcx to i64*
%lnjcz = load i64, i64* %lnjcy, !tbaa !3
%lnjcA = inttoptr i64 %lnjcz to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjcB = load i64*, i64** %Sp_Var
%lnjcC = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjcA( i64* %Base_Arg, i64* %lnjcB, i64* %Hp_Arg, i64 %lnjcC, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uj58:
%lnjcD = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4V_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjcE = load i64*, i64** %Sp_Var
%lnjcF = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjcD( i64* %Base_Arg, i64* %lnjcE, i64* %Hp_Arg, i64 %lnjcF, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj4V_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4V_info$def to i8*)
define internal ghccc void @cj4V_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 772, i64 32}>
{
cj4V:
%lsiH4 = alloca i64, i32 1
%lsiH8 = alloca i64, i32 1
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjcG = load i64*, i64** %Sp_Var
%lnjcH = getelementptr inbounds i64, i64* %lnjcG, i32 4
%lnjcI = bitcast i64* %lnjcH to i64*
%lnjcJ = load i64, i64* %lnjcI, !tbaa !1
store i64 %lnjcJ, i64* %lsiH4
%lnjcK = load i64*, i64** %Sp_Var
%lnjcL = getelementptr inbounds i64, i64* %lnjcK, i32 1
%lnjcM = bitcast i64* %lnjcL to i64*
%lnjcN = load i64, i64* %lnjcM, !tbaa !1
store i64 %lnjcN, i64* %lsiH8
%lnjcO = load i64*, i64** %Sp_Var
%lnjcP = getelementptr inbounds i64, i64* %lnjcO, i32 3
%lnjcQ = bitcast i64* %lnjcP to i64*
%lnjcR = load i64, i64* %lnjcQ, !tbaa !1
%lnjcS = load i64, i64* %lsiH4
%lnjcT = shl i64 %lnjcS, 2
%lnjcU = add i64 %lnjcR, %lnjcT
%lnjcV = add i64 %R1_Arg, 7
%lnjcW = inttoptr i64 %lnjcV to i64*
%lnjcX = load i64, i64* %lnjcW, !tbaa !3
%lnjcY = trunc i64 %lnjcX to i32
%lnjcZ = inttoptr i64 %lnjcU to i32*
store i32 %lnjcY, i32* %lnjcZ, !tbaa !5
%lnjd1 = load i64, i64* %lsiH8
%lnjd0 = load i64*, i64** %Sp_Var
%lnjd2 = getelementptr inbounds i64, i64* %lnjd0, i32 3
store i64 %lnjd1, i64* %lnjd2, !tbaa !1
%lnjd4 = load i64, i64* %lsiH4
%lnjd5 = add i64 %lnjd4, 1
%lnjd3 = load i64*, i64** %Sp_Var
%lnjd6 = getelementptr inbounds i64, i64* %lnjd3, i32 4
store i64 %lnjd5, i64* %lnjd6, !tbaa !1
%lnjd7 = load i64*, i64** %Sp_Var
%lnjd8 = getelementptr inbounds i64, i64* %lnjd7, i32 2
%lnjd9 = ptrtoint i64* %lnjd8 to i64
%lnjda = inttoptr i64 %lnjd9 to i64*
store i64* %lnjda, i64** %Sp_Var
%lnjdb = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4D_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjdc = load i64*, i64** %Sp_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjdb( i64* %Base_Arg, i64* %lnjdc, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siHS_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siHS_info$def to i8*)
define internal ghccc void @siHS_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siHS_info$def to i64)),i64 32), i64 8589934596, i64 8589934593, i64 4294967305}>
{
cj60:
%lsiHS = alloca i64, i32 1
%lsiHt = alloca i64, i32 1
%lsiGT = alloca i64, i32 1
%lsiH1 = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnjdd = load i64*, i64** %Sp_Var
%lnjde = getelementptr inbounds i64, i64* %lnjdd, i32 -14
%lnjdf = ptrtoint i64* %lnjde to i64
%lnjdg = icmp ult i64 %lnjdf, %SpLim_Arg
br i1 %lnjdg, label %cj6a, label %cj6b
cj6b:
%lnjdi = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5T_info$def to i64
%lnjdh = load i64*, i64** %Sp_Var
%lnjdj = getelementptr inbounds i64, i64* %lnjdh, i32 -6
store i64 %lnjdi, i64* %lnjdj, !tbaa !1
%lnjdk = load i64, i64* %R1_Var
store i64 %lnjdk, i64* %lsiHS
%lnjdn = load i64, i64* %R1_Var
%lnjdo = add i64 %lnjdn, 6
%lnjdp = inttoptr i64 %lnjdo to i64*
%lnjdq = load i64, i64* %lnjdp, !tbaa !3
store i64 %lnjdq, i64* %lsiHt
%lnjdt = load i64, i64* %R1_Var
%lnjdu = add i64 %lnjdt, 14
%lnjdv = inttoptr i64 %lnjdu to i64*
%lnjdw = load i64, i64* %lnjdv, !tbaa !3
store i64 %lnjdw, i64* %lsiGT
%lnjdz = load i64, i64* %R1_Var
%lnjdA = add i64 %lnjdz, 22
%lnjdB = inttoptr i64 %lnjdA to i64*
%lnjdC = load i64, i64* %lnjdB, !tbaa !3
store i64 %lnjdC, i64* %lsiH1
%lnjdD = load i64, i64* %R2_Var
store i64 %lnjdD, i64* %R1_Var
%lnjdF = load i64, i64* %lsiGT
%lnjdE = load i64*, i64** %Sp_Var
%lnjdG = getelementptr inbounds i64, i64* %lnjdE, i32 -5
store i64 %lnjdF, i64* %lnjdG, !tbaa !1
%lnjdI = load i64, i64* %lsiH1
%lnjdH = load i64*, i64** %Sp_Var
%lnjdJ = getelementptr inbounds i64, i64* %lnjdH, i32 -4
store i64 %lnjdI, i64* %lnjdJ, !tbaa !1
%lnjdL = load i64, i64* %lsiHt
%lnjdK = load i64*, i64** %Sp_Var
%lnjdM = getelementptr inbounds i64, i64* %lnjdK, i32 -3
store i64 %lnjdL, i64* %lnjdM, !tbaa !1
%lnjdO = load i64, i64* %lsiHS
%lnjdN = load i64*, i64** %Sp_Var
%lnjdP = getelementptr inbounds i64, i64* %lnjdN, i32 -2
store i64 %lnjdO, i64* %lnjdP, !tbaa !1
%lnjdR = load i64, i64* %R2_Var
%lnjdQ = load i64*, i64** %Sp_Var
%lnjdS = getelementptr inbounds i64, i64* %lnjdQ, i32 -1
store i64 %lnjdR, i64* %lnjdS, !tbaa !1
%lnjdT = load i64*, i64** %Sp_Var
%lnjdU = getelementptr inbounds i64, i64* %lnjdT, i32 -6
%lnjdV = ptrtoint i64* %lnjdU to i64
%lnjdW = inttoptr i64 %lnjdV to i64*
store i64* %lnjdW, i64** %Sp_Var
%lnjdX = bitcast i8* @stg_newPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjdY = load i64*, i64** %Sp_Var
%lnjdZ = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjdX( i64* %Base_Arg, i64* %lnjdY, i64* %Hp_Arg, i64 %lnjdZ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cj6a:
%lnje0 = load i64, i64* %R2_Var
store i64 %lnje0, i64* %R2_Var
%lnje1 = load i64, i64* %R1_Var
store i64 %lnje1, i64* %R1_Var
%lnje2 = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnje3 = bitcast i64* %lnje2 to i64*
%lnje4 = load i64, i64* %lnje3, !tbaa !4
%lnje5 = inttoptr i64 %lnje4 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnje6 = load i64*, i64** %Sp_Var
%lnje7 = load i64, i64* %R1_Var
%lnje8 = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnje5( i64* %Base_Arg, i64* %lnje6, i64* %Hp_Arg, i64 %lnje7, i64 %lnje8, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj5T_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5T_info$def to i8*)
define internal ghccc void @cj5T_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5T_info$def to i64)),i64 32), i64 1221, i64 4294967328}>
{
cj5T:
%lsiI0 = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjea = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5V_info$def to i64
%lnje9 = load i64*, i64** %Sp_Var
%lnjeb = getelementptr inbounds i64, i64* %lnje9, i32 -1
store i64 %lnjea, i64* %lnjeb, !tbaa !1
%lnjec = load i64, i64* %R1_Var
store i64 %lnjec, i64* %lsiI0
%lnjed = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64
%lnjee = add i64 %lnjed, 1
store i64 %lnjee, i64* %R1_Var
%lnjeg = load i64, i64* %lsiI0
%lnjef = load i64*, i64** %Sp_Var
%lnjeh = getelementptr inbounds i64, i64* %lnjef, i32 0
store i64 %lnjeg, i64* %lnjeh, !tbaa !1
%lnjei = load i64*, i64** %Sp_Var
%lnjej = getelementptr inbounds i64, i64* %lnjei, i32 -1
%lnjek = ptrtoint i64* %lnjej to i64
%lnjel = inttoptr i64 %lnjek to i64*
store i64* %lnjel, i64** %Sp_Var
%lnjem = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjen = load i64*, i64** %Sp_Var
%lnjeo = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjem( i64* %Base_Arg, i64* %lnjen, i64* %Hp_Arg, i64 %lnjeo, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj5V_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5V_info$def to i8*)
define internal ghccc void @cj5V_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5V_info$def to i64)),i64 32), i64 2438, i64 4294967328}>
{
cj5V:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%lsiGT = alloca i64, i32 1
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjep = load i64*, i64** %Hp_Var
%lnjeq = getelementptr inbounds i64, i64* %lnjep, i32 2
%lnjer = ptrtoint i64* %lnjeq to i64
%lnjes = inttoptr i64 %lnjer to i64*
store i64* %lnjes, i64** %Hp_Var
%lnjet = load i64*, i64** %Hp_Var
%lnjeu = ptrtoint i64* %lnjet to i64
%lnjev = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnjew = bitcast i64* %lnjev to i64*
%lnjex = load i64, i64* %lnjew, !tbaa !4
%lnjey = icmp ugt i64 %lnjeu, %lnjex
br i1 %lnjey, label %cj6f, label %cj6e
cj6e:
%lnjeA = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64
%lnjez = load i64*, i64** %Hp_Var
%lnjeB = getelementptr inbounds i64, i64* %lnjez, i32 -1
store i64 %lnjeA, i64* %lnjeB, !tbaa !2
%lnjeD = load i64, i64* %R1_Var
%lnjeC = load i64*, i64** %Hp_Var
%lnjeE = getelementptr inbounds i64, i64* %lnjeC, i32 0
store i64 %lnjeD, i64* %lnjeE, !tbaa !2
%lnjeG = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj62_info$def to i64
%lnjeF = load i64*, i64** %Sp_Var
%lnjeH = getelementptr inbounds i64, i64* %lnjeF, i32 0
store i64 %lnjeG, i64* %lnjeH, !tbaa !1
store i64 0, i64* %R6_Var
%lnjeI = load i64*, i64** %Sp_Var
%lnjeJ = getelementptr inbounds i64, i64* %lnjeI, i32 2
%lnjeK = bitcast i64* %lnjeJ to i64*
%lnjeL = load i64, i64* %lnjeK, !tbaa !1
store i64 %lnjeL, i64* %lsiGT
%lnjeM = load i64, i64* %lsiGT
store i64 %lnjeM, i64* %R5_Var
%lnjeN = ptrtoint i8* @base_GHCziIOziBuffer_ReadBuffer_closure to i64
%lnjeO = add i64 %lnjeN, 1
store i64 %lnjeO, i64* %R4_Var
%lnjeP = load i64*, i64** %Sp_Var
%lnjeQ = getelementptr inbounds i64, i64* %lnjeP, i32 4
%lnjeR = bitcast i64* %lnjeQ to i64*
%lnjeS = load i64, i64* %lnjeR, !tbaa !1
store i64 %lnjeS, i64* %R3_Var
%lnjeT = load i64*, i64** %Sp_Var
%lnjeU = getelementptr inbounds i64, i64* %lnjeT, i32 3
%lnjeV = bitcast i64* %lnjeU to i64*
%lnjeW = load i64, i64* %lnjeV, !tbaa !1
store i64 %lnjeW, i64* %R2_Var
%lnjeY = load i64, i64* %lsiGT
%lnjeX = load i64*, i64** %Sp_Var
%lnjeZ = getelementptr inbounds i64, i64* %lnjeX, i32 -7
store i64 %lnjeY, i64* %lnjeZ, !tbaa !1
%lnjf1 = load i64*, i64** %Sp_Var
%lnjf2 = getelementptr inbounds i64, i64* %lnjf1, i32 1
%lnjf3 = bitcast i64* %lnjf2 to i64*
%lnjf4 = load i64, i64* %lnjf3, !tbaa !1
%lnjf5 = add i64 %lnjf4, 16
%lnjf0 = load i64*, i64** %Sp_Var
%lnjf6 = getelementptr inbounds i64, i64* %lnjf0, i32 -6
store i64 %lnjf5, i64* %lnjf6, !tbaa !1
%lnjf9 = load i64*, i64** %Hp_Var
%lnjfa = ptrtoint i64* %lnjf9 to i64
%lnjfb = add i64 %lnjfa, -7
%lnjf7 = load i64*, i64** %Sp_Var
%lnjfc = getelementptr inbounds i64, i64* %lnjf7, i32 -5
store i64 %lnjfb, i64* %lnjfc, !tbaa !1
%lnjfe = ptrtoint i8* @base_GHCziIOziBuffer_WriteBuffer_closure to i64
%lnjff = add i64 %lnjfe, 2
%lnjfd = load i64*, i64** %Sp_Var
%lnjfg = getelementptr inbounds i64, i64* %lnjfd, i32 -4
store i64 %lnjff, i64* %lnjfg, !tbaa !1
%lnjfi = load i64*, i64** %Sp_Var
%lnjfj = getelementptr inbounds i64, i64* %lnjfi, i32 6
%lnjfk = bitcast i64* %lnjfj to i64*
%lnjfl = load i64, i64* %lnjfk, !tbaa !1
%lnjfh = load i64*, i64** %Sp_Var
%lnjfm = getelementptr inbounds i64, i64* %lnjfh, i32 -3
store i64 %lnjfl, i64* %lnjfm, !tbaa !1
%lnjfn = load i64*, i64** %Sp_Var
%lnjfo = getelementptr inbounds i64, i64* %lnjfn, i32 -2
store i64 0, i64* %lnjfo, !tbaa !1
%lnjfp = load i64*, i64** %Sp_Var
%lnjfq = getelementptr inbounds i64, i64* %lnjfp, i32 -1
store i64 0, i64* %lnjfq, !tbaa !1
%lnjfr = load i64*, i64** %Sp_Var
%lnjfs = getelementptr inbounds i64, i64* %lnjfr, i32 -7
%lnjft = ptrtoint i64* %lnjfs to i64
%lnjfu = inttoptr i64 %lnjft to i64*
store i64* %lnjfu, i64** %Sp_Var
%lnjfv = bitcast i8* @base_GHCziIOziEncodingziUTF8_zdwutf8zuencode_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjfw = load i64*, i64** %Sp_Var
%lnjfx = load i64*, i64** %Hp_Var
%lnjfy = load i64, i64* %R1_Var
%lnjfz = load i64, i64* %R2_Var
%lnjfA = load i64, i64* %R3_Var
%lnjfB = load i64, i64* %R4_Var
%lnjfC = load i64, i64* %R5_Var
%lnjfD = load i64, i64* %R6_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjfv( i64* %Base_Arg, i64* %lnjfw, i64* %lnjfx, i64 %lnjfy, i64 %lnjfz, i64 %lnjfA, i64 %lnjfB, i64 %lnjfC, i64 %lnjfD, i64 %SpLim_Arg ) nounwind
ret void
cj6f:
%lnjfE = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 16, i64* %lnjfE, !tbaa !4
%lnjfF = load i64, i64* %R1_Var
store i64 %lnjfF, i64* %R1_Var
%lnjfG = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjfH = load i64*, i64** %Sp_Var
%lnjfI = load i64*, i64** %Hp_Var
%lnjfJ = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjfG( i64* %Base_Arg, i64* %lnjfH, i64* %lnjfI, i64 %lnjfJ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj62_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj62_info$def to i8*)
define internal ghccc void @cj62_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj62_info$def to i64)),i64 32), i64 2950, i64 4294967328}>
{
cj62:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjfK = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj64_info$def to i64
%lnjfL = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjfK, i64* %lnjfL, !tbaa !1
%lnjfM = load i64, i64* %R1_Var
store i64 %lnjfM, i64* %R1_Var
%lnjfN = load i64, i64* %R1_Var
%lnjfO = and i64 %lnjfN, 7
%lnjfP = icmp ne i64 %lnjfO, 0
br i1 %lnjfP, label %uj7u, label %cj65
cj65:
%lnjfR = load i64, i64* %R1_Var
%lnjfS = inttoptr i64 %lnjfR to i64*
%lnjfT = load i64, i64* %lnjfS, !tbaa !3
%lnjfU = inttoptr i64 %lnjfT to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjfV = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjfU( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjfV, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uj7u:
%lnjfW = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj64_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjfX = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjfW( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjfX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj64_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj64_info$def to i8*)
define internal ghccc void @cj64_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj64_info$def to i64)),i64 32), i64 2950, i64 4294967328}>
{
cj64:
%lsiIa = alloca i64, i32 1
%lsiIc = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjfY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj69_info$def to i64
%lnjfZ = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjfY, i64* %lnjfZ, !tbaa !1
%lnjg2 = load i64, i64* %R1_Var
%lnjg3 = add i64 %lnjg2, 7
%lnjg4 = inttoptr i64 %lnjg3 to i64*
%lnjg5 = load i64, i64* %lnjg4, !tbaa !3
store i64 %lnjg5, i64* %lsiIa
%lnjg8 = load i64, i64* %R1_Var
%lnjg9 = add i64 %lnjg8, 23
%lnjga = inttoptr i64 %lnjg9 to i64*
%lnjgb = load i64, i64* %lnjga, !tbaa !3
store i64 %lnjgb, i64* %lsiIc
%lnjge = load i64, i64* %R1_Var
%lnjgf = add i64 %lnjge, 15
%lnjgg = inttoptr i64 %lnjgf to i64*
%lnjgh = load i64, i64* %lnjgg, !tbaa !3
store i64 %lnjgh, i64* %R1_Var
%lnjgi = load i64, i64* %lsiIc
%lnjgj = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
store i64 %lnjgi, i64* %lnjgj, !tbaa !1
%lnjgk = load i64, i64* %lsiIa
%lnjgl = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
store i64 %lnjgk, i64* %lnjgl, !tbaa !1
%lnjgm = load i64, i64* %R1_Var
%lnjgn = and i64 %lnjgm, 7
%lnjgo = icmp ne i64 %lnjgn, 0
br i1 %lnjgo, label %uj7v, label %cj6i
cj6i:
%lnjgq = load i64, i64* %R1_Var
%lnjgr = inttoptr i64 %lnjgq to i64*
%lnjgs = load i64, i64* %lnjgr, !tbaa !3
%lnjgt = inttoptr i64 %lnjgs to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjgu = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjgt( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjgu, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uj7v:
%lnjgv = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj69_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjgw = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjgv( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjgw, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj69_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj69_info$def to i8*)
define internal ghccc void @cj69_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj69_info$def to i64)),i64 32), i64 2182, i64 4294967328}>
{
cj69:
%lsiIi = alloca i64, i32 1
%lsiIf = alloca i64, i32 1
%lsiIe = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjgz = load i64, i64* %R1_Var
%lnjgA = add i64 %lnjgz, 39
%lnjgB = inttoptr i64 %lnjgA to i64*
%lnjgC = load i64, i64* %lnjgB, !tbaa !3
store i64 %lnjgC, i64* %lsiIi
%lnjgD = load i64, i64* %lsiIi
%lnjgG = load i64, i64* %R1_Var
%lnjgH = add i64 %lnjgG, 47
%lnjgI = inttoptr i64 %lnjgH to i64*
%lnjgJ = load i64, i64* %lnjgI, !tbaa !3
%lnjgK = icmp eq i64 %lnjgD, %lnjgJ
%lnjgL = zext i1 %lnjgK to i64
switch i64 %lnjgL, label %cj6u [i64 0, label %cj6u
i64 1, label %cj6O]
cj6u:
%lnjgM = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6s_info$def to i64
%lnjgN = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjgM, i64* %lnjgN, !tbaa !1
%lnjgQ = load i64, i64* %R1_Var
%lnjgR = add i64 %lnjgQ, 7
%lnjgS = inttoptr i64 %lnjgR to i64*
%lnjgT = load i64, i64* %lnjgS, !tbaa !3
store i64 %lnjgT, i64* %lsiIf
%lnjgW = load i64, i64* %R1_Var
%lnjgX = add i64 %lnjgW, 23
%lnjgY = inttoptr i64 %lnjgX to i64*
%lnjgZ = load i64, i64* %lnjgY, !tbaa !3
store i64 %lnjgZ, i64* %lsiIe
%lnjh0 = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
%lnjh1 = bitcast i64* %lnjh0 to i64*
%lnjh2 = load i64, i64* %lnjh1, !tbaa !1
store i64 %lnjh2, i64* %R1_Var
%lnjh3 = load i64, i64* %lsiIi
%lnjh4 = getelementptr inbounds i64, i64* %Sp_Arg, i32 2
store i64 %lnjh3, i64* %lnjh4, !tbaa !1
%lnjh5 = load i64, i64* %lsiIf
%lnjh6 = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
store i64 %lnjh5, i64* %lnjh6, !tbaa !1
%lnjh7 = load i64, i64* %lsiIe
%lnjh8 = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
store i64 %lnjh7, i64* %lnjh8, !tbaa !1
%lnjh9 = load i64, i64* %R1_Var
%lnjha = and i64 %lnjh9, 7
%lnjhb = icmp ne i64 %lnjha, 0
br i1 %lnjhb, label %uj7w, label %cj6v
cj6v:
%lnjhd = load i64, i64* %R1_Var
%lnjhe = inttoptr i64 %lnjhd to i64*
%lnjhf = load i64, i64* %lnjhe, !tbaa !3
%lnjhg = inttoptr i64 %lnjhf to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjhh = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjhg( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjhh, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uj7w:
%lnjhi = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6s_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjhj = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjhi( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjhj, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cj6O:
%lnjhk = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6N_info$def to i64
%lnjhl = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjhk, i64* %lnjhl, !tbaa !1
%lnjhm = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
%lnjhn = bitcast i64* %lnjhm to i64*
%lnjho = load i64, i64* %lnjhn, !tbaa !1
store i64 %lnjho, i64* %R1_Var
%lnjhp = load i64, i64* %R1_Var
%lnjhq = and i64 %lnjhp, 7
%lnjhr = icmp ne i64 %lnjhq, 0
br i1 %lnjhr, label %uj7x, label %cj6P
cj6P:
%lnjht = load i64, i64* %R1_Var
%lnjhu = inttoptr i64 %lnjht to i64*
%lnjhv = load i64, i64* %lnjhu, !tbaa !3
%lnjhw = inttoptr i64 %lnjhv to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjhx = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjhw( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjhx, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uj7x:
%lnjhy = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6N_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjhz = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjhy( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjhz, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj6N_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6N_info$def to i8*)
define internal ghccc void @cj6N_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6N_info$def to i64)),i64 32), i64 2950, i64 4294967328}>
{
cj6N:
%lsiID = alloca i64, i32 1
%lsiIz = alloca i64, i32 1
%lsiIy = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%lnjhC = load i64, i64* %R1_Var
%lnjhD = add i64 %lnjhC, 47
%lnjhE = inttoptr i64 %lnjhD to i64*
%lnjhF = load i64, i64* %lnjhE, !tbaa !3
store i64 %lnjhF, i64* %lsiID
%lnjhI = load i64, i64* %R1_Var
%lnjhJ = add i64 %lnjhI, 31
%lnjhK = inttoptr i64 %lnjhJ to i64*
%lnjhL = load i64, i64* %lnjhK, !tbaa !3
%lnjhM = load i64, i64* %lsiID
%lnjhN = sub i64 %lnjhL, %lnjhM
switch i64 %lnjhN, label %cj74 [i64 0, label %cj7c]
cj74:
%lnjhQ = load i64, i64* %R1_Var
%lnjhR = add i64 %lnjhQ, 7
%lnjhS = inttoptr i64 %lnjhR to i64*
%lnjhT = load i64, i64* %lnjhS, !tbaa !3
store i64 %lnjhT, i64* %lsiIz
%lnjhW = load i64, i64* %R1_Var
%lnjhX = add i64 %lnjhW, 23
%lnjhY = inttoptr i64 %lnjhX to i64*
%lnjhZ = load i64, i64* %lnjhY, !tbaa !3
store i64 %lnjhZ, i64* %lsiIy
%lnji0 = load i64, i64* %lsiIy
%lnji1 = load i64, i64* %lsiID
%lnji2 = add i64 %lnji0, %lnji1
%lnji3 = inttoptr i64 %lnji2 to i8*
store i8 0, i8* %lnji3, !tbaa !5
%lnji4 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj72_info$def to i64
%lnji5 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnji4, i64* %lnji5, !tbaa !1
%lnji6 = load i64, i64* %lsiIy
store i64 %lnji6, i64* %R1_Var
%lnji7 = load i64, i64* %lsiIz
%lnji8 = getelementptr inbounds i64, i64* %Sp_Arg, i32 6
store i64 %lnji7, i64* %lnji8, !tbaa !1
%lnji9 = bitcast i8* @stg_traceEventzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjia = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnji9( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjia, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cj7c:
%lnjib = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7j_info$def to i64
%lnjic = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjib, i64* %lnjic, !tbaa !1
%lnjid = getelementptr inbounds i64, i64* %Sp_Arg, i32 6
%lnjie = bitcast i64* %lnjid to i64*
%lnjif = load i64, i64* %lnjie, !tbaa !1
%lnjig = shl i64 %lnjif, 1
store i64 %lnjig, i64* %R2_Var
%lnjih = getelementptr inbounds i64, i64* %Sp_Arg, i32 5
%lnjii = bitcast i64* %lnjih to i64*
%lnjij = load i64, i64* %lnjii, !tbaa !1
store i64 %lnjij, i64* %R1_Var
%lnjik = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siHS_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjil = load i64, i64* %R1_Var
%lnjim = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjik( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjil, i64 %lnjim, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj7j_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7j_info$def to i8*)
define internal ghccc void @cj7j_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}>
{
cj7j:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjin = load i64, i64* %R1_Var
store i64 %lnjin, i64* %R1_Var
%lnjio = load i64*, i64** %Sp_Var
%lnjip = getelementptr inbounds i64, i64* %lnjio, i32 7
%lnjiq = ptrtoint i64* %lnjip to i64
%lnjir = inttoptr i64 %lnjiq to i64*
store i64* %lnjir, i64** %Sp_Var
%lnjis = load i64*, i64** %Sp_Var
%lnjit = getelementptr inbounds i64, i64* %lnjis, i32 0
%lnjiu = bitcast i64* %lnjit to i64*
%lnjiv = load i64, i64* %lnjiu, !tbaa !1
%lnjiw = inttoptr i64 %lnjiv to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjix = load i64*, i64** %Sp_Var
%lnjiy = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjiw( i64* %Base_Arg, i64* %lnjix, i64* %Hp_Arg, i64 %lnjiy, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj72_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj72_info$def to i8*)
define internal ghccc void @cj72_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 1926, i64 32}>
{
cj72:
%lsiI0 = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjiz = load i64*, i64** %Sp_Var
%lnjiA = getelementptr inbounds i64, i64* %lnjiz, i32 1
%lnjiB = bitcast i64* %lnjiA to i64*
%lnjiC = load i64, i64* %lnjiB, !tbaa !1
store i64 %lnjiC, i64* %lsiI0
%lnjiD = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64
%lnjiE = add i64 %lnjiD, 1
store i64 %lnjiE, i64* %R1_Var
%lnjiF = load i64*, i64** %Sp_Var
%lnjiG = getelementptr inbounds i64, i64* %lnjiF, i32 7
%lnjiH = ptrtoint i64* %lnjiG to i64
%lnjiI = inttoptr i64 %lnjiH to i64*
store i64* %lnjiI, i64** %Sp_Var
%lnjiJ = load i64*, i64** %Sp_Var
%lnjiK = getelementptr inbounds i64, i64* %lnjiJ, i32 0
%lnjiL = bitcast i64* %lnjiK to i64*
%lnjiM = load i64, i64* %lnjiL, !tbaa !1
%lnjiN = inttoptr i64 %lnjiM to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjiO = load i64*, i64** %Sp_Var
%lnjiP = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjiN( i64* %Base_Arg, i64* %lnjiO, i64* %Hp_Arg, i64 %lnjiP, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj6s_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6s_info$def to i8*)
define internal ghccc void @cj6s_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6s_info$def to i64)),i64 32), i64 2694, i64 4294967328}>
{
cj6s:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjiQ = load i64, i64* %R1_Var
%lnjiR = and i64 %lnjiQ, 7
switch i64 %lnjiR, label %cj6B [i64 2, label %cj6J]
cj6B:
%lnjiS = load i64*, i64** %Sp_Var
%lnjiT = getelementptr inbounds i64, i64* %lnjiS, i32 7
%lnjiU = ptrtoint i64* %lnjiT to i64
%lnjiV = inttoptr i64 %lnjiU to i64*
store i64* %lnjiV, i64** %Sp_Var
%lnjiW = bitcast i8* @base_GHCziIOziEncodingziFailure_zdwfail_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjiX = load i64*, i64** %Sp_Var
%lnjiY = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjiW( i64* %Base_Arg, i64* %lnjiX, i64* %Hp_Arg, i64 %lnjiY, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cj6J:
%lnjj0 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6I_info$def to i64
%lnjiZ = load i64*, i64** %Sp_Var
%lnjj1 = getelementptr inbounds i64, i64* %lnjiZ, i32 0
store i64 %lnjj0, i64* %lnjj1, !tbaa !1
%lnjj2 = load i64*, i64** %Sp_Var
%lnjj3 = getelementptr inbounds i64, i64* %lnjj2, i32 6
%lnjj4 = bitcast i64* %lnjj3 to i64*
%lnjj5 = load i64, i64* %lnjj4, !tbaa !1
%lnjj6 = shl i64 %lnjj5, 1
store i64 %lnjj6, i64* %R2_Var
%lnjj7 = load i64*, i64** %Sp_Var
%lnjj8 = getelementptr inbounds i64, i64* %lnjj7, i32 5
%lnjj9 = bitcast i64* %lnjj8 to i64*
%lnjja = load i64, i64* %lnjj9, !tbaa !1
store i64 %lnjja, i64* %R1_Var
%lnjjb = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siHS_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjjc = load i64*, i64** %Sp_Var
%lnjjd = load i64, i64* %R1_Var
%lnjje = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjjb( i64* %Base_Arg, i64* %lnjjc, i64* %Hp_Arg, i64 %lnjjd, i64 %lnjje, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj6I_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6I_info$def to i8*)
define internal ghccc void @cj6I_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}>
{
cj6I:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjjf = load i64, i64* %R1_Var
store i64 %lnjjf, i64* %R1_Var
%lnjjg = load i64*, i64** %Sp_Var
%lnjjh = getelementptr inbounds i64, i64* %lnjjg, i32 7
%lnjji = ptrtoint i64* %lnjjh to i64
%lnjjj = inttoptr i64 %lnjji to i64*
store i64* %lnjjj, i64** %Sp_Var
%lnjjk = load i64*, i64** %Sp_Var
%lnjjl = getelementptr inbounds i64, i64* %lnjjk, i32 0
%lnjjm = bitcast i64* %lnjjl to i64*
%lnjjn = load i64, i64* %lnjjm, !tbaa !1
%lnjjo = inttoptr i64 %lnjjn to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjjp = load i64*, i64** %Sp_Var
%lnjjq = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjjo( i64* %Base_Arg, i64* %lnjjp, i64* %Hp_Arg, i64 %lnjjq, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siJ7_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siJ7_info$def to i8*)
define internal ghccc void @siJ7_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siJ7_info$def to i64)),i64 32), i64 8589934596, i64 8589934593, i64 4294967305}>
{
cj7X:
%lsiJ7 = alloca i64, i32 1
%lsiHt = alloca i64, i32 1
%lsiGT = alloca i64, i32 1
%lsiH1 = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnjjr = load i64*, i64** %Sp_Var
%lnjjs = getelementptr inbounds i64, i64* %lnjjr, i32 -14
%lnjjt = ptrtoint i64* %lnjjs to i64
%lnjju = icmp ult i64 %lnjjt, %SpLim_Arg
br i1 %lnjju, label %cj87, label %cj88
cj88:
%lnjjw = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7Q_info$def to i64
%lnjjv = load i64*, i64** %Sp_Var
%lnjjx = getelementptr inbounds i64, i64* %lnjjv, i32 -6
store i64 %lnjjw, i64* %lnjjx, !tbaa !1
%lnjjy = load i64, i64* %R1_Var
store i64 %lnjjy, i64* %lsiJ7
%lnjjB = load i64, i64* %R1_Var
%lnjjC = add i64 %lnjjB, 6
%lnjjD = inttoptr i64 %lnjjC to i64*
%lnjjE = load i64, i64* %lnjjD, !tbaa !3
store i64 %lnjjE, i64* %lsiHt
%lnjjH = load i64, i64* %R1_Var
%lnjjI = add i64 %lnjjH, 14
%lnjjJ = inttoptr i64 %lnjjI to i64*
%lnjjK = load i64, i64* %lnjjJ, !tbaa !3
store i64 %lnjjK, i64* %lsiGT
%lnjjN = load i64, i64* %R1_Var
%lnjjO = add i64 %lnjjN, 22
%lnjjP = inttoptr i64 %lnjjO to i64*
%lnjjQ = load i64, i64* %lnjjP, !tbaa !3
store i64 %lnjjQ, i64* %lsiH1
%lnjjR = load i64, i64* %R2_Var
store i64 %lnjjR, i64* %R1_Var
%lnjjT = load i64, i64* %lsiGT
%lnjjS = load i64*, i64** %Sp_Var
%lnjjU = getelementptr inbounds i64, i64* %lnjjS, i32 -5
store i64 %lnjjT, i64* %lnjjU, !tbaa !1
%lnjjW = load i64, i64* %lsiH1
%lnjjV = load i64*, i64** %Sp_Var
%lnjjX = getelementptr inbounds i64, i64* %lnjjV, i32 -4
store i64 %lnjjW, i64* %lnjjX, !tbaa !1
%lnjjZ = load i64, i64* %lsiHt
%lnjjY = load i64*, i64** %Sp_Var
%lnjk0 = getelementptr inbounds i64, i64* %lnjjY, i32 -3
store i64 %lnjjZ, i64* %lnjk0, !tbaa !1
%lnjk2 = load i64, i64* %lsiJ7
%lnjk1 = load i64*, i64** %Sp_Var
%lnjk3 = getelementptr inbounds i64, i64* %lnjk1, i32 -2
store i64 %lnjk2, i64* %lnjk3, !tbaa !1
%lnjk5 = load i64, i64* %R2_Var
%lnjk4 = load i64*, i64** %Sp_Var
%lnjk6 = getelementptr inbounds i64, i64* %lnjk4, i32 -1
store i64 %lnjk5, i64* %lnjk6, !tbaa !1
%lnjk7 = load i64*, i64** %Sp_Var
%lnjk8 = getelementptr inbounds i64, i64* %lnjk7, i32 -6
%lnjk9 = ptrtoint i64* %lnjk8 to i64
%lnjka = inttoptr i64 %lnjk9 to i64*
store i64* %lnjka, i64** %Sp_Var
%lnjkb = bitcast i8* @stg_newPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjkc = load i64*, i64** %Sp_Var
%lnjkd = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjkb( i64* %Base_Arg, i64* %lnjkc, i64* %Hp_Arg, i64 %lnjkd, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cj87:
%lnjke = load i64, i64* %R2_Var
store i64 %lnjke, i64* %R2_Var
%lnjkf = load i64, i64* %R1_Var
store i64 %lnjkf, i64* %R1_Var
%lnjkg = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnjkh = bitcast i64* %lnjkg to i64*
%lnjki = load i64, i64* %lnjkh, !tbaa !4
%lnjkj = inttoptr i64 %lnjki to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjkk = load i64*, i64** %Sp_Var
%lnjkl = load i64, i64* %R1_Var
%lnjkm = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjkj( i64* %Base_Arg, i64* %lnjkk, i64* %Hp_Arg, i64 %lnjkl, i64 %lnjkm, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj7Q_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7Q_info$def to i8*)
define internal ghccc void @cj7Q_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7Q_info$def to i64)),i64 32), i64 1221, i64 4294967328}>
{
cj7Q:
%lsiJf = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjko = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7S_info$def to i64
%lnjkn = load i64*, i64** %Sp_Var
%lnjkp = getelementptr inbounds i64, i64* %lnjkn, i32 -1
store i64 %lnjko, i64* %lnjkp, !tbaa !1
%lnjkq = load i64, i64* %R1_Var
store i64 %lnjkq, i64* %lsiJf
%lnjkr = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64
%lnjks = add i64 %lnjkr, 1
store i64 %lnjks, i64* %R1_Var
%lnjku = load i64, i64* %lsiJf
%lnjkt = load i64*, i64** %Sp_Var
%lnjkv = getelementptr inbounds i64, i64* %lnjkt, i32 0
store i64 %lnjku, i64* %lnjkv, !tbaa !1
%lnjkw = load i64*, i64** %Sp_Var
%lnjkx = getelementptr inbounds i64, i64* %lnjkw, i32 -1
%lnjky = ptrtoint i64* %lnjkx to i64
%lnjkz = inttoptr i64 %lnjky to i64*
store i64* %lnjkz, i64** %Sp_Var
%lnjkA = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjkB = load i64*, i64** %Sp_Var
%lnjkC = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjkA( i64* %Base_Arg, i64* %lnjkB, i64* %Hp_Arg, i64 %lnjkC, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj7S_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7S_info$def to i8*)
define internal ghccc void @cj7S_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7S_info$def to i64)),i64 32), i64 2438, i64 4294967328}>
{
cj7S:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%lsiGT = alloca i64, i32 1
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjkD = load i64*, i64** %Hp_Var
%lnjkE = getelementptr inbounds i64, i64* %lnjkD, i32 2
%lnjkF = ptrtoint i64* %lnjkE to i64
%lnjkG = inttoptr i64 %lnjkF to i64*
store i64* %lnjkG, i64** %Hp_Var
%lnjkH = load i64*, i64** %Hp_Var
%lnjkI = ptrtoint i64* %lnjkH to i64
%lnjkJ = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnjkK = bitcast i64* %lnjkJ to i64*
%lnjkL = load i64, i64* %lnjkK, !tbaa !4
%lnjkM = icmp ugt i64 %lnjkI, %lnjkL
br i1 %lnjkM, label %cj8c, label %cj8b
cj8b:
%lnjkO = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64
%lnjkN = load i64*, i64** %Hp_Var
%lnjkP = getelementptr inbounds i64, i64* %lnjkN, i32 -1
store i64 %lnjkO, i64* %lnjkP, !tbaa !2
%lnjkR = load i64, i64* %R1_Var
%lnjkQ = load i64*, i64** %Hp_Var
%lnjkS = getelementptr inbounds i64, i64* %lnjkQ, i32 0
store i64 %lnjkR, i64* %lnjkS, !tbaa !2
%lnjkU = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7Z_info$def to i64
%lnjkT = load i64*, i64** %Sp_Var
%lnjkV = getelementptr inbounds i64, i64* %lnjkT, i32 0
store i64 %lnjkU, i64* %lnjkV, !tbaa !1
store i64 0, i64* %R6_Var
%lnjkW = load i64*, i64** %Sp_Var
%lnjkX = getelementptr inbounds i64, i64* %lnjkW, i32 2
%lnjkY = bitcast i64* %lnjkX to i64*
%lnjkZ = load i64, i64* %lnjkY, !tbaa !1
store i64 %lnjkZ, i64* %lsiGT
%lnjl0 = load i64, i64* %lsiGT
store i64 %lnjl0, i64* %R5_Var
%lnjl1 = ptrtoint i8* @base_GHCziIOziBuffer_ReadBuffer_closure to i64
%lnjl2 = add i64 %lnjl1, 1
store i64 %lnjl2, i64* %R4_Var
%lnjl3 = load i64*, i64** %Sp_Var
%lnjl4 = getelementptr inbounds i64, i64* %lnjl3, i32 4
%lnjl5 = bitcast i64* %lnjl4 to i64*
%lnjl6 = load i64, i64* %lnjl5, !tbaa !1
store i64 %lnjl6, i64* %R3_Var
%lnjl7 = load i64*, i64** %Sp_Var
%lnjl8 = getelementptr inbounds i64, i64* %lnjl7, i32 3
%lnjl9 = bitcast i64* %lnjl8 to i64*
%lnjla = load i64, i64* %lnjl9, !tbaa !1
store i64 %lnjla, i64* %R2_Var
%lnjlc = load i64, i64* %lsiGT
%lnjlb = load i64*, i64** %Sp_Var
%lnjld = getelementptr inbounds i64, i64* %lnjlb, i32 -7
store i64 %lnjlc, i64* %lnjld, !tbaa !1
%lnjlf = load i64*, i64** %Sp_Var
%lnjlg = getelementptr inbounds i64, i64* %lnjlf, i32 1
%lnjlh = bitcast i64* %lnjlg to i64*
%lnjli = load i64, i64* %lnjlh, !tbaa !1
%lnjlj = add i64 %lnjli, 16
%lnjle = load i64*, i64** %Sp_Var
%lnjlk = getelementptr inbounds i64, i64* %lnjle, i32 -6
store i64 %lnjlj, i64* %lnjlk, !tbaa !1
%lnjln = load i64*, i64** %Hp_Var
%lnjlo = ptrtoint i64* %lnjln to i64
%lnjlp = add i64 %lnjlo, -7
%lnjll = load i64*, i64** %Sp_Var
%lnjlq = getelementptr inbounds i64, i64* %lnjll, i32 -5
store i64 %lnjlp, i64* %lnjlq, !tbaa !1
%lnjls = ptrtoint i8* @base_GHCziIOziBuffer_WriteBuffer_closure to i64
%lnjlt = add i64 %lnjls, 2
%lnjlr = load i64*, i64** %Sp_Var
%lnjlu = getelementptr inbounds i64, i64* %lnjlr, i32 -4
store i64 %lnjlt, i64* %lnjlu, !tbaa !1
%lnjlw = load i64*, i64** %Sp_Var
%lnjlx = getelementptr inbounds i64, i64* %lnjlw, i32 6
%lnjly = bitcast i64* %lnjlx to i64*
%lnjlz = load i64, i64* %lnjly, !tbaa !1
%lnjlv = load i64*, i64** %Sp_Var
%lnjlA = getelementptr inbounds i64, i64* %lnjlv, i32 -3
store i64 %lnjlz, i64* %lnjlA, !tbaa !1
%lnjlB = load i64*, i64** %Sp_Var
%lnjlC = getelementptr inbounds i64, i64* %lnjlB, i32 -2
store i64 0, i64* %lnjlC, !tbaa !1
%lnjlD = load i64*, i64** %Sp_Var
%lnjlE = getelementptr inbounds i64, i64* %lnjlD, i32 -1
store i64 0, i64* %lnjlE, !tbaa !1
%lnjlF = load i64*, i64** %Sp_Var
%lnjlG = getelementptr inbounds i64, i64* %lnjlF, i32 -7
%lnjlH = ptrtoint i64* %lnjlG to i64
%lnjlI = inttoptr i64 %lnjlH to i64*
store i64* %lnjlI, i64** %Sp_Var
%lnjlJ = bitcast i8* @base_GHCziIOziEncodingziUTF8_zdwutf8zuencode_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjlK = load i64*, i64** %Sp_Var
%lnjlL = load i64*, i64** %Hp_Var
%lnjlM = load i64, i64* %R1_Var
%lnjlN = load i64, i64* %R2_Var
%lnjlO = load i64, i64* %R3_Var
%lnjlP = load i64, i64* %R4_Var
%lnjlQ = load i64, i64* %R5_Var
%lnjlR = load i64, i64* %R6_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjlJ( i64* %Base_Arg, i64* %lnjlK, i64* %lnjlL, i64 %lnjlM, i64 %lnjlN, i64 %lnjlO, i64 %lnjlP, i64 %lnjlQ, i64 %lnjlR, i64 %SpLim_Arg ) nounwind
ret void
cj8c:
%lnjlS = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 16, i64* %lnjlS, !tbaa !4
%lnjlT = load i64, i64* %R1_Var
store i64 %lnjlT, i64* %R1_Var
%lnjlU = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjlV = load i64*, i64** %Sp_Var
%lnjlW = load i64*, i64** %Hp_Var
%lnjlX = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjlU( i64* %Base_Arg, i64* %lnjlV, i64* %lnjlW, i64 %lnjlX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj7Z_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7Z_info$def to i8*)
define internal ghccc void @cj7Z_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7Z_info$def to i64)),i64 32), i64 2950, i64 4294967328}>
{
cj7Z:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjlY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj81_info$def to i64
%lnjlZ = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjlY, i64* %lnjlZ, !tbaa !1
%lnjm0 = load i64, i64* %R1_Var
store i64 %lnjm0, i64* %R1_Var
%lnjm1 = load i64, i64* %R1_Var
%lnjm2 = and i64 %lnjm1, 7
%lnjm3 = icmp ne i64 %lnjm2, 0
br i1 %lnjm3, label %uj9r, label %cj82
cj82:
%lnjm5 = load i64, i64* %R1_Var
%lnjm6 = inttoptr i64 %lnjm5 to i64*
%lnjm7 = load i64, i64* %lnjm6, !tbaa !3
%lnjm8 = inttoptr i64 %lnjm7 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjm9 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjm8( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjm9, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uj9r:
%lnjma = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj81_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjmb = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjma( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjmb, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj81_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj81_info$def to i8*)
define internal ghccc void @cj81_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj81_info$def to i64)),i64 32), i64 2950, i64 4294967328}>
{
cj81:
%lsiJp = alloca i64, i32 1
%lsiJr = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjmc = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj86_info$def to i64
%lnjmd = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjmc, i64* %lnjmd, !tbaa !1
%lnjmg = load i64, i64* %R1_Var
%lnjmh = add i64 %lnjmg, 7
%lnjmi = inttoptr i64 %lnjmh to i64*
%lnjmj = load i64, i64* %lnjmi, !tbaa !3
store i64 %lnjmj, i64* %lsiJp
%lnjmm = load i64, i64* %R1_Var
%lnjmn = add i64 %lnjmm, 23
%lnjmo = inttoptr i64 %lnjmn to i64*
%lnjmp = load i64, i64* %lnjmo, !tbaa !3
store i64 %lnjmp, i64* %lsiJr
%lnjms = load i64, i64* %R1_Var
%lnjmt = add i64 %lnjms, 15
%lnjmu = inttoptr i64 %lnjmt to i64*
%lnjmv = load i64, i64* %lnjmu, !tbaa !3
store i64 %lnjmv, i64* %R1_Var
%lnjmw = load i64, i64* %lsiJr
%lnjmx = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
store i64 %lnjmw, i64* %lnjmx, !tbaa !1
%lnjmy = load i64, i64* %lsiJp
%lnjmz = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
store i64 %lnjmy, i64* %lnjmz, !tbaa !1
%lnjmA = load i64, i64* %R1_Var
%lnjmB = and i64 %lnjmA, 7
%lnjmC = icmp ne i64 %lnjmB, 0
br i1 %lnjmC, label %uj9s, label %cj8f
cj8f:
%lnjmE = load i64, i64* %R1_Var
%lnjmF = inttoptr i64 %lnjmE to i64*
%lnjmG = load i64, i64* %lnjmF, !tbaa !3
%lnjmH = inttoptr i64 %lnjmG to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjmI = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjmH( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjmI, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uj9s:
%lnjmJ = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj86_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjmK = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjmJ( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjmK, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj86_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj86_info$def to i8*)
define internal ghccc void @cj86_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj86_info$def to i64)),i64 32), i64 2182, i64 4294967328}>
{
cj86:
%lsiJx = alloca i64, i32 1
%lsiJu = alloca i64, i32 1
%lsiJt = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjmN = load i64, i64* %R1_Var
%lnjmO = add i64 %lnjmN, 39
%lnjmP = inttoptr i64 %lnjmO to i64*
%lnjmQ = load i64, i64* %lnjmP, !tbaa !3
store i64 %lnjmQ, i64* %lsiJx
%lnjmR = load i64, i64* %lsiJx
%lnjmU = load i64, i64* %R1_Var
%lnjmV = add i64 %lnjmU, 47
%lnjmW = inttoptr i64 %lnjmV to i64*
%lnjmX = load i64, i64* %lnjmW, !tbaa !3
%lnjmY = icmp eq i64 %lnjmR, %lnjmX
%lnjmZ = zext i1 %lnjmY to i64
switch i64 %lnjmZ, label %cj8r [i64 0, label %cj8r
i64 1, label %cj8L]
cj8r:
%lnjn0 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8p_info$def to i64
%lnjn1 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjn0, i64* %lnjn1, !tbaa !1
%lnjn4 = load i64, i64* %R1_Var
%lnjn5 = add i64 %lnjn4, 7
%lnjn6 = inttoptr i64 %lnjn5 to i64*
%lnjn7 = load i64, i64* %lnjn6, !tbaa !3
store i64 %lnjn7, i64* %lsiJu
%lnjna = load i64, i64* %R1_Var
%lnjnb = add i64 %lnjna, 23
%lnjnc = inttoptr i64 %lnjnb to i64*
%lnjnd = load i64, i64* %lnjnc, !tbaa !3
store i64 %lnjnd, i64* %lsiJt
%lnjne = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
%lnjnf = bitcast i64* %lnjne to i64*
%lnjng = load i64, i64* %lnjnf, !tbaa !1
store i64 %lnjng, i64* %R1_Var
%lnjnh = load i64, i64* %lsiJx
%lnjni = getelementptr inbounds i64, i64* %Sp_Arg, i32 2
store i64 %lnjnh, i64* %lnjni, !tbaa !1
%lnjnj = load i64, i64* %lsiJu
%lnjnk = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
store i64 %lnjnj, i64* %lnjnk, !tbaa !1
%lnjnl = load i64, i64* %lsiJt
%lnjnm = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
store i64 %lnjnl, i64* %lnjnm, !tbaa !1
%lnjnn = load i64, i64* %R1_Var
%lnjno = and i64 %lnjnn, 7
%lnjnp = icmp ne i64 %lnjno, 0
br i1 %lnjnp, label %uj9t, label %cj8s
cj8s:
%lnjnr = load i64, i64* %R1_Var
%lnjns = inttoptr i64 %lnjnr to i64*
%lnjnt = load i64, i64* %lnjns, !tbaa !3
%lnjnu = inttoptr i64 %lnjnt to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjnv = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjnu( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjnv, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uj9t:
%lnjnw = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8p_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjnx = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjnw( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjnx, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cj8L:
%lnjny = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8K_info$def to i64
%lnjnz = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjny, i64* %lnjnz, !tbaa !1
%lnjnA = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
%lnjnB = bitcast i64* %lnjnA to i64*
%lnjnC = load i64, i64* %lnjnB, !tbaa !1
store i64 %lnjnC, i64* %R1_Var
%lnjnD = load i64, i64* %R1_Var
%lnjnE = and i64 %lnjnD, 7
%lnjnF = icmp ne i64 %lnjnE, 0
br i1 %lnjnF, label %uj9u, label %cj8M
cj8M:
%lnjnH = load i64, i64* %R1_Var
%lnjnI = inttoptr i64 %lnjnH to i64*
%lnjnJ = load i64, i64* %lnjnI, !tbaa !3
%lnjnK = inttoptr i64 %lnjnJ to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjnL = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjnK( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjnL, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uj9u:
%lnjnM = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8K_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjnN = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjnM( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjnN, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj8K_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8K_info$def to i8*)
define internal ghccc void @cj8K_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8K_info$def to i64)),i64 32), i64 2950, i64 4294967328}>
{
cj8K:
%lsiJS = alloca i64, i32 1
%lsiJO = alloca i64, i32 1
%lsiJN = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%lnjnQ = load i64, i64* %R1_Var
%lnjnR = add i64 %lnjnQ, 47
%lnjnS = inttoptr i64 %lnjnR to i64*
%lnjnT = load i64, i64* %lnjnS, !tbaa !3
store i64 %lnjnT, i64* %lsiJS
%lnjnW = load i64, i64* %R1_Var
%lnjnX = add i64 %lnjnW, 31
%lnjnY = inttoptr i64 %lnjnX to i64*
%lnjnZ = load i64, i64* %lnjnY, !tbaa !3
%lnjo0 = load i64, i64* %lsiJS
%lnjo1 = sub i64 %lnjnZ, %lnjo0
switch i64 %lnjo1, label %cj91 [i64 0, label %cj99]
cj91:
%lnjo4 = load i64, i64* %R1_Var
%lnjo5 = add i64 %lnjo4, 7
%lnjo6 = inttoptr i64 %lnjo5 to i64*
%lnjo7 = load i64, i64* %lnjo6, !tbaa !3
store i64 %lnjo7, i64* %lsiJO
%lnjoa = load i64, i64* %R1_Var
%lnjob = add i64 %lnjoa, 23
%lnjoc = inttoptr i64 %lnjob to i64*
%lnjod = load i64, i64* %lnjoc, !tbaa !3
store i64 %lnjod, i64* %lsiJN
%lnjoe = load i64, i64* %lsiJN
%lnjof = load i64, i64* %lsiJS
%lnjog = add i64 %lnjoe, %lnjof
%lnjoh = inttoptr i64 %lnjog to i8*
store i8 0, i8* %lnjoh, !tbaa !5
%lnjoi = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8Z_info$def to i64
%lnjoj = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjoi, i64* %lnjoj, !tbaa !1
%lnjok = load i64, i64* %lsiJN
store i64 %lnjok, i64* %R1_Var
%lnjol = load i64, i64* %lsiJO
%lnjom = getelementptr inbounds i64, i64* %Sp_Arg, i32 6
store i64 %lnjol, i64* %lnjom, !tbaa !1
%lnjon = bitcast i8* @stg_traceEventzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjoo = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjon( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjoo, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cj99:
%lnjop = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj9g_info$def to i64
%lnjoq = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjop, i64* %lnjoq, !tbaa !1
%lnjor = getelementptr inbounds i64, i64* %Sp_Arg, i32 6
%lnjos = bitcast i64* %lnjor to i64*
%lnjot = load i64, i64* %lnjos, !tbaa !1
%lnjou = shl i64 %lnjot, 1
store i64 %lnjou, i64* %R2_Var
%lnjov = getelementptr inbounds i64, i64* %Sp_Arg, i32 5
%lnjow = bitcast i64* %lnjov to i64*
%lnjox = load i64, i64* %lnjow, !tbaa !1
store i64 %lnjox, i64* %R1_Var
%lnjoy = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siJ7_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjoz = load i64, i64* %R1_Var
%lnjoA = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjoy( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjoz, i64 %lnjoA, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj9g_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj9g_info$def to i8*)
define internal ghccc void @cj9g_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}>
{
cj9g:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjoB = load i64, i64* %R1_Var
store i64 %lnjoB, i64* %R1_Var
%lnjoC = load i64*, i64** %Sp_Var
%lnjoD = getelementptr inbounds i64, i64* %lnjoC, i32 7
%lnjoE = ptrtoint i64* %lnjoD to i64
%lnjoF = inttoptr i64 %lnjoE to i64*
store i64* %lnjoF, i64** %Sp_Var
%lnjoG = load i64*, i64** %Sp_Var
%lnjoH = getelementptr inbounds i64, i64* %lnjoG, i32 0
%lnjoI = bitcast i64* %lnjoH to i64*
%lnjoJ = load i64, i64* %lnjoI, !tbaa !1
%lnjoK = inttoptr i64 %lnjoJ to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjoL = load i64*, i64** %Sp_Var
%lnjoM = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjoK( i64* %Base_Arg, i64* %lnjoL, i64* %Hp_Arg, i64 %lnjoM, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj8Z_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8Z_info$def to i8*)
define internal ghccc void @cj8Z_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 1926, i64 32}>
{
cj8Z:
%lsiJf = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjoN = load i64*, i64** %Sp_Var
%lnjoO = getelementptr inbounds i64, i64* %lnjoN, i32 1
%lnjoP = bitcast i64* %lnjoO to i64*
%lnjoQ = load i64, i64* %lnjoP, !tbaa !1
store i64 %lnjoQ, i64* %lsiJf
%lnjoR = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64
%lnjoS = add i64 %lnjoR, 1
store i64 %lnjoS, i64* %R1_Var
%lnjoT = load i64*, i64** %Sp_Var
%lnjoU = getelementptr inbounds i64, i64* %lnjoT, i32 7
%lnjoV = ptrtoint i64* %lnjoU to i64
%lnjoW = inttoptr i64 %lnjoV to i64*
store i64* %lnjoW, i64** %Sp_Var
%lnjoX = load i64*, i64** %Sp_Var
%lnjoY = getelementptr inbounds i64, i64* %lnjoX, i32 0
%lnjoZ = bitcast i64* %lnjoY to i64*
%lnjp0 = load i64, i64* %lnjoZ, !tbaa !1
%lnjp1 = inttoptr i64 %lnjp0 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjp2 = load i64*, i64** %Sp_Var
%lnjp3 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjp1( i64* %Base_Arg, i64* %lnjp2, i64* %Hp_Arg, i64 %lnjp3, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj8p_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8p_info$def to i8*)
define internal ghccc void @cj8p_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8p_info$def to i64)),i64 32), i64 2694, i64 4294967328}>
{
cj8p:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjp4 = load i64, i64* %R1_Var
%lnjp5 = and i64 %lnjp4, 7
switch i64 %lnjp5, label %cj8y [i64 2, label %cj8G]
cj8y:
%lnjp6 = load i64*, i64** %Sp_Var
%lnjp7 = getelementptr inbounds i64, i64* %lnjp6, i32 7
%lnjp8 = ptrtoint i64* %lnjp7 to i64
%lnjp9 = inttoptr i64 %lnjp8 to i64*
store i64* %lnjp9, i64** %Sp_Var
%lnjpa = bitcast i8* @base_GHCziIOziEncodingziFailure_zdwfail_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjpb = load i64*, i64** %Sp_Var
%lnjpc = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjpa( i64* %Base_Arg, i64* %lnjpb, i64* %Hp_Arg, i64 %lnjpc, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cj8G:
%lnjpe = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8F_info$def to i64
%lnjpd = load i64*, i64** %Sp_Var
%lnjpf = getelementptr inbounds i64, i64* %lnjpd, i32 0
store i64 %lnjpe, i64* %lnjpf, !tbaa !1
%lnjpg = load i64*, i64** %Sp_Var
%lnjph = getelementptr inbounds i64, i64* %lnjpg, i32 6
%lnjpi = bitcast i64* %lnjph to i64*
%lnjpj = load i64, i64* %lnjpi, !tbaa !1
%lnjpk = shl i64 %lnjpj, 1
store i64 %lnjpk, i64* %R2_Var
%lnjpl = load i64*, i64** %Sp_Var
%lnjpm = getelementptr inbounds i64, i64* %lnjpl, i32 5
%lnjpn = bitcast i64* %lnjpm to i64*
%lnjpo = load i64, i64* %lnjpn, !tbaa !1
store i64 %lnjpo, i64* %R1_Var
%lnjpp = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siJ7_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjpq = load i64*, i64** %Sp_Var
%lnjpr = load i64, i64* %R1_Var
%lnjps = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjpp( i64* %Base_Arg, i64* %lnjpq, i64* %Hp_Arg, i64 %lnjpr, i64 %lnjps, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj8F_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8F_info$def to i8*)
define internal ghccc void @cj8F_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}>
{
cj8F:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjpt = load i64, i64* %R1_Var
store i64 %lnjpt, i64* %R1_Var
%lnjpu = load i64*, i64** %Sp_Var
%lnjpv = getelementptr inbounds i64, i64* %lnjpu, i32 7
%lnjpw = ptrtoint i64* %lnjpv to i64
%lnjpx = inttoptr i64 %lnjpw to i64*
store i64* %lnjpx, i64** %Sp_Var
%lnjpy = load i64*, i64** %Sp_Var
%lnjpz = getelementptr inbounds i64, i64* %lnjpy, i32 0
%lnjpA = bitcast i64* %lnjpz to i64*
%lnjpB = load i64, i64* %lnjpA, !tbaa !1
%lnjpC = inttoptr i64 %lnjpB to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjpD = load i64*, i64** %Sp_Var
%lnjpE = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjpC( i64* %Base_Arg, i64* %lnjpD, i64* %Hp_Arg, i64 %lnjpE, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@riFA_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFA_info$def to i8*)
define internal ghccc void @riFA_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFA_info$def to i64)),i64 32), i64 4294967299, i64 0, i64 30064771087}>
{
cj9v:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjpF = load i64*, i64** %Sp_Var
%lnjpG = getelementptr inbounds i64, i64* %lnjpF, i32 -14
%lnjpH = ptrtoint i64* %lnjpG to i64
%lnjpI = icmp ult i64 %lnjpH, %SpLim_Arg
br i1 %lnjpI, label %cj9w, label %cj9x
cj9x:
%lnjpK = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4p_info$def to i64
%lnjpJ = load i64*, i64** %Sp_Var
%lnjpL = getelementptr inbounds i64, i64* %lnjpJ, i32 -1
store i64 %lnjpK, i64* %lnjpL, !tbaa !1
store i64 0, i64* %R3_Var
%lnjpM = ptrtoint %riFz_closure_struct* @riFz_closure$def to i64
store i64 %lnjpM, i64* %R2_Var
%lnjpN = load i64*, i64** %Sp_Var
%lnjpO = getelementptr inbounds i64, i64* %lnjpN, i32 -1
%lnjpP = ptrtoint i64* %lnjpO to i64
%lnjpQ = inttoptr i64 %lnjpP to i64*
store i64* %lnjpQ, i64** %Sp_Var
%lnjpR = bitcast i8* @base_GHCziList_zdwlenAcc_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjpS = load i64*, i64** %Sp_Var
%lnjpT = load i64, i64* %R1_Var
%lnjpU = load i64, i64* %R2_Var
%lnjpV = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjpR( i64* %Base_Arg, i64* %lnjpS, i64* %Hp_Arg, i64 %lnjpT, i64 %lnjpU, i64 %lnjpV, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cj9w:
%lnjpW = ptrtoint %riFA_closure_struct* @riFA_closure$def to i64
store i64 %lnjpW, i64* %R1_Var
%lnjpX = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnjpY = bitcast i64* %lnjpX to i64*
%lnjpZ = load i64, i64* %lnjpY, !tbaa !4
%lnjq0 = inttoptr i64 %lnjpZ to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjq1 = load i64*, i64** %Sp_Var
%lnjq2 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjq0( i64* %Base_Arg, i64* %lnjq1, i64* %Hp_Arg, i64 %lnjq2, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj4p_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4p_info$def to i8*)
define internal ghccc void @cj4p_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4p_info$def to i64)),i64 32), i64 0, i64 12884901920}>
{
cj4p:
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%lsiGT = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjq4 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4w_info$def to i64
%lnjq3 = load i64*, i64** %Sp_Var
%lnjq5 = getelementptr inbounds i64, i64* %lnjq3, i32 -1
store i64 %lnjq4, i64* %lnjq5, !tbaa !1
store i64 4, i64* %R2_Var
%lnjq6 = load i64, i64* %R1_Var
store i64 %lnjq6, i64* %lsiGT
%lnjq7 = load i64, i64* %R1_Var
%lnjq8 = shl i64 %lnjq7, 2
store i64 %lnjq8, i64* %R1_Var
%lnjqa = load i64, i64* %lsiGT
%lnjq9 = load i64*, i64** %Sp_Var
%lnjqb = getelementptr inbounds i64, i64* %lnjq9, i32 0
store i64 %lnjqa, i64* %lnjqb, !tbaa !1
%lnjqc = load i64*, i64** %Sp_Var
%lnjqd = getelementptr inbounds i64, i64* %lnjqc, i32 -1
%lnjqe = ptrtoint i64* %lnjqd to i64
%lnjqf = inttoptr i64 %lnjqe to i64*
store i64* %lnjqf, i64** %Sp_Var
%lnjqg = bitcast i8* @stg_newAlignedPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjqh = load i64*, i64** %Sp_Var
%lnjqi = load i64, i64* %R1_Var
%lnjqj = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjqg( i64* %Base_Arg, i64* %lnjqh, i64* %Hp_Arg, i64 %lnjqi, i64 %lnjqj, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj4w_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4w_info$def to i8*)
define internal ghccc void @cj4w_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4w_info$def to i64)),i64 32), i64 65, i64 12884901920}>
{
cj4w:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiH1 = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%lsiH0 = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjqk = load i64*, i64** %Hp_Var
%lnjql = getelementptr inbounds i64, i64* %lnjqk, i32 2
%lnjqm = ptrtoint i64* %lnjql to i64
%lnjqn = inttoptr i64 %lnjqm to i64*
store i64* %lnjqn, i64** %Hp_Var
%lnjqo = load i64*, i64** %Hp_Var
%lnjqp = ptrtoint i64* %lnjqo to i64
%lnjqq = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnjqr = bitcast i64* %lnjqq to i64*
%lnjqs = load i64, i64* %lnjqr, !tbaa !4
%lnjqt = icmp ugt i64 %lnjqp, %lnjqs
br i1 %lnjqt, label %cj9B, label %cj9A
cj9A:
%lnjqv = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siH2_info$def to i64
%lnjqu = load i64*, i64** %Hp_Var
%lnjqw = getelementptr inbounds i64, i64* %lnjqu, i32 -1
store i64 %lnjqv, i64* %lnjqw, !tbaa !2
%lnjqy = load i64, i64* %R1_Var
%lnjqz = add i64 %lnjqy, 16
store i64 %lnjqz, i64* %lsiH1
%lnjqB = load i64, i64* %lsiH1
%lnjqA = load i64*, i64** %Hp_Var
%lnjqC = getelementptr inbounds i64, i64* %lnjqA, i32 0
store i64 %lnjqB, i64* %lnjqC, !tbaa !2
%lnjqE = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5b_info$def to i64
%lnjqD = load i64*, i64** %Sp_Var
%lnjqF = getelementptr inbounds i64, i64* %lnjqD, i32 -2
store i64 %lnjqE, i64* %lnjqF, !tbaa !1
store i64 0, i64* %R3_Var
%lnjqG = ptrtoint %riFz_closure_struct* @riFz_closure$def to i64
store i64 %lnjqG, i64* %R2_Var
%lnjqH = load i64, i64* %R1_Var
store i64 %lnjqH, i64* %lsiH0
%lnjqJ = load i64*, i64** %Hp_Var
%lnjqK = ptrtoint i64* %lnjqJ to i64
%lnjqL = add i64 %lnjqK, -5
store i64 %lnjqL, i64* %R1_Var
%lnjqN = load i64, i64* %lsiH1
%lnjqM = load i64*, i64** %Sp_Var
%lnjqO = getelementptr inbounds i64, i64* %lnjqM, i32 -1
store i64 %lnjqN, i64* %lnjqO, !tbaa !1
%lnjqQ = load i64, i64* %lsiH0
%lnjqP = load i64*, i64** %Sp_Var
%lnjqR = getelementptr inbounds i64, i64* %lnjqP, i32 0
store i64 %lnjqQ, i64* %lnjqR, !tbaa !1
%lnjqS = load i64*, i64** %Sp_Var
%lnjqT = getelementptr inbounds i64, i64* %lnjqS, i32 -2
%lnjqU = ptrtoint i64* %lnjqT to i64
%lnjqV = inttoptr i64 %lnjqU to i64*
store i64* %lnjqV, i64** %Sp_Var
%lnjqW = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siH2_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjqX = load i64*, i64** %Sp_Var
%lnjqY = load i64*, i64** %Hp_Var
%lnjqZ = load i64, i64* %R1_Var
%lnjr0 = load i64, i64* %R2_Var
%lnjr1 = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjqW( i64* %Base_Arg, i64* %lnjqX, i64* %lnjqY, i64 %lnjqZ, i64 %lnjr0, i64 %lnjr1, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cj9B:
%lnjr2 = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 16, i64* %lnjr2, !tbaa !4
%lnjr3 = load i64, i64* %R1_Var
store i64 %lnjr3, i64* %R1_Var
%lnjr4 = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjr5 = load i64*, i64** %Sp_Var
%lnjr6 = load i64*, i64** %Hp_Var
%lnjr7 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjr4( i64* %Base_Arg, i64* %lnjr5, i64* %lnjr6, i64 %lnjr7, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj5b_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5b_info$def to i8*)
define internal ghccc void @cj5b_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5b_info$def to i64)),i64 32), i64 323, i64 4294967328}>
{
cj5b:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjr8 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5d_info$def to i64
%lnjr9 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjr8, i64* %lnjr9, !tbaa !1
%lnjra = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64
%lnjrb = add i64 %lnjra, 1
store i64 %lnjrb, i64* %R1_Var
%lnjrc = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjrd = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjrc( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjrd, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj5d_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5d_info$def to i8*)
define internal ghccc void @cj5d_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5d_info$def to i64)),i64 32), i64 323, i64 4294967328}>
{
cj5d:
%lsiHi = alloca i64, i32 1
%lsiHj = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjrf = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5i_info$def to i64
%lnjre = load i64*, i64** %Sp_Var
%lnjrg = getelementptr inbounds i64, i64* %lnjre, i32 -2
store i64 %lnjrf, i64* %lnjrg, !tbaa !1
%lnjrh = load i64, i64* %R1_Var
store i64 %lnjrh, i64* %lsiHi
%lnjri = load i64*, i64** %Sp_Var
%lnjrj = getelementptr inbounds i64, i64* %lnjri, i32 3
%lnjrk = bitcast i64* %lnjrj to i64*
%lnjrl = load i64, i64* %lnjrk, !tbaa !1
%lnjrm = add i64 %lnjrl, 1
store i64 %lnjrm, i64* %lsiHj
%lnjrn = load i64, i64* %lsiHj
store i64 %lnjrn, i64* %R1_Var
%lnjrp = load i64, i64* %lsiHj
%lnjro = load i64*, i64** %Sp_Var
%lnjrq = getelementptr inbounds i64, i64* %lnjro, i32 -1
store i64 %lnjrp, i64* %lnjrq, !tbaa !1
%lnjrs = load i64, i64* %lsiHi
%lnjrr = load i64*, i64** %Sp_Var
%lnjrt = getelementptr inbounds i64, i64* %lnjrr, i32 0
store i64 %lnjrs, i64* %lnjrt, !tbaa !1
%lnjru = load i64*, i64** %Sp_Var
%lnjrv = getelementptr inbounds i64, i64* %lnjru, i32 -2
%lnjrw = ptrtoint i64* %lnjrv to i64
%lnjrx = inttoptr i64 %lnjrw to i64*
store i64* %lnjrx, i64** %Sp_Var
%lnjry = bitcast i8* @stg_newPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjrz = load i64*, i64** %Sp_Var
%lnjrA = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjry( i64* %Base_Arg, i64* %lnjrz, i64* %Hp_Arg, i64 %lnjrA, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj5i_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5i_info$def to i8*)
define internal ghccc void @cj5i_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5i_info$def to i64)),i64 32), i64 1349, i64 4294967328}>
{
cj5i:
%lsiHp = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjrC = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5k_info$def to i64
%lnjrB = load i64*, i64** %Sp_Var
%lnjrD = getelementptr inbounds i64, i64* %lnjrB, i32 -1
store i64 %lnjrC, i64* %lnjrD, !tbaa !1
%lnjrE = load i64, i64* %R1_Var
store i64 %lnjrE, i64* %lsiHp
%lnjrF = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64
%lnjrG = add i64 %lnjrF, 1
store i64 %lnjrG, i64* %R1_Var
%lnjrI = load i64, i64* %lsiHp
%lnjrH = load i64*, i64** %Sp_Var
%lnjrJ = getelementptr inbounds i64, i64* %lnjrH, i32 0
store i64 %lnjrI, i64* %lnjrJ, !tbaa !1
%lnjrK = load i64*, i64** %Sp_Var
%lnjrL = getelementptr inbounds i64, i64* %lnjrK, i32 -1
%lnjrM = ptrtoint i64* %lnjrL to i64
%lnjrN = inttoptr i64 %lnjrM to i64*
store i64* %lnjrN, i64** %Sp_Var
%lnjrO = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjrP = load i64*, i64** %Sp_Var
%lnjrQ = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjrO( i64* %Base_Arg, i64* %lnjrP, i64* %Hp_Arg, i64 %lnjrQ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj5k_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5k_info$def to i8*)
define internal ghccc void @cj5k_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5k_info$def to i64)),i64 32), i64 2694, i64 4294967328}>
{
cj5k:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%lsiGT = alloca i64, i32 1
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%lcj5m = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjrR = load i64*, i64** %Hp_Var
%lnjrS = getelementptr inbounds i64, i64* %lnjrR, i32 4
%lnjrT = ptrtoint i64* %lnjrS to i64
%lnjrU = inttoptr i64 %lnjrT to i64*
store i64* %lnjrU, i64** %Hp_Var
%lnjrV = load i64*, i64** %Hp_Var
%lnjrW = ptrtoint i64* %lnjrV to i64
%lnjrX = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnjrY = bitcast i64* %lnjrX to i64*
%lnjrZ = load i64, i64* %lnjrY, !tbaa !4
%lnjs0 = icmp ugt i64 %lnjrW, %lnjrZ
br i1 %lnjs0, label %cj9H, label %cj9G
cj9G:
%lnjs2 = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64
%lnjs1 = load i64*, i64** %Hp_Var
%lnjs3 = getelementptr inbounds i64, i64* %lnjs1, i32 -3
store i64 %lnjs2, i64* %lnjs3, !tbaa !2
%lnjs5 = load i64*, i64** %Sp_Var
%lnjs6 = getelementptr inbounds i64, i64* %lnjs5, i32 3
%lnjs7 = bitcast i64* %lnjs6 to i64*
%lnjs8 = load i64, i64* %lnjs7, !tbaa !1
%lnjs4 = load i64*, i64** %Hp_Var
%lnjs9 = getelementptr inbounds i64, i64* %lnjs4, i32 -2
store i64 %lnjs8, i64* %lnjs9, !tbaa !2
%lnjsb = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64
%lnjsa = load i64*, i64** %Hp_Var
%lnjsc = getelementptr inbounds i64, i64* %lnjsa, i32 -1
store i64 %lnjsb, i64* %lnjsc, !tbaa !2
%lnjse = load i64, i64* %R1_Var
%lnjsd = load i64*, i64** %Hp_Var
%lnjsf = getelementptr inbounds i64, i64* %lnjsd, i32 0
store i64 %lnjse, i64* %lnjsf, !tbaa !2
%lnjsh = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5r_info$def to i64
%lnjsg = load i64*, i64** %Sp_Var
%lnjsi = getelementptr inbounds i64, i64* %lnjsg, i32 0
store i64 %lnjsh, i64* %lnjsi, !tbaa !1
store i64 0, i64* %R6_Var
%lnjsj = load i64*, i64** %Sp_Var
%lnjsk = getelementptr inbounds i64, i64* %lnjsj, i32 6
%lnjsl = bitcast i64* %lnjsk to i64*
%lnjsm = load i64, i64* %lnjsl, !tbaa !1
store i64 %lnjsm, i64* %lsiGT
%lnjsn = load i64, i64* %lsiGT
store i64 %lnjsn, i64* %R5_Var
%lnjso = ptrtoint i8* @base_GHCziIOziBuffer_ReadBuffer_closure to i64
%lnjsp = add i64 %lnjso, 1
store i64 %lnjsp, i64* %R4_Var
%lnjsr = load i64*, i64** %Hp_Var
%lnjss = ptrtoint i64* %lnjsr to i64
%lnjst = add i64 %lnjss, -23
store i64 %lnjst, i64* %lcj5m
%lnjsu = load i64, i64* %lcj5m
store i64 %lnjsu, i64* %R3_Var
%lnjsv = load i64*, i64** %Sp_Var
%lnjsw = getelementptr inbounds i64, i64* %lnjsv, i32 4
%lnjsx = bitcast i64* %lnjsw to i64*
%lnjsy = load i64, i64* %lnjsx, !tbaa !1
store i64 %lnjsy, i64* %R2_Var
%lnjsA = load i64, i64* %lsiGT
%lnjsz = load i64*, i64** %Sp_Var
%lnjsB = getelementptr inbounds i64, i64* %lnjsz, i32 -7
store i64 %lnjsA, i64* %lnjsB, !tbaa !1
%lnjsD = load i64*, i64** %Sp_Var
%lnjsE = getelementptr inbounds i64, i64* %lnjsD, i32 1
%lnjsF = bitcast i64* %lnjsE to i64*
%lnjsG = load i64, i64* %lnjsF, !tbaa !1
%lnjsH = add i64 %lnjsG, 16
%lnjsC = load i64*, i64** %Sp_Var
%lnjsI = getelementptr inbounds i64, i64* %lnjsC, i32 -6
store i64 %lnjsH, i64* %lnjsI, !tbaa !1
%lnjsL = load i64*, i64** %Hp_Var
%lnjsM = ptrtoint i64* %lnjsL to i64
%lnjsN = add i64 %lnjsM, -7
%lnjsJ = load i64*, i64** %Sp_Var
%lnjsO = getelementptr inbounds i64, i64* %lnjsJ, i32 -5
store i64 %lnjsN, i64* %lnjsO, !tbaa !1
%lnjsQ = ptrtoint i8* @base_GHCziIOziBuffer_WriteBuffer_closure to i64
%lnjsR = add i64 %lnjsQ, 2
%lnjsP = load i64*, i64** %Sp_Var
%lnjsS = getelementptr inbounds i64, i64* %lnjsP, i32 -4
store i64 %lnjsR, i64* %lnjsS, !tbaa !1
%lnjsU = load i64*, i64** %Sp_Var
%lnjsV = getelementptr inbounds i64, i64* %lnjsU, i32 2
%lnjsW = bitcast i64* %lnjsV to i64*
%lnjsX = load i64, i64* %lnjsW, !tbaa !1
%lnjsT = load i64*, i64** %Sp_Var
%lnjsY = getelementptr inbounds i64, i64* %lnjsT, i32 -3
store i64 %lnjsX, i64* %lnjsY, !tbaa !1
%lnjsZ = load i64*, i64** %Sp_Var
%lnjt0 = getelementptr inbounds i64, i64* %lnjsZ, i32 -2
store i64 0, i64* %lnjt0, !tbaa !1
%lnjt1 = load i64*, i64** %Sp_Var
%lnjt2 = getelementptr inbounds i64, i64* %lnjt1, i32 -1
store i64 0, i64* %lnjt2, !tbaa !1
%lnjt4 = load i64, i64* %lcj5m
%lnjt3 = load i64*, i64** %Sp_Var
%lnjt5 = getelementptr inbounds i64, i64* %lnjt3, i32 3
store i64 %lnjt4, i64* %lnjt5, !tbaa !1
%lnjt6 = load i64*, i64** %Sp_Var
%lnjt7 = getelementptr inbounds i64, i64* %lnjt6, i32 -7
%lnjt8 = ptrtoint i64* %lnjt7 to i64
%lnjt9 = inttoptr i64 %lnjt8 to i64*
store i64* %lnjt9, i64** %Sp_Var
%lnjta = bitcast i8* @base_GHCziIOziEncodingziUTF8_zdwutf8zuencode_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjtb = load i64*, i64** %Sp_Var
%lnjtc = load i64*, i64** %Hp_Var
%lnjtd = load i64, i64* %R1_Var
%lnjte = load i64, i64* %R2_Var
%lnjtf = load i64, i64* %R3_Var
%lnjtg = load i64, i64* %R4_Var
%lnjth = load i64, i64* %R5_Var
%lnjti = load i64, i64* %R6_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjta( i64* %Base_Arg, i64* %lnjtb, i64* %lnjtc, i64 %lnjtd, i64 %lnjte, i64 %lnjtf, i64 %lnjtg, i64 %lnjth, i64 %lnjti, i64 %SpLim_Arg ) nounwind
ret void
cj9H:
%lnjtj = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 32, i64* %lnjtj, !tbaa !4
%lnjtk = load i64, i64* %R1_Var
store i64 %lnjtk, i64* %R1_Var
%lnjtl = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjtm = load i64*, i64** %Sp_Var
%lnjtn = load i64*, i64** %Hp_Var
%lnjto = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjtl( i64* %Base_Arg, i64* %lnjtm, i64* %lnjtn, i64 %lnjto, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj5r_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5r_info$def to i8*)
define internal ghccc void @cj5r_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5r_info$def to i64)),i64 32), i64 2694, i64 4294967328}>
{
cj5r:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjtp = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5t_info$def to i64
%lnjtq = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjtp, i64* %lnjtq, !tbaa !1
%lnjtr = load i64, i64* %R1_Var
store i64 %lnjtr, i64* %R1_Var
%lnjts = load i64, i64* %R1_Var
%lnjtt = and i64 %lnjts, 7
%lnjtu = icmp ne i64 %lnjtt, 0
br i1 %lnjtu, label %ujaJ, label %cj5u
cj5u:
%lnjtw = load i64, i64* %R1_Var
%lnjtx = inttoptr i64 %lnjtw to i64*
%lnjty = load i64, i64* %lnjtx, !tbaa !3
%lnjtz = inttoptr i64 %lnjty to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjtA = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjtz( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjtA, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujaJ:
%lnjtB = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5t_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjtC = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjtB( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjtC, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj5t_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5t_info$def to i8*)
define internal ghccc void @cj5t_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5t_info$def to i64)),i64 32), i64 2694, i64 4294967328}>
{
cj5t:
%lsiHA = alloca i64, i32 1
%lsiHC = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjtE = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5y_info$def to i64
%lnjtD = load i64*, i64** %Sp_Var
%lnjtF = getelementptr inbounds i64, i64* %lnjtD, i32 -2
store i64 %lnjtE, i64* %lnjtF, !tbaa !1
%lnjtI = load i64, i64* %R1_Var
%lnjtJ = add i64 %lnjtI, 7
%lnjtK = inttoptr i64 %lnjtJ to i64*
%lnjtL = load i64, i64* %lnjtK, !tbaa !3
store i64 %lnjtL, i64* %lsiHA
%lnjtO = load i64, i64* %R1_Var
%lnjtP = add i64 %lnjtO, 23
%lnjtQ = inttoptr i64 %lnjtP to i64*
%lnjtR = load i64, i64* %lnjtQ, !tbaa !3
store i64 %lnjtR, i64* %lsiHC
%lnjtU = load i64, i64* %R1_Var
%lnjtV = add i64 %lnjtU, 15
%lnjtW = inttoptr i64 %lnjtV to i64*
%lnjtX = load i64, i64* %lnjtW, !tbaa !3
store i64 %lnjtX, i64* %R1_Var
%lnjtZ = load i64, i64* %lsiHC
%lnjtY = load i64*, i64** %Sp_Var
%lnju0 = getelementptr inbounds i64, i64* %lnjtY, i32 -1
store i64 %lnjtZ, i64* %lnju0, !tbaa !1
%lnju2 = load i64, i64* %lsiHA
%lnju1 = load i64*, i64** %Sp_Var
%lnju3 = getelementptr inbounds i64, i64* %lnju1, i32 0
store i64 %lnju2, i64* %lnju3, !tbaa !1
%lnju4 = load i64*, i64** %Sp_Var
%lnju5 = getelementptr inbounds i64, i64* %lnju4, i32 -2
%lnju6 = ptrtoint i64* %lnju5 to i64
%lnju7 = inttoptr i64 %lnju6 to i64*
store i64* %lnju7, i64** %Sp_Var
%lnju8 = load i64, i64* %R1_Var
%lnju9 = and i64 %lnju8, 7
%lnjua = icmp ne i64 %lnju9, 0
br i1 %lnjua, label %ujaK, label %cj5z
cj5z:
%lnjuc = load i64, i64* %R1_Var
%lnjud = inttoptr i64 %lnjuc to i64*
%lnjue = load i64, i64* %lnjud, !tbaa !3
%lnjuf = inttoptr i64 %lnjue to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjug = load i64*, i64** %Sp_Var
%lnjuh = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjuf( i64* %Base_Arg, i64* %lnjug, i64* %Hp_Arg, i64 %lnjuh, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujaK:
%lnjui = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5y_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjuj = load i64*, i64** %Sp_Var
%lnjuk = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjui( i64* %Base_Arg, i64* %lnjuj, i64* %Hp_Arg, i64 %lnjuk, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj5y_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5y_info$def to i8*)
define internal ghccc void @cj5y_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5y_info$def to i64)),i64 32), i64 10760, i64 4294967328}>
{
cj5y:
%lsiHI = alloca i64, i32 1
%lsiHF = alloca i64, i32 1
%lsiHE = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjun = load i64, i64* %R1_Var
%lnjuo = add i64 %lnjun, 39
%lnjup = inttoptr i64 %lnjuo to i64*
%lnjuq = load i64, i64* %lnjup, !tbaa !3
store i64 %lnjuq, i64* %lsiHI
%lnjur = load i64, i64* %lsiHI
%lnjuu = load i64, i64* %R1_Var
%lnjuv = add i64 %lnjuu, 47
%lnjuw = inttoptr i64 %lnjuv to i64*
%lnjux = load i64, i64* %lnjuw, !tbaa !3
%lnjuy = icmp eq i64 %lnjur, %lnjux
%lnjuz = zext i1 %lnjuy to i64
switch i64 %lnjuz, label %cj9M [i64 0, label %cj9M
i64 1, label %cja1]
cj9M:
%lnjuB = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5I_info$def to i64
%lnjuA = load i64*, i64** %Sp_Var
%lnjuC = getelementptr inbounds i64, i64* %lnjuA, i32 -1
store i64 %lnjuB, i64* %lnjuC, !tbaa !1
%lnjuF = load i64, i64* %R1_Var
%lnjuG = add i64 %lnjuF, 7
%lnjuH = inttoptr i64 %lnjuG to i64*
%lnjuI = load i64, i64* %lnjuH, !tbaa !3
store i64 %lnjuI, i64* %lsiHF
%lnjuL = load i64, i64* %R1_Var
%lnjuM = add i64 %lnjuL, 23
%lnjuN = inttoptr i64 %lnjuM to i64*
%lnjuO = load i64, i64* %lnjuN, !tbaa !3
store i64 %lnjuO, i64* %lsiHE
%lnjuP = load i64*, i64** %Sp_Var
%lnjuQ = getelementptr inbounds i64, i64* %lnjuP, i32 2
%lnjuR = bitcast i64* %lnjuQ to i64*
%lnjuS = load i64, i64* %lnjuR, !tbaa !1
store i64 %lnjuS, i64* %R1_Var
%lnjuU = load i64, i64* %lsiHI
%lnjuT = load i64*, i64** %Sp_Var
%lnjuV = getelementptr inbounds i64, i64* %lnjuT, i32 0
store i64 %lnjuU, i64* %lnjuV, !tbaa !1
%lnjuX = load i64, i64* %lsiHF
%lnjuW = load i64*, i64** %Sp_Var
%lnjuY = getelementptr inbounds i64, i64* %lnjuW, i32 1
store i64 %lnjuX, i64* %lnjuY, !tbaa !1
%lnjv0 = load i64, i64* %lsiHE
%lnjuZ = load i64*, i64** %Sp_Var
%lnjv1 = getelementptr inbounds i64, i64* %lnjuZ, i32 2
store i64 %lnjv0, i64* %lnjv1, !tbaa !1
%lnjv2 = load i64*, i64** %Sp_Var
%lnjv3 = getelementptr inbounds i64, i64* %lnjv2, i32 -1
%lnjv4 = ptrtoint i64* %lnjv3 to i64
%lnjv5 = inttoptr i64 %lnjv4 to i64*
store i64* %lnjv5, i64** %Sp_Var
%lnjv6 = load i64, i64* %R1_Var
%lnjv7 = and i64 %lnjv6, 7
%lnjv8 = icmp ne i64 %lnjv7, 0
br i1 %lnjv8, label %ujaL, label %cj5J
cj5J:
%lnjva = load i64, i64* %R1_Var
%lnjvb = inttoptr i64 %lnjva to i64*
%lnjvc = load i64, i64* %lnjvb, !tbaa !3
%lnjvd = inttoptr i64 %lnjvc to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjve = load i64*, i64** %Sp_Var
%lnjvf = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjvd( i64* %Base_Arg, i64* %lnjve, i64* %Hp_Arg, i64 %lnjvf, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujaL:
%lnjvg = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5I_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjvh = load i64*, i64** %Sp_Var
%lnjvi = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjvg( i64* %Base_Arg, i64* %lnjvh, i64* %Hp_Arg, i64 %lnjvi, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cja1:
%lnjvk = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7z_info$def to i64
%lnjvj = load i64*, i64** %Sp_Var
%lnjvl = getelementptr inbounds i64, i64* %lnjvj, i32 2
store i64 %lnjvk, i64* %lnjvl, !tbaa !1
%lnjvm = load i64*, i64** %Sp_Var
%lnjvn = getelementptr inbounds i64, i64* %lnjvm, i32 1
%lnjvo = bitcast i64* %lnjvn to i64*
%lnjvp = load i64, i64* %lnjvo, !tbaa !1
store i64 %lnjvp, i64* %R1_Var
%lnjvq = load i64*, i64** %Sp_Var
%lnjvr = getelementptr inbounds i64, i64* %lnjvq, i32 2
%lnjvs = ptrtoint i64* %lnjvr to i64
%lnjvt = inttoptr i64 %lnjvs to i64*
store i64* %lnjvt, i64** %Sp_Var
%lnjvu = load i64, i64* %R1_Var
%lnjvv = and i64 %lnjvu, 7
%lnjvw = icmp ne i64 %lnjvv, 0
br i1 %lnjvw, label %ujaM, label %cj7A
cj7A:
%lnjvy = load i64, i64* %R1_Var
%lnjvz = inttoptr i64 %lnjvy to i64*
%lnjvA = load i64, i64* %lnjvz, !tbaa !3
%lnjvB = inttoptr i64 %lnjvA to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjvC = load i64*, i64** %Sp_Var
%lnjvD = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjvB( i64* %Base_Arg, i64* %lnjvC, i64* %Hp_Arg, i64 %lnjvD, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujaM:
%lnjvE = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7z_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjvF = load i64*, i64** %Sp_Var
%lnjvG = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjvE( i64* %Base_Arg, i64* %lnjvF, i64* %Hp_Arg, i64 %lnjvG, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj7z_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7z_info$def to i8*)
define internal ghccc void @cj7z_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7z_info$def to i64)),i64 32), i64 2694, i64 4294967328}>
{
cj7z:
%lsiJ0 = alloca i64, i32 1
%lsiJ1 = alloca i64, i32 1
%lsiIW = alloca i64, i32 1
%lsiIV = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjvJ = load i64, i64* %R1_Var
%lnjvK = add i64 %lnjvJ, 47
%lnjvL = inttoptr i64 %lnjvK to i64*
%lnjvM = load i64, i64* %lnjvL, !tbaa !3
store i64 %lnjvM, i64* %lsiJ0
%lnjvP = load i64, i64* %R1_Var
%lnjvQ = add i64 %lnjvP, 31
%lnjvR = inttoptr i64 %lnjvQ to i64*
%lnjvS = load i64, i64* %lnjvR, !tbaa !3
%lnjvT = load i64, i64* %lsiJ0
%lnjvU = sub i64 %lnjvS, %lnjvT
store i64 %lnjvU, i64* %lsiJ1
%lnjvV = load i64, i64* %lsiJ1
switch i64 %lnjvV, label %cjaa [i64 0, label %ujaH]
cjaa:
%lnjvY = load i64, i64* %R1_Var
%lnjvZ = add i64 %lnjvY, 7
%lnjw0 = inttoptr i64 %lnjvZ to i64*
%lnjw1 = load i64, i64* %lnjw0, !tbaa !3
store i64 %lnjw1, i64* %lsiIW
%lnjw4 = load i64, i64* %R1_Var
%lnjw5 = add i64 %lnjw4, 23
%lnjw6 = inttoptr i64 %lnjw5 to i64*
%lnjw7 = load i64, i64* %lnjw6, !tbaa !3
store i64 %lnjw7, i64* %lsiIV
%lnjw8 = load i64, i64* %lsiIV
%lnjw9 = load i64, i64* %lsiJ0
%lnjwa = add i64 %lnjw8, %lnjw9
%lnjwb = inttoptr i64 %lnjwa to i8*
store i8 0, i8* %lnjwb, !tbaa !5
%lnjwc = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cja8_info$def to i64
%lnjwd = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjwc, i64* %lnjwd, !tbaa !1
%lnjwe = load i64, i64* %lsiIV
store i64 %lnjwe, i64* %R1_Var
%lnjwf = load i64, i64* %lsiIW
%lnjwg = getelementptr inbounds i64, i64* %Sp_Arg, i32 6
store i64 %lnjwf, i64* %lnjwg, !tbaa !1
%lnjwh = bitcast i8* @stg_traceEventzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjwi = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjwh( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjwi, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujaH:
%lnjwj = load i64, i64* %lsiJ1
%lnjwk = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjwj, i64* %lnjwk, !tbaa !1
%lnjwl = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7J_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjwm = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjwl( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjwm, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj7J_entry = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7J_entry$def to i8*)
define internal ghccc void @cj7J_entry$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind
{
cj7J:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lsiJ1 = alloca i64, i32 1
%lnjwn = load i64*, i64** %Hp_Var
%lnjwo = getelementptr inbounds i64, i64* %lnjwn, i32 4
%lnjwp = ptrtoint i64* %lnjwo to i64
%lnjwq = inttoptr i64 %lnjwp to i64*
store i64* %lnjwq, i64** %Hp_Var
%lnjwr = load i64*, i64** %Hp_Var
%lnjws = ptrtoint i64* %lnjwr to i64
%lnjwt = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnjwu = bitcast i64* %lnjwt to i64*
%lnjwv = load i64, i64* %lnjwu, !tbaa !4
%lnjww = icmp ugt i64 %lnjws, %lnjwv
br i1 %lnjww, label %cjaj, label %cjai
cjai:
%lnjwy = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siJ7_info$def to i64
%lnjwx = load i64*, i64** %Hp_Var
%lnjwz = getelementptr inbounds i64, i64* %lnjwx, i32 -3
store i64 %lnjwy, i64* %lnjwz, !tbaa !2
%lnjwB = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
%lnjwC = bitcast i64* %lnjwB to i64*
%lnjwD = load i64, i64* %lnjwC, !tbaa !1
%lnjwA = load i64*, i64** %Hp_Var
%lnjwE = getelementptr inbounds i64, i64* %lnjwA, i32 -2
store i64 %lnjwD, i64* %lnjwE, !tbaa !2
%lnjwG = getelementptr inbounds i64, i64* %Sp_Arg, i32 6
%lnjwH = bitcast i64* %lnjwG to i64*
%lnjwI = load i64, i64* %lnjwH, !tbaa !1
%lnjwF = load i64*, i64** %Hp_Var
%lnjwJ = getelementptr inbounds i64, i64* %lnjwF, i32 -1
store i64 %lnjwI, i64* %lnjwJ, !tbaa !2
%lnjwL = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
%lnjwM = bitcast i64* %lnjwL to i64*
%lnjwN = load i64, i64* %lnjwM, !tbaa !1
%lnjwK = load i64*, i64** %Hp_Var
%lnjwO = getelementptr inbounds i64, i64* %lnjwK, i32 0
store i64 %lnjwN, i64* %lnjwO, !tbaa !2
%lnjwP = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjan_info$def to i64
%lnjwQ = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjwP, i64* %lnjwQ, !tbaa !1
%lnjwR = getelementptr inbounds i64, i64* %Sp_Arg, i32 2
%lnjwS = bitcast i64* %lnjwR to i64*
%lnjwT = load i64, i64* %lnjwS, !tbaa !1
%lnjwU = shl i64 %lnjwT, 1
store i64 %lnjwU, i64* %R2_Var
%lnjwW = load i64*, i64** %Hp_Var
%lnjwX = ptrtoint i64* %lnjwW to i64
%lnjwY = add i64 %lnjwX, -22
store i64 %lnjwY, i64* %R1_Var
%lnjwZ = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siJ7_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjx0 = load i64*, i64** %Hp_Var
%lnjx1 = load i64, i64* %R1_Var
%lnjx2 = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjwZ( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnjx0, i64 %lnjx1, i64 %lnjx2, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjaj:
%lnjx3 = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 32, i64* %lnjx3, !tbaa !4
%lnjx4 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
%lnjx5 = bitcast i64* %lnjx4 to i64*
%lnjx6 = load i64, i64* %lnjx5, !tbaa !1
store i64 %lnjx6, i64* %lsiJ1
%lnjx7 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7I_info$def to i64
%lnjx8 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjx7, i64* %lnjx8, !tbaa !1
%lnjx9 = load i64, i64* %lsiJ1
store i64 %lnjx9, i64* %R1_Var
%lnjxa = bitcast i8* @stg_gc_unbx_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjxb = load i64*, i64** %Hp_Var
%lnjxc = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjxa( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnjxb, i64 %lnjxc, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj7I_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7I_info$def to i8*)
define internal ghccc void @cj7I_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7I_info$def to i64)),i64 32), i64 2694, i64 4294967328}>
{
cj7I:
%lnjxd = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %R1_Arg, i64* %lnjxd, !tbaa !1
%lnjxe = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7J_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjxe( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjan_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjan_info$def to i8*)
define internal ghccc void @cjan_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 2950, i64 32}>
{
cjan:
%lsiH0 = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjxf = load i64*, i64** %Sp_Var
%lnjxg = getelementptr inbounds i64, i64* %lnjxf, i32 5
%lnjxh = bitcast i64* %lnjxg to i64*
%lnjxi = load i64, i64* %lnjxh, !tbaa !1
store i64 %lnjxi, i64* %lsiH0
%lnjxj = load i64, i64* %R1_Var
store i64 %lnjxj, i64* %R1_Var
%lnjxk = load i64*, i64** %Sp_Var
%lnjxl = getelementptr inbounds i64, i64* %lnjxk, i32 7
%lnjxm = ptrtoint i64* %lnjxl to i64
%lnjxn = inttoptr i64 %lnjxm to i64*
store i64* %lnjxn, i64** %Sp_Var
%lnjxo = load i64*, i64** %Sp_Var
%lnjxp = getelementptr inbounds i64, i64* %lnjxo, i32 0
%lnjxq = bitcast i64* %lnjxp to i64*
%lnjxr = load i64, i64* %lnjxq, !tbaa !1
%lnjxs = inttoptr i64 %lnjxr to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjxt = load i64*, i64** %Sp_Var
%lnjxu = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjxs( i64* %Base_Arg, i64* %lnjxt, i64* %Hp_Arg, i64 %lnjxu, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cja8_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cja8_info$def to i8*)
define internal ghccc void @cja8_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 902, i64 32}>
{
cja8:
%lsiH0 = alloca i64, i32 1
%lsiHp = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjxv = load i64*, i64** %Sp_Var
%lnjxw = getelementptr inbounds i64, i64* %lnjxv, i32 5
%lnjxx = bitcast i64* %lnjxw to i64*
%lnjxy = load i64, i64* %lnjxx, !tbaa !1
store i64 %lnjxy, i64* %lsiH0
%lnjxz = load i64*, i64** %Sp_Var
%lnjxA = getelementptr inbounds i64, i64* %lnjxz, i32 1
%lnjxB = bitcast i64* %lnjxA to i64*
%lnjxC = load i64, i64* %lnjxB, !tbaa !1
store i64 %lnjxC, i64* %lsiHp
%lnjxD = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64
%lnjxE = add i64 %lnjxD, 1
store i64 %lnjxE, i64* %R1_Var
%lnjxF = load i64*, i64** %Sp_Var
%lnjxG = getelementptr inbounds i64, i64* %lnjxF, i32 7
%lnjxH = ptrtoint i64* %lnjxG to i64
%lnjxI = inttoptr i64 %lnjxH to i64*
store i64* %lnjxI, i64** %Sp_Var
%lnjxJ = load i64*, i64** %Sp_Var
%lnjxK = getelementptr inbounds i64, i64* %lnjxJ, i32 0
%lnjxL = bitcast i64* %lnjxK to i64*
%lnjxM = load i64, i64* %lnjxL, !tbaa !1
%lnjxN = inttoptr i64 %lnjxM to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjxO = load i64*, i64** %Sp_Var
%lnjxP = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjxN( i64* %Base_Arg, i64* %lnjxO, i64* %Hp_Arg, i64 %lnjxP, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj5I_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5I_info$def to i8*)
define internal ghccc void @cj5I_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5I_info$def to i64)),i64 32), i64 21833, i64 4294967328}>
{
cj5I:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjxQ = load i64, i64* %R1_Var
%lnjxR = and i64 %lnjxQ, 7
switch i64 %lnjxR, label %cj9Q [i64 2, label %cj9R]
cj9Q:
%lnjxS = load i64*, i64** %Sp_Var
%lnjxT = getelementptr inbounds i64, i64* %lnjxS, i32 10
%lnjxU = ptrtoint i64* %lnjxT to i64
%lnjxV = inttoptr i64 %lnjxU to i64*
store i64* %lnjxV, i64** %Sp_Var
%lnjxW = bitcast i8* @base_GHCziIOziEncodingziFailure_zdwfail_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjxX = load i64*, i64** %Sp_Var
%lnjxY = load i64*, i64** %Hp_Var
%lnjxZ = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjxW( i64* %Base_Arg, i64* %lnjxX, i64* %lnjxY, i64 %lnjxZ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cj9R:
%lnjy0 = load i64*, i64** %Hp_Var
%lnjy1 = getelementptr inbounds i64, i64* %lnjy0, i32 4
%lnjy2 = ptrtoint i64* %lnjy1 to i64
%lnjy3 = inttoptr i64 %lnjy2 to i64*
store i64* %lnjy3, i64** %Hp_Var
%lnjy4 = load i64*, i64** %Hp_Var
%lnjy5 = ptrtoint i64* %lnjy4 to i64
%lnjy6 = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnjy7 = bitcast i64* %lnjy6 to i64*
%lnjy8 = load i64, i64* %lnjy7, !tbaa !4
%lnjy9 = icmp ugt i64 %lnjy5, %lnjy8
br i1 %lnjy9, label %cj9U, label %cj9T
cj9T:
%lnjyb = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siHS_info$def to i64
%lnjya = load i64*, i64** %Hp_Var
%lnjyc = getelementptr inbounds i64, i64* %lnjya, i32 -3
store i64 %lnjyb, i64* %lnjyc, !tbaa !2
%lnjye = load i64*, i64** %Sp_Var
%lnjyf = getelementptr inbounds i64, i64* %lnjye, i32 6
%lnjyg = bitcast i64* %lnjyf to i64*
%lnjyh = load i64, i64* %lnjyg, !tbaa !1
%lnjyd = load i64*, i64** %Hp_Var
%lnjyi = getelementptr inbounds i64, i64* %lnjyd, i32 -2
store i64 %lnjyh, i64* %lnjyi, !tbaa !2
%lnjyk = load i64*, i64** %Sp_Var
%lnjyl = getelementptr inbounds i64, i64* %lnjyk, i32 9
%lnjym = bitcast i64* %lnjyl to i64*
%lnjyn = load i64, i64* %lnjym, !tbaa !1
%lnjyj = load i64*, i64** %Hp_Var
%lnjyo = getelementptr inbounds i64, i64* %lnjyj, i32 -1
store i64 %lnjyn, i64* %lnjyo, !tbaa !2
%lnjyq = load i64*, i64** %Sp_Var
%lnjyr = getelementptr inbounds i64, i64* %lnjyq, i32 7
%lnjys = bitcast i64* %lnjyr to i64*
%lnjyt = load i64, i64* %lnjys, !tbaa !1
%lnjyp = load i64*, i64** %Hp_Var
%lnjyu = getelementptr inbounds i64, i64* %lnjyp, i32 0
store i64 %lnjyt, i64* %lnjyu, !tbaa !2
%lnjyw = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj9Y_info$def to i64
%lnjyv = load i64*, i64** %Sp_Var
%lnjyx = getelementptr inbounds i64, i64* %lnjyv, i32 3
store i64 %lnjyw, i64* %lnjyx, !tbaa !1
%lnjyy = load i64*, i64** %Sp_Var
%lnjyz = getelementptr inbounds i64, i64* %lnjyy, i32 5
%lnjyA = bitcast i64* %lnjyz to i64*
%lnjyB = load i64, i64* %lnjyA, !tbaa !1
%lnjyC = shl i64 %lnjyB, 1
store i64 %lnjyC, i64* %R2_Var
%lnjyE = load i64*, i64** %Hp_Var
%lnjyF = ptrtoint i64* %lnjyE to i64
%lnjyG = add i64 %lnjyF, -22
store i64 %lnjyG, i64* %R1_Var
%lnjyH = load i64*, i64** %Sp_Var
%lnjyI = getelementptr inbounds i64, i64* %lnjyH, i32 3
%lnjyJ = ptrtoint i64* %lnjyI to i64
%lnjyK = inttoptr i64 %lnjyJ to i64*
store i64* %lnjyK, i64** %Sp_Var
%lnjyL = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siHS_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjyM = load i64*, i64** %Sp_Var
%lnjyN = load i64*, i64** %Hp_Var
%lnjyO = load i64, i64* %R1_Var
%lnjyP = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjyL( i64* %Base_Arg, i64* %lnjyM, i64* %lnjyN, i64 %lnjyO, i64 %lnjyP, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cj9U:
%lnjyQ = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 32, i64* %lnjyQ, !tbaa !4
%lnjyR = load i64, i64* %R1_Var
store i64 %lnjyR, i64* %R1_Var
%lnjyS = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjyT = load i64*, i64** %Sp_Var
%lnjyU = load i64*, i64** %Hp_Var
%lnjyV = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjyS( i64* %Base_Arg, i64* %lnjyT, i64* %lnjyU, i64 %lnjyV, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cj9Y_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj9Y_info$def to i8*)
define internal ghccc void @cj9Y_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 2950, i64 32}>
{
cj9Y:
%lsiH0 = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjyW = load i64*, i64** %Sp_Var
%lnjyX = getelementptr inbounds i64, i64* %lnjyW, i32 5
%lnjyY = bitcast i64* %lnjyX to i64*
%lnjyZ = load i64, i64* %lnjyY, !tbaa !1
store i64 %lnjyZ, i64* %lsiH0
%lnjz0 = load i64, i64* %R1_Var
store i64 %lnjz0, i64* %R1_Var
%lnjz1 = load i64*, i64** %Sp_Var
%lnjz2 = getelementptr inbounds i64, i64* %lnjz1, i32 7
%lnjz3 = ptrtoint i64* %lnjz2 to i64
%lnjz4 = inttoptr i64 %lnjz3 to i64*
store i64* %lnjz4, i64** %Sp_Var
%lnjz5 = load i64*, i64** %Sp_Var
%lnjz6 = getelementptr inbounds i64, i64* %lnjz5, i32 0
%lnjz7 = bitcast i64* %lnjz6 to i64*
%lnjz8 = load i64, i64* %lnjz7, !tbaa !1
%lnjz9 = inttoptr i64 %lnjz8 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjza = load i64*, i64** %Sp_Var
%lnjzb = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjz9( i64* %Base_Arg, i64* %lnjza, i64* %Hp_Arg, i64 %lnjzb, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFB_closure_struct = type <{i64, i64}>
@riFB_closure$def = internal global %riFB_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFB_info$def to i64), i64 0}>
@riFB_closure = internal alias i8* bitcast (%riFB_closure_struct* @riFB_closure$def to i8*)
@riFB_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFB_info$def to i8*)
define internal ghccc void @riFB_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFB_info$def to i64)),i64 48), i64 4294967299, i64 0, i64 4294967311}>
{
cjzh:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjzk = ptrtoint %riFA_closure_struct* @riFA_closure$def to i64
%lnjzl = add i64 %lnjzk, 1
store i64 %lnjzl, i64* %R1_Var
%lnjzm = bitcast i8* @stg_maskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjzn = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjzm( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjzn, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFC_closure_struct = type <{i64, i64}>
@riFC_closure$def = internal global %riFC_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFC_info$def to i64), i64 0}>
@riFC_closure = internal alias i8* bitcast (%riFC_closure_struct* @riFC_closure$def to i8*)
@riFC_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFC_info$def to i8*)
define internal ghccc void @riFC_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFC_info$def to i64)),i64 48), i64 4294967299, i64 0, i64 4294967311}>
{
cjzt:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjzw = ptrtoint %riFA_closure_struct* @riFA_closure$def to i64
%lnjzx = add i64 %lnjzw, 1
store i64 %lnjzx, i64* %R1_Var
%lnjzy = bitcast i8* @stg_unmaskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjzz = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjzy( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjzz, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFD_closure_struct = type <{i64, i64}>
@riFD_closure$def = internal global %riFD_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFD_info$def to i64), i64 0}>
@riFD_closure = internal alias i8* bitcast (%riFD_closure_struct* @riFD_closure$def to i8*)
@siKa_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siKa_info$def to i8*)
define internal ghccc void @siKa_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}>
{
cjzK:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
store i64 %R2_Arg, i64* %R1_Var
%lnjzS = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjzT = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjzS( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjzT, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@riFD_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFD_info$def to i8*)
define internal ghccc void @riFD_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFD_info$def to i64)),i64 56), i64 4294967299, i64 0, i64 12884901903}>
{
cjzN:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjzU = load i64*, i64** %Hp_Var
%lnjzV = getelementptr inbounds i64, i64* %lnjzU, i32 2
%lnjzW = ptrtoint i64* %lnjzV to i64
%lnjzX = inttoptr i64 %lnjzW to i64*
store i64* %lnjzX, i64** %Hp_Var
%lnjzY = load i64*, i64** %Hp_Var
%lnjzZ = ptrtoint i64* %lnjzY to i64
%lnjA0 = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnjA1 = bitcast i64* %lnjA0 to i64*
%lnjA2 = load i64, i64* %lnjA1, !tbaa !4
%lnjA3 = icmp ugt i64 %lnjzZ, %lnjA2
br i1 %lnjA3, label %cjzR, label %cjzQ
cjzQ:
%lnjA5 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siKa_info$def to i64
%lnjA4 = load i64*, i64** %Hp_Var
%lnjA6 = getelementptr inbounds i64, i64* %lnjA4, i32 -1
store i64 %lnjA5, i64* %lnjA6, !tbaa !2
%lnjA8 = load i64*, i64** %Hp_Var
%lnjA9 = ptrtoint i64* %lnjA8 to i64
%lnjAa = add i64 %lnjA9, -6
store i64 %lnjAa, i64* %R2_Var
%lnjAb = ptrtoint %riFC_closure_struct* @riFC_closure$def to i64
%lnjAc = add i64 %lnjAb, 1
store i64 %lnjAc, i64* %R1_Var
%lnjAd = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjAe = load i64*, i64** %Hp_Var
%lnjAf = load i64, i64* %R1_Var
%lnjAg = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjAd( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnjAe, i64 %lnjAf, i64 %lnjAg, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjzR:
%lnjAh = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 16, i64* %lnjAh, !tbaa !4
%lnjAi = ptrtoint %riFD_closure_struct* @riFD_closure$def to i64
store i64 %lnjAi, i64* %R1_Var
%lnjAj = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnjAk = bitcast i64* %lnjAj to i64*
%lnjAl = load i64, i64* %lnjAk, !tbaa !4
%lnjAm = inttoptr i64 %lnjAl to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjAn = load i64*, i64** %Hp_Var
%lnjAo = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjAm( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnjAn, i64 %lnjAo, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFE_closure_struct = type <{i64, i64}>
@riFE_closure$def = internal global %riFE_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFE_info$def to i64), i64 0}>
@riFE_closure = internal alias i8* bitcast (%riFE_closure_struct* @riFE_closure$def to i8*)
@riFE_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFE_info$def to i8*)
define internal ghccc void @riFE_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFE_info$def to i64)),i64 48), i64 4294967299, i64 0, i64 4294967311}>
{
cjAu:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjAx = ptrtoint %riFA_closure_struct* @riFA_closure$def to i64
%lnjAy = add i64 %lnjAx, 1
store i64 %lnjAy, i64* %R1_Var
%lnjAz = bitcast i8* @stg_maskUninterruptiblezh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjAA = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjAz( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjAA, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFF_closure_struct = type <{i64, i64, i64, i64}>
%cjAI_str_struct = type <{[27 x i8]}>
@riFF_closure$def = internal global %riFF_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFF_info$def to i64), i64 0, i64 0, i64 0}>
@riFF_closure = internal alias i8* bitcast (%riFF_closure_struct* @riFF_closure$def to i8*)
@cjAI_str$def = internal constant %cjAI_str_struct<{[27 x i8] [i8 82, i8 101, i8 112, i8 97, i8 46, i8 108, i8 111, i8 97, i8 100, i8 80, i8 91, i8 68, i8 101, i8 108, i8 97, i8 121, i8 101, i8 100, i8 93, i8 58, i8 32, i8 115, i8 116, i8 97, i8 114, i8 116, i8 0]}>
@cjAI_str = internal alias i8* bitcast (%cjAI_str_struct* @cjAI_str$def to i8*)
@riFF_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFF_info$def to i8*)
define internal ghccc void @riFF_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}>
{
cjAJ:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%lcjAF = alloca i64, i32 1
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjAM = load i64*, i64** %Sp_Var
%lnjAN = getelementptr inbounds i64, i64* %lnjAM, i32 -2
%lnjAO = ptrtoint i64* %lnjAN to i64
%lnjAP = icmp ult i64 %lnjAO, %SpLim_Arg
br i1 %lnjAP, label %cjAK, label %cjAL
cjAL:
%lnjAQ = ptrtoint i64* %Base_Arg to i64
%lnjAR = inttoptr i64 %lnjAQ to i8*
%lnjAS = load i64, i64* %R1_Var
%lnjAT = inttoptr i64 %lnjAS to i8*
%lnjAU = bitcast i8* @newCAF to i8* (i8*, i8*)*
store i64 undef, i64* %R3_Var
store i64 undef, i64* %R4_Var
store i64 undef, i64* %R5_Var
store i64 undef, i64* %R6_Var
store float undef, float* %F1_Var
store double undef, double* %D1_Var
store float undef, float* %F2_Var
store double undef, double* %D2_Var
store float undef, float* %F3_Var
store double undef, double* %D3_Var
store float undef, float* %F4_Var
store double undef, double* %D4_Var
store float undef, float* %F5_Var
store double undef, double* %D5_Var
store float undef, float* %F6_Var
store double undef, double* %D6_Var
%lnjAV = call ccc i8* (i8*, i8*) %lnjAU( i8* %lnjAR, i8* %lnjAT ) nounwind
%lnjAW = ptrtoint i8* %lnjAV to i64
store i64 %lnjAW, i64* %lcjAF
%lnjAX = load i64, i64* %lcjAF
%lnjAY = icmp eq i64 %lnjAX, 0
br i1 %lnjAY, label %cjAH, label %cjAG
cjAG:
%lnjB0 = ptrtoint i8* @stg_bh_upd_frame_info to i64
%lnjAZ = load i64*, i64** %Sp_Var
%lnjB1 = getelementptr inbounds i64, i64* %lnjAZ, i32 -2
store i64 %lnjB0, i64* %lnjB1, !tbaa !1
%lnjB3 = load i64, i64* %lcjAF
%lnjB2 = load i64*, i64** %Sp_Var
%lnjB4 = getelementptr inbounds i64, i64* %lnjB2, i32 -1
store i64 %lnjB3, i64* %lnjB4, !tbaa !1
%lnjB5 = ptrtoint %cjAI_str_struct* @cjAI_str$def to i64
store i64 %lnjB5, i64* %R2_Var
%lnjB6 = load i64*, i64** %Sp_Var
%lnjB7 = getelementptr inbounds i64, i64* %lnjB6, i32 -2
%lnjB8 = ptrtoint i64* %lnjB7 to i64
%lnjB9 = inttoptr i64 %lnjB8 to i64*
store i64* %lnjB9, i64** %Sp_Var
%lnjBa = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjBb = load i64*, i64** %Sp_Var
%lnjBc = load i64, i64* %R1_Var
%lnjBd = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjBa( i64* %Base_Arg, i64* %lnjBb, i64* %Hp_Arg, i64 %lnjBc, i64 %lnjBd, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjAH:
%lnjBf = load i64, i64* %R1_Var
%lnjBg = inttoptr i64 %lnjBf to i64*
%lnjBh = load i64, i64* %lnjBg, !tbaa !3
%lnjBi = inttoptr i64 %lnjBh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjBj = load i64*, i64** %Sp_Var
%lnjBk = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjBi( i64* %Base_Arg, i64* %lnjBj, i64* %Hp_Arg, i64 %lnjBk, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjAK:
%lnjBl = load i64, i64* %R1_Var
store i64 %lnjBl, i64* %R1_Var
%lnjBm = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lnjBn = bitcast i64* %lnjBm to i64*
%lnjBo = load i64, i64* %lnjBn, !tbaa !4
%lnjBp = inttoptr i64 %lnjBo to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjBq = load i64*, i64** %Sp_Var
%lnjBr = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjBp( i64* %Base_Arg, i64* %lnjBq, i64* %Hp_Arg, i64 %lnjBr, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFG_closure_struct = type <{i64, i64}>
@riFG_closure$def = internal global %riFG_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFG_info$def to i64), i64 0}>
@riFG_closure = internal alias i8* bitcast (%riFG_closure_struct* @riFG_closure$def to i8*)
@siKl_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siKl_info$def to i8*)
define internal ghccc void @siKl_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901902, i64 4294967296, i64 11}>
{
cjFH:
%R3_Var = alloca i64, i32 1
store i64 %R3_Arg, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjLJ = load i64*, i64** %Sp_Var
%lnjLK = getelementptr inbounds i64, i64* %lnjLJ, i32 -5
%lnjLL = ptrtoint i64* %lnjLK to i64
%lnjLM = icmp uge i64 %lnjLL, %SpLim_Arg
br i1 %lnjLM, label %ujFZ, label %cjFI
cjFI:
%lnjLN = load i64, i64* %R3_Var
store i64 %lnjLN, i64* %R3_Var
%lnjLO = load i64, i64* %R2_Var
store i64 %lnjLO, i64* %R2_Var
%lnjLP = load i64, i64* %R1_Var
store i64 %lnjLP, i64* %R1_Var
%lnjLQ = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnjLR = bitcast i64* %lnjLQ to i64*
%lnjLS = load i64, i64* %lnjLR, !tbaa !4
%lnjLT = inttoptr i64 %lnjLS to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjLU = load i64*, i64** %Sp_Var
%lnjLV = load i64, i64* %R1_Var
%lnjLW = load i64, i64* %R2_Var
%lnjLX = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjLT( i64* %Base_Arg, i64* %lnjLU, i64* %Hp_Arg, i64 %lnjLV, i64 %lnjLW, i64 %lnjLX, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujFZ:
%lnjLZ = load i64, i64* %R1_Var
%lnjLY = load i64*, i64** %Sp_Var
%lnjM0 = getelementptr inbounds i64, i64* %lnjLY, i32 -3
store i64 %lnjLZ, i64* %lnjM0, !tbaa !1
%lnjM2 = load i64, i64* %R2_Var
%lnjM1 = load i64*, i64** %Sp_Var
%lnjM3 = getelementptr inbounds i64, i64* %lnjM1, i32 -2
store i64 %lnjM2, i64* %lnjM3, !tbaa !1
%lnjM5 = load i64, i64* %R3_Var
%lnjM4 = load i64*, i64** %Sp_Var
%lnjM6 = getelementptr inbounds i64, i64* %lnjM4, i32 -1
store i64 %lnjM5, i64* %lnjM6, !tbaa !1
%lnjM7 = load i64*, i64** %Sp_Var
%lnjM8 = getelementptr inbounds i64, i64* %lnjM7, i32 -3
%lnjM9 = ptrtoint i64* %lnjM8 to i64
%lnjMa = inttoptr i64 %lnjM9 to i64*
store i64* %lnjMa, i64** %Sp_Var
%lnjMb = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFx_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjMc = load i64*, i64** %Sp_Var
%lnjMd = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjMb( i64* %Base_Arg, i64* %lnjMc, i64* %Hp_Arg, i64 %lnjMd, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjFx_entry = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFx_entry$def to i8*)
define internal ghccc void @cjFx_entry$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind
{
cjFx:
%lsiKk = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjMe = load i64*, i64** %Sp_Var
%lnjMf = getelementptr inbounds i64, i64* %lnjMe, i32 0
%lnjMg = bitcast i64* %lnjMf to i64*
%lnjMh = load i64, i64* %lnjMg, !tbaa !1
%lnjMi = add i64 %lnjMh, 5
%lnjMj = inttoptr i64 %lnjMi to i64*
%lnjMk = load i64, i64* %lnjMj, !tbaa !5
store i64 %lnjMk, i64* %lsiKk
%lnjMm = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFA_info$def to i64
%lnjMl = load i64*, i64** %Sp_Var
%lnjMn = getelementptr inbounds i64, i64* %lnjMl, i32 -1
store i64 %lnjMm, i64* %lnjMn, !tbaa !1
%lnjMo = load i64*, i64** %Sp_Var
%lnjMp = getelementptr inbounds i64, i64* %lnjMo, i32 1
%lnjMq = bitcast i64* %lnjMp to i64*
%lnjMr = load i64, i64* %lnjMq, !tbaa !1
store i64 %lnjMr, i64* %R1_Var
%lnjMt = load i64, i64* %lsiKk
%lnjMs = load i64*, i64** %Sp_Var
%lnjMu = getelementptr inbounds i64, i64* %lnjMs, i32 1
store i64 %lnjMt, i64* %lnjMu, !tbaa !1
%lnjMv = load i64*, i64** %Sp_Var
%lnjMw = getelementptr inbounds i64, i64* %lnjMv, i32 -1
%lnjMx = ptrtoint i64* %lnjMw to i64
%lnjMy = inttoptr i64 %lnjMx to i64*
store i64* %lnjMy, i64** %Sp_Var
%lnjMz = load i64, i64* %R1_Var
%lnjMA = and i64 %lnjMz, 7
%lnjMB = icmp ne i64 %lnjMA, 0
br i1 %lnjMB, label %ujG1, label %cjFB
cjFB:
%lnjMD = load i64, i64* %R1_Var
%lnjME = inttoptr i64 %lnjMD to i64*
%lnjMF = load i64, i64* %lnjME, !tbaa !3
%lnjMG = inttoptr i64 %lnjMF to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjMH = load i64*, i64** %Sp_Var
%lnjMI = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjMG( i64* %Base_Arg, i64* %lnjMH, i64* %Hp_Arg, i64 %lnjMI, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujG1:
%lnjMJ = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFA_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjMK = load i64*, i64** %Sp_Var
%lnjML = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjMJ( i64* %Base_Arg, i64* %lnjMK, i64* %Hp_Arg, i64 %lnjML, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjFA_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFA_info$def to i8*)
define internal ghccc void @cjFA_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 387, i64 32}>
{
cjFA:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lsiKr = alloca i64, i32 1
%lnjMM = load i64, i64* %R1_Var
%lnjMN = and i64 %lnjMM, 7
switch i64 %lnjMN, label %cjFE [i64 1, label %cjFE
i64 2, label %cjFF]
cjFE:
%lnjMO = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64
%lnjMP = add i64 %lnjMO, 1
store i64 %lnjMP, i64* %R1_Var
%lnjMQ = load i64*, i64** %Sp_Var
%lnjMR = getelementptr inbounds i64, i64* %lnjMQ, i32 4
%lnjMS = ptrtoint i64* %lnjMR to i64
%lnjMT = inttoptr i64 %lnjMS to i64*
store i64* %lnjMT, i64** %Sp_Var
%lnjMU = load i64*, i64** %Sp_Var
%lnjMV = getelementptr inbounds i64, i64* %lnjMU, i32 0
%lnjMW = bitcast i64* %lnjMV to i64*
%lnjMX = load i64, i64* %lnjMW, !tbaa !1
%lnjMY = inttoptr i64 %lnjMX to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjMZ = load i64*, i64** %Sp_Var
%lnjN0 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjMY( i64* %Base_Arg, i64* %lnjMZ, i64* %Hp_Arg, i64 %lnjN0, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjFF:
%lnjN2 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFP_info$def to i64
%lnjN1 = load i64*, i64** %Sp_Var
%lnjN3 = getelementptr inbounds i64, i64* %lnjN1, i32 -1
store i64 %lnjN2, i64* %lnjN3, !tbaa !1
%lnjN6 = load i64, i64* %R1_Var
%lnjN7 = add i64 %lnjN6, 14
%lnjN8 = inttoptr i64 %lnjN7 to i64*
%lnjN9 = load i64, i64* %lnjN8, !tbaa !3
store i64 %lnjN9, i64* %lsiKr
%lnjNc = load i64, i64* %R1_Var
%lnjNd = add i64 %lnjNc, 6
%lnjNe = inttoptr i64 %lnjNd to i64*
%lnjNf = load i64, i64* %lnjNe, !tbaa !3
store i64 %lnjNf, i64* %R1_Var
%lnjNh = load i64, i64* %lsiKr
%lnjNg = load i64*, i64** %Sp_Var
%lnjNi = getelementptr inbounds i64, i64* %lnjNg, i32 0
store i64 %lnjNh, i64* %lnjNi, !tbaa !1
%lnjNj = load i64*, i64** %Sp_Var
%lnjNk = getelementptr inbounds i64, i64* %lnjNj, i32 -1
%lnjNl = ptrtoint i64* %lnjNk to i64
%lnjNm = inttoptr i64 %lnjNl to i64*
store i64* %lnjNm, i64** %Sp_Var
%lnjNn = load i64, i64* %R1_Var
%lnjNo = and i64 %lnjNn, 7
%lnjNp = icmp ne i64 %lnjNo, 0
br i1 %lnjNp, label %ujG2, label %cjFR
cjFR:
%lnjNr = load i64, i64* %R1_Var
%lnjNs = inttoptr i64 %lnjNr to i64*
%lnjNt = load i64, i64* %lnjNs, !tbaa !3
%lnjNu = inttoptr i64 %lnjNt to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjNv = load i64*, i64** %Sp_Var
%lnjNw = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjNu( i64* %Base_Arg, i64* %lnjNv, i64* %Hp_Arg, i64 %lnjNw, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujG2:
%lnjNx = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFP_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjNy = load i64*, i64** %Sp_Var
%lnjNz = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjNx( i64* %Base_Arg, i64* %lnjNy, i64* %Hp_Arg, i64 %lnjNz, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjFP_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFP_info$def to i8*)
define internal ghccc void @cjFP_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 772, i64 32}>
{
cjFP:
%lsiKn = alloca i64, i32 1
%lsiKr = alloca i64, i32 1
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjNA = load i64*, i64** %Sp_Var
%lnjNB = getelementptr inbounds i64, i64* %lnjNA, i32 4
%lnjNC = bitcast i64* %lnjNB to i64*
%lnjND = load i64, i64* %lnjNC, !tbaa !1
store i64 %lnjND, i64* %lsiKn
%lnjNE = load i64*, i64** %Sp_Var
%lnjNF = getelementptr inbounds i64, i64* %lnjNE, i32 1
%lnjNG = bitcast i64* %lnjNF to i64*
%lnjNH = load i64, i64* %lnjNG, !tbaa !1
store i64 %lnjNH, i64* %lsiKr
%lnjNI = load i64*, i64** %Sp_Var
%lnjNJ = getelementptr inbounds i64, i64* %lnjNI, i32 3
%lnjNK = bitcast i64* %lnjNJ to i64*
%lnjNL = load i64, i64* %lnjNK, !tbaa !1
%lnjNM = load i64, i64* %lsiKn
%lnjNN = shl i64 %lnjNM, 2
%lnjNO = add i64 %lnjNL, %lnjNN
%lnjNP = add i64 %R1_Arg, 7
%lnjNQ = inttoptr i64 %lnjNP to i64*
%lnjNR = load i64, i64* %lnjNQ, !tbaa !3
%lnjNS = trunc i64 %lnjNR to i32
%lnjNT = inttoptr i64 %lnjNO to i32*
store i32 %lnjNS, i32* %lnjNT, !tbaa !5
%lnjNV = load i64, i64* %lsiKr
%lnjNU = load i64*, i64** %Sp_Var
%lnjNW = getelementptr inbounds i64, i64* %lnjNU, i32 3
store i64 %lnjNV, i64* %lnjNW, !tbaa !1
%lnjNY = load i64, i64* %lsiKn
%lnjNZ = add i64 %lnjNY, 1
%lnjNX = load i64*, i64** %Sp_Var
%lnjO0 = getelementptr inbounds i64, i64* %lnjNX, i32 4
store i64 %lnjNZ, i64* %lnjO0, !tbaa !1
%lnjO1 = load i64*, i64** %Sp_Var
%lnjO2 = getelementptr inbounds i64, i64* %lnjO1, i32 2
%lnjO3 = ptrtoint i64* %lnjO2 to i64
%lnjO4 = inttoptr i64 %lnjO3 to i64*
store i64* %lnjO4, i64** %Sp_Var
%lnjO5 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFx_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjO6 = load i64*, i64** %Sp_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjO5( i64* %Base_Arg, i64* %lnjO6, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siLb_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siLb_info$def to i8*)
define internal ghccc void @siLb_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siLb_info$def to i64)),i64 32), i64 8589934596, i64 8589934593, i64 4294967305}>
{
cjGU:
%lsiLb = alloca i64, i32 1
%lsiKM = alloca i64, i32 1
%lsiKc = alloca i64, i32 1
%lsiKk = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnjO7 = load i64*, i64** %Sp_Var
%lnjO8 = getelementptr inbounds i64, i64* %lnjO7, i32 -14
%lnjO9 = ptrtoint i64* %lnjO8 to i64
%lnjOa = icmp ult i64 %lnjO9, %SpLim_Arg
br i1 %lnjOa, label %cjH4, label %cjH5
cjH5:
%lnjOc = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGN_info$def to i64
%lnjOb = load i64*, i64** %Sp_Var
%lnjOd = getelementptr inbounds i64, i64* %lnjOb, i32 -6
store i64 %lnjOc, i64* %lnjOd, !tbaa !1
%lnjOe = load i64, i64* %R1_Var
store i64 %lnjOe, i64* %lsiLb
%lnjOh = load i64, i64* %R1_Var
%lnjOi = add i64 %lnjOh, 6
%lnjOj = inttoptr i64 %lnjOi to i64*
%lnjOk = load i64, i64* %lnjOj, !tbaa !3
store i64 %lnjOk, i64* %lsiKM
%lnjOn = load i64, i64* %R1_Var
%lnjOo = add i64 %lnjOn, 14
%lnjOp = inttoptr i64 %lnjOo to i64*
%lnjOq = load i64, i64* %lnjOp, !tbaa !3
store i64 %lnjOq, i64* %lsiKc
%lnjOt = load i64, i64* %R1_Var
%lnjOu = add i64 %lnjOt, 22
%lnjOv = inttoptr i64 %lnjOu to i64*
%lnjOw = load i64, i64* %lnjOv, !tbaa !3
store i64 %lnjOw, i64* %lsiKk
%lnjOx = load i64, i64* %R2_Var
store i64 %lnjOx, i64* %R1_Var
%lnjOz = load i64, i64* %lsiKc
%lnjOy = load i64*, i64** %Sp_Var
%lnjOA = getelementptr inbounds i64, i64* %lnjOy, i32 -5
store i64 %lnjOz, i64* %lnjOA, !tbaa !1
%lnjOC = load i64, i64* %lsiKk
%lnjOB = load i64*, i64** %Sp_Var
%lnjOD = getelementptr inbounds i64, i64* %lnjOB, i32 -4
store i64 %lnjOC, i64* %lnjOD, !tbaa !1
%lnjOF = load i64, i64* %lsiKM
%lnjOE = load i64*, i64** %Sp_Var
%lnjOG = getelementptr inbounds i64, i64* %lnjOE, i32 -3
store i64 %lnjOF, i64* %lnjOG, !tbaa !1
%lnjOI = load i64, i64* %lsiLb
%lnjOH = load i64*, i64** %Sp_Var
%lnjOJ = getelementptr inbounds i64, i64* %lnjOH, i32 -2
store i64 %lnjOI, i64* %lnjOJ, !tbaa !1
%lnjOL = load i64, i64* %R2_Var
%lnjOK = load i64*, i64** %Sp_Var
%lnjOM = getelementptr inbounds i64, i64* %lnjOK, i32 -1
store i64 %lnjOL, i64* %lnjOM, !tbaa !1
%lnjON = load i64*, i64** %Sp_Var
%lnjOO = getelementptr inbounds i64, i64* %lnjON, i32 -6
%lnjOP = ptrtoint i64* %lnjOO to i64
%lnjOQ = inttoptr i64 %lnjOP to i64*
store i64* %lnjOQ, i64** %Sp_Var
%lnjOR = bitcast i8* @stg_newPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjOS = load i64*, i64** %Sp_Var
%lnjOT = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjOR( i64* %Base_Arg, i64* %lnjOS, i64* %Hp_Arg, i64 %lnjOT, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjH4:
%lnjOU = load i64, i64* %R2_Var
store i64 %lnjOU, i64* %R2_Var
%lnjOV = load i64, i64* %R1_Var
store i64 %lnjOV, i64* %R1_Var
%lnjOW = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnjOX = bitcast i64* %lnjOW to i64*
%lnjOY = load i64, i64* %lnjOX, !tbaa !4
%lnjOZ = inttoptr i64 %lnjOY to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjP0 = load i64*, i64** %Sp_Var
%lnjP1 = load i64, i64* %R1_Var
%lnjP2 = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjOZ( i64* %Base_Arg, i64* %lnjP0, i64* %Hp_Arg, i64 %lnjP1, i64 %lnjP2, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjGN_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGN_info$def to i8*)
define internal ghccc void @cjGN_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGN_info$def to i64)),i64 32), i64 1221, i64 4294967328}>
{
cjGN:
%lsiLj = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjP4 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGP_info$def to i64
%lnjP3 = load i64*, i64** %Sp_Var
%lnjP5 = getelementptr inbounds i64, i64* %lnjP3, i32 -1
store i64 %lnjP4, i64* %lnjP5, !tbaa !1
%lnjP6 = load i64, i64* %R1_Var
store i64 %lnjP6, i64* %lsiLj
%lnjP7 = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64
%lnjP8 = add i64 %lnjP7, 1
store i64 %lnjP8, i64* %R1_Var
%lnjPa = load i64, i64* %lsiLj
%lnjP9 = load i64*, i64** %Sp_Var
%lnjPb = getelementptr inbounds i64, i64* %lnjP9, i32 0
store i64 %lnjPa, i64* %lnjPb, !tbaa !1
%lnjPc = load i64*, i64** %Sp_Var
%lnjPd = getelementptr inbounds i64, i64* %lnjPc, i32 -1
%lnjPe = ptrtoint i64* %lnjPd to i64
%lnjPf = inttoptr i64 %lnjPe to i64*
store i64* %lnjPf, i64** %Sp_Var
%lnjPg = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjPh = load i64*, i64** %Sp_Var
%lnjPi = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjPg( i64* %Base_Arg, i64* %lnjPh, i64* %Hp_Arg, i64 %lnjPi, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjGP_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGP_info$def to i8*)
define internal ghccc void @cjGP_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGP_info$def to i64)),i64 32), i64 2438, i64 4294967328}>
{
cjGP:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%lsiKc = alloca i64, i32 1
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjPj = load i64*, i64** %Hp_Var
%lnjPk = getelementptr inbounds i64, i64* %lnjPj, i32 2
%lnjPl = ptrtoint i64* %lnjPk to i64
%lnjPm = inttoptr i64 %lnjPl to i64*
store i64* %lnjPm, i64** %Hp_Var
%lnjPn = load i64*, i64** %Hp_Var
%lnjPo = ptrtoint i64* %lnjPn to i64
%lnjPp = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnjPq = bitcast i64* %lnjPp to i64*
%lnjPr = load i64, i64* %lnjPq, !tbaa !4
%lnjPs = icmp ugt i64 %lnjPo, %lnjPr
br i1 %lnjPs, label %cjH9, label %cjH8
cjH8:
%lnjPu = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64
%lnjPt = load i64*, i64** %Hp_Var
%lnjPv = getelementptr inbounds i64, i64* %lnjPt, i32 -1
store i64 %lnjPu, i64* %lnjPv, !tbaa !2
%lnjPx = load i64, i64* %R1_Var
%lnjPw = load i64*, i64** %Hp_Var
%lnjPy = getelementptr inbounds i64, i64* %lnjPw, i32 0
store i64 %lnjPx, i64* %lnjPy, !tbaa !2
%lnjPA = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGW_info$def to i64
%lnjPz = load i64*, i64** %Sp_Var
%lnjPB = getelementptr inbounds i64, i64* %lnjPz, i32 0
store i64 %lnjPA, i64* %lnjPB, !tbaa !1
store i64 0, i64* %R6_Var
%lnjPC = load i64*, i64** %Sp_Var
%lnjPD = getelementptr inbounds i64, i64* %lnjPC, i32 2
%lnjPE = bitcast i64* %lnjPD to i64*
%lnjPF = load i64, i64* %lnjPE, !tbaa !1
store i64 %lnjPF, i64* %lsiKc
%lnjPG = load i64, i64* %lsiKc
store i64 %lnjPG, i64* %R5_Var
%lnjPH = ptrtoint i8* @base_GHCziIOziBuffer_ReadBuffer_closure to i64
%lnjPI = add i64 %lnjPH, 1
store i64 %lnjPI, i64* %R4_Var
%lnjPJ = load i64*, i64** %Sp_Var
%lnjPK = getelementptr inbounds i64, i64* %lnjPJ, i32 4
%lnjPL = bitcast i64* %lnjPK to i64*
%lnjPM = load i64, i64* %lnjPL, !tbaa !1
store i64 %lnjPM, i64* %R3_Var
%lnjPN = load i64*, i64** %Sp_Var
%lnjPO = getelementptr inbounds i64, i64* %lnjPN, i32 3
%lnjPP = bitcast i64* %lnjPO to i64*
%lnjPQ = load i64, i64* %lnjPP, !tbaa !1
store i64 %lnjPQ, i64* %R2_Var
%lnjPS = load i64, i64* %lsiKc
%lnjPR = load i64*, i64** %Sp_Var
%lnjPT = getelementptr inbounds i64, i64* %lnjPR, i32 -7
store i64 %lnjPS, i64* %lnjPT, !tbaa !1
%lnjPV = load i64*, i64** %Sp_Var
%lnjPW = getelementptr inbounds i64, i64* %lnjPV, i32 1
%lnjPX = bitcast i64* %lnjPW to i64*
%lnjPY = load i64, i64* %lnjPX, !tbaa !1
%lnjPZ = add i64 %lnjPY, 16
%lnjPU = load i64*, i64** %Sp_Var
%lnjQ0 = getelementptr inbounds i64, i64* %lnjPU, i32 -6
store i64 %lnjPZ, i64* %lnjQ0, !tbaa !1
%lnjQ3 = load i64*, i64** %Hp_Var
%lnjQ4 = ptrtoint i64* %lnjQ3 to i64
%lnjQ5 = add i64 %lnjQ4, -7
%lnjQ1 = load i64*, i64** %Sp_Var
%lnjQ6 = getelementptr inbounds i64, i64* %lnjQ1, i32 -5
store i64 %lnjQ5, i64* %lnjQ6, !tbaa !1
%lnjQ8 = ptrtoint i8* @base_GHCziIOziBuffer_WriteBuffer_closure to i64
%lnjQ9 = add i64 %lnjQ8, 2
%lnjQ7 = load i64*, i64** %Sp_Var
%lnjQa = getelementptr inbounds i64, i64* %lnjQ7, i32 -4
store i64 %lnjQ9, i64* %lnjQa, !tbaa !1
%lnjQc = load i64*, i64** %Sp_Var
%lnjQd = getelementptr inbounds i64, i64* %lnjQc, i32 6
%lnjQe = bitcast i64* %lnjQd to i64*
%lnjQf = load i64, i64* %lnjQe, !tbaa !1
%lnjQb = load i64*, i64** %Sp_Var
%lnjQg = getelementptr inbounds i64, i64* %lnjQb, i32 -3
store i64 %lnjQf, i64* %lnjQg, !tbaa !1
%lnjQh = load i64*, i64** %Sp_Var
%lnjQi = getelementptr inbounds i64, i64* %lnjQh, i32 -2
store i64 0, i64* %lnjQi, !tbaa !1
%lnjQj = load i64*, i64** %Sp_Var
%lnjQk = getelementptr inbounds i64, i64* %lnjQj, i32 -1
store i64 0, i64* %lnjQk, !tbaa !1
%lnjQl = load i64*, i64** %Sp_Var
%lnjQm = getelementptr inbounds i64, i64* %lnjQl, i32 -7
%lnjQn = ptrtoint i64* %lnjQm to i64
%lnjQo = inttoptr i64 %lnjQn to i64*
store i64* %lnjQo, i64** %Sp_Var
%lnjQp = bitcast i8* @base_GHCziIOziEncodingziUTF8_zdwutf8zuencode_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjQq = load i64*, i64** %Sp_Var
%lnjQr = load i64*, i64** %Hp_Var
%lnjQs = load i64, i64* %R1_Var
%lnjQt = load i64, i64* %R2_Var
%lnjQu = load i64, i64* %R3_Var
%lnjQv = load i64, i64* %R4_Var
%lnjQw = load i64, i64* %R5_Var
%lnjQx = load i64, i64* %R6_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjQp( i64* %Base_Arg, i64* %lnjQq, i64* %lnjQr, i64 %lnjQs, i64 %lnjQt, i64 %lnjQu, i64 %lnjQv, i64 %lnjQw, i64 %lnjQx, i64 %SpLim_Arg ) nounwind
ret void
cjH9:
%lnjQy = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 16, i64* %lnjQy, !tbaa !4
%lnjQz = load i64, i64* %R1_Var
store i64 %lnjQz, i64* %R1_Var
%lnjQA = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjQB = load i64*, i64** %Sp_Var
%lnjQC = load i64*, i64** %Hp_Var
%lnjQD = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjQA( i64* %Base_Arg, i64* %lnjQB, i64* %lnjQC, i64 %lnjQD, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjGW_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGW_info$def to i8*)
define internal ghccc void @cjGW_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGW_info$def to i64)),i64 32), i64 2950, i64 4294967328}>
{
cjGW:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjQE = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGY_info$def to i64
%lnjQF = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjQE, i64* %lnjQF, !tbaa !1
%lnjQG = load i64, i64* %R1_Var
store i64 %lnjQG, i64* %R1_Var
%lnjQH = load i64, i64* %R1_Var
%lnjQI = and i64 %lnjQH, 7
%lnjQJ = icmp ne i64 %lnjQI, 0
br i1 %lnjQJ, label %ujIo, label %cjGZ
cjGZ:
%lnjQL = load i64, i64* %R1_Var
%lnjQM = inttoptr i64 %lnjQL to i64*
%lnjQN = load i64, i64* %lnjQM, !tbaa !3
%lnjQO = inttoptr i64 %lnjQN to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjQP = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjQO( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjQP, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujIo:
%lnjQQ = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGY_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjQR = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjQQ( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjQR, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjGY_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGY_info$def to i8*)
define internal ghccc void @cjGY_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGY_info$def to i64)),i64 32), i64 2950, i64 4294967328}>
{
cjGY:
%lsiLt = alloca i64, i32 1
%lsiLv = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjQS = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjH3_info$def to i64
%lnjQT = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjQS, i64* %lnjQT, !tbaa !1
%lnjQW = load i64, i64* %R1_Var
%lnjQX = add i64 %lnjQW, 7
%lnjQY = inttoptr i64 %lnjQX to i64*
%lnjQZ = load i64, i64* %lnjQY, !tbaa !3
store i64 %lnjQZ, i64* %lsiLt
%lnjR2 = load i64, i64* %R1_Var
%lnjR3 = add i64 %lnjR2, 23
%lnjR4 = inttoptr i64 %lnjR3 to i64*
%lnjR5 = load i64, i64* %lnjR4, !tbaa !3
store i64 %lnjR5, i64* %lsiLv
%lnjR8 = load i64, i64* %R1_Var
%lnjR9 = add i64 %lnjR8, 15
%lnjRa = inttoptr i64 %lnjR9 to i64*
%lnjRb = load i64, i64* %lnjRa, !tbaa !3
store i64 %lnjRb, i64* %R1_Var
%lnjRc = load i64, i64* %lsiLv
%lnjRd = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
store i64 %lnjRc, i64* %lnjRd, !tbaa !1
%lnjRe = load i64, i64* %lsiLt
%lnjRf = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
store i64 %lnjRe, i64* %lnjRf, !tbaa !1
%lnjRg = load i64, i64* %R1_Var
%lnjRh = and i64 %lnjRg, 7
%lnjRi = icmp ne i64 %lnjRh, 0
br i1 %lnjRi, label %ujIp, label %cjHc
cjHc:
%lnjRk = load i64, i64* %R1_Var
%lnjRl = inttoptr i64 %lnjRk to i64*
%lnjRm = load i64, i64* %lnjRl, !tbaa !3
%lnjRn = inttoptr i64 %lnjRm to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjRo = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjRn( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjRo, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujIp:
%lnjRp = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjH3_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjRq = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjRp( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjRq, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjH3_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjH3_info$def to i8*)
define internal ghccc void @cjH3_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjH3_info$def to i64)),i64 32), i64 2182, i64 4294967328}>
{
cjH3:
%lsiLB = alloca i64, i32 1
%lsiLy = alloca i64, i32 1
%lsiLx = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjRt = load i64, i64* %R1_Var
%lnjRu = add i64 %lnjRt, 39
%lnjRv = inttoptr i64 %lnjRu to i64*
%lnjRw = load i64, i64* %lnjRv, !tbaa !3
store i64 %lnjRw, i64* %lsiLB
%lnjRx = load i64, i64* %lsiLB
%lnjRA = load i64, i64* %R1_Var
%lnjRB = add i64 %lnjRA, 47
%lnjRC = inttoptr i64 %lnjRB to i64*
%lnjRD = load i64, i64* %lnjRC, !tbaa !3
%lnjRE = icmp eq i64 %lnjRx, %lnjRD
%lnjRF = zext i1 %lnjRE to i64
switch i64 %lnjRF, label %cjHo [i64 0, label %cjHo
i64 1, label %cjHI]
cjHo:
%lnjRG = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHm_info$def to i64
%lnjRH = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjRG, i64* %lnjRH, !tbaa !1
%lnjRK = load i64, i64* %R1_Var
%lnjRL = add i64 %lnjRK, 7
%lnjRM = inttoptr i64 %lnjRL to i64*
%lnjRN = load i64, i64* %lnjRM, !tbaa !3
store i64 %lnjRN, i64* %lsiLy
%lnjRQ = load i64, i64* %R1_Var
%lnjRR = add i64 %lnjRQ, 23
%lnjRS = inttoptr i64 %lnjRR to i64*
%lnjRT = load i64, i64* %lnjRS, !tbaa !3
store i64 %lnjRT, i64* %lsiLx
%lnjRU = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
%lnjRV = bitcast i64* %lnjRU to i64*
%lnjRW = load i64, i64* %lnjRV, !tbaa !1
store i64 %lnjRW, i64* %R1_Var
%lnjRX = load i64, i64* %lsiLB
%lnjRY = getelementptr inbounds i64, i64* %Sp_Arg, i32 2
store i64 %lnjRX, i64* %lnjRY, !tbaa !1
%lnjRZ = load i64, i64* %lsiLy
%lnjS0 = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
store i64 %lnjRZ, i64* %lnjS0, !tbaa !1
%lnjS1 = load i64, i64* %lsiLx
%lnjS2 = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
store i64 %lnjS1, i64* %lnjS2, !tbaa !1
%lnjS3 = load i64, i64* %R1_Var
%lnjS4 = and i64 %lnjS3, 7
%lnjS5 = icmp ne i64 %lnjS4, 0
br i1 %lnjS5, label %ujIq, label %cjHp
cjHp:
%lnjS7 = load i64, i64* %R1_Var
%lnjS8 = inttoptr i64 %lnjS7 to i64*
%lnjS9 = load i64, i64* %lnjS8, !tbaa !3
%lnjSa = inttoptr i64 %lnjS9 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjSb = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjSa( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjSb, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujIq:
%lnjSc = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHm_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjSd = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjSc( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjSd, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjHI:
%lnjSe = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHH_info$def to i64
%lnjSf = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjSe, i64* %lnjSf, !tbaa !1
%lnjSg = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
%lnjSh = bitcast i64* %lnjSg to i64*
%lnjSi = load i64, i64* %lnjSh, !tbaa !1
store i64 %lnjSi, i64* %R1_Var
%lnjSj = load i64, i64* %R1_Var
%lnjSk = and i64 %lnjSj, 7
%lnjSl = icmp ne i64 %lnjSk, 0
br i1 %lnjSl, label %ujIr, label %cjHJ
cjHJ:
%lnjSn = load i64, i64* %R1_Var
%lnjSo = inttoptr i64 %lnjSn to i64*
%lnjSp = load i64, i64* %lnjSo, !tbaa !3
%lnjSq = inttoptr i64 %lnjSp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjSr = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjSq( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjSr, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujIr:
%lnjSs = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHH_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjSt = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjSs( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjSt, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjHH_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHH_info$def to i8*)
define internal ghccc void @cjHH_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHH_info$def to i64)),i64 32), i64 2950, i64 4294967328}>
{
cjHH:
%lsiLW = alloca i64, i32 1
%lsiLS = alloca i64, i32 1
%lsiLR = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%lnjSw = load i64, i64* %R1_Var
%lnjSx = add i64 %lnjSw, 47
%lnjSy = inttoptr i64 %lnjSx to i64*
%lnjSz = load i64, i64* %lnjSy, !tbaa !3
store i64 %lnjSz, i64* %lsiLW
%lnjSC = load i64, i64* %R1_Var
%lnjSD = add i64 %lnjSC, 31
%lnjSE = inttoptr i64 %lnjSD to i64*
%lnjSF = load i64, i64* %lnjSE, !tbaa !3
%lnjSG = load i64, i64* %lsiLW
%lnjSH = sub i64 %lnjSF, %lnjSG
switch i64 %lnjSH, label %cjHY [i64 0, label %cjI6]
cjHY:
%lnjSK = load i64, i64* %R1_Var
%lnjSL = add i64 %lnjSK, 7
%lnjSM = inttoptr i64 %lnjSL to i64*
%lnjSN = load i64, i64* %lnjSM, !tbaa !3
store i64 %lnjSN, i64* %lsiLS
%lnjSQ = load i64, i64* %R1_Var
%lnjSR = add i64 %lnjSQ, 23
%lnjSS = inttoptr i64 %lnjSR to i64*
%lnjST = load i64, i64* %lnjSS, !tbaa !3
store i64 %lnjST, i64* %lsiLR
%lnjSU = load i64, i64* %lsiLR
%lnjSV = load i64, i64* %lsiLW
%lnjSW = add i64 %lnjSU, %lnjSV
%lnjSX = inttoptr i64 %lnjSW to i8*
store i8 0, i8* %lnjSX, !tbaa !5
%lnjSY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHW_info$def to i64
%lnjSZ = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjSY, i64* %lnjSZ, !tbaa !1
%lnjT0 = load i64, i64* %lsiLR
store i64 %lnjT0, i64* %R1_Var
%lnjT1 = load i64, i64* %lsiLS
%lnjT2 = getelementptr inbounds i64, i64* %Sp_Arg, i32 6
store i64 %lnjT1, i64* %lnjT2, !tbaa !1
%lnjT3 = bitcast i8* @stg_traceEventzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjT4 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjT3( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjT4, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjI6:
%lnjT5 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjId_info$def to i64
%lnjT6 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjT5, i64* %lnjT6, !tbaa !1
%lnjT7 = getelementptr inbounds i64, i64* %Sp_Arg, i32 6
%lnjT8 = bitcast i64* %lnjT7 to i64*
%lnjT9 = load i64, i64* %lnjT8, !tbaa !1
%lnjTa = shl i64 %lnjT9, 1
store i64 %lnjTa, i64* %R2_Var
%lnjTb = getelementptr inbounds i64, i64* %Sp_Arg, i32 5
%lnjTc = bitcast i64* %lnjTb to i64*
%lnjTd = load i64, i64* %lnjTc, !tbaa !1
store i64 %lnjTd, i64* %R1_Var
%lnjTe = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siLb_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjTf = load i64, i64* %R1_Var
%lnjTg = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjTe( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjTf, i64 %lnjTg, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjId_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjId_info$def to i8*)
define internal ghccc void @cjId_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}>
{
cjId:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjTh = load i64, i64* %R1_Var
store i64 %lnjTh, i64* %R1_Var
%lnjTi = load i64*, i64** %Sp_Var
%lnjTj = getelementptr inbounds i64, i64* %lnjTi, i32 7
%lnjTk = ptrtoint i64* %lnjTj to i64
%lnjTl = inttoptr i64 %lnjTk to i64*
store i64* %lnjTl, i64** %Sp_Var
%lnjTm = load i64*, i64** %Sp_Var
%lnjTn = getelementptr inbounds i64, i64* %lnjTm, i32 0
%lnjTo = bitcast i64* %lnjTn to i64*
%lnjTp = load i64, i64* %lnjTo, !tbaa !1
%lnjTq = inttoptr i64 %lnjTp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjTr = load i64*, i64** %Sp_Var
%lnjTs = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjTq( i64* %Base_Arg, i64* %lnjTr, i64* %Hp_Arg, i64 %lnjTs, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjHW_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHW_info$def to i8*)
define internal ghccc void @cjHW_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 1926, i64 32}>
{
cjHW:
%lsiLj = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjTt = load i64*, i64** %Sp_Var
%lnjTu = getelementptr inbounds i64, i64* %lnjTt, i32 1
%lnjTv = bitcast i64* %lnjTu to i64*
%lnjTw = load i64, i64* %lnjTv, !tbaa !1
store i64 %lnjTw, i64* %lsiLj
%lnjTx = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64
%lnjTy = add i64 %lnjTx, 1
store i64 %lnjTy, i64* %R1_Var
%lnjTz = load i64*, i64** %Sp_Var
%lnjTA = getelementptr inbounds i64, i64* %lnjTz, i32 7
%lnjTB = ptrtoint i64* %lnjTA to i64
%lnjTC = inttoptr i64 %lnjTB to i64*
store i64* %lnjTC, i64** %Sp_Var
%lnjTD = load i64*, i64** %Sp_Var
%lnjTE = getelementptr inbounds i64, i64* %lnjTD, i32 0
%lnjTF = bitcast i64* %lnjTE to i64*
%lnjTG = load i64, i64* %lnjTF, !tbaa !1
%lnjTH = inttoptr i64 %lnjTG to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjTI = load i64*, i64** %Sp_Var
%lnjTJ = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjTH( i64* %Base_Arg, i64* %lnjTI, i64* %Hp_Arg, i64 %lnjTJ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjHm_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHm_info$def to i8*)
define internal ghccc void @cjHm_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHm_info$def to i64)),i64 32), i64 2694, i64 4294967328}>
{
cjHm:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjTK = load i64, i64* %R1_Var
%lnjTL = and i64 %lnjTK, 7
switch i64 %lnjTL, label %cjHv [i64 2, label %cjHD]
cjHv:
%lnjTM = load i64*, i64** %Sp_Var
%lnjTN = getelementptr inbounds i64, i64* %lnjTM, i32 7
%lnjTO = ptrtoint i64* %lnjTN to i64
%lnjTP = inttoptr i64 %lnjTO to i64*
store i64* %lnjTP, i64** %Sp_Var
%lnjTQ = bitcast i8* @base_GHCziIOziEncodingziFailure_zdwfail_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjTR = load i64*, i64** %Sp_Var
%lnjTS = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjTQ( i64* %Base_Arg, i64* %lnjTR, i64* %Hp_Arg, i64 %lnjTS, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjHD:
%lnjTU = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHC_info$def to i64
%lnjTT = load i64*, i64** %Sp_Var
%lnjTV = getelementptr inbounds i64, i64* %lnjTT, i32 0
store i64 %lnjTU, i64* %lnjTV, !tbaa !1
%lnjTW = load i64*, i64** %Sp_Var
%lnjTX = getelementptr inbounds i64, i64* %lnjTW, i32 6
%lnjTY = bitcast i64* %lnjTX to i64*
%lnjTZ = load i64, i64* %lnjTY, !tbaa !1
%lnjU0 = shl i64 %lnjTZ, 1
store i64 %lnjU0, i64* %R2_Var
%lnjU1 = load i64*, i64** %Sp_Var
%lnjU2 = getelementptr inbounds i64, i64* %lnjU1, i32 5
%lnjU3 = bitcast i64* %lnjU2 to i64*
%lnjU4 = load i64, i64* %lnjU3, !tbaa !1
store i64 %lnjU4, i64* %R1_Var
%lnjU5 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siLb_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjU6 = load i64*, i64** %Sp_Var
%lnjU7 = load i64, i64* %R1_Var
%lnjU8 = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjU5( i64* %Base_Arg, i64* %lnjU6, i64* %Hp_Arg, i64 %lnjU7, i64 %lnjU8, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjHC_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHC_info$def to i8*)
define internal ghccc void @cjHC_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}>
{
cjHC:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjU9 = load i64, i64* %R1_Var
store i64 %lnjU9, i64* %R1_Var
%lnjUa = load i64*, i64** %Sp_Var
%lnjUb = getelementptr inbounds i64, i64* %lnjUa, i32 7
%lnjUc = ptrtoint i64* %lnjUb to i64
%lnjUd = inttoptr i64 %lnjUc to i64*
store i64* %lnjUd, i64** %Sp_Var
%lnjUe = load i64*, i64** %Sp_Var
%lnjUf = getelementptr inbounds i64, i64* %lnjUe, i32 0
%lnjUg = bitcast i64* %lnjUf to i64*
%lnjUh = load i64, i64* %lnjUg, !tbaa !1
%lnjUi = inttoptr i64 %lnjUh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjUj = load i64*, i64** %Sp_Var
%lnjUk = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjUi( i64* %Base_Arg, i64* %lnjUj, i64* %Hp_Arg, i64 %lnjUk, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siMq_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siMq_info$def to i8*)
define internal ghccc void @siMq_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siMq_info$def to i64)),i64 32), i64 8589934596, i64 8589934593, i64 4294967305}>
{
cjIR:
%lsiMq = alloca i64, i32 1
%lsiKM = alloca i64, i32 1
%lsiKc = alloca i64, i32 1
%lsiKk = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnjUl = load i64*, i64** %Sp_Var
%lnjUm = getelementptr inbounds i64, i64* %lnjUl, i32 -14
%lnjUn = ptrtoint i64* %lnjUm to i64
%lnjUo = icmp ult i64 %lnjUn, %SpLim_Arg
br i1 %lnjUo, label %cjJ1, label %cjJ2
cjJ2:
%lnjUq = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIK_info$def to i64
%lnjUp = load i64*, i64** %Sp_Var
%lnjUr = getelementptr inbounds i64, i64* %lnjUp, i32 -6
store i64 %lnjUq, i64* %lnjUr, !tbaa !1
%lnjUs = load i64, i64* %R1_Var
store i64 %lnjUs, i64* %lsiMq
%lnjUv = load i64, i64* %R1_Var
%lnjUw = add i64 %lnjUv, 6
%lnjUx = inttoptr i64 %lnjUw to i64*
%lnjUy = load i64, i64* %lnjUx, !tbaa !3
store i64 %lnjUy, i64* %lsiKM
%lnjUB = load i64, i64* %R1_Var
%lnjUC = add i64 %lnjUB, 14
%lnjUD = inttoptr i64 %lnjUC to i64*
%lnjUE = load i64, i64* %lnjUD, !tbaa !3
store i64 %lnjUE, i64* %lsiKc
%lnjUH = load i64, i64* %R1_Var
%lnjUI = add i64 %lnjUH, 22
%lnjUJ = inttoptr i64 %lnjUI to i64*
%lnjUK = load i64, i64* %lnjUJ, !tbaa !3
store i64 %lnjUK, i64* %lsiKk
%lnjUL = load i64, i64* %R2_Var
store i64 %lnjUL, i64* %R1_Var
%lnjUN = load i64, i64* %lsiKc
%lnjUM = load i64*, i64** %Sp_Var
%lnjUO = getelementptr inbounds i64, i64* %lnjUM, i32 -5
store i64 %lnjUN, i64* %lnjUO, !tbaa !1
%lnjUQ = load i64, i64* %lsiKk
%lnjUP = load i64*, i64** %Sp_Var
%lnjUR = getelementptr inbounds i64, i64* %lnjUP, i32 -4
store i64 %lnjUQ, i64* %lnjUR, !tbaa !1
%lnjUT = load i64, i64* %lsiKM
%lnjUS = load i64*, i64** %Sp_Var
%lnjUU = getelementptr inbounds i64, i64* %lnjUS, i32 -3
store i64 %lnjUT, i64* %lnjUU, !tbaa !1
%lnjUW = load i64, i64* %lsiMq
%lnjUV = load i64*, i64** %Sp_Var
%lnjUX = getelementptr inbounds i64, i64* %lnjUV, i32 -2
store i64 %lnjUW, i64* %lnjUX, !tbaa !1
%lnjUZ = load i64, i64* %R2_Var
%lnjUY = load i64*, i64** %Sp_Var
%lnjV0 = getelementptr inbounds i64, i64* %lnjUY, i32 -1
store i64 %lnjUZ, i64* %lnjV0, !tbaa !1
%lnjV1 = load i64*, i64** %Sp_Var
%lnjV2 = getelementptr inbounds i64, i64* %lnjV1, i32 -6
%lnjV3 = ptrtoint i64* %lnjV2 to i64
%lnjV4 = inttoptr i64 %lnjV3 to i64*
store i64* %lnjV4, i64** %Sp_Var
%lnjV5 = bitcast i8* @stg_newPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjV6 = load i64*, i64** %Sp_Var
%lnjV7 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjV5( i64* %Base_Arg, i64* %lnjV6, i64* %Hp_Arg, i64 %lnjV7, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjJ1:
%lnjV8 = load i64, i64* %R2_Var
store i64 %lnjV8, i64* %R2_Var
%lnjV9 = load i64, i64* %R1_Var
store i64 %lnjV9, i64* %R1_Var
%lnjVa = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnjVb = bitcast i64* %lnjVa to i64*
%lnjVc = load i64, i64* %lnjVb, !tbaa !4
%lnjVd = inttoptr i64 %lnjVc to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjVe = load i64*, i64** %Sp_Var
%lnjVf = load i64, i64* %R1_Var
%lnjVg = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjVd( i64* %Base_Arg, i64* %lnjVe, i64* %Hp_Arg, i64 %lnjVf, i64 %lnjVg, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjIK_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIK_info$def to i8*)
define internal ghccc void @cjIK_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIK_info$def to i64)),i64 32), i64 1221, i64 4294967328}>
{
cjIK:
%lsiMy = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjVi = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIM_info$def to i64
%lnjVh = load i64*, i64** %Sp_Var
%lnjVj = getelementptr inbounds i64, i64* %lnjVh, i32 -1
store i64 %lnjVi, i64* %lnjVj, !tbaa !1
%lnjVk = load i64, i64* %R1_Var
store i64 %lnjVk, i64* %lsiMy
%lnjVl = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64
%lnjVm = add i64 %lnjVl, 1
store i64 %lnjVm, i64* %R1_Var
%lnjVo = load i64, i64* %lsiMy
%lnjVn = load i64*, i64** %Sp_Var
%lnjVp = getelementptr inbounds i64, i64* %lnjVn, i32 0
store i64 %lnjVo, i64* %lnjVp, !tbaa !1
%lnjVq = load i64*, i64** %Sp_Var
%lnjVr = getelementptr inbounds i64, i64* %lnjVq, i32 -1
%lnjVs = ptrtoint i64* %lnjVr to i64
%lnjVt = inttoptr i64 %lnjVs to i64*
store i64* %lnjVt, i64** %Sp_Var
%lnjVu = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjVv = load i64*, i64** %Sp_Var
%lnjVw = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjVu( i64* %Base_Arg, i64* %lnjVv, i64* %Hp_Arg, i64 %lnjVw, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjIM_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIM_info$def to i8*)
define internal ghccc void @cjIM_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIM_info$def to i64)),i64 32), i64 2438, i64 4294967328}>
{
cjIM:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%lsiKc = alloca i64, i32 1
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjVx = load i64*, i64** %Hp_Var
%lnjVy = getelementptr inbounds i64, i64* %lnjVx, i32 2
%lnjVz = ptrtoint i64* %lnjVy to i64
%lnjVA = inttoptr i64 %lnjVz to i64*
store i64* %lnjVA, i64** %Hp_Var
%lnjVB = load i64*, i64** %Hp_Var
%lnjVC = ptrtoint i64* %lnjVB to i64
%lnjVD = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnjVE = bitcast i64* %lnjVD to i64*
%lnjVF = load i64, i64* %lnjVE, !tbaa !4
%lnjVG = icmp ugt i64 %lnjVC, %lnjVF
br i1 %lnjVG, label %cjJ6, label %cjJ5
cjJ5:
%lnjVI = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64
%lnjVH = load i64*, i64** %Hp_Var
%lnjVJ = getelementptr inbounds i64, i64* %lnjVH, i32 -1
store i64 %lnjVI, i64* %lnjVJ, !tbaa !2
%lnjVL = load i64, i64* %R1_Var
%lnjVK = load i64*, i64** %Hp_Var
%lnjVM = getelementptr inbounds i64, i64* %lnjVK, i32 0
store i64 %lnjVL, i64* %lnjVM, !tbaa !2
%lnjVO = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIT_info$def to i64
%lnjVN = load i64*, i64** %Sp_Var
%lnjVP = getelementptr inbounds i64, i64* %lnjVN, i32 0
store i64 %lnjVO, i64* %lnjVP, !tbaa !1
store i64 0, i64* %R6_Var
%lnjVQ = load i64*, i64** %Sp_Var
%lnjVR = getelementptr inbounds i64, i64* %lnjVQ, i32 2
%lnjVS = bitcast i64* %lnjVR to i64*
%lnjVT = load i64, i64* %lnjVS, !tbaa !1
store i64 %lnjVT, i64* %lsiKc
%lnjVU = load i64, i64* %lsiKc
store i64 %lnjVU, i64* %R5_Var
%lnjVV = ptrtoint i8* @base_GHCziIOziBuffer_ReadBuffer_closure to i64
%lnjVW = add i64 %lnjVV, 1
store i64 %lnjVW, i64* %R4_Var
%lnjVX = load i64*, i64** %Sp_Var
%lnjVY = getelementptr inbounds i64, i64* %lnjVX, i32 4
%lnjVZ = bitcast i64* %lnjVY to i64*
%lnjW0 = load i64, i64* %lnjVZ, !tbaa !1
store i64 %lnjW0, i64* %R3_Var
%lnjW1 = load i64*, i64** %Sp_Var
%lnjW2 = getelementptr inbounds i64, i64* %lnjW1, i32 3
%lnjW3 = bitcast i64* %lnjW2 to i64*
%lnjW4 = load i64, i64* %lnjW3, !tbaa !1
store i64 %lnjW4, i64* %R2_Var
%lnjW6 = load i64, i64* %lsiKc
%lnjW5 = load i64*, i64** %Sp_Var
%lnjW7 = getelementptr inbounds i64, i64* %lnjW5, i32 -7
store i64 %lnjW6, i64* %lnjW7, !tbaa !1
%lnjW9 = load i64*, i64** %Sp_Var
%lnjWa = getelementptr inbounds i64, i64* %lnjW9, i32 1
%lnjWb = bitcast i64* %lnjWa to i64*
%lnjWc = load i64, i64* %lnjWb, !tbaa !1
%lnjWd = add i64 %lnjWc, 16
%lnjW8 = load i64*, i64** %Sp_Var
%lnjWe = getelementptr inbounds i64, i64* %lnjW8, i32 -6
store i64 %lnjWd, i64* %lnjWe, !tbaa !1
%lnjWh = load i64*, i64** %Hp_Var
%lnjWi = ptrtoint i64* %lnjWh to i64
%lnjWj = add i64 %lnjWi, -7
%lnjWf = load i64*, i64** %Sp_Var
%lnjWk = getelementptr inbounds i64, i64* %lnjWf, i32 -5
store i64 %lnjWj, i64* %lnjWk, !tbaa !1
%lnjWm = ptrtoint i8* @base_GHCziIOziBuffer_WriteBuffer_closure to i64
%lnjWn = add i64 %lnjWm, 2
%lnjWl = load i64*, i64** %Sp_Var
%lnjWo = getelementptr inbounds i64, i64* %lnjWl, i32 -4
store i64 %lnjWn, i64* %lnjWo, !tbaa !1
%lnjWq = load i64*, i64** %Sp_Var
%lnjWr = getelementptr inbounds i64, i64* %lnjWq, i32 6
%lnjWs = bitcast i64* %lnjWr to i64*
%lnjWt = load i64, i64* %lnjWs, !tbaa !1
%lnjWp = load i64*, i64** %Sp_Var
%lnjWu = getelementptr inbounds i64, i64* %lnjWp, i32 -3
store i64 %lnjWt, i64* %lnjWu, !tbaa !1
%lnjWv = load i64*, i64** %Sp_Var
%lnjWw = getelementptr inbounds i64, i64* %lnjWv, i32 -2
store i64 0, i64* %lnjWw, !tbaa !1
%lnjWx = load i64*, i64** %Sp_Var
%lnjWy = getelementptr inbounds i64, i64* %lnjWx, i32 -1
store i64 0, i64* %lnjWy, !tbaa !1
%lnjWz = load i64*, i64** %Sp_Var
%lnjWA = getelementptr inbounds i64, i64* %lnjWz, i32 -7
%lnjWB = ptrtoint i64* %lnjWA to i64
%lnjWC = inttoptr i64 %lnjWB to i64*
store i64* %lnjWC, i64** %Sp_Var
%lnjWD = bitcast i8* @base_GHCziIOziEncodingziUTF8_zdwutf8zuencode_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjWE = load i64*, i64** %Sp_Var
%lnjWF = load i64*, i64** %Hp_Var
%lnjWG = load i64, i64* %R1_Var
%lnjWH = load i64, i64* %R2_Var
%lnjWI = load i64, i64* %R3_Var
%lnjWJ = load i64, i64* %R4_Var
%lnjWK = load i64, i64* %R5_Var
%lnjWL = load i64, i64* %R6_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjWD( i64* %Base_Arg, i64* %lnjWE, i64* %lnjWF, i64 %lnjWG, i64 %lnjWH, i64 %lnjWI, i64 %lnjWJ, i64 %lnjWK, i64 %lnjWL, i64 %SpLim_Arg ) nounwind
ret void
cjJ6:
%lnjWM = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 16, i64* %lnjWM, !tbaa !4
%lnjWN = load i64, i64* %R1_Var
store i64 %lnjWN, i64* %R1_Var
%lnjWO = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjWP = load i64*, i64** %Sp_Var
%lnjWQ = load i64*, i64** %Hp_Var
%lnjWR = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjWO( i64* %Base_Arg, i64* %lnjWP, i64* %lnjWQ, i64 %lnjWR, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjIT_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIT_info$def to i8*)
define internal ghccc void @cjIT_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIT_info$def to i64)),i64 32), i64 2950, i64 4294967328}>
{
cjIT:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjWS = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIV_info$def to i64
%lnjWT = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjWS, i64* %lnjWT, !tbaa !1
%lnjWU = load i64, i64* %R1_Var
store i64 %lnjWU, i64* %R1_Var
%lnjWV = load i64, i64* %R1_Var
%lnjWW = and i64 %lnjWV, 7
%lnjWX = icmp ne i64 %lnjWW, 0
br i1 %lnjWX, label %ujKl, label %cjIW
cjIW:
%lnjWZ = load i64, i64* %R1_Var
%lnjX0 = inttoptr i64 %lnjWZ to i64*
%lnjX1 = load i64, i64* %lnjX0, !tbaa !3
%lnjX2 = inttoptr i64 %lnjX1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjX3 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjX2( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjX3, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujKl:
%lnjX4 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIV_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjX5 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjX4( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjX5, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjIV_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIV_info$def to i8*)
define internal ghccc void @cjIV_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIV_info$def to i64)),i64 32), i64 2950, i64 4294967328}>
{
cjIV:
%lsiMI = alloca i64, i32 1
%lsiMK = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjX6 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJ0_info$def to i64
%lnjX7 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjX6, i64* %lnjX7, !tbaa !1
%lnjXa = load i64, i64* %R1_Var
%lnjXb = add i64 %lnjXa, 7
%lnjXc = inttoptr i64 %lnjXb to i64*
%lnjXd = load i64, i64* %lnjXc, !tbaa !3
store i64 %lnjXd, i64* %lsiMI
%lnjXg = load i64, i64* %R1_Var
%lnjXh = add i64 %lnjXg, 23
%lnjXi = inttoptr i64 %lnjXh to i64*
%lnjXj = load i64, i64* %lnjXi, !tbaa !3
store i64 %lnjXj, i64* %lsiMK
%lnjXm = load i64, i64* %R1_Var
%lnjXn = add i64 %lnjXm, 15
%lnjXo = inttoptr i64 %lnjXn to i64*
%lnjXp = load i64, i64* %lnjXo, !tbaa !3
store i64 %lnjXp, i64* %R1_Var
%lnjXq = load i64, i64* %lsiMK
%lnjXr = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
store i64 %lnjXq, i64* %lnjXr, !tbaa !1
%lnjXs = load i64, i64* %lsiMI
%lnjXt = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
store i64 %lnjXs, i64* %lnjXt, !tbaa !1
%lnjXu = load i64, i64* %R1_Var
%lnjXv = and i64 %lnjXu, 7
%lnjXw = icmp ne i64 %lnjXv, 0
br i1 %lnjXw, label %ujKm, label %cjJ9
cjJ9:
%lnjXy = load i64, i64* %R1_Var
%lnjXz = inttoptr i64 %lnjXy to i64*
%lnjXA = load i64, i64* %lnjXz, !tbaa !3
%lnjXB = inttoptr i64 %lnjXA to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjXC = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjXB( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjXC, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujKm:
%lnjXD = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJ0_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjXE = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjXD( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjXE, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjJ0_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJ0_info$def to i8*)
define internal ghccc void @cjJ0_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJ0_info$def to i64)),i64 32), i64 2182, i64 4294967328}>
{
cjJ0:
%lsiMQ = alloca i64, i32 1
%lsiMN = alloca i64, i32 1
%lsiMM = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjXH = load i64, i64* %R1_Var
%lnjXI = add i64 %lnjXH, 39
%lnjXJ = inttoptr i64 %lnjXI to i64*
%lnjXK = load i64, i64* %lnjXJ, !tbaa !3
store i64 %lnjXK, i64* %lsiMQ
%lnjXL = load i64, i64* %lsiMQ
%lnjXO = load i64, i64* %R1_Var
%lnjXP = add i64 %lnjXO, 47
%lnjXQ = inttoptr i64 %lnjXP to i64*
%lnjXR = load i64, i64* %lnjXQ, !tbaa !3
%lnjXS = icmp eq i64 %lnjXL, %lnjXR
%lnjXT = zext i1 %lnjXS to i64
switch i64 %lnjXT, label %cjJl [i64 0, label %cjJl
i64 1, label %cjJF]
cjJl:
%lnjXU = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJj_info$def to i64
%lnjXV = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjXU, i64* %lnjXV, !tbaa !1
%lnjXY = load i64, i64* %R1_Var
%lnjXZ = add i64 %lnjXY, 7
%lnjY0 = inttoptr i64 %lnjXZ to i64*
%lnjY1 = load i64, i64* %lnjY0, !tbaa !3
store i64 %lnjY1, i64* %lsiMN
%lnjY4 = load i64, i64* %R1_Var
%lnjY5 = add i64 %lnjY4, 23
%lnjY6 = inttoptr i64 %lnjY5 to i64*
%lnjY7 = load i64, i64* %lnjY6, !tbaa !3
store i64 %lnjY7, i64* %lsiMM
%lnjY8 = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
%lnjY9 = bitcast i64* %lnjY8 to i64*
%lnjYa = load i64, i64* %lnjY9, !tbaa !1
store i64 %lnjYa, i64* %R1_Var
%lnjYb = load i64, i64* %lsiMQ
%lnjYc = getelementptr inbounds i64, i64* %Sp_Arg, i32 2
store i64 %lnjYb, i64* %lnjYc, !tbaa !1
%lnjYd = load i64, i64* %lsiMN
%lnjYe = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
store i64 %lnjYd, i64* %lnjYe, !tbaa !1
%lnjYf = load i64, i64* %lsiMM
%lnjYg = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
store i64 %lnjYf, i64* %lnjYg, !tbaa !1
%lnjYh = load i64, i64* %R1_Var
%lnjYi = and i64 %lnjYh, 7
%lnjYj = icmp ne i64 %lnjYi, 0
br i1 %lnjYj, label %ujKn, label %cjJm
cjJm:
%lnjYl = load i64, i64* %R1_Var
%lnjYm = inttoptr i64 %lnjYl to i64*
%lnjYn = load i64, i64* %lnjYm, !tbaa !3
%lnjYo = inttoptr i64 %lnjYn to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjYp = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjYo( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjYp, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujKn:
%lnjYq = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJj_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjYr = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjYq( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjYr, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjJF:
%lnjYs = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJE_info$def to i64
%lnjYt = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjYs, i64* %lnjYt, !tbaa !1
%lnjYu = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
%lnjYv = bitcast i64* %lnjYu to i64*
%lnjYw = load i64, i64* %lnjYv, !tbaa !1
store i64 %lnjYw, i64* %R1_Var
%lnjYx = load i64, i64* %R1_Var
%lnjYy = and i64 %lnjYx, 7
%lnjYz = icmp ne i64 %lnjYy, 0
br i1 %lnjYz, label %ujKo, label %cjJG
cjJG:
%lnjYB = load i64, i64* %R1_Var
%lnjYC = inttoptr i64 %lnjYB to i64*
%lnjYD = load i64, i64* %lnjYC, !tbaa !3
%lnjYE = inttoptr i64 %lnjYD to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjYF = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjYE( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjYF, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujKo:
%lnjYG = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJE_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjYH = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjYG( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjYH, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjJE_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJE_info$def to i8*)
define internal ghccc void @cjJE_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJE_info$def to i64)),i64 32), i64 2950, i64 4294967328}>
{
cjJE:
%lsiNb = alloca i64, i32 1
%lsiN7 = alloca i64, i32 1
%lsiN6 = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%lnjYK = load i64, i64* %R1_Var
%lnjYL = add i64 %lnjYK, 47
%lnjYM = inttoptr i64 %lnjYL to i64*
%lnjYN = load i64, i64* %lnjYM, !tbaa !3
store i64 %lnjYN, i64* %lsiNb
%lnjYQ = load i64, i64* %R1_Var
%lnjYR = add i64 %lnjYQ, 31
%lnjYS = inttoptr i64 %lnjYR to i64*
%lnjYT = load i64, i64* %lnjYS, !tbaa !3
%lnjYU = load i64, i64* %lsiNb
%lnjYV = sub i64 %lnjYT, %lnjYU
switch i64 %lnjYV, label %cjJV [i64 0, label %cjK3]
cjJV:
%lnjYY = load i64, i64* %R1_Var
%lnjYZ = add i64 %lnjYY, 7
%lnjZ0 = inttoptr i64 %lnjYZ to i64*
%lnjZ1 = load i64, i64* %lnjZ0, !tbaa !3
store i64 %lnjZ1, i64* %lsiN7
%lnjZ4 = load i64, i64* %R1_Var
%lnjZ5 = add i64 %lnjZ4, 23
%lnjZ6 = inttoptr i64 %lnjZ5 to i64*
%lnjZ7 = load i64, i64* %lnjZ6, !tbaa !3
store i64 %lnjZ7, i64* %lsiN6
%lnjZ8 = load i64, i64* %lsiN6
%lnjZ9 = load i64, i64* %lsiNb
%lnjZa = add i64 %lnjZ8, %lnjZ9
%lnjZb = inttoptr i64 %lnjZa to i8*
store i8 0, i8* %lnjZb, !tbaa !5
%lnjZc = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJT_info$def to i64
%lnjZd = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjZc, i64* %lnjZd, !tbaa !1
%lnjZe = load i64, i64* %lsiN6
store i64 %lnjZe, i64* %R1_Var
%lnjZf = load i64, i64* %lsiN7
%lnjZg = getelementptr inbounds i64, i64* %Sp_Arg, i32 6
store i64 %lnjZf, i64* %lnjZg, !tbaa !1
%lnjZh = bitcast i8* @stg_traceEventzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjZi = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjZh( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjZi, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjK3:
%lnjZj = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjKa_info$def to i64
%lnjZk = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnjZj, i64* %lnjZk, !tbaa !1
%lnjZl = getelementptr inbounds i64, i64* %Sp_Arg, i32 6
%lnjZm = bitcast i64* %lnjZl to i64*
%lnjZn = load i64, i64* %lnjZm, !tbaa !1
%lnjZo = shl i64 %lnjZn, 1
store i64 %lnjZo, i64* %R2_Var
%lnjZp = getelementptr inbounds i64, i64* %Sp_Arg, i32 5
%lnjZq = bitcast i64* %lnjZp to i64*
%lnjZr = load i64, i64* %lnjZq, !tbaa !1
store i64 %lnjZr, i64* %R1_Var
%lnjZs = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siMq_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjZt = load i64, i64* %R1_Var
%lnjZu = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjZs( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjZt, i64 %lnjZu, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjKa_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjKa_info$def to i8*)
define internal ghccc void @cjKa_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}>
{
cjKa:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjZv = load i64, i64* %R1_Var
store i64 %lnjZv, i64* %R1_Var
%lnjZw = load i64*, i64** %Sp_Var
%lnjZx = getelementptr inbounds i64, i64* %lnjZw, i32 7
%lnjZy = ptrtoint i64* %lnjZx to i64
%lnjZz = inttoptr i64 %lnjZy to i64*
store i64* %lnjZz, i64** %Sp_Var
%lnjZA = load i64*, i64** %Sp_Var
%lnjZB = getelementptr inbounds i64, i64* %lnjZA, i32 0
%lnjZC = bitcast i64* %lnjZB to i64*
%lnjZD = load i64, i64* %lnjZC, !tbaa !1
%lnjZE = inttoptr i64 %lnjZD to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjZF = load i64*, i64** %Sp_Var
%lnjZG = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjZE( i64* %Base_Arg, i64* %lnjZF, i64* %Hp_Arg, i64 %lnjZG, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjJT_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJT_info$def to i8*)
define internal ghccc void @cjJT_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 1926, i64 32}>
{
cjJT:
%lsiMy = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnjZH = load i64*, i64** %Sp_Var
%lnjZI = getelementptr inbounds i64, i64* %lnjZH, i32 1
%lnjZJ = bitcast i64* %lnjZI to i64*
%lnjZK = load i64, i64* %lnjZJ, !tbaa !1
store i64 %lnjZK, i64* %lsiMy
%lnjZL = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64
%lnjZM = add i64 %lnjZL, 1
store i64 %lnjZM, i64* %R1_Var
%lnjZN = load i64*, i64** %Sp_Var
%lnjZO = getelementptr inbounds i64, i64* %lnjZN, i32 7
%lnjZP = ptrtoint i64* %lnjZO to i64
%lnjZQ = inttoptr i64 %lnjZP to i64*
store i64* %lnjZQ, i64** %Sp_Var
%lnjZR = load i64*, i64** %Sp_Var
%lnjZS = getelementptr inbounds i64, i64* %lnjZR, i32 0
%lnjZT = bitcast i64* %lnjZS to i64*
%lnjZU = load i64, i64* %lnjZT, !tbaa !1
%lnjZV = inttoptr i64 %lnjZU to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnjZW = load i64*, i64** %Sp_Var
%lnjZX = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjZV( i64* %Base_Arg, i64* %lnjZW, i64* %Hp_Arg, i64 %lnjZX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjJj_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJj_info$def to i8*)
define internal ghccc void @cjJj_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJj_info$def to i64)),i64 32), i64 2694, i64 4294967328}>
{
cjJj:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnjZY = load i64, i64* %R1_Var
%lnjZZ = and i64 %lnjZY, 7
switch i64 %lnjZZ, label %cjJs [i64 2, label %cjJA]
cjJs:
%lnk00 = load i64*, i64** %Sp_Var
%lnk01 = getelementptr inbounds i64, i64* %lnk00, i32 7
%lnk02 = ptrtoint i64* %lnk01 to i64
%lnk03 = inttoptr i64 %lnk02 to i64*
store i64* %lnk03, i64** %Sp_Var
%lnk04 = bitcast i8* @base_GHCziIOziEncodingziFailure_zdwfail_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk05 = load i64*, i64** %Sp_Var
%lnk06 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk04( i64* %Base_Arg, i64* %lnk05, i64* %Hp_Arg, i64 %lnk06, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjJA:
%lnk08 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJz_info$def to i64
%lnk07 = load i64*, i64** %Sp_Var
%lnk09 = getelementptr inbounds i64, i64* %lnk07, i32 0
store i64 %lnk08, i64* %lnk09, !tbaa !1
%lnk0a = load i64*, i64** %Sp_Var
%lnk0b = getelementptr inbounds i64, i64* %lnk0a, i32 6
%lnk0c = bitcast i64* %lnk0b to i64*
%lnk0d = load i64, i64* %lnk0c, !tbaa !1
%lnk0e = shl i64 %lnk0d, 1
store i64 %lnk0e, i64* %R2_Var
%lnk0f = load i64*, i64** %Sp_Var
%lnk0g = getelementptr inbounds i64, i64* %lnk0f, i32 5
%lnk0h = bitcast i64* %lnk0g to i64*
%lnk0i = load i64, i64* %lnk0h, !tbaa !1
store i64 %lnk0i, i64* %R1_Var
%lnk0j = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siMq_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk0k = load i64*, i64** %Sp_Var
%lnk0l = load i64, i64* %R1_Var
%lnk0m = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk0j( i64* %Base_Arg, i64* %lnk0k, i64* %Hp_Arg, i64 %lnk0l, i64 %lnk0m, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjJz_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJz_info$def to i8*)
define internal ghccc void @cjJz_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}>
{
cjJz:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnk0n = load i64, i64* %R1_Var
store i64 %lnk0n, i64* %R1_Var
%lnk0o = load i64*, i64** %Sp_Var
%lnk0p = getelementptr inbounds i64, i64* %lnk0o, i32 7
%lnk0q = ptrtoint i64* %lnk0p to i64
%lnk0r = inttoptr i64 %lnk0q to i64*
store i64* %lnk0r, i64** %Sp_Var
%lnk0s = load i64*, i64** %Sp_Var
%lnk0t = getelementptr inbounds i64, i64* %lnk0s, i32 0
%lnk0u = bitcast i64* %lnk0t to i64*
%lnk0v = load i64, i64* %lnk0u, !tbaa !1
%lnk0w = inttoptr i64 %lnk0v to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk0x = load i64*, i64** %Sp_Var
%lnk0y = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk0w( i64* %Base_Arg, i64* %lnk0x, i64* %Hp_Arg, i64 %lnk0y, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@riFG_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFG_info$def to i8*)
define internal ghccc void @riFG_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFG_info$def to i64)),i64 32), i64 4294967299, i64 0, i64 416611827727}>
{
cjKp:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnk0z = load i64*, i64** %Sp_Var
%lnk0A = getelementptr inbounds i64, i64* %lnk0z, i32 -14
%lnk0B = ptrtoint i64* %lnk0A to i64
%lnk0C = icmp ult i64 %lnk0B, %SpLim_Arg
br i1 %lnk0C, label %cjKq, label %cjKr
cjKr:
%lnk0E = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFj_info$def to i64
%lnk0D = load i64*, i64** %Sp_Var
%lnk0F = getelementptr inbounds i64, i64* %lnk0D, i32 -1
store i64 %lnk0E, i64* %lnk0F, !tbaa !1
store i64 0, i64* %R3_Var
%lnk0G = ptrtoint %riFF_closure_struct* @riFF_closure$def to i64
store i64 %lnk0G, i64* %R2_Var
%lnk0H = load i64*, i64** %Sp_Var
%lnk0I = getelementptr inbounds i64, i64* %lnk0H, i32 -1
%lnk0J = ptrtoint i64* %lnk0I to i64
%lnk0K = inttoptr i64 %lnk0J to i64*
store i64* %lnk0K, i64** %Sp_Var
%lnk0L = bitcast i8* @base_GHCziList_zdwlenAcc_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk0M = load i64*, i64** %Sp_Var
%lnk0N = load i64, i64* %R1_Var
%lnk0O = load i64, i64* %R2_Var
%lnk0P = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk0L( i64* %Base_Arg, i64* %lnk0M, i64* %Hp_Arg, i64 %lnk0N, i64 %lnk0O, i64 %lnk0P, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjKq:
%lnk0Q = ptrtoint %riFG_closure_struct* @riFG_closure$def to i64
store i64 %lnk0Q, i64* %R1_Var
%lnk0R = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnk0S = bitcast i64* %lnk0R to i64*
%lnk0T = load i64, i64* %lnk0S, !tbaa !4
%lnk0U = inttoptr i64 %lnk0T to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk0V = load i64*, i64** %Sp_Var
%lnk0W = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk0U( i64* %Base_Arg, i64* %lnk0V, i64* %Hp_Arg, i64 %lnk0W, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjFj_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFj_info$def to i8*)
define internal ghccc void @cjFj_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFj_info$def to i64)),i64 32), i64 0, i64 141733920800}>
{
cjFj:
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%lsiKc = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnk0Y = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFq_info$def to i64
%lnk0X = load i64*, i64** %Sp_Var
%lnk0Z = getelementptr inbounds i64, i64* %lnk0X, i32 -1
store i64 %lnk0Y, i64* %lnk0Z, !tbaa !1
store i64 4, i64* %R2_Var
%lnk10 = load i64, i64* %R1_Var
store i64 %lnk10, i64* %lsiKc
%lnk11 = load i64, i64* %R1_Var
%lnk12 = shl i64 %lnk11, 2
store i64 %lnk12, i64* %R1_Var
%lnk14 = load i64, i64* %lsiKc
%lnk13 = load i64*, i64** %Sp_Var
%lnk15 = getelementptr inbounds i64, i64* %lnk13, i32 0
store i64 %lnk14, i64* %lnk15, !tbaa !1
%lnk16 = load i64*, i64** %Sp_Var
%lnk17 = getelementptr inbounds i64, i64* %lnk16, i32 -1
%lnk18 = ptrtoint i64* %lnk17 to i64
%lnk19 = inttoptr i64 %lnk18 to i64*
store i64* %lnk19, i64** %Sp_Var
%lnk1a = bitcast i8* @stg_newAlignedPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk1b = load i64*, i64** %Sp_Var
%lnk1c = load i64, i64* %R1_Var
%lnk1d = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk1a( i64* %Base_Arg, i64* %lnk1b, i64* %Hp_Arg, i64 %lnk1c, i64 %lnk1d, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjFq_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFq_info$def to i8*)
define internal ghccc void @cjFq_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFq_info$def to i64)),i64 32), i64 65, i64 141733920800}>
{
cjFq:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiKk = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%lsiKj = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnk1e = load i64*, i64** %Hp_Var
%lnk1f = getelementptr inbounds i64, i64* %lnk1e, i32 2
%lnk1g = ptrtoint i64* %lnk1f to i64
%lnk1h = inttoptr i64 %lnk1g to i64*
store i64* %lnk1h, i64** %Hp_Var
%lnk1i = load i64*, i64** %Hp_Var
%lnk1j = ptrtoint i64* %lnk1i to i64
%lnk1k = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnk1l = bitcast i64* %lnk1k to i64*
%lnk1m = load i64, i64* %lnk1l, !tbaa !4
%lnk1n = icmp ugt i64 %lnk1j, %lnk1m
br i1 %lnk1n, label %cjKv, label %cjKu
cjKu:
%lnk1p = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siKl_info$def to i64
%lnk1o = load i64*, i64** %Hp_Var
%lnk1q = getelementptr inbounds i64, i64* %lnk1o, i32 -1
store i64 %lnk1p, i64* %lnk1q, !tbaa !2
%lnk1s = load i64, i64* %R1_Var
%lnk1t = add i64 %lnk1s, 16
store i64 %lnk1t, i64* %lsiKk
%lnk1v = load i64, i64* %lsiKk
%lnk1u = load i64*, i64** %Hp_Var
%lnk1w = getelementptr inbounds i64, i64* %lnk1u, i32 0
store i64 %lnk1v, i64* %lnk1w, !tbaa !2
%lnk1y = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjG5_info$def to i64
%lnk1x = load i64*, i64** %Sp_Var
%lnk1z = getelementptr inbounds i64, i64* %lnk1x, i32 -2
store i64 %lnk1y, i64* %lnk1z, !tbaa !1
store i64 0, i64* %R3_Var
%lnk1A = ptrtoint %riFF_closure_struct* @riFF_closure$def to i64
store i64 %lnk1A, i64* %R2_Var
%lnk1B = load i64, i64* %R1_Var
store i64 %lnk1B, i64* %lsiKj
%lnk1D = load i64*, i64** %Hp_Var
%lnk1E = ptrtoint i64* %lnk1D to i64
%lnk1F = add i64 %lnk1E, -5
store i64 %lnk1F, i64* %R1_Var
%lnk1H = load i64, i64* %lsiKk
%lnk1G = load i64*, i64** %Sp_Var
%lnk1I = getelementptr inbounds i64, i64* %lnk1G, i32 -1
store i64 %lnk1H, i64* %lnk1I, !tbaa !1
%lnk1K = load i64, i64* %lsiKj
%lnk1J = load i64*, i64** %Sp_Var
%lnk1L = getelementptr inbounds i64, i64* %lnk1J, i32 0
store i64 %lnk1K, i64* %lnk1L, !tbaa !1
%lnk1M = load i64*, i64** %Sp_Var
%lnk1N = getelementptr inbounds i64, i64* %lnk1M, i32 -2
%lnk1O = ptrtoint i64* %lnk1N to i64
%lnk1P = inttoptr i64 %lnk1O to i64*
store i64* %lnk1P, i64** %Sp_Var
%lnk1Q = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siKl_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk1R = load i64*, i64** %Sp_Var
%lnk1S = load i64*, i64** %Hp_Var
%lnk1T = load i64, i64* %R1_Var
%lnk1U = load i64, i64* %R2_Var
%lnk1V = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk1Q( i64* %Base_Arg, i64* %lnk1R, i64* %lnk1S, i64 %lnk1T, i64 %lnk1U, i64 %lnk1V, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjKv:
%lnk1W = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 16, i64* %lnk1W, !tbaa !4
%lnk1X = load i64, i64* %R1_Var
store i64 %lnk1X, i64* %R1_Var
%lnk1Y = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk1Z = load i64*, i64** %Sp_Var
%lnk20 = load i64*, i64** %Hp_Var
%lnk21 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk1Y( i64* %Base_Arg, i64* %lnk1Z, i64* %lnk20, i64 %lnk21, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjG5_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjG5_info$def to i8*)
define internal ghccc void @cjG5_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjG5_info$def to i64)),i64 32), i64 323, i64 4294967328}>
{
cjG5:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnk22 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjG7_info$def to i64
%lnk23 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnk22, i64* %lnk23, !tbaa !1
%lnk24 = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64
%lnk25 = add i64 %lnk24, 1
store i64 %lnk25, i64* %R1_Var
%lnk26 = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk27 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk26( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnk27, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjG7_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjG7_info$def to i8*)
define internal ghccc void @cjG7_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjG7_info$def to i64)),i64 32), i64 323, i64 4294967328}>
{
cjG7:
%lsiKB = alloca i64, i32 1
%lsiKC = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnk29 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGc_info$def to i64
%lnk28 = load i64*, i64** %Sp_Var
%lnk2a = getelementptr inbounds i64, i64* %lnk28, i32 -2
store i64 %lnk29, i64* %lnk2a, !tbaa !1
%lnk2b = load i64, i64* %R1_Var
store i64 %lnk2b, i64* %lsiKB
%lnk2c = load i64*, i64** %Sp_Var
%lnk2d = getelementptr inbounds i64, i64* %lnk2c, i32 3
%lnk2e = bitcast i64* %lnk2d to i64*
%lnk2f = load i64, i64* %lnk2e, !tbaa !1
%lnk2g = add i64 %lnk2f, 1
store i64 %lnk2g, i64* %lsiKC
%lnk2h = load i64, i64* %lsiKC
store i64 %lnk2h, i64* %R1_Var
%lnk2j = load i64, i64* %lsiKC
%lnk2i = load i64*, i64** %Sp_Var
%lnk2k = getelementptr inbounds i64, i64* %lnk2i, i32 -1
store i64 %lnk2j, i64* %lnk2k, !tbaa !1
%lnk2m = load i64, i64* %lsiKB
%lnk2l = load i64*, i64** %Sp_Var
%lnk2n = getelementptr inbounds i64, i64* %lnk2l, i32 0
store i64 %lnk2m, i64* %lnk2n, !tbaa !1
%lnk2o = load i64*, i64** %Sp_Var
%lnk2p = getelementptr inbounds i64, i64* %lnk2o, i32 -2
%lnk2q = ptrtoint i64* %lnk2p to i64
%lnk2r = inttoptr i64 %lnk2q to i64*
store i64* %lnk2r, i64** %Sp_Var
%lnk2s = bitcast i8* @stg_newPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk2t = load i64*, i64** %Sp_Var
%lnk2u = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk2s( i64* %Base_Arg, i64* %lnk2t, i64* %Hp_Arg, i64 %lnk2u, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjGc_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGc_info$def to i8*)
define internal ghccc void @cjGc_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGc_info$def to i64)),i64 32), i64 1349, i64 4294967328}>
{
cjGc:
%lsiKI = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnk2w = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGe_info$def to i64
%lnk2v = load i64*, i64** %Sp_Var
%lnk2x = getelementptr inbounds i64, i64* %lnk2v, i32 -1
store i64 %lnk2w, i64* %lnk2x, !tbaa !1
%lnk2y = load i64, i64* %R1_Var
store i64 %lnk2y, i64* %lsiKI
%lnk2z = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64
%lnk2A = add i64 %lnk2z, 1
store i64 %lnk2A, i64* %R1_Var
%lnk2C = load i64, i64* %lsiKI
%lnk2B = load i64*, i64** %Sp_Var
%lnk2D = getelementptr inbounds i64, i64* %lnk2B, i32 0
store i64 %lnk2C, i64* %lnk2D, !tbaa !1
%lnk2E = load i64*, i64** %Sp_Var
%lnk2F = getelementptr inbounds i64, i64* %lnk2E, i32 -1
%lnk2G = ptrtoint i64* %lnk2F to i64
%lnk2H = inttoptr i64 %lnk2G to i64*
store i64* %lnk2H, i64** %Sp_Var
%lnk2I = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk2J = load i64*, i64** %Sp_Var
%lnk2K = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk2I( i64* %Base_Arg, i64* %lnk2J, i64* %Hp_Arg, i64 %lnk2K, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjGe_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGe_info$def to i8*)
define internal ghccc void @cjGe_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGe_info$def to i64)),i64 32), i64 2694, i64 4294967328}>
{
cjGe:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%lsiKc = alloca i64, i32 1
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%lcjGg = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnk2L = load i64*, i64** %Hp_Var
%lnk2M = getelementptr inbounds i64, i64* %lnk2L, i32 4
%lnk2N = ptrtoint i64* %lnk2M to i64
%lnk2O = inttoptr i64 %lnk2N to i64*
store i64* %lnk2O, i64** %Hp_Var
%lnk2P = load i64*, i64** %Hp_Var
%lnk2Q = ptrtoint i64* %lnk2P to i64
%lnk2R = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnk2S = bitcast i64* %lnk2R to i64*
%lnk2T = load i64, i64* %lnk2S, !tbaa !4
%lnk2U = icmp ugt i64 %lnk2Q, %lnk2T
br i1 %lnk2U, label %cjKB, label %cjKA
cjKA:
%lnk2W = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64
%lnk2V = load i64*, i64** %Hp_Var
%lnk2X = getelementptr inbounds i64, i64* %lnk2V, i32 -3
store i64 %lnk2W, i64* %lnk2X, !tbaa !2
%lnk2Z = load i64*, i64** %Sp_Var
%lnk30 = getelementptr inbounds i64, i64* %lnk2Z, i32 3
%lnk31 = bitcast i64* %lnk30 to i64*
%lnk32 = load i64, i64* %lnk31, !tbaa !1
%lnk2Y = load i64*, i64** %Hp_Var
%lnk33 = getelementptr inbounds i64, i64* %lnk2Y, i32 -2
store i64 %lnk32, i64* %lnk33, !tbaa !2
%lnk35 = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64
%lnk34 = load i64*, i64** %Hp_Var
%lnk36 = getelementptr inbounds i64, i64* %lnk34, i32 -1
store i64 %lnk35, i64* %lnk36, !tbaa !2
%lnk38 = load i64, i64* %R1_Var
%lnk37 = load i64*, i64** %Hp_Var
%lnk39 = getelementptr inbounds i64, i64* %lnk37, i32 0
store i64 %lnk38, i64* %lnk39, !tbaa !2
%lnk3b = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGl_info$def to i64
%lnk3a = load i64*, i64** %Sp_Var
%lnk3c = getelementptr inbounds i64, i64* %lnk3a, i32 0
store i64 %lnk3b, i64* %lnk3c, !tbaa !1
store i64 0, i64* %R6_Var
%lnk3d = load i64*, i64** %Sp_Var
%lnk3e = getelementptr inbounds i64, i64* %lnk3d, i32 6
%lnk3f = bitcast i64* %lnk3e to i64*
%lnk3g = load i64, i64* %lnk3f, !tbaa !1
store i64 %lnk3g, i64* %lsiKc
%lnk3h = load i64, i64* %lsiKc
store i64 %lnk3h, i64* %R5_Var
%lnk3i = ptrtoint i8* @base_GHCziIOziBuffer_ReadBuffer_closure to i64
%lnk3j = add i64 %lnk3i, 1
store i64 %lnk3j, i64* %R4_Var
%lnk3l = load i64*, i64** %Hp_Var
%lnk3m = ptrtoint i64* %lnk3l to i64
%lnk3n = add i64 %lnk3m, -23
store i64 %lnk3n, i64* %lcjGg
%lnk3o = load i64, i64* %lcjGg
store i64 %lnk3o, i64* %R3_Var
%lnk3p = load i64*, i64** %Sp_Var
%lnk3q = getelementptr inbounds i64, i64* %lnk3p, i32 4
%lnk3r = bitcast i64* %lnk3q to i64*
%lnk3s = load i64, i64* %lnk3r, !tbaa !1
store i64 %lnk3s, i64* %R2_Var
%lnk3u = load i64, i64* %lsiKc
%lnk3t = load i64*, i64** %Sp_Var
%lnk3v = getelementptr inbounds i64, i64* %lnk3t, i32 -7
store i64 %lnk3u, i64* %lnk3v, !tbaa !1
%lnk3x = load i64*, i64** %Sp_Var
%lnk3y = getelementptr inbounds i64, i64* %lnk3x, i32 1
%lnk3z = bitcast i64* %lnk3y to i64*
%lnk3A = load i64, i64* %lnk3z, !tbaa !1
%lnk3B = add i64 %lnk3A, 16
%lnk3w = load i64*, i64** %Sp_Var
%lnk3C = getelementptr inbounds i64, i64* %lnk3w, i32 -6
store i64 %lnk3B, i64* %lnk3C, !tbaa !1
%lnk3F = load i64*, i64** %Hp_Var
%lnk3G = ptrtoint i64* %lnk3F to i64
%lnk3H = add i64 %lnk3G, -7
%lnk3D = load i64*, i64** %Sp_Var
%lnk3I = getelementptr inbounds i64, i64* %lnk3D, i32 -5
store i64 %lnk3H, i64* %lnk3I, !tbaa !1
%lnk3K = ptrtoint i8* @base_GHCziIOziBuffer_WriteBuffer_closure to i64
%lnk3L = add i64 %lnk3K, 2
%lnk3J = load i64*, i64** %Sp_Var
%lnk3M = getelementptr inbounds i64, i64* %lnk3J, i32 -4
store i64 %lnk3L, i64* %lnk3M, !tbaa !1
%lnk3O = load i64*, i64** %Sp_Var
%lnk3P = getelementptr inbounds i64, i64* %lnk3O, i32 2
%lnk3Q = bitcast i64* %lnk3P to i64*
%lnk3R = load i64, i64* %lnk3Q, !tbaa !1
%lnk3N = load i64*, i64** %Sp_Var
%lnk3S = getelementptr inbounds i64, i64* %lnk3N, i32 -3
store i64 %lnk3R, i64* %lnk3S, !tbaa !1
%lnk3T = load i64*, i64** %Sp_Var
%lnk3U = getelementptr inbounds i64, i64* %lnk3T, i32 -2
store i64 0, i64* %lnk3U, !tbaa !1
%lnk3V = load i64*, i64** %Sp_Var
%lnk3W = getelementptr inbounds i64, i64* %lnk3V, i32 -1
store i64 0, i64* %lnk3W, !tbaa !1
%lnk3Y = load i64, i64* %lcjGg
%lnk3X = load i64*, i64** %Sp_Var
%lnk3Z = getelementptr inbounds i64, i64* %lnk3X, i32 3
store i64 %lnk3Y, i64* %lnk3Z, !tbaa !1
%lnk40 = load i64*, i64** %Sp_Var
%lnk41 = getelementptr inbounds i64, i64* %lnk40, i32 -7
%lnk42 = ptrtoint i64* %lnk41 to i64
%lnk43 = inttoptr i64 %lnk42 to i64*
store i64* %lnk43, i64** %Sp_Var
%lnk44 = bitcast i8* @base_GHCziIOziEncodingziUTF8_zdwutf8zuencode_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk45 = load i64*, i64** %Sp_Var
%lnk46 = load i64*, i64** %Hp_Var
%lnk47 = load i64, i64* %R1_Var
%lnk48 = load i64, i64* %R2_Var
%lnk49 = load i64, i64* %R3_Var
%lnk4a = load i64, i64* %R4_Var
%lnk4b = load i64, i64* %R5_Var
%lnk4c = load i64, i64* %R6_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk44( i64* %Base_Arg, i64* %lnk45, i64* %lnk46, i64 %lnk47, i64 %lnk48, i64 %lnk49, i64 %lnk4a, i64 %lnk4b, i64 %lnk4c, i64 %SpLim_Arg ) nounwind
ret void
cjKB:
%lnk4d = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 32, i64* %lnk4d, !tbaa !4
%lnk4e = load i64, i64* %R1_Var
store i64 %lnk4e, i64* %R1_Var
%lnk4f = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk4g = load i64*, i64** %Sp_Var
%lnk4h = load i64*, i64** %Hp_Var
%lnk4i = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk4f( i64* %Base_Arg, i64* %lnk4g, i64* %lnk4h, i64 %lnk4i, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjGl_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGl_info$def to i8*)
define internal ghccc void @cjGl_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGl_info$def to i64)),i64 32), i64 2694, i64 4294967328}>
{
cjGl:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnk4j = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGn_info$def to i64
%lnk4k = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnk4j, i64* %lnk4k, !tbaa !1
%lnk4l = load i64, i64* %R1_Var
store i64 %lnk4l, i64* %R1_Var
%lnk4m = load i64, i64* %R1_Var
%lnk4n = and i64 %lnk4m, 7
%lnk4o = icmp ne i64 %lnk4n, 0
br i1 %lnk4o, label %ujLD, label %cjGo
cjGo:
%lnk4q = load i64, i64* %R1_Var
%lnk4r = inttoptr i64 %lnk4q to i64*
%lnk4s = load i64, i64* %lnk4r, !tbaa !3
%lnk4t = inttoptr i64 %lnk4s to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk4u = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk4t( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnk4u, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujLD:
%lnk4v = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGn_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk4w = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk4v( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnk4w, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjGn_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGn_info$def to i8*)
define internal ghccc void @cjGn_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGn_info$def to i64)),i64 32), i64 2694, i64 4294967328}>
{
cjGn:
%lsiKT = alloca i64, i32 1
%lsiKV = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnk4y = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGs_info$def to i64
%lnk4x = load i64*, i64** %Sp_Var
%lnk4z = getelementptr inbounds i64, i64* %lnk4x, i32 -2
store i64 %lnk4y, i64* %lnk4z, !tbaa !1
%lnk4C = load i64, i64* %R1_Var
%lnk4D = add i64 %lnk4C, 7
%lnk4E = inttoptr i64 %lnk4D to i64*
%lnk4F = load i64, i64* %lnk4E, !tbaa !3
store i64 %lnk4F, i64* %lsiKT
%lnk4I = load i64, i64* %R1_Var
%lnk4J = add i64 %lnk4I, 23
%lnk4K = inttoptr i64 %lnk4J to i64*
%lnk4L = load i64, i64* %lnk4K, !tbaa !3
store i64 %lnk4L, i64* %lsiKV
%lnk4O = load i64, i64* %R1_Var
%lnk4P = add i64 %lnk4O, 15
%lnk4Q = inttoptr i64 %lnk4P to i64*
%lnk4R = load i64, i64* %lnk4Q, !tbaa !3
store i64 %lnk4R, i64* %R1_Var
%lnk4T = load i64, i64* %lsiKV
%lnk4S = load i64*, i64** %Sp_Var
%lnk4U = getelementptr inbounds i64, i64* %lnk4S, i32 -1
store i64 %lnk4T, i64* %lnk4U, !tbaa !1
%lnk4W = load i64, i64* %lsiKT
%lnk4V = load i64*, i64** %Sp_Var
%lnk4X = getelementptr inbounds i64, i64* %lnk4V, i32 0
store i64 %lnk4W, i64* %lnk4X, !tbaa !1
%lnk4Y = load i64*, i64** %Sp_Var
%lnk4Z = getelementptr inbounds i64, i64* %lnk4Y, i32 -2
%lnk50 = ptrtoint i64* %lnk4Z to i64
%lnk51 = inttoptr i64 %lnk50 to i64*
store i64* %lnk51, i64** %Sp_Var
%lnk52 = load i64, i64* %R1_Var
%lnk53 = and i64 %lnk52, 7
%lnk54 = icmp ne i64 %lnk53, 0
br i1 %lnk54, label %ujLE, label %cjGt
cjGt:
%lnk56 = load i64, i64* %R1_Var
%lnk57 = inttoptr i64 %lnk56 to i64*
%lnk58 = load i64, i64* %lnk57, !tbaa !3
%lnk59 = inttoptr i64 %lnk58 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk5a = load i64*, i64** %Sp_Var
%lnk5b = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk59( i64* %Base_Arg, i64* %lnk5a, i64* %Hp_Arg, i64 %lnk5b, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujLE:
%lnk5c = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGs_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk5d = load i64*, i64** %Sp_Var
%lnk5e = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk5c( i64* %Base_Arg, i64* %lnk5d, i64* %Hp_Arg, i64 %lnk5e, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjGs_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGs_info$def to i8*)
define internal ghccc void @cjGs_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGs_info$def to i64)),i64 32), i64 10760, i64 4294967328}>
{
cjGs:
%lsiL1 = alloca i64, i32 1
%lsiKY = alloca i64, i32 1
%lsiKX = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnk5h = load i64, i64* %R1_Var
%lnk5i = add i64 %lnk5h, 39
%lnk5j = inttoptr i64 %lnk5i to i64*
%lnk5k = load i64, i64* %lnk5j, !tbaa !3
store i64 %lnk5k, i64* %lsiL1
%lnk5l = load i64, i64* %lsiL1
%lnk5o = load i64, i64* %R1_Var
%lnk5p = add i64 %lnk5o, 47
%lnk5q = inttoptr i64 %lnk5p to i64*
%lnk5r = load i64, i64* %lnk5q, !tbaa !3
%lnk5s = icmp eq i64 %lnk5l, %lnk5r
%lnk5t = zext i1 %lnk5s to i64
switch i64 %lnk5t, label %cjKG [i64 0, label %cjKG
i64 1, label %cjKV]
cjKG:
%lnk5v = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGC_info$def to i64
%lnk5u = load i64*, i64** %Sp_Var
%lnk5w = getelementptr inbounds i64, i64* %lnk5u, i32 -1
store i64 %lnk5v, i64* %lnk5w, !tbaa !1
%lnk5z = load i64, i64* %R1_Var
%lnk5A = add i64 %lnk5z, 7
%lnk5B = inttoptr i64 %lnk5A to i64*
%lnk5C = load i64, i64* %lnk5B, !tbaa !3
store i64 %lnk5C, i64* %lsiKY
%lnk5F = load i64, i64* %R1_Var
%lnk5G = add i64 %lnk5F, 23
%lnk5H = inttoptr i64 %lnk5G to i64*
%lnk5I = load i64, i64* %lnk5H, !tbaa !3
store i64 %lnk5I, i64* %lsiKX
%lnk5J = load i64*, i64** %Sp_Var
%lnk5K = getelementptr inbounds i64, i64* %lnk5J, i32 2
%lnk5L = bitcast i64* %lnk5K to i64*
%lnk5M = load i64, i64* %lnk5L, !tbaa !1
store i64 %lnk5M, i64* %R1_Var
%lnk5O = load i64, i64* %lsiL1
%lnk5N = load i64*, i64** %Sp_Var
%lnk5P = getelementptr inbounds i64, i64* %lnk5N, i32 0
store i64 %lnk5O, i64* %lnk5P, !tbaa !1
%lnk5R = load i64, i64* %lsiKY
%lnk5Q = load i64*, i64** %Sp_Var
%lnk5S = getelementptr inbounds i64, i64* %lnk5Q, i32 1
store i64 %lnk5R, i64* %lnk5S, !tbaa !1
%lnk5U = load i64, i64* %lsiKX
%lnk5T = load i64*, i64** %Sp_Var
%lnk5V = getelementptr inbounds i64, i64* %lnk5T, i32 2
store i64 %lnk5U, i64* %lnk5V, !tbaa !1
%lnk5W = load i64*, i64** %Sp_Var
%lnk5X = getelementptr inbounds i64, i64* %lnk5W, i32 -1
%lnk5Y = ptrtoint i64* %lnk5X to i64
%lnk5Z = inttoptr i64 %lnk5Y to i64*
store i64* %lnk5Z, i64** %Sp_Var
%lnk60 = load i64, i64* %R1_Var
%lnk61 = and i64 %lnk60, 7
%lnk62 = icmp ne i64 %lnk61, 0
br i1 %lnk62, label %ujLF, label %cjGD
cjGD:
%lnk64 = load i64, i64* %R1_Var
%lnk65 = inttoptr i64 %lnk64 to i64*
%lnk66 = load i64, i64* %lnk65, !tbaa !3
%lnk67 = inttoptr i64 %lnk66 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk68 = load i64*, i64** %Sp_Var
%lnk69 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk67( i64* %Base_Arg, i64* %lnk68, i64* %Hp_Arg, i64 %lnk69, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujLF:
%lnk6a = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGC_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk6b = load i64*, i64** %Sp_Var
%lnk6c = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk6a( i64* %Base_Arg, i64* %lnk6b, i64* %Hp_Arg, i64 %lnk6c, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjKV:
%lnk6e = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIt_info$def to i64
%lnk6d = load i64*, i64** %Sp_Var
%lnk6f = getelementptr inbounds i64, i64* %lnk6d, i32 2
store i64 %lnk6e, i64* %lnk6f, !tbaa !1
%lnk6g = load i64*, i64** %Sp_Var
%lnk6h = getelementptr inbounds i64, i64* %lnk6g, i32 1
%lnk6i = bitcast i64* %lnk6h to i64*
%lnk6j = load i64, i64* %lnk6i, !tbaa !1
store i64 %lnk6j, i64* %R1_Var
%lnk6k = load i64*, i64** %Sp_Var
%lnk6l = getelementptr inbounds i64, i64* %lnk6k, i32 2
%lnk6m = ptrtoint i64* %lnk6l to i64
%lnk6n = inttoptr i64 %lnk6m to i64*
store i64* %lnk6n, i64** %Sp_Var
%lnk6o = load i64, i64* %R1_Var
%lnk6p = and i64 %lnk6o, 7
%lnk6q = icmp ne i64 %lnk6p, 0
br i1 %lnk6q, label %ujLG, label %cjIu
cjIu:
%lnk6s = load i64, i64* %R1_Var
%lnk6t = inttoptr i64 %lnk6s to i64*
%lnk6u = load i64, i64* %lnk6t, !tbaa !3
%lnk6v = inttoptr i64 %lnk6u to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk6w = load i64*, i64** %Sp_Var
%lnk6x = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk6v( i64* %Base_Arg, i64* %lnk6w, i64* %Hp_Arg, i64 %lnk6x, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujLG:
%lnk6y = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIt_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk6z = load i64*, i64** %Sp_Var
%lnk6A = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk6y( i64* %Base_Arg, i64* %lnk6z, i64* %Hp_Arg, i64 %lnk6A, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjIt_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIt_info$def to i8*)
define internal ghccc void @cjIt_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIt_info$def to i64)),i64 32), i64 2694, i64 4294967328}>
{
cjIt:
%lsiMj = alloca i64, i32 1
%lsiMk = alloca i64, i32 1
%lsiMf = alloca i64, i32 1
%lsiMe = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnk6D = load i64, i64* %R1_Var
%lnk6E = add i64 %lnk6D, 47
%lnk6F = inttoptr i64 %lnk6E to i64*
%lnk6G = load i64, i64* %lnk6F, !tbaa !3
store i64 %lnk6G, i64* %lsiMj
%lnk6J = load i64, i64* %R1_Var
%lnk6K = add i64 %lnk6J, 31
%lnk6L = inttoptr i64 %lnk6K to i64*
%lnk6M = load i64, i64* %lnk6L, !tbaa !3
%lnk6N = load i64, i64* %lsiMj
%lnk6O = sub i64 %lnk6M, %lnk6N
store i64 %lnk6O, i64* %lsiMk
%lnk6P = load i64, i64* %lsiMk
switch i64 %lnk6P, label %cjL4 [i64 0, label %ujLB]
cjL4:
%lnk6S = load i64, i64* %R1_Var
%lnk6T = add i64 %lnk6S, 7
%lnk6U = inttoptr i64 %lnk6T to i64*
%lnk6V = load i64, i64* %lnk6U, !tbaa !3
store i64 %lnk6V, i64* %lsiMf
%lnk6Y = load i64, i64* %R1_Var
%lnk6Z = add i64 %lnk6Y, 23
%lnk70 = inttoptr i64 %lnk6Z to i64*
%lnk71 = load i64, i64* %lnk70, !tbaa !3
store i64 %lnk71, i64* %lsiMe
%lnk72 = load i64, i64* %lsiMe
%lnk73 = load i64, i64* %lsiMj
%lnk74 = add i64 %lnk72, %lnk73
%lnk75 = inttoptr i64 %lnk74 to i8*
store i8 0, i8* %lnk75, !tbaa !5
%lnk76 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjL2_info$def to i64
%lnk77 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnk76, i64* %lnk77, !tbaa !1
%lnk78 = load i64, i64* %lsiMe
store i64 %lnk78, i64* %R1_Var
%lnk79 = load i64, i64* %lsiMf
%lnk7a = getelementptr inbounds i64, i64* %Sp_Arg, i32 6
store i64 %lnk79, i64* %lnk7a, !tbaa !1
%lnk7b = bitcast i8* @stg_traceEventzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk7c = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk7b( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnk7c, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ujLB:
%lnk7d = load i64, i64* %lsiMk
%lnk7e = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnk7d, i64* %lnk7e, !tbaa !1
%lnk7f = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjID_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk7g = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk7f( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnk7g, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjID_entry = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjID_entry$def to i8*)
define internal ghccc void @cjID_entry$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind
{
cjID:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lsiMk = alloca i64, i32 1
%lnk7h = load i64*, i64** %Hp_Var
%lnk7i = getelementptr inbounds i64, i64* %lnk7h, i32 4
%lnk7j = ptrtoint i64* %lnk7i to i64
%lnk7k = inttoptr i64 %lnk7j to i64*
store i64* %lnk7k, i64** %Hp_Var
%lnk7l = load i64*, i64** %Hp_Var
%lnk7m = ptrtoint i64* %lnk7l to i64
%lnk7n = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnk7o = bitcast i64* %lnk7n to i64*
%lnk7p = load i64, i64* %lnk7o, !tbaa !4
%lnk7q = icmp ugt i64 %lnk7m, %lnk7p
br i1 %lnk7q, label %cjLd, label %cjLc
cjLc:
%lnk7s = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siMq_info$def to i64
%lnk7r = load i64*, i64** %Hp_Var
%lnk7t = getelementptr inbounds i64, i64* %lnk7r, i32 -3
store i64 %lnk7s, i64* %lnk7t, !tbaa !2
%lnk7v = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
%lnk7w = bitcast i64* %lnk7v to i64*
%lnk7x = load i64, i64* %lnk7w, !tbaa !1
%lnk7u = load i64*, i64** %Hp_Var
%lnk7y = getelementptr inbounds i64, i64* %lnk7u, i32 -2
store i64 %lnk7x, i64* %lnk7y, !tbaa !2
%lnk7A = getelementptr inbounds i64, i64* %Sp_Arg, i32 6
%lnk7B = bitcast i64* %lnk7A to i64*
%lnk7C = load i64, i64* %lnk7B, !tbaa !1
%lnk7z = load i64*, i64** %Hp_Var
%lnk7D = getelementptr inbounds i64, i64* %lnk7z, i32 -1
store i64 %lnk7C, i64* %lnk7D, !tbaa !2
%lnk7F = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
%lnk7G = bitcast i64* %lnk7F to i64*
%lnk7H = load i64, i64* %lnk7G, !tbaa !1
%lnk7E = load i64*, i64** %Hp_Var
%lnk7I = getelementptr inbounds i64, i64* %lnk7E, i32 0
store i64 %lnk7H, i64* %lnk7I, !tbaa !2
%lnk7J = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjLh_info$def to i64
%lnk7K = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnk7J, i64* %lnk7K, !tbaa !1
%lnk7L = getelementptr inbounds i64, i64* %Sp_Arg, i32 2
%lnk7M = bitcast i64* %lnk7L to i64*
%lnk7N = load i64, i64* %lnk7M, !tbaa !1
%lnk7O = shl i64 %lnk7N, 1
store i64 %lnk7O, i64* %R2_Var
%lnk7Q = load i64*, i64** %Hp_Var
%lnk7R = ptrtoint i64* %lnk7Q to i64
%lnk7S = add i64 %lnk7R, -22
store i64 %lnk7S, i64* %R1_Var
%lnk7T = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siMq_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk7U = load i64*, i64** %Hp_Var
%lnk7V = load i64, i64* %R1_Var
%lnk7W = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk7T( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnk7U, i64 %lnk7V, i64 %lnk7W, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjLd:
%lnk7X = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 32, i64* %lnk7X, !tbaa !4
%lnk7Y = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
%lnk7Z = bitcast i64* %lnk7Y to i64*
%lnk80 = load i64, i64* %lnk7Z, !tbaa !1
store i64 %lnk80, i64* %lsiMk
%lnk81 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIC_info$def to i64
%lnk82 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnk81, i64* %lnk82, !tbaa !1
%lnk83 = load i64, i64* %lsiMk
store i64 %lnk83, i64* %R1_Var
%lnk84 = bitcast i8* @stg_gc_unbx_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk85 = load i64*, i64** %Hp_Var
%lnk86 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk84( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnk85, i64 %lnk86, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjIC_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIC_info$def to i8*)
define internal ghccc void @cjIC_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIC_info$def to i64)),i64 32), i64 2694, i64 4294967328}>
{
cjIC:
%lnk87 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %R1_Arg, i64* %lnk87, !tbaa !1
%lnk88 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjID_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk88( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjLh_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjLh_info$def to i8*)
define internal ghccc void @cjLh_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 2950, i64 32}>
{
cjLh:
%lsiKj = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnk89 = load i64*, i64** %Sp_Var
%lnk8a = getelementptr inbounds i64, i64* %lnk89, i32 5
%lnk8b = bitcast i64* %lnk8a to i64*
%lnk8c = load i64, i64* %lnk8b, !tbaa !1
store i64 %lnk8c, i64* %lsiKj
%lnk8d = load i64, i64* %R1_Var
store i64 %lnk8d, i64* %R1_Var
%lnk8e = load i64*, i64** %Sp_Var
%lnk8f = getelementptr inbounds i64, i64* %lnk8e, i32 7
%lnk8g = ptrtoint i64* %lnk8f to i64
%lnk8h = inttoptr i64 %lnk8g to i64*
store i64* %lnk8h, i64** %Sp_Var
%lnk8i = load i64*, i64** %Sp_Var
%lnk8j = getelementptr inbounds i64, i64* %lnk8i, i32 0
%lnk8k = bitcast i64* %lnk8j to i64*
%lnk8l = load i64, i64* %lnk8k, !tbaa !1
%lnk8m = inttoptr i64 %lnk8l to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk8n = load i64*, i64** %Sp_Var
%lnk8o = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk8m( i64* %Base_Arg, i64* %lnk8n, i64* %Hp_Arg, i64 %lnk8o, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjL2_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjL2_info$def to i8*)
define internal ghccc void @cjL2_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 902, i64 32}>
{
cjL2:
%lsiKj = alloca i64, i32 1
%lsiKI = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnk8p = load i64*, i64** %Sp_Var
%lnk8q = getelementptr inbounds i64, i64* %lnk8p, i32 5
%lnk8r = bitcast i64* %lnk8q to i64*
%lnk8s = load i64, i64* %lnk8r, !tbaa !1
store i64 %lnk8s, i64* %lsiKj
%lnk8t = load i64*, i64** %Sp_Var
%lnk8u = getelementptr inbounds i64, i64* %lnk8t, i32 1
%lnk8v = bitcast i64* %lnk8u to i64*
%lnk8w = load i64, i64* %lnk8v, !tbaa !1
store i64 %lnk8w, i64* %lsiKI
%lnk8x = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64
%lnk8y = add i64 %lnk8x, 1
store i64 %lnk8y, i64* %R1_Var
%lnk8z = load i64*, i64** %Sp_Var
%lnk8A = getelementptr inbounds i64, i64* %lnk8z, i32 7
%lnk8B = ptrtoint i64* %lnk8A to i64
%lnk8C = inttoptr i64 %lnk8B to i64*
store i64* %lnk8C, i64** %Sp_Var
%lnk8D = load i64*, i64** %Sp_Var
%lnk8E = getelementptr inbounds i64, i64* %lnk8D, i32 0
%lnk8F = bitcast i64* %lnk8E to i64*
%lnk8G = load i64, i64* %lnk8F, !tbaa !1
%lnk8H = inttoptr i64 %lnk8G to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk8I = load i64*, i64** %Sp_Var
%lnk8J = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk8H( i64* %Base_Arg, i64* %lnk8I, i64* %Hp_Arg, i64 %lnk8J, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjGC_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGC_info$def to i8*)
define internal ghccc void @cjGC_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGC_info$def to i64)),i64 32), i64 21833, i64 4294967328}>
{
cjGC:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnk8K = load i64, i64* %R1_Var
%lnk8L = and i64 %lnk8K, 7
switch i64 %lnk8L, label %cjKK [i64 2, label %cjKL]
cjKK:
%lnk8M = load i64*, i64** %Sp_Var
%lnk8N = getelementptr inbounds i64, i64* %lnk8M, i32 10
%lnk8O = ptrtoint i64* %lnk8N to i64
%lnk8P = inttoptr i64 %lnk8O to i64*
store i64* %lnk8P, i64** %Sp_Var
%lnk8Q = bitcast i8* @base_GHCziIOziEncodingziFailure_zdwfail_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk8R = load i64*, i64** %Sp_Var
%lnk8S = load i64*, i64** %Hp_Var
%lnk8T = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk8Q( i64* %Base_Arg, i64* %lnk8R, i64* %lnk8S, i64 %lnk8T, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjKL:
%lnk8U = load i64*, i64** %Hp_Var
%lnk8V = getelementptr inbounds i64, i64* %lnk8U, i32 4
%lnk8W = ptrtoint i64* %lnk8V to i64
%lnk8X = inttoptr i64 %lnk8W to i64*
store i64* %lnk8X, i64** %Hp_Var
%lnk8Y = load i64*, i64** %Hp_Var
%lnk8Z = ptrtoint i64* %lnk8Y to i64
%lnk90 = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnk91 = bitcast i64* %lnk90 to i64*
%lnk92 = load i64, i64* %lnk91, !tbaa !4
%lnk93 = icmp ugt i64 %lnk8Z, %lnk92
br i1 %lnk93, label %cjKO, label %cjKN
cjKN:
%lnk95 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siLb_info$def to i64
%lnk94 = load i64*, i64** %Hp_Var
%lnk96 = getelementptr inbounds i64, i64* %lnk94, i32 -3
store i64 %lnk95, i64* %lnk96, !tbaa !2
%lnk98 = load i64*, i64** %Sp_Var
%lnk99 = getelementptr inbounds i64, i64* %lnk98, i32 6
%lnk9a = bitcast i64* %lnk99 to i64*
%lnk9b = load i64, i64* %lnk9a, !tbaa !1
%lnk97 = load i64*, i64** %Hp_Var
%lnk9c = getelementptr inbounds i64, i64* %lnk97, i32 -2
store i64 %lnk9b, i64* %lnk9c, !tbaa !2
%lnk9e = load i64*, i64** %Sp_Var
%lnk9f = getelementptr inbounds i64, i64* %lnk9e, i32 9
%lnk9g = bitcast i64* %lnk9f to i64*
%lnk9h = load i64, i64* %lnk9g, !tbaa !1
%lnk9d = load i64*, i64** %Hp_Var
%lnk9i = getelementptr inbounds i64, i64* %lnk9d, i32 -1
store i64 %lnk9h, i64* %lnk9i, !tbaa !2
%lnk9k = load i64*, i64** %Sp_Var
%lnk9l = getelementptr inbounds i64, i64* %lnk9k, i32 7
%lnk9m = bitcast i64* %lnk9l to i64*
%lnk9n = load i64, i64* %lnk9m, !tbaa !1
%lnk9j = load i64*, i64** %Hp_Var
%lnk9o = getelementptr inbounds i64, i64* %lnk9j, i32 0
store i64 %lnk9n, i64* %lnk9o, !tbaa !2
%lnk9q = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjKS_info$def to i64
%lnk9p = load i64*, i64** %Sp_Var
%lnk9r = getelementptr inbounds i64, i64* %lnk9p, i32 3
store i64 %lnk9q, i64* %lnk9r, !tbaa !1
%lnk9s = load i64*, i64** %Sp_Var
%lnk9t = getelementptr inbounds i64, i64* %lnk9s, i32 5
%lnk9u = bitcast i64* %lnk9t to i64*
%lnk9v = load i64, i64* %lnk9u, !tbaa !1
%lnk9w = shl i64 %lnk9v, 1
store i64 %lnk9w, i64* %R2_Var
%lnk9y = load i64*, i64** %Hp_Var
%lnk9z = ptrtoint i64* %lnk9y to i64
%lnk9A = add i64 %lnk9z, -22
store i64 %lnk9A, i64* %R1_Var
%lnk9B = load i64*, i64** %Sp_Var
%lnk9C = getelementptr inbounds i64, i64* %lnk9B, i32 3
%lnk9D = ptrtoint i64* %lnk9C to i64
%lnk9E = inttoptr i64 %lnk9D to i64*
store i64* %lnk9E, i64** %Sp_Var
%lnk9F = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siLb_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk9G = load i64*, i64** %Sp_Var
%lnk9H = load i64*, i64** %Hp_Var
%lnk9I = load i64, i64* %R1_Var
%lnk9J = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk9F( i64* %Base_Arg, i64* %lnk9G, i64* %lnk9H, i64 %lnk9I, i64 %lnk9J, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cjKO:
%lnk9K = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 32, i64* %lnk9K, !tbaa !4
%lnk9L = load i64, i64* %R1_Var
store i64 %lnk9L, i64* %R1_Var
%lnk9M = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnk9N = load i64*, i64** %Sp_Var
%lnk9O = load i64*, i64** %Hp_Var
%lnk9P = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk9M( i64* %Base_Arg, i64* %lnk9N, i64* %lnk9O, i64 %lnk9P, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@cjKS_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjKS_info$def to i8*)
define internal ghccc void @cjKS_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 2950, i64 32}>
{
cjKS:
%lsiKj = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnk9Q = load i64*, i64** %Sp_Var
%lnk9R = getelementptr inbounds i64, i64* %lnk9Q, i32 5
%lnk9S = bitcast i64* %lnk9R to i64*
%lnk9T = load i64, i64* %lnk9S, !tbaa !1
store i64 %lnk9T, i64* %lsiKj
%lnk9U = load i64, i64* %R1_Var
store i64 %lnk9U, i64* %R1_Var
%lnk9V = load i64*, i64** %Sp_Var
%lnk9W = getelementptr inbounds i64, i64* %lnk9V, i32 7
%lnk9X = ptrtoint i64* %lnk9W to i64
%lnk9Y = inttoptr i64 %lnk9X to i64*
store i64* %lnk9Y, i64** %Sp_Var
%lnk9Z = load i64*, i64** %Sp_Var
%lnka0 = getelementptr inbounds i64, i64* %lnk9Z, i32 0
%lnka1 = bitcast i64* %lnka0 to i64*
%lnka2 = load i64, i64* %lnka1, !tbaa !1
%lnka3 = inttoptr i64 %lnka2 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnka4 = load i64*, i64** %Sp_Var
%lnka5 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnka3( i64* %Base_Arg, i64* %lnka4, i64* %Hp_Arg, i64 %lnka5, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFH_closure_struct = type <{i64, i64}>
@riFH_closure$def = internal global %riFH_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFH_info$def to i64), i64 0}>
@riFH_closure = internal alias i8* bitcast (%riFH_closure_struct* @riFH_closure$def to i8*)
@riFH_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFH_info$def to i8*)
define internal ghccc void @riFH_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFH_info$def to i64)),i64 80), i64 4294967299, i64 0, i64 4294967311}>
{
ckab:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkae = ptrtoint %riFG_closure_struct* @riFG_closure$def to i64
%lnkaf = add i64 %lnkae, 1
store i64 %lnkaf, i64* %R1_Var
%lnkag = bitcast i8* @stg_maskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkah = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkag( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkah, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFI_closure_struct = type <{i64, i64}>
@riFI_closure$def = internal global %riFI_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFI_info$def to i64), i64 0}>
@riFI_closure = internal alias i8* bitcast (%riFI_closure_struct* @riFI_closure$def to i8*)
@riFI_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFI_info$def to i8*)
define internal ghccc void @riFI_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFI_info$def to i64)),i64 80), i64 4294967299, i64 0, i64 4294967311}>
{
ckan:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkaq = ptrtoint %riFG_closure_struct* @riFG_closure$def to i64
%lnkar = add i64 %lnkaq, 1
store i64 %lnkar, i64* %R1_Var
%lnkas = bitcast i8* @stg_unmaskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkat = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkas( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkat, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFJ_closure_struct = type <{i64, i64}>
@riFJ_closure$def = internal global %riFJ_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFJ_info$def to i64), i64 0}>
@riFJ_closure = internal alias i8* bitcast (%riFJ_closure_struct* @riFJ_closure$def to i8*)
@siNt_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNt_info$def to i8*)
define internal ghccc void @siNt_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}>
{
ckaE:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
store i64 %R2_Arg, i64* %R1_Var
%lnkaM = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkaN = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkaM( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkaN, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@riFJ_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFJ_info$def to i8*)
define internal ghccc void @riFJ_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFJ_info$def to i64)),i64 88), i64 4294967299, i64 0, i64 12884901903}>
{
ckaH:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkaO = load i64*, i64** %Hp_Var
%lnkaP = getelementptr inbounds i64, i64* %lnkaO, i32 2
%lnkaQ = ptrtoint i64* %lnkaP to i64
%lnkaR = inttoptr i64 %lnkaQ to i64*
store i64* %lnkaR, i64** %Hp_Var
%lnkaS = load i64*, i64** %Hp_Var
%lnkaT = ptrtoint i64* %lnkaS to i64
%lnkaU = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnkaV = bitcast i64* %lnkaU to i64*
%lnkaW = load i64, i64* %lnkaV, !tbaa !4
%lnkaX = icmp ugt i64 %lnkaT, %lnkaW
br i1 %lnkaX, label %ckaL, label %ckaK
ckaK:
%lnkaZ = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNt_info$def to i64
%lnkaY = load i64*, i64** %Hp_Var
%lnkb0 = getelementptr inbounds i64, i64* %lnkaY, i32 -1
store i64 %lnkaZ, i64* %lnkb0, !tbaa !2
%lnkb2 = load i64*, i64** %Hp_Var
%lnkb3 = ptrtoint i64* %lnkb2 to i64
%lnkb4 = add i64 %lnkb3, -6
store i64 %lnkb4, i64* %R2_Var
%lnkb5 = ptrtoint %riFI_closure_struct* @riFI_closure$def to i64
%lnkb6 = add i64 %lnkb5, 1
store i64 %lnkb6, i64* %R1_Var
%lnkb7 = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkb8 = load i64*, i64** %Hp_Var
%lnkb9 = load i64, i64* %R1_Var
%lnkba = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkb7( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnkb8, i64 %lnkb9, i64 %lnkba, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckaL:
%lnkbb = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 16, i64* %lnkbb, !tbaa !4
%lnkbc = ptrtoint %riFJ_closure_struct* @riFJ_closure$def to i64
store i64 %lnkbc, i64* %R1_Var
%lnkbd = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnkbe = bitcast i64* %lnkbd to i64*
%lnkbf = load i64, i64* %lnkbe, !tbaa !4
%lnkbg = inttoptr i64 %lnkbf to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkbh = load i64*, i64** %Hp_Var
%lnkbi = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkbg( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnkbh, i64 %lnkbi, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFK_closure_struct = type <{i64, i64}>
@riFK_closure$def = internal global %riFK_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFK_info$def to i64), i64 0}>
@riFK_closure = internal alias i8* bitcast (%riFK_closure_struct* @riFK_closure$def to i8*)
@riFK_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFK_info$def to i8*)
define internal ghccc void @riFK_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFK_info$def to i64)),i64 80), i64 4294967299, i64 0, i64 4294967311}>
{
ckbo:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkbr = ptrtoint %riFG_closure_struct* @riFG_closure$def to i64
%lnkbs = add i64 %lnkbr, 1
store i64 %lnkbs, i64* %R1_Var
%lnkbt = bitcast i8* @stg_maskUninterruptiblezh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkbu = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkbt( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkbu, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFL_closure_struct = type <{i64, i64, i64, i64}>
%ckbC_str_struct = type <{[6 x i8]}>
@riFL_closure$def = internal global %riFL_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFL_info$def to i64), i64 0, i64 0, i64 0}>
@riFL_closure = internal alias i8* bitcast (%riFL_closure_struct* @riFL_closure$def to i8*)
@ckbC_str$def = internal constant %ckbC_str_struct<{[6 x i8] [i8 101, i8 114, i8 114, i8 111, i8 114, i8 0]}>
@ckbC_str = internal alias i8* bitcast (%ckbC_str_struct* @ckbC_str$def to i8*)
@riFL_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFL_info$def to i8*)
define internal ghccc void @riFL_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}>
{
ckbD:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%lckbz = alloca i64, i32 1
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkbG = load i64*, i64** %Sp_Var
%lnkbH = getelementptr inbounds i64, i64* %lnkbG, i32 -2
%lnkbI = ptrtoint i64* %lnkbH to i64
%lnkbJ = icmp ult i64 %lnkbI, %SpLim_Arg
br i1 %lnkbJ, label %ckbE, label %ckbF
ckbF:
%lnkbK = ptrtoint i64* %Base_Arg to i64
%lnkbL = inttoptr i64 %lnkbK to i8*
%lnkbM = load i64, i64* %R1_Var
%lnkbN = inttoptr i64 %lnkbM to i8*
%lnkbO = bitcast i8* @newCAF to i8* (i8*, i8*)*
store i64 undef, i64* %R3_Var
store i64 undef, i64* %R4_Var
store i64 undef, i64* %R5_Var
store i64 undef, i64* %R6_Var
store float undef, float* %F1_Var
store double undef, double* %D1_Var
store float undef, float* %F2_Var
store double undef, double* %D2_Var
store float undef, float* %F3_Var
store double undef, double* %D3_Var
store float undef, float* %F4_Var
store double undef, double* %D4_Var
store float undef, float* %F5_Var
store double undef, double* %D5_Var
store float undef, float* %F6_Var
store double undef, double* %D6_Var
%lnkbP = call ccc i8* (i8*, i8*) %lnkbO( i8* %lnkbL, i8* %lnkbN ) nounwind
%lnkbQ = ptrtoint i8* %lnkbP to i64
store i64 %lnkbQ, i64* %lckbz
%lnkbR = load i64, i64* %lckbz
%lnkbS = icmp eq i64 %lnkbR, 0
br i1 %lnkbS, label %ckbB, label %ckbA
ckbA:
%lnkbU = ptrtoint i8* @stg_bh_upd_frame_info to i64
%lnkbT = load i64*, i64** %Sp_Var
%lnkbV = getelementptr inbounds i64, i64* %lnkbT, i32 -2
store i64 %lnkbU, i64* %lnkbV, !tbaa !1
%lnkbX = load i64, i64* %lckbz
%lnkbW = load i64*, i64** %Sp_Var
%lnkbY = getelementptr inbounds i64, i64* %lnkbW, i32 -1
store i64 %lnkbX, i64* %lnkbY, !tbaa !1
%lnkbZ = ptrtoint %ckbC_str_struct* @ckbC_str$def to i64
store i64 %lnkbZ, i64* %R2_Var
%lnkc0 = load i64*, i64** %Sp_Var
%lnkc1 = getelementptr inbounds i64, i64* %lnkc0, i32 -2
%lnkc2 = ptrtoint i64* %lnkc1 to i64
%lnkc3 = inttoptr i64 %lnkc2 to i64*
store i64* %lnkc3, i64** %Sp_Var
%lnkc4 = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkc5 = load i64*, i64** %Sp_Var
%lnkc6 = load i64, i64* %R1_Var
%lnkc7 = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkc4( i64* %Base_Arg, i64* %lnkc5, i64* %Hp_Arg, i64 %lnkc6, i64 %lnkc7, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckbB:
%lnkc9 = load i64, i64* %R1_Var
%lnkca = inttoptr i64 %lnkc9 to i64*
%lnkcb = load i64, i64* %lnkca, !tbaa !3
%lnkcc = inttoptr i64 %lnkcb to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkcd = load i64*, i64** %Sp_Var
%lnkce = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkcc( i64* %Base_Arg, i64* %lnkcd, i64* %Hp_Arg, i64 %lnkce, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckbE:
%lnkcf = load i64, i64* %R1_Var
store i64 %lnkcf, i64* %R1_Var
%lnkcg = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lnkch = bitcast i64* %lnkcg to i64*
%lnkci = load i64, i64* %lnkch, !tbaa !4
%lnkcj = inttoptr i64 %lnkci to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkck = load i64*, i64** %Sp_Var
%lnkcl = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkcj( i64* %Base_Arg, i64* %lnkck, i64* %Hp_Arg, i64 %lnkcl, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFM_closure_struct = type <{i64, i64, i64, i64}>
%ckct_str_struct = type <{[38 x i8]}>
@riFM_closure$def = internal global %riFM_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFM_info$def to i64), i64 0, i64 0, i64 0}>
@riFM_closure = internal alias i8* bitcast (%riFM_closure_struct* @riFM_closure$def to i8*)
@ckct_str$def = internal constant %ckct_str_struct<{[38 x i8] [i8 118, i8 101, i8 99, i8 116, i8 111, i8 114, i8 45, i8 48, i8 46, i8 49, i8 49, i8 46, i8 48, i8 46, i8 48, i8 45, i8 76, i8 77, i8 119, i8 81, i8 104, i8 104, i8 110, i8 88, i8 106, i8 56, i8 85, i8 51, i8 84, i8 53, i8 66, i8 109, i8 49, i8 74, i8 70, i8 120, i8 71, i8 0]}>
@ckct_str = internal alias i8* bitcast (%ckct_str_struct* @ckct_str$def to i8*)
@riFM_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFM_info$def to i8*)
define internal ghccc void @riFM_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}>
{
ckcu:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%lckcq = alloca i64, i32 1
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkcx = load i64*, i64** %Sp_Var
%lnkcy = getelementptr inbounds i64, i64* %lnkcx, i32 -2
%lnkcz = ptrtoint i64* %lnkcy to i64
%lnkcA = icmp ult i64 %lnkcz, %SpLim_Arg
br i1 %lnkcA, label %ckcv, label %ckcw
ckcw:
%lnkcB = ptrtoint i64* %Base_Arg to i64
%lnkcC = inttoptr i64 %lnkcB to i8*
%lnkcD = load i64, i64* %R1_Var
%lnkcE = inttoptr i64 %lnkcD to i8*
%lnkcF = bitcast i8* @newCAF to i8* (i8*, i8*)*
store i64 undef, i64* %R3_Var
store i64 undef, i64* %R4_Var
store i64 undef, i64* %R5_Var
store i64 undef, i64* %R6_Var
store float undef, float* %F1_Var
store double undef, double* %D1_Var
store float undef, float* %F2_Var
store double undef, double* %D2_Var
store float undef, float* %F3_Var
store double undef, double* %D3_Var
store float undef, float* %F4_Var
store double undef, double* %D4_Var
store float undef, float* %F5_Var
store double undef, double* %D5_Var
store float undef, float* %F6_Var
store double undef, double* %D6_Var
%lnkcG = call ccc i8* (i8*, i8*) %lnkcF( i8* %lnkcC, i8* %lnkcE ) nounwind
%lnkcH = ptrtoint i8* %lnkcG to i64
store i64 %lnkcH, i64* %lckcq
%lnkcI = load i64, i64* %lckcq
%lnkcJ = icmp eq i64 %lnkcI, 0
br i1 %lnkcJ, label %ckcs, label %ckcr
ckcr:
%lnkcL = ptrtoint i8* @stg_bh_upd_frame_info to i64
%lnkcK = load i64*, i64** %Sp_Var
%lnkcM = getelementptr inbounds i64, i64* %lnkcK, i32 -2
store i64 %lnkcL, i64* %lnkcM, !tbaa !1
%lnkcO = load i64, i64* %lckcq
%lnkcN = load i64*, i64** %Sp_Var
%lnkcP = getelementptr inbounds i64, i64* %lnkcN, i32 -1
store i64 %lnkcO, i64* %lnkcP, !tbaa !1
%lnkcQ = ptrtoint %ckct_str_struct* @ckct_str$def to i64
store i64 %lnkcQ, i64* %R2_Var
%lnkcR = load i64*, i64** %Sp_Var
%lnkcS = getelementptr inbounds i64, i64* %lnkcR, i32 -2
%lnkcT = ptrtoint i64* %lnkcS to i64
%lnkcU = inttoptr i64 %lnkcT to i64*
store i64* %lnkcU, i64** %Sp_Var
%lnkcV = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkcW = load i64*, i64** %Sp_Var
%lnkcX = load i64, i64* %R1_Var
%lnkcY = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkcV( i64* %Base_Arg, i64* %lnkcW, i64* %Hp_Arg, i64 %lnkcX, i64 %lnkcY, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckcs:
%lnkd0 = load i64, i64* %R1_Var
%lnkd1 = inttoptr i64 %lnkd0 to i64*
%lnkd2 = load i64, i64* %lnkd1, !tbaa !3
%lnkd3 = inttoptr i64 %lnkd2 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkd4 = load i64*, i64** %Sp_Var
%lnkd5 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkd3( i64* %Base_Arg, i64* %lnkd4, i64* %Hp_Arg, i64 %lnkd5, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckcv:
%lnkd6 = load i64, i64* %R1_Var
store i64 %lnkd6, i64* %R1_Var
%lnkd7 = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lnkd8 = bitcast i64* %lnkd7 to i64*
%lnkd9 = load i64, i64* %lnkd8, !tbaa !4
%lnkda = inttoptr i64 %lnkd9 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkdb = load i64*, i64** %Sp_Var
%lnkdc = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkda( i64* %Base_Arg, i64* %lnkdb, i64* %Hp_Arg, i64 %lnkdc, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFN_closure_struct = type <{i64, i64, i64, i64}>
%ckdk_str_struct = type <{[30 x i8]}>
@riFN_closure$def = internal global %riFN_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFN_info$def to i64), i64 0, i64 0, i64 0}>
@riFN_closure = internal alias i8* bitcast (%riFN_closure_struct* @riFN_closure$def to i8*)
@ckdk_str$def = internal constant %ckdk_str_struct<{[30 x i8] [i8 68, i8 97, i8 116, i8 97, i8 46, i8 86, i8 101, i8 99, i8 116, i8 111, i8 114, i8 46, i8 80, i8 114, i8 105, i8 109, i8 105, i8 116, i8 105, i8 118, i8 101, i8 46, i8 77, i8 117, i8 116, i8 97, i8 98, i8 108, i8 101, i8 0]}>
@ckdk_str = internal alias i8* bitcast (%ckdk_str_struct* @ckdk_str$def to i8*)
@riFN_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFN_info$def to i8*)
define internal ghccc void @riFN_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}>
{
ckdl:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%lckdh = alloca i64, i32 1
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkdo = load i64*, i64** %Sp_Var
%lnkdp = getelementptr inbounds i64, i64* %lnkdo, i32 -2
%lnkdq = ptrtoint i64* %lnkdp to i64
%lnkdr = icmp ult i64 %lnkdq, %SpLim_Arg
br i1 %lnkdr, label %ckdm, label %ckdn
ckdn:
%lnkds = ptrtoint i64* %Base_Arg to i64
%lnkdt = inttoptr i64 %lnkds to i8*
%lnkdu = load i64, i64* %R1_Var
%lnkdv = inttoptr i64 %lnkdu to i8*
%lnkdw = bitcast i8* @newCAF to i8* (i8*, i8*)*
store i64 undef, i64* %R3_Var
store i64 undef, i64* %R4_Var
store i64 undef, i64* %R5_Var
store i64 undef, i64* %R6_Var
store float undef, float* %F1_Var
store double undef, double* %D1_Var
store float undef, float* %F2_Var
store double undef, double* %D2_Var
store float undef, float* %F3_Var
store double undef, double* %D3_Var
store float undef, float* %F4_Var
store double undef, double* %D4_Var
store float undef, float* %F5_Var
store double undef, double* %D5_Var
store float undef, float* %F6_Var
store double undef, double* %D6_Var
%lnkdx = call ccc i8* (i8*, i8*) %lnkdw( i8* %lnkdt, i8* %lnkdv ) nounwind
%lnkdy = ptrtoint i8* %lnkdx to i64
store i64 %lnkdy, i64* %lckdh
%lnkdz = load i64, i64* %lckdh
%lnkdA = icmp eq i64 %lnkdz, 0
br i1 %lnkdA, label %ckdj, label %ckdi
ckdi:
%lnkdC = ptrtoint i8* @stg_bh_upd_frame_info to i64
%lnkdB = load i64*, i64** %Sp_Var
%lnkdD = getelementptr inbounds i64, i64* %lnkdB, i32 -2
store i64 %lnkdC, i64* %lnkdD, !tbaa !1
%lnkdF = load i64, i64* %lckdh
%lnkdE = load i64*, i64** %Sp_Var
%lnkdG = getelementptr inbounds i64, i64* %lnkdE, i32 -1
store i64 %lnkdF, i64* %lnkdG, !tbaa !1
%lnkdH = ptrtoint %ckdk_str_struct* @ckdk_str$def to i64
store i64 %lnkdH, i64* %R2_Var
%lnkdI = load i64*, i64** %Sp_Var
%lnkdJ = getelementptr inbounds i64, i64* %lnkdI, i32 -2
%lnkdK = ptrtoint i64* %lnkdJ to i64
%lnkdL = inttoptr i64 %lnkdK to i64*
store i64* %lnkdL, i64** %Sp_Var
%lnkdM = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkdN = load i64*, i64** %Sp_Var
%lnkdO = load i64, i64* %R1_Var
%lnkdP = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkdM( i64* %Base_Arg, i64* %lnkdN, i64* %Hp_Arg, i64 %lnkdO, i64 %lnkdP, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckdj:
%lnkdR = load i64, i64* %R1_Var
%lnkdS = inttoptr i64 %lnkdR to i64*
%lnkdT = load i64, i64* %lnkdS, !tbaa !3
%lnkdU = inttoptr i64 %lnkdT to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkdV = load i64*, i64** %Sp_Var
%lnkdW = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkdU( i64* %Base_Arg, i64* %lnkdV, i64* %Hp_Arg, i64 %lnkdW, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckdm:
%lnkdX = load i64, i64* %R1_Var
store i64 %lnkdX, i64* %R1_Var
%lnkdY = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lnkdZ = bitcast i64* %lnkdY to i64*
%lnke0 = load i64, i64* %lnkdZ, !tbaa !4
%lnke1 = inttoptr i64 %lnke0 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnke2 = load i64*, i64** %Sp_Var
%lnke3 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnke1( i64* %Base_Arg, i64* %lnke2, i64* %Hp_Arg, i64 %lnke3, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFO_closure_struct = type <{i64, i64, i64, i64}>
%ckeb_str_struct = type <{[35 x i8]}>
@riFO_closure$def = internal global %riFO_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFO_info$def to i64), i64 0, i64 0, i64 0}>
@riFO_closure = internal alias i8* bitcast (%riFO_closure_struct* @riFO_closure$def to i8*)
@ckeb_str$def = internal constant %ckeb_str_struct<{[35 x i8] [i8 46, i8 47, i8 68, i8 97, i8 116, i8 97, i8 47, i8 86, i8 101, i8 99, i8 116, i8 111, i8 114, i8 47, i8 80, i8 114, i8 105, i8 109, i8 105, i8 116, i8 105, i8 118, i8 101, i8 47, i8 77, i8 117, i8 116, i8 97, i8 98, i8 108, i8 101, i8 46, i8 104, i8 115, i8 0]}>
@ckeb_str = internal alias i8* bitcast (%ckeb_str_struct* @ckeb_str$def to i8*)
@riFO_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFO_info$def to i8*)
define internal ghccc void @riFO_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}>
{
ckec:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%lcke8 = alloca i64, i32 1
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkef = load i64*, i64** %Sp_Var
%lnkeg = getelementptr inbounds i64, i64* %lnkef, i32 -2
%lnkeh = ptrtoint i64* %lnkeg to i64
%lnkei = icmp ult i64 %lnkeh, %SpLim_Arg
br i1 %lnkei, label %cked, label %ckee
ckee:
%lnkej = ptrtoint i64* %Base_Arg to i64
%lnkek = inttoptr i64 %lnkej to i8*
%lnkel = load i64, i64* %R1_Var
%lnkem = inttoptr i64 %lnkel to i8*
%lnken = bitcast i8* @newCAF to i8* (i8*, i8*)*
store i64 undef, i64* %R3_Var
store i64 undef, i64* %R4_Var
store i64 undef, i64* %R5_Var
store i64 undef, i64* %R6_Var
store float undef, float* %F1_Var
store double undef, double* %D1_Var
store float undef, float* %F2_Var
store double undef, double* %D2_Var
store float undef, float* %F3_Var
store double undef, double* %D3_Var
store float undef, float* %F4_Var
store double undef, double* %D4_Var
store float undef, float* %F5_Var
store double undef, double* %D5_Var
store float undef, float* %F6_Var
store double undef, double* %D6_Var
%lnkeo = call ccc i8* (i8*, i8*) %lnken( i8* %lnkek, i8* %lnkem ) nounwind
%lnkep = ptrtoint i8* %lnkeo to i64
store i64 %lnkep, i64* %lcke8
%lnkeq = load i64, i64* %lcke8
%lnker = icmp eq i64 %lnkeq, 0
br i1 %lnker, label %ckea, label %cke9
cke9:
%lnket = ptrtoint i8* @stg_bh_upd_frame_info to i64
%lnkes = load i64*, i64** %Sp_Var
%lnkeu = getelementptr inbounds i64, i64* %lnkes, i32 -2
store i64 %lnket, i64* %lnkeu, !tbaa !1
%lnkew = load i64, i64* %lcke8
%lnkev = load i64*, i64** %Sp_Var
%lnkex = getelementptr inbounds i64, i64* %lnkev, i32 -1
store i64 %lnkew, i64* %lnkex, !tbaa !1
%lnkey = ptrtoint %ckeb_str_struct* @ckeb_str$def to i64
store i64 %lnkey, i64* %R2_Var
%lnkez = load i64*, i64** %Sp_Var
%lnkeA = getelementptr inbounds i64, i64* %lnkez, i32 -2
%lnkeB = ptrtoint i64* %lnkeA to i64
%lnkeC = inttoptr i64 %lnkeB to i64*
store i64* %lnkeC, i64** %Sp_Var
%lnkeD = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkeE = load i64*, i64** %Sp_Var
%lnkeF = load i64, i64* %R1_Var
%lnkeG = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkeD( i64* %Base_Arg, i64* %lnkeE, i64* %Hp_Arg, i64 %lnkeF, i64 %lnkeG, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckea:
%lnkeI = load i64, i64* %R1_Var
%lnkeJ = inttoptr i64 %lnkeI to i64*
%lnkeK = load i64, i64* %lnkeJ, !tbaa !3
%lnkeL = inttoptr i64 %lnkeK to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkeM = load i64*, i64** %Sp_Var
%lnkeN = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkeL( i64* %Base_Arg, i64* %lnkeM, i64* %Hp_Arg, i64 %lnkeN, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
cked:
%lnkeO = load i64, i64* %R1_Var
store i64 %lnkeO, i64* %R1_Var
%lnkeP = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lnkeQ = bitcast i64* %lnkeP to i64*
%lnkeR = load i64, i64* %lnkeQ, !tbaa !4
%lnkeS = inttoptr i64 %lnkeR to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkeT = load i64*, i64** %Sp_Var
%lnkeU = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkeS( i64* %Base_Arg, i64* %lnkeT, i64* %Hp_Arg, i64 %lnkeU, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFP_closure_struct = type <{i64, i64}>
@riFP_closure$def = internal global %riFP_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Izh_static_info to i64), i64 97}>
@riFP_closure = internal alias i8* bitcast (%riFP_closure_struct* @riFP_closure$def to i8*)
%riFQ_closure_struct = type <{i64, i64}>
@riFQ_closure$def = internal global %riFQ_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Izh_static_info to i64), i64 16}>
@riFQ_closure = internal alias i8* bitcast (%riFQ_closure_struct* @riFQ_closure$def to i8*)
%riFR_closure_struct = type <{i64, i64}>
@riFR_closure$def = internal global %riFR_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Izh_static_info to i64), i64 79}>
@riFR_closure = internal alias i8* bitcast (%riFR_closure_struct* @riFR_closure$def to i8*)
%riFS_closure_struct = type <{i64, i64, i64, i64, i64, i64, i64, i64, i64}>
@riFS_closure$def = internal global %riFS_closure_struct<{i64 ptrtoint (i8* @base_GHCziStackziTypes_SrcLoc_static_info to i64), i64 ptrtoint (%riFM_closure_struct* @riFM_closure$def to i64), i64 ptrtoint (%riFN_closure_struct* @riFN_closure$def to i64), i64 ptrtoint (%riFO_closure_struct* @riFO_closure$def to i64), i64 add (i64 ptrtoint (%riFP_closure_struct* @riFP_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%riFQ_closure_struct* @riFQ_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%riFP_closure_struct* @riFP_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%riFR_closure_struct* @riFR_closure$def to i64),i64 1), i64 0}>
@riFS_closure = internal alias i8* bitcast (%riFS_closure_struct* @riFS_closure$def to i8*)
%riFT_closure_struct = type <{i64, i64, i64, i64, i64}>
@riFT_closure$def = internal global %riFT_closure_struct<{i64 ptrtoint (i8* @base_GHCziStackziTypes_PushCallStack_static_info to i64), i64 ptrtoint (%riFL_closure_struct* @riFL_closure$def to i64), i64 add (i64 ptrtoint (%riFS_closure_struct* @riFS_closure$def to i64),i64 1), i64 add (i64 ptrtoint (i8* @base_GHCziStackziTypes_EmptyCallStack_closure to i64),i64 1), i64 0}>
@riFT_closure = internal alias i8* bitcast (%riFT_closure_struct* @riFT_closure$def to i8*)
%riFU_closure_struct = type <{i64, i64, i64, i64}>
@riFU_closure$def = internal global %riFU_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFU_info$def to i64), i64 0, i64 0, i64 0}>
@riFU_closure = internal alias i8* bitcast (%riFU_closure_struct* @riFU_closure$def to i8*)
@siNC_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNC_info$def to i8*)
define internal ghccc void @siNC_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 4294967296, i64 18}>
{
ckfl:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkfJ = load i64*, i64** %Sp_Var
%lnkfK = getelementptr inbounds i64, i64* %lnkfJ, i32 -3
%lnkfL = ptrtoint i64* %lnkfK to i64
%lnkfM = icmp ult i64 %lnkfL, %SpLim_Arg
br i1 %lnkfM, label %ckfq, label %ckfr
ckfr:
%lnkfO = ptrtoint i8* @stg_upd_frame_info to i64
%lnkfN = load i64*, i64** %Sp_Var
%lnkfP = getelementptr inbounds i64, i64* %lnkfN, i32 -2
store i64 %lnkfO, i64* %lnkfP, !tbaa !1
%lnkfR = load i64, i64* %R1_Var
%lnkfQ = load i64*, i64** %Sp_Var
%lnkfS = getelementptr inbounds i64, i64* %lnkfQ, i32 -1
store i64 %lnkfR, i64* %lnkfS, !tbaa !1
%lnkfU = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckfn_info$def to i64
%lnkfT = load i64*, i64** %Sp_Var
%lnkfV = getelementptr inbounds i64, i64* %lnkfT, i32 -3
store i64 %lnkfU, i64* %lnkfV, !tbaa !1
%lnkfW = ptrtoint i8* @ghczmprim_GHCziTypes_ZMZN_closure to i64
%lnkfX = add i64 %lnkfW, 1
store i64 %lnkfX, i64* %R3_Var
%lnkg0 = load i64, i64* %R1_Var
%lnkg1 = add i64 %lnkg0, 16
%lnkg2 = inttoptr i64 %lnkg1 to i64*
%lnkg3 = load i64, i64* %lnkg2, !tbaa !3
%lnkg4 = sub i64 0, %lnkg3
store i64 %lnkg4, i64* %R2_Var
%lnkg5 = load i64*, i64** %Sp_Var
%lnkg6 = getelementptr inbounds i64, i64* %lnkg5, i32 -3
%lnkg7 = ptrtoint i64* %lnkg6 to i64
%lnkg8 = inttoptr i64 %lnkg7 to i64*
store i64* %lnkg8, i64** %Sp_Var
%lnkg9 = bitcast i8* @base_GHCziShow_zdwitoszq_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkga = load i64*, i64** %Sp_Var
%lnkgb = load i64, i64* %R1_Var
%lnkgc = load i64, i64* %R2_Var
%lnkgd = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkg9( i64* %Base_Arg, i64* %lnkga, i64* %Hp_Arg, i64 %lnkgb, i64 %lnkgc, i64 %lnkgd, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckfq:
%lnkge = load i64, i64* %R1_Var
store i64 %lnkge, i64* %R1_Var
%lnkgf = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lnkgg = bitcast i64* %lnkgf to i64*
%lnkgh = load i64, i64* %lnkgg, !tbaa !4
%lnkgi = inttoptr i64 %lnkgh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkgj = load i64*, i64** %Sp_Var
%lnkgk = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkgi( i64* %Base_Arg, i64* %lnkgj, i64* %Hp_Arg, i64 %lnkgk, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckfn_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckfn_info$def to i8*)
define internal ghccc void @ckfn_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}>
{
ckfn:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnkgl = load i64*, i64** %Hp_Var
%lnkgm = getelementptr inbounds i64, i64* %lnkgl, i32 3
%lnkgn = ptrtoint i64* %lnkgm to i64
%lnkgo = inttoptr i64 %lnkgn to i64*
store i64* %lnkgo, i64** %Hp_Var
%lnkgp = load i64*, i64** %Hp_Var
%lnkgq = ptrtoint i64* %lnkgp to i64
%lnkgr = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnkgs = bitcast i64* %lnkgr to i64*
%lnkgt = load i64, i64* %lnkgs, !tbaa !4
%lnkgu = icmp ugt i64 %lnkgq, %lnkgt
br i1 %lnkgu, label %ckfu, label %ckft
ckft:
%lnkgw = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64
%lnkgv = load i64*, i64** %Hp_Var
%lnkgx = getelementptr inbounds i64, i64* %lnkgv, i32 -2
store i64 %lnkgw, i64* %lnkgx, !tbaa !2
%lnkgz = load i64, i64* %R1_Var
%lnkgy = load i64*, i64** %Hp_Var
%lnkgA = getelementptr inbounds i64, i64* %lnkgy, i32 -1
store i64 %lnkgz, i64* %lnkgA, !tbaa !2
%lnkgC = load i64, i64* %R2_Var
%lnkgB = load i64*, i64** %Hp_Var
%lnkgD = getelementptr inbounds i64, i64* %lnkgB, i32 0
store i64 %lnkgC, i64* %lnkgD, !tbaa !2
%lnkgF = load i64*, i64** %Hp_Var
%lnkgG = ptrtoint i64* %lnkgF to i64
%lnkgH = add i64 %lnkgG, -14
store i64 %lnkgH, i64* %R1_Var
%lnkgI = load i64*, i64** %Sp_Var
%lnkgJ = getelementptr inbounds i64, i64* %lnkgI, i32 1
%lnkgK = ptrtoint i64* %lnkgJ to i64
%lnkgL = inttoptr i64 %lnkgK to i64*
store i64* %lnkgL, i64** %Sp_Var
%lnkgM = load i64*, i64** %Sp_Var
%lnkgN = getelementptr inbounds i64, i64* %lnkgM, i32 0
%lnkgO = bitcast i64* %lnkgN to i64*
%lnkgP = load i64, i64* %lnkgO, !tbaa !1
%lnkgQ = inttoptr i64 %lnkgP to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkgR = load i64*, i64** %Sp_Var
%lnkgS = load i64*, i64** %Hp_Var
%lnkgT = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkgQ( i64* %Base_Arg, i64* %lnkgR, i64* %lnkgS, i64 %lnkgT, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckfu:
%lnkgU = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 24, i64* %lnkgU, !tbaa !4
%lnkgV = load i64, i64* %R2_Var
store i64 %lnkgV, i64* %R2_Var
%lnkgW = load i64, i64* %R1_Var
store i64 %lnkgW, i64* %R1_Var
%lnkgX = bitcast i8* @stg_gc_pp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkgY = load i64*, i64** %Sp_Var
%lnkgZ = load i64*, i64** %Hp_Var
%lnkh0 = load i64, i64* %R1_Var
%lnkh1 = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkgX( i64* %Base_Arg, i64* %lnkgY, i64* %lnkgZ, i64 %lnkh0, i64 %lnkh1, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@riFU_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFU_info$def to i8*)
define internal ghccc void @riFU_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}>
{
ckfx:
%lriFU = alloca i64, i32 1
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%lckfc = alloca i64, i32 1
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkh2 = load i64, i64* %R1_Var
store i64 %lnkh2, i64* %lriFU
%lnkh3 = load i64*, i64** %Sp_Var
%lnkh4 = getelementptr inbounds i64, i64* %lnkh3, i32 -3
%lnkh5 = ptrtoint i64* %lnkh4 to i64
%lnkh6 = icmp ult i64 %lnkh5, %SpLim_Arg
br i1 %lnkh6, label %ckfC, label %ckfD
ckfD:
%lnkh7 = load i64*, i64** %Hp_Var
%lnkh8 = getelementptr inbounds i64, i64* %lnkh7, i32 3
%lnkh9 = ptrtoint i64* %lnkh8 to i64
%lnkha = inttoptr i64 %lnkh9 to i64*
store i64* %lnkha, i64** %Hp_Var
%lnkhb = load i64*, i64** %Hp_Var
%lnkhc = ptrtoint i64* %lnkhb to i64
%lnkhd = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnkhe = bitcast i64* %lnkhd to i64*
%lnkhf = load i64, i64* %lnkhe, !tbaa !4
%lnkhg = icmp ugt i64 %lnkhc, %lnkhf
br i1 %lnkhg, label %ckfF, label %ckfE
ckfE:
%lnkhh = ptrtoint i64* %Base_Arg to i64
%lnkhi = inttoptr i64 %lnkhh to i8*
%lnkhj = load i64, i64* %lriFU
%lnkhk = inttoptr i64 %lnkhj to i8*
%lnkhl = bitcast i8* @newCAF to i8* (i8*, i8*)*
store i64 undef, i64* %R3_Var
store i64 undef, i64* %R4_Var
store i64 undef, i64* %R5_Var
store i64 undef, i64* %R6_Var
store float undef, float* %F1_Var
store double undef, double* %D1_Var
store float undef, float* %F2_Var
store double undef, double* %D2_Var
store float undef, float* %F3_Var
store double undef, double* %D3_Var
store float undef, float* %F4_Var
store double undef, double* %D4_Var
store float undef, float* %F5_Var
store double undef, double* %D5_Var
store float undef, float* %F6_Var
store double undef, double* %D6_Var
%lnkhm = call ccc i8* (i8*, i8*) %lnkhl( i8* %lnkhi, i8* %lnkhk ) nounwind
%lnkhn = ptrtoint i8* %lnkhm to i64
store i64 %lnkhn, i64* %lckfc
%lnkho = load i64, i64* %lckfc
%lnkhp = icmp eq i64 %lnkho, 0
br i1 %lnkhp, label %ckfe, label %ckfd
ckfd:
%lnkhr = ptrtoint i8* @stg_bh_upd_frame_info to i64
%lnkhq = load i64*, i64** %Sp_Var
%lnkhs = getelementptr inbounds i64, i64* %lnkhq, i32 -2
store i64 %lnkhr, i64* %lnkhs, !tbaa !1
%lnkhu = load i64, i64* %lckfc
%lnkht = load i64*, i64** %Sp_Var
%lnkhv = getelementptr inbounds i64, i64* %lnkht, i32 -1
store i64 %lnkhu, i64* %lnkhv, !tbaa !1
%lnkhx = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNC_info$def to i64
%lnkhw = load i64*, i64** %Hp_Var
%lnkhy = getelementptr inbounds i64, i64* %lnkhw, i32 -2
store i64 %lnkhx, i64* %lnkhy, !tbaa !2
%lnkhz = load i64*, i64** %Hp_Var
%lnkhA = getelementptr inbounds i64, i64* %lnkhz, i32 0
store i64 -8, i64* %lnkhA, !tbaa !2
%lnkhC = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckfz_info$def to i64
%lnkhB = load i64*, i64** %Sp_Var
%lnkhD = getelementptr inbounds i64, i64* %lnkhB, i32 -3
store i64 %lnkhC, i64* %lnkhD, !tbaa !1
%lnkhE = load i64*, i64** %Hp_Var
%lnkhF = getelementptr inbounds i64, i64* %lnkhE, i32 -2
%lnkhG = ptrtoint i64* %lnkhF to i64
store i64 %lnkhG, i64* %R3_Var
store i64 922337203685477580, i64* %R2_Var
%lnkhH = load i64*, i64** %Sp_Var
%lnkhI = getelementptr inbounds i64, i64* %lnkhH, i32 -3
%lnkhJ = ptrtoint i64* %lnkhI to i64
%lnkhK = inttoptr i64 %lnkhJ to i64*
store i64* %lnkhK, i64** %Sp_Var
%lnkhL = bitcast i8* @base_GHCziShow_zdwitoszq_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkhM = load i64*, i64** %Sp_Var
%lnkhN = load i64*, i64** %Hp_Var
%lnkhO = load i64, i64* %R1_Var
%lnkhP = load i64, i64* %R2_Var
%lnkhQ = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkhL( i64* %Base_Arg, i64* %lnkhM, i64* %lnkhN, i64 %lnkhO, i64 %lnkhP, i64 %lnkhQ, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckfe:
%lnkhR = load i64, i64* %lriFU
%lnkhS = inttoptr i64 %lnkhR to i64*
%lnkhT = load i64, i64* %lnkhS, !tbaa !5
%lnkhU = inttoptr i64 %lnkhT to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkhV = load i64*, i64** %Sp_Var
%lnkhW = load i64*, i64** %Hp_Var
%lnkhX = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkhU( i64* %Base_Arg, i64* %lnkhV, i64* %lnkhW, i64 %lnkhX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckfF:
%lnkhY = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 24, i64* %lnkhY, !tbaa !4
br label %ckfC
ckfC:
%lnkhZ = load i64, i64* %lriFU
store i64 %lnkhZ, i64* %R1_Var
%lnki0 = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lnki1 = bitcast i64* %lnki0 to i64*
%lnki2 = load i64, i64* %lnki1, !tbaa !4
%lnki3 = inttoptr i64 %lnki2 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnki4 = load i64*, i64** %Sp_Var
%lnki5 = load i64*, i64** %Hp_Var
%lnki6 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnki3( i64* %Base_Arg, i64* %lnki4, i64* %lnki5, i64 %lnki6, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckfz_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckfz_info$def to i8*)
define internal ghccc void @ckfz_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}>
{
ckfz:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnki7 = load i64*, i64** %Hp_Var
%lnki8 = getelementptr inbounds i64, i64* %lnki7, i32 3
%lnki9 = ptrtoint i64* %lnki8 to i64
%lnkia = inttoptr i64 %lnki9 to i64*
store i64* %lnkia, i64** %Hp_Var
%lnkib = load i64*, i64** %Hp_Var
%lnkic = ptrtoint i64* %lnkib to i64
%lnkid = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnkie = bitcast i64* %lnkid to i64*
%lnkif = load i64, i64* %lnkie, !tbaa !4
%lnkig = icmp ugt i64 %lnkic, %lnkif
br i1 %lnkig, label %ckfI, label %ckfH
ckfH:
%lnkii = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64
%lnkih = load i64*, i64** %Hp_Var
%lnkij = getelementptr inbounds i64, i64* %lnkih, i32 -2
store i64 %lnkii, i64* %lnkij, !tbaa !2
%lnkil = load i64, i64* %R1_Var
%lnkik = load i64*, i64** %Hp_Var
%lnkim = getelementptr inbounds i64, i64* %lnkik, i32 -1
store i64 %lnkil, i64* %lnkim, !tbaa !2
%lnkio = load i64, i64* %R2_Var
%lnkin = load i64*, i64** %Hp_Var
%lnkip = getelementptr inbounds i64, i64* %lnkin, i32 0
store i64 %lnkio, i64* %lnkip, !tbaa !2
%lnkir = load i64*, i64** %Hp_Var
%lnkis = ptrtoint i64* %lnkir to i64
%lnkit = add i64 %lnkis, -14
store i64 %lnkit, i64* %R1_Var
%lnkiu = load i64*, i64** %Sp_Var
%lnkiv = getelementptr inbounds i64, i64* %lnkiu, i32 1
%lnkiw = ptrtoint i64* %lnkiv to i64
%lnkix = inttoptr i64 %lnkiw to i64*
store i64* %lnkix, i64** %Sp_Var
%lnkiy = load i64*, i64** %Sp_Var
%lnkiz = getelementptr inbounds i64, i64* %lnkiy, i32 0
%lnkiA = bitcast i64* %lnkiz to i64*
%lnkiB = load i64, i64* %lnkiA, !tbaa !1
%lnkiC = inttoptr i64 %lnkiB to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkiD = load i64*, i64** %Sp_Var
%lnkiE = load i64*, i64** %Hp_Var
%lnkiF = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkiC( i64* %Base_Arg, i64* %lnkiD, i64* %lnkiE, i64 %lnkiF, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckfI:
%lnkiG = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 24, i64* %lnkiG, !tbaa !4
%lnkiH = load i64, i64* %R2_Var
store i64 %lnkiH, i64* %R2_Var
%lnkiI = load i64, i64* %R1_Var
store i64 %lnkiI, i64* %R1_Var
%lnkiJ = bitcast i8* @stg_gc_pp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkiK = load i64*, i64** %Sp_Var
%lnkiL = load i64*, i64** %Hp_Var
%lnkiM = load i64, i64* %R1_Var
%lnkiN = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkiJ( i64* %Base_Arg, i64* %lnkiK, i64* %lnkiL, i64 %lnkiM, i64 %lnkiN, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFV_closure_struct = type <{i64, i64, i64, i64}>
@riFV_closure$def = internal global %riFV_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_ZC_static_info to i64), i64 ptrtoint (i8* @base_GHCziShow_shows9_closure to i64), i64 ptrtoint (%riFU_closure_struct* @riFU_closure$def to i64), i64 0}>
@riFV_closure = internal alias i8* bitcast (%riFV_closure_struct* @riFV_closure$def to i8*)
%riFW_closure_struct = type <{i64, i64}>
%ckjZ_str_struct = type <{[44 x i8]}>
@riFW_closure$def = internal global %riFW_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFW_info$def to i64), i64 0}>
@riFW_closure = internal alias i8* bitcast (%riFW_closure_struct* @riFW_closure$def to i8*)
@ckjZ_str$def = internal constant %ckjZ_str_struct<{[44 x i8] [i8 80, i8 114, i8 105, i8 109, i8 105, i8 116, i8 105, i8 118, i8 101, i8 46, i8 98, i8 97, i8 115, i8 105, i8 99, i8 85, i8 110, i8 115, i8 97, i8 102, i8 101, i8 78, i8 101, i8 119, i8 58, i8 32, i8 108, i8 101, i8 110, i8 103, i8 116, i8 104, i8 32, i8 116, i8 111, i8 32, i8 108, i8 97, i8 114, i8 103, i8 101, i8 58, i8 32, i8 0]}>
@ckjZ_str = internal alias i8* bitcast (%ckjZ_str_struct* @ckjZ_str$def to i8*)
@siNR_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNR_info$def to i8*)
define internal ghccc void @siNR_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 4294967296, i64 18}>
{
ckjx:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkka = load i64*, i64** %Sp_Var
%lnkkb = getelementptr inbounds i64, i64* %lnkka, i32 -3
%lnkkc = ptrtoint i64* %lnkkb to i64
%lnkkd = icmp ult i64 %lnkkc, %SpLim_Arg
br i1 %lnkkd, label %ckjC, label %ckjD
ckjD:
%lnkkf = ptrtoint i8* @stg_upd_frame_info to i64
%lnkke = load i64*, i64** %Sp_Var
%lnkkg = getelementptr inbounds i64, i64* %lnkke, i32 -2
store i64 %lnkkf, i64* %lnkkg, !tbaa !1
%lnkki = load i64, i64* %R1_Var
%lnkkh = load i64*, i64** %Sp_Var
%lnkkj = getelementptr inbounds i64, i64* %lnkkh, i32 -1
store i64 %lnkki, i64* %lnkkj, !tbaa !1
%lnkkl = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckjz_info$def to i64
%lnkkk = load i64*, i64** %Sp_Var
%lnkkm = getelementptr inbounds i64, i64* %lnkkk, i32 -3
store i64 %lnkkl, i64* %lnkkm, !tbaa !1
%lnkkn = ptrtoint i8* @ghczmprim_GHCziTypes_ZMZN_closure to i64
%lnkko = add i64 %lnkkn, 1
store i64 %lnkko, i64* %R3_Var
%lnkkr = load i64, i64* %R1_Var
%lnkks = add i64 %lnkkr, 16
%lnkkt = inttoptr i64 %lnkks to i64*
%lnkku = load i64, i64* %lnkkt, !tbaa !3
%lnkkv = sub i64 0, %lnkku
store i64 %lnkkv, i64* %R2_Var
%lnkkw = load i64*, i64** %Sp_Var
%lnkkx = getelementptr inbounds i64, i64* %lnkkw, i32 -3
%lnkky = ptrtoint i64* %lnkkx to i64
%lnkkz = inttoptr i64 %lnkky to i64*
store i64* %lnkkz, i64** %Sp_Var
%lnkkA = bitcast i8* @base_GHCziShow_zdwitoszq_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkkB = load i64*, i64** %Sp_Var
%lnkkC = load i64, i64* %R1_Var
%lnkkD = load i64, i64* %R2_Var
%lnkkE = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkkA( i64* %Base_Arg, i64* %lnkkB, i64* %Hp_Arg, i64 %lnkkC, i64 %lnkkD, i64 %lnkkE, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckjC:
%lnkkF = load i64, i64* %R1_Var
store i64 %lnkkF, i64* %R1_Var
%lnkkG = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lnkkH = bitcast i64* %lnkkG to i64*
%lnkkI = load i64, i64* %lnkkH, !tbaa !4
%lnkkJ = inttoptr i64 %lnkkI to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkkK = load i64*, i64** %Sp_Var
%lnkkL = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkkJ( i64* %Base_Arg, i64* %lnkkK, i64* %Hp_Arg, i64 %lnkkL, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckjz_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckjz_info$def to i8*)
define internal ghccc void @ckjz_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}>
{
ckjz:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnkkM = load i64*, i64** %Hp_Var
%lnkkN = getelementptr inbounds i64, i64* %lnkkM, i32 3
%lnkkO = ptrtoint i64* %lnkkN to i64
%lnkkP = inttoptr i64 %lnkkO to i64*
store i64* %lnkkP, i64** %Hp_Var
%lnkkQ = load i64*, i64** %Hp_Var
%lnkkR = ptrtoint i64* %lnkkQ to i64
%lnkkS = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnkkT = bitcast i64* %lnkkS to i64*
%lnkkU = load i64, i64* %lnkkT, !tbaa !4
%lnkkV = icmp ugt i64 %lnkkR, %lnkkU
br i1 %lnkkV, label %ckjG, label %ckjF
ckjF:
%lnkkX = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64
%lnkkW = load i64*, i64** %Hp_Var
%lnkkY = getelementptr inbounds i64, i64* %lnkkW, i32 -2
store i64 %lnkkX, i64* %lnkkY, !tbaa !2
%lnkl0 = load i64, i64* %R1_Var
%lnkkZ = load i64*, i64** %Hp_Var
%lnkl1 = getelementptr inbounds i64, i64* %lnkkZ, i32 -1
store i64 %lnkl0, i64* %lnkl1, !tbaa !2
%lnkl3 = load i64, i64* %R2_Var
%lnkl2 = load i64*, i64** %Hp_Var
%lnkl4 = getelementptr inbounds i64, i64* %lnkl2, i32 0
store i64 %lnkl3, i64* %lnkl4, !tbaa !2
%lnkl6 = load i64*, i64** %Hp_Var
%lnkl7 = ptrtoint i64* %lnkl6 to i64
%lnkl8 = add i64 %lnkl7, -14
store i64 %lnkl8, i64* %R1_Var
%lnkl9 = load i64*, i64** %Sp_Var
%lnkla = getelementptr inbounds i64, i64* %lnkl9, i32 1
%lnklb = ptrtoint i64* %lnkla to i64
%lnklc = inttoptr i64 %lnklb to i64*
store i64* %lnklc, i64** %Sp_Var
%lnkld = load i64*, i64** %Sp_Var
%lnkle = getelementptr inbounds i64, i64* %lnkld, i32 0
%lnklf = bitcast i64* %lnkle to i64*
%lnklg = load i64, i64* %lnklf, !tbaa !1
%lnklh = inttoptr i64 %lnklg to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkli = load i64*, i64** %Sp_Var
%lnklj = load i64*, i64** %Hp_Var
%lnklk = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnklh( i64* %Base_Arg, i64* %lnkli, i64* %lnklj, i64 %lnklk, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckjG:
%lnkll = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 24, i64* %lnkll, !tbaa !4
%lnklm = load i64, i64* %R2_Var
store i64 %lnklm, i64* %R2_Var
%lnkln = load i64, i64* %R1_Var
store i64 %lnkln, i64* %R1_Var
%lnklo = bitcast i8* @stg_gc_pp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnklp = load i64*, i64** %Sp_Var
%lnklq = load i64*, i64** %Hp_Var
%lnklr = load i64, i64* %R1_Var
%lnkls = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnklo( i64* %Base_Arg, i64* %lnklp, i64* %lnklq, i64 %lnklr, i64 %lnkls, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siNS_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNS_info$def to i8*)
define internal ghccc void @siNS_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNS_info$def to i64)),i64 104), i64 4294967296, i64 4294967314}>
{
ckjH:
%lsiNS = alloca i64, i32 1
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiNG = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnklt = load i64, i64* %R1_Var
store i64 %lnklt, i64* %lsiNS
%lnklu = load i64*, i64** %Sp_Var
%lnklv = getelementptr inbounds i64, i64* %lnklu, i32 -3
%lnklw = ptrtoint i64* %lnklv to i64
%lnklx = icmp ult i64 %lnklw, %SpLim_Arg
br i1 %lnklx, label %ckjI, label %ckjJ
ckjJ:
%lnkly = load i64*, i64** %Hp_Var
%lnklz = getelementptr inbounds i64, i64* %lnkly, i32 6
%lnklA = ptrtoint i64* %lnklz to i64
%lnklB = inttoptr i64 %lnklA to i64*
store i64* %lnklB, i64** %Hp_Var
%lnklC = load i64*, i64** %Hp_Var
%lnklD = ptrtoint i64* %lnklC to i64
%lnklE = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnklF = bitcast i64* %lnklE to i64*
%lnklG = load i64, i64* %lnklF, !tbaa !4
%lnklH = icmp ugt i64 %lnklD, %lnklG
br i1 %lnklH, label %ckjL, label %ckjK
ckjK:
%lnklJ = ptrtoint i8* @stg_upd_frame_info to i64
%lnklI = load i64*, i64** %Sp_Var
%lnklK = getelementptr inbounds i64, i64* %lnklI, i32 -2
store i64 %lnklJ, i64* %lnklK, !tbaa !1
%lnklM = load i64, i64* %lsiNS
%lnklL = load i64*, i64** %Sp_Var
%lnklN = getelementptr inbounds i64, i64* %lnklL, i32 -1
store i64 %lnklM, i64* %lnklN, !tbaa !1
%lnklO = load i64, i64* %lsiNS
%lnklP = add i64 %lnklO, 16
%lnklQ = inttoptr i64 %lnklP to i64*
%lnklR = load i64, i64* %lnklQ, !tbaa !5
store i64 %lnklR, i64* %lsiNG
%lnklS = load i64, i64* %lsiNG
%lnklT = icmp slt i64 %lnklS, 0
%lnklU = zext i1 %lnklT to i64
switch i64 %lnklU, label %ckjQ [i64 0, label %ckjQ
i64 1, label %ckjY]
ckjQ:
%lnklV = load i64*, i64** %Hp_Var
%lnklW = getelementptr inbounds i64, i64* %lnklV, i32 -6
%lnklX = ptrtoint i64* %lnklW to i64
%lnklY = inttoptr i64 %lnklX to i64*
store i64* %lnklY, i64** %Hp_Var
%lnkm0 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckjM_info$def to i64
%lnklZ = load i64*, i64** %Sp_Var
%lnkm1 = getelementptr inbounds i64, i64* %lnklZ, i32 -3
store i64 %lnkm0, i64* %lnkm1, !tbaa !1
%lnkm2 = ptrtoint i8* @ghczmprim_GHCziTypes_ZMZN_closure to i64
%lnkm3 = add i64 %lnkm2, 1
store i64 %lnkm3, i64* %R3_Var
%lnkm4 = load i64, i64* %lsiNG
store i64 %lnkm4, i64* %R2_Var
%lnkm5 = load i64*, i64** %Sp_Var
%lnkm6 = getelementptr inbounds i64, i64* %lnkm5, i32 -3
%lnkm7 = ptrtoint i64* %lnkm6 to i64
%lnkm8 = inttoptr i64 %lnkm7 to i64*
store i64* %lnkm8, i64** %Sp_Var
%lnkm9 = bitcast i8* @base_GHCziShow_zdwitoszq_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkma = load i64*, i64** %Sp_Var
%lnkmb = load i64*, i64** %Hp_Var
%lnkmc = load i64, i64* %R1_Var
%lnkmd = load i64, i64* %R2_Var
%lnkme = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkm9( i64* %Base_Arg, i64* %lnkma, i64* %lnkmb, i64 %lnkmc, i64 %lnkmd, i64 %lnkme, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckjY:
%lnkmf = load i64, i64* %lsiNG
switch i64 %lnkmf, label %ckjW [i64 -9223372036854775808, label %ckjX]
ckjW:
%lnkmh = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNR_info$def to i64
%lnkmg = load i64*, i64** %Hp_Var
%lnkmi = getelementptr inbounds i64, i64* %lnkmg, i32 -5
store i64 %lnkmh, i64* %lnkmi, !tbaa !2
%lnkmk = load i64, i64* %lsiNG
%lnkmj = load i64*, i64** %Hp_Var
%lnkml = getelementptr inbounds i64, i64* %lnkmj, i32 -3
store i64 %lnkmk, i64* %lnkml, !tbaa !2
%lnkmn = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64
%lnkmm = load i64*, i64** %Hp_Var
%lnkmo = getelementptr inbounds i64, i64* %lnkmm, i32 -2
store i64 %lnkmn, i64* %lnkmo, !tbaa !2
%lnkmq = ptrtoint i8* @base_GHCziShow_shows9_closure to i64
%lnkmp = load i64*, i64** %Hp_Var
%lnkmr = getelementptr inbounds i64, i64* %lnkmp, i32 -1
store i64 %lnkmq, i64* %lnkmr, !tbaa !2
%lnkmt = load i64*, i64** %Hp_Var
%lnkmu = getelementptr inbounds i64, i64* %lnkmt, i32 -5
%lnkmv = ptrtoint i64* %lnkmu to i64
%lnkms = load i64*, i64** %Hp_Var
%lnkmw = getelementptr inbounds i64, i64* %lnkms, i32 0
store i64 %lnkmv, i64* %lnkmw, !tbaa !2
%lnkmy = load i64*, i64** %Hp_Var
%lnkmz = ptrtoint i64* %lnkmy to i64
%lnkmA = add i64 %lnkmz, -14
store i64 %lnkmA, i64* %R1_Var
%lnkmB = load i64*, i64** %Sp_Var
%lnkmC = getelementptr inbounds i64, i64* %lnkmB, i32 -2
%lnkmD = ptrtoint i64* %lnkmC to i64
%lnkmE = inttoptr i64 %lnkmD to i64*
store i64* %lnkmE, i64** %Sp_Var
%lnkmF = load i64*, i64** %Sp_Var
%lnkmG = getelementptr inbounds i64, i64* %lnkmF, i32 0
%lnkmH = bitcast i64* %lnkmG to i64*
%lnkmI = load i64, i64* %lnkmH, !tbaa !1
%lnkmJ = inttoptr i64 %lnkmI to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkmK = load i64*, i64** %Sp_Var
%lnkmL = load i64*, i64** %Hp_Var
%lnkmM = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkmJ( i64* %Base_Arg, i64* %lnkmK, i64* %lnkmL, i64 %lnkmM, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckjX:
%lnkmN = load i64*, i64** %Hp_Var
%lnkmO = getelementptr inbounds i64, i64* %lnkmN, i32 -6
%lnkmP = ptrtoint i64* %lnkmO to i64
%lnkmQ = inttoptr i64 %lnkmP to i64*
store i64* %lnkmQ, i64** %Hp_Var
%lnkmR = ptrtoint %riFV_closure_struct* @riFV_closure$def to i64
%lnkmS = add i64 %lnkmR, 2
store i64 %lnkmS, i64* %R1_Var
%lnkmT = load i64*, i64** %Sp_Var
%lnkmU = getelementptr inbounds i64, i64* %lnkmT, i32 -2
%lnkmV = ptrtoint i64* %lnkmU to i64
%lnkmW = inttoptr i64 %lnkmV to i64*
store i64* %lnkmW, i64** %Sp_Var
%lnkmX = load i64*, i64** %Sp_Var
%lnkmY = getelementptr inbounds i64, i64* %lnkmX, i32 0
%lnkmZ = bitcast i64* %lnkmY to i64*
%lnkn0 = load i64, i64* %lnkmZ, !tbaa !1
%lnkn1 = inttoptr i64 %lnkn0 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkn2 = load i64*, i64** %Sp_Var
%lnkn3 = load i64*, i64** %Hp_Var
%lnkn4 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkn1( i64* %Base_Arg, i64* %lnkn2, i64* %lnkn3, i64 %lnkn4, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckjL:
%lnkn5 = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 48, i64* %lnkn5, !tbaa !4
br label %ckjI
ckjI:
%lnkn6 = load i64, i64* %lsiNS
store i64 %lnkn6, i64* %R1_Var
%lnkn7 = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lnkn8 = bitcast i64* %lnkn7 to i64*
%lnkn9 = load i64, i64* %lnkn8, !tbaa !4
%lnkna = inttoptr i64 %lnkn9 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnknb = load i64*, i64** %Sp_Var
%lnknc = load i64*, i64** %Hp_Var
%lnknd = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkna( i64* %Base_Arg, i64* %lnknb, i64* %lnknc, i64 %lnknd, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckjM_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckjM_info$def to i8*)
define internal ghccc void @ckjM_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}>
{
ckjM:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnkne = load i64*, i64** %Hp_Var
%lnknf = getelementptr inbounds i64, i64* %lnkne, i32 3
%lnkng = ptrtoint i64* %lnknf to i64
%lnknh = inttoptr i64 %lnkng to i64*
store i64* %lnknh, i64** %Hp_Var
%lnkni = load i64*, i64** %Hp_Var
%lnknj = ptrtoint i64* %lnkni to i64
%lnknk = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnknl = bitcast i64* %lnknk to i64*
%lnknm = load i64, i64* %lnknl, !tbaa !4
%lnknn = icmp ugt i64 %lnknj, %lnknm
br i1 %lnknn, label %ckjT, label %ckjS
ckjS:
%lnknp = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64
%lnkno = load i64*, i64** %Hp_Var
%lnknq = getelementptr inbounds i64, i64* %lnkno, i32 -2
store i64 %lnknp, i64* %lnknq, !tbaa !2
%lnkns = load i64, i64* %R1_Var
%lnknr = load i64*, i64** %Hp_Var
%lnknt = getelementptr inbounds i64, i64* %lnknr, i32 -1
store i64 %lnkns, i64* %lnknt, !tbaa !2
%lnknv = load i64, i64* %R2_Var
%lnknu = load i64*, i64** %Hp_Var
%lnknw = getelementptr inbounds i64, i64* %lnknu, i32 0
store i64 %lnknv, i64* %lnknw, !tbaa !2
%lnkny = load i64*, i64** %Hp_Var
%lnknz = ptrtoint i64* %lnkny to i64
%lnknA = add i64 %lnknz, -14
store i64 %lnknA, i64* %R1_Var
%lnknB = load i64*, i64** %Sp_Var
%lnknC = getelementptr inbounds i64, i64* %lnknB, i32 1
%lnknD = ptrtoint i64* %lnknC to i64
%lnknE = inttoptr i64 %lnknD to i64*
store i64* %lnknE, i64** %Sp_Var
%lnknF = load i64*, i64** %Sp_Var
%lnknG = getelementptr inbounds i64, i64* %lnknF, i32 0
%lnknH = bitcast i64* %lnknG to i64*
%lnknI = load i64, i64* %lnknH, !tbaa !1
%lnknJ = inttoptr i64 %lnknI to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnknK = load i64*, i64** %Sp_Var
%lnknL = load i64*, i64** %Hp_Var
%lnknM = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnknJ( i64* %Base_Arg, i64* %lnknK, i64* %lnknL, i64 %lnknM, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckjT:
%lnknN = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 24, i64* %lnknN, !tbaa !4
%lnknO = load i64, i64* %R2_Var
store i64 %lnknO, i64* %R2_Var
%lnknP = load i64, i64* %R1_Var
store i64 %lnknP, i64* %R1_Var
%lnknQ = bitcast i8* @stg_gc_pp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnknR = load i64*, i64** %Sp_Var
%lnknS = load i64*, i64** %Hp_Var
%lnknT = load i64, i64* %R1_Var
%lnknU = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnknQ( i64* %Base_Arg, i64* %lnknR, i64* %lnknS, i64 %lnknT, i64 %lnknU, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siNT_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNT_info$def to i8*)
define internal ghccc void @siNT_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNT_info$def to i64)),i64 104), i64 4294967296, i64 4294967314}>
{
ckk0:
%lsiNT = alloca i64, i32 1
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiNG = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnknV = load i64, i64* %R1_Var
store i64 %lnknV, i64* %lsiNT
%lnknW = load i64*, i64** %Sp_Var
%lnknX = getelementptr inbounds i64, i64* %lnknW, i32 -2
%lnknY = ptrtoint i64* %lnknX to i64
%lnknZ = icmp ult i64 %lnknY, %SpLim_Arg
br i1 %lnknZ, label %ckk1, label %ckk2
ckk2:
%lnko0 = load i64*, i64** %Hp_Var
%lnko1 = getelementptr inbounds i64, i64* %lnko0, i32 3
%lnko2 = ptrtoint i64* %lnko1 to i64
%lnko3 = inttoptr i64 %lnko2 to i64*
store i64* %lnko3, i64** %Hp_Var
%lnko4 = load i64*, i64** %Hp_Var
%lnko5 = ptrtoint i64* %lnko4 to i64
%lnko6 = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnko7 = bitcast i64* %lnko6 to i64*
%lnko8 = load i64, i64* %lnko7, !tbaa !4
%lnko9 = icmp ugt i64 %lnko5, %lnko8
br i1 %lnko9, label %ckk4, label %ckk3
ckk3:
%lnkob = ptrtoint i8* @stg_upd_frame_info to i64
%lnkoa = load i64*, i64** %Sp_Var
%lnkoc = getelementptr inbounds i64, i64* %lnkoa, i32 -2
store i64 %lnkob, i64* %lnkoc, !tbaa !1
%lnkoe = load i64, i64* %lsiNT
%lnkod = load i64*, i64** %Sp_Var
%lnkof = getelementptr inbounds i64, i64* %lnkod, i32 -1
store i64 %lnkoe, i64* %lnkof, !tbaa !1
%lnkog = load i64, i64* %lsiNT
%lnkoh = add i64 %lnkog, 16
%lnkoi = inttoptr i64 %lnkoh to i64*
%lnkoj = load i64, i64* %lnkoi, !tbaa !5
store i64 %lnkoj, i64* %lsiNG
%lnkol = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNS_info$def to i64
%lnkok = load i64*, i64** %Hp_Var
%lnkom = getelementptr inbounds i64, i64* %lnkok, i32 -2
store i64 %lnkol, i64* %lnkom, !tbaa !2
%lnkoo = load i64, i64* %lsiNG
%lnkon = load i64*, i64** %Hp_Var
%lnkop = getelementptr inbounds i64, i64* %lnkon, i32 0
store i64 %lnkoo, i64* %lnkop, !tbaa !2
%lnkoq = load i64*, i64** %Hp_Var
%lnkor = getelementptr inbounds i64, i64* %lnkoq, i32 -2
%lnkos = ptrtoint i64* %lnkor to i64
store i64 %lnkos, i64* %R3_Var
%lnkot = ptrtoint %ckjZ_str_struct* @ckjZ_str$def to i64
store i64 %lnkot, i64* %R2_Var
%lnkou = load i64*, i64** %Sp_Var
%lnkov = getelementptr inbounds i64, i64* %lnkou, i32 -2
%lnkow = ptrtoint i64* %lnkov to i64
%lnkox = inttoptr i64 %lnkow to i64*
store i64* %lnkox, i64** %Sp_Var
%lnkoy = bitcast i8* @ghczmprim_GHCziCString_unpackAppendCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkoz = load i64*, i64** %Sp_Var
%lnkoA = load i64*, i64** %Hp_Var
%lnkoB = load i64, i64* %R1_Var
%lnkoC = load i64, i64* %R2_Var
%lnkoD = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkoy( i64* %Base_Arg, i64* %lnkoz, i64* %lnkoA, i64 %lnkoB, i64 %lnkoC, i64 %lnkoD, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckk4:
%lnkoE = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 24, i64* %lnkoE, !tbaa !4
br label %ckk1
ckk1:
%lnkoF = load i64, i64* %lsiNT
store i64 %lnkoF, i64* %R1_Var
%lnkoG = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lnkoH = bitcast i64* %lnkoG to i64*
%lnkoI = load i64, i64* %lnkoH, !tbaa !4
%lnkoJ = inttoptr i64 %lnkoI to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkoK = load i64*, i64** %Sp_Var
%lnkoL = load i64*, i64** %Hp_Var
%lnkoM = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkoJ( i64* %Base_Arg, i64* %lnkoK, i64* %lnkoL, i64 %lnkoM, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@riFW_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFW_info$def to i8*)
define internal ghccc void @riFW_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFW_info$def to i64)),i64 104), i64 4294967300, i64 0, i64 64424509455}>
{
ckk5:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkoN = load i64*, i64** %Hp_Var
%lnkoO = getelementptr inbounds i64, i64* %lnkoN, i32 3
%lnkoP = ptrtoint i64* %lnkoO to i64
%lnkoQ = inttoptr i64 %lnkoP to i64*
store i64* %lnkoQ, i64** %Hp_Var
%lnkoR = load i64*, i64** %Hp_Var
%lnkoS = ptrtoint i64* %lnkoR to i64
%lnkoT = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnkoU = bitcast i64* %lnkoT to i64*
%lnkoV = load i64, i64* %lnkoU, !tbaa !4
%lnkoW = icmp ugt i64 %lnkoS, %lnkoV
br i1 %lnkoW, label %ckk9, label %ckk8
ckk8:
%lnkoY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNT_info$def to i64
%lnkoX = load i64*, i64** %Hp_Var
%lnkoZ = getelementptr inbounds i64, i64* %lnkoX, i32 -2
store i64 %lnkoY, i64* %lnkoZ, !tbaa !2
%lnkp1 = load i64, i64* %R2_Var
%lnkp0 = load i64*, i64** %Hp_Var
%lnkp2 = getelementptr inbounds i64, i64* %lnkp0, i32 0
store i64 %lnkp1, i64* %lnkp2, !tbaa !2
%lnkp3 = load i64*, i64** %Hp_Var
%lnkp4 = getelementptr inbounds i64, i64* %lnkp3, i32 -2
%lnkp5 = ptrtoint i64* %lnkp4 to i64
store i64 %lnkp5, i64* %R3_Var
%lnkp6 = ptrtoint %riFT_closure_struct* @riFT_closure$def to i64
%lnkp7 = add i64 %lnkp6, 2
store i64 %lnkp7, i64* %R2_Var
%lnkp8 = bitcast i8* @base_GHCziErr_error_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkp9 = load i64*, i64** %Hp_Var
%lnkpa = load i64, i64* %R1_Var
%lnkpb = load i64, i64* %R2_Var
%lnkpc = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkp8( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnkp9, i64 %lnkpa, i64 %lnkpb, i64 %lnkpc, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckk9:
%lnkpd = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 24, i64* %lnkpd, !tbaa !4
%lnkpe = load i64, i64* %R2_Var
store i64 %lnkpe, i64* %R2_Var
%lnkpf = ptrtoint %riFW_closure_struct* @riFW_closure$def to i64
store i64 %lnkpf, i64* %R1_Var
%lnkpg = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnkph = bitcast i64* %lnkpg to i64*
%lnkpi = load i64, i64* %lnkph, !tbaa !4
%lnkpj = inttoptr i64 %lnkpi to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkpk = load i64*, i64** %Hp_Var
%lnkpl = load i64, i64* %R1_Var
%lnkpm = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkpj( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnkpk, i64 %lnkpl, i64 %lnkpm, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%riFX_closure_struct = type <{i64, i64}>
@riFX_closure$def = internal global %riFX_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Izh_static_info to i64), i64 96}>
@riFX_closure = internal alias i8* bitcast (%riFX_closure_struct* @riFX_closure$def to i8*)
%riFY_closure_struct = type <{i64, i64}>
@riFY_closure$def = internal global %riFY_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Izh_static_info to i64), i64 15}>
@riFY_closure = internal alias i8* bitcast (%riFY_closure_struct* @riFY_closure$def to i8*)
%riFZ_closure_struct = type <{i64, i64}>
@riFZ_closure$def = internal global %riFZ_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Izh_static_info to i64), i64 78}>
@riFZ_closure = internal alias i8* bitcast (%riFZ_closure_struct* @riFZ_closure$def to i8*)
%riG0_closure_struct = type <{i64, i64, i64, i64, i64, i64, i64, i64, i64}>
@riG0_closure$def = internal global %riG0_closure_struct<{i64 ptrtoint (i8* @base_GHCziStackziTypes_SrcLoc_static_info to i64), i64 ptrtoint (%riFM_closure_struct* @riFM_closure$def to i64), i64 ptrtoint (%riFN_closure_struct* @riFN_closure$def to i64), i64 ptrtoint (%riFO_closure_struct* @riFO_closure$def to i64), i64 add (i64 ptrtoint (%riFX_closure_struct* @riFX_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%riFY_closure_struct* @riFY_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%riFX_closure_struct* @riFX_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%riFZ_closure_struct* @riFZ_closure$def to i64),i64 1), i64 0}>
@riG0_closure = internal alias i8* bitcast (%riG0_closure_struct* @riG0_closure$def to i8*)
%riG1_closure_struct = type <{i64, i64, i64, i64, i64}>
@riG1_closure$def = internal global %riG1_closure_struct<{i64 ptrtoint (i8* @base_GHCziStackziTypes_PushCallStack_static_info to i64), i64 ptrtoint (%riFL_closure_struct* @riFL_closure$def to i64), i64 add (i64 ptrtoint (%riG0_closure_struct* @riG0_closure$def to i64),i64 1), i64 add (i64 ptrtoint (i8* @base_GHCziStackziTypes_EmptyCallStack_closure to i64),i64 1), i64 0}>
@riG1_closure = internal alias i8* bitcast (%riG1_closure_struct* @riG1_closure$def to i8*)
%riG2_closure_struct = type <{i64, i64}>
%ckqC_str_struct = type <{[44 x i8]}>
@riG2_closure$def = internal global %riG2_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riG2_info$def to i64), i64 0}>
@riG2_closure = internal alias i8* bitcast (%riG2_closure_struct* @riG2_closure$def to i8*)
@ckqC_str$def = internal constant %ckqC_str_struct<{[44 x i8] [i8 80, i8 114, i8 105, i8 109, i8 105, i8 116, i8 105, i8 118, i8 101, i8 46, i8 98, i8 97, i8 115, i8 105, i8 99, i8 85, i8 110, i8 115, i8 97, i8 102, i8 101, i8 78, i8 101, i8 119, i8 58, i8 32, i8 110, i8 101, i8 103, i8 97, i8 116, i8 105, i8 118, i8 101, i8 32, i8 108, i8 101, i8 110, i8 103, i8 116, i8 104, i8 58, i8 32, i8 0]}>
@ckqC_str = internal alias i8* bitcast (%ckqC_str_struct* @ckqC_str$def to i8*)
@siO5_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO5_info$def to i8*)
define internal ghccc void @siO5_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 4294967296, i64 18}>
{
ckqa:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkqN = load i64*, i64** %Sp_Var
%lnkqO = getelementptr inbounds i64, i64* %lnkqN, i32 -3
%lnkqP = ptrtoint i64* %lnkqO to i64
%lnkqQ = icmp ult i64 %lnkqP, %SpLim_Arg
br i1 %lnkqQ, label %ckqf, label %ckqg
ckqg:
%lnkqS = ptrtoint i8* @stg_upd_frame_info to i64
%lnkqR = load i64*, i64** %Sp_Var
%lnkqT = getelementptr inbounds i64, i64* %lnkqR, i32 -2
store i64 %lnkqS, i64* %lnkqT, !tbaa !1
%lnkqV = load i64, i64* %R1_Var
%lnkqU = load i64*, i64** %Sp_Var
%lnkqW = getelementptr inbounds i64, i64* %lnkqU, i32 -1
store i64 %lnkqV, i64* %lnkqW, !tbaa !1
%lnkqY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckqc_info$def to i64
%lnkqX = load i64*, i64** %Sp_Var
%lnkqZ = getelementptr inbounds i64, i64* %lnkqX, i32 -3
store i64 %lnkqY, i64* %lnkqZ, !tbaa !1
%lnkr0 = ptrtoint i8* @ghczmprim_GHCziTypes_ZMZN_closure to i64
%lnkr1 = add i64 %lnkr0, 1
store i64 %lnkr1, i64* %R3_Var
%lnkr4 = load i64, i64* %R1_Var
%lnkr5 = add i64 %lnkr4, 16
%lnkr6 = inttoptr i64 %lnkr5 to i64*
%lnkr7 = load i64, i64* %lnkr6, !tbaa !3
%lnkr8 = sub i64 0, %lnkr7
store i64 %lnkr8, i64* %R2_Var
%lnkr9 = load i64*, i64** %Sp_Var
%lnkra = getelementptr inbounds i64, i64* %lnkr9, i32 -3
%lnkrb = ptrtoint i64* %lnkra to i64
%lnkrc = inttoptr i64 %lnkrb to i64*
store i64* %lnkrc, i64** %Sp_Var
%lnkrd = bitcast i8* @base_GHCziShow_zdwitoszq_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkre = load i64*, i64** %Sp_Var
%lnkrf = load i64, i64* %R1_Var
%lnkrg = load i64, i64* %R2_Var
%lnkrh = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkrd( i64* %Base_Arg, i64* %lnkre, i64* %Hp_Arg, i64 %lnkrf, i64 %lnkrg, i64 %lnkrh, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckqf:
%lnkri = load i64, i64* %R1_Var
store i64 %lnkri, i64* %R1_Var
%lnkrj = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lnkrk = bitcast i64* %lnkrj to i64*
%lnkrl = load i64, i64* %lnkrk, !tbaa !4
%lnkrm = inttoptr i64 %lnkrl to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkrn = load i64*, i64** %Sp_Var
%lnkro = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkrm( i64* %Base_Arg, i64* %lnkrn, i64* %Hp_Arg, i64 %lnkro, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckqc_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckqc_info$def to i8*)
define internal ghccc void @ckqc_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}>
{
ckqc:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnkrp = load i64*, i64** %Hp_Var
%lnkrq = getelementptr inbounds i64, i64* %lnkrp, i32 3
%lnkrr = ptrtoint i64* %lnkrq to i64
%lnkrs = inttoptr i64 %lnkrr to i64*
store i64* %lnkrs, i64** %Hp_Var
%lnkrt = load i64*, i64** %Hp_Var
%lnkru = ptrtoint i64* %lnkrt to i64
%lnkrv = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnkrw = bitcast i64* %lnkrv to i64*
%lnkrx = load i64, i64* %lnkrw, !tbaa !4
%lnkry = icmp ugt i64 %lnkru, %lnkrx
br i1 %lnkry, label %ckqj, label %ckqi
ckqi:
%lnkrA = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64
%lnkrz = load i64*, i64** %Hp_Var
%lnkrB = getelementptr inbounds i64, i64* %lnkrz, i32 -2
store i64 %lnkrA, i64* %lnkrB, !tbaa !2
%lnkrD = load i64, i64* %R1_Var
%lnkrC = load i64*, i64** %Hp_Var
%lnkrE = getelementptr inbounds i64, i64* %lnkrC, i32 -1
store i64 %lnkrD, i64* %lnkrE, !tbaa !2
%lnkrG = load i64, i64* %R2_Var
%lnkrF = load i64*, i64** %Hp_Var
%lnkrH = getelementptr inbounds i64, i64* %lnkrF, i32 0
store i64 %lnkrG, i64* %lnkrH, !tbaa !2
%lnkrJ = load i64*, i64** %Hp_Var
%lnkrK = ptrtoint i64* %lnkrJ to i64
%lnkrL = add i64 %lnkrK, -14
store i64 %lnkrL, i64* %R1_Var
%lnkrM = load i64*, i64** %Sp_Var
%lnkrN = getelementptr inbounds i64, i64* %lnkrM, i32 1
%lnkrO = ptrtoint i64* %lnkrN to i64
%lnkrP = inttoptr i64 %lnkrO to i64*
store i64* %lnkrP, i64** %Sp_Var
%lnkrQ = load i64*, i64** %Sp_Var
%lnkrR = getelementptr inbounds i64, i64* %lnkrQ, i32 0
%lnkrS = bitcast i64* %lnkrR to i64*
%lnkrT = load i64, i64* %lnkrS, !tbaa !1
%lnkrU = inttoptr i64 %lnkrT to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkrV = load i64*, i64** %Sp_Var
%lnkrW = load i64*, i64** %Hp_Var
%lnkrX = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkrU( i64* %Base_Arg, i64* %lnkrV, i64* %lnkrW, i64 %lnkrX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckqj:
%lnkrY = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 24, i64* %lnkrY, !tbaa !4
%lnkrZ = load i64, i64* %R2_Var
store i64 %lnkrZ, i64* %R2_Var
%lnks0 = load i64, i64* %R1_Var
store i64 %lnks0, i64* %R1_Var
%lnks1 = bitcast i8* @stg_gc_pp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnks2 = load i64*, i64** %Sp_Var
%lnks3 = load i64*, i64** %Hp_Var
%lnks4 = load i64, i64* %R1_Var
%lnks5 = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnks1( i64* %Base_Arg, i64* %lnks2, i64* %lnks3, i64 %lnks4, i64 %lnks5, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siO6_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO6_info$def to i8*)
define internal ghccc void @siO6_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO6_info$def to i64)),i64 104), i64 4294967296, i64 4294967314}>
{
ckqk:
%lsiO6 = alloca i64, i32 1
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiNU = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnks6 = load i64, i64* %R1_Var
store i64 %lnks6, i64* %lsiO6
%lnks7 = load i64*, i64** %Sp_Var
%lnks8 = getelementptr inbounds i64, i64* %lnks7, i32 -3
%lnks9 = ptrtoint i64* %lnks8 to i64
%lnksa = icmp ult i64 %lnks9, %SpLim_Arg
br i1 %lnksa, label %ckql, label %ckqm
ckqm:
%lnksb = load i64*, i64** %Hp_Var
%lnksc = getelementptr inbounds i64, i64* %lnksb, i32 6
%lnksd = ptrtoint i64* %lnksc to i64
%lnkse = inttoptr i64 %lnksd to i64*
store i64* %lnkse, i64** %Hp_Var
%lnksf = load i64*, i64** %Hp_Var
%lnksg = ptrtoint i64* %lnksf to i64
%lnksh = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnksi = bitcast i64* %lnksh to i64*
%lnksj = load i64, i64* %lnksi, !tbaa !4
%lnksk = icmp ugt i64 %lnksg, %lnksj
br i1 %lnksk, label %ckqo, label %ckqn
ckqn:
%lnksm = ptrtoint i8* @stg_upd_frame_info to i64
%lnksl = load i64*, i64** %Sp_Var
%lnksn = getelementptr inbounds i64, i64* %lnksl, i32 -2
store i64 %lnksm, i64* %lnksn, !tbaa !1
%lnksp = load i64, i64* %lsiO6
%lnkso = load i64*, i64** %Sp_Var
%lnksq = getelementptr inbounds i64, i64* %lnkso, i32 -1
store i64 %lnksp, i64* %lnksq, !tbaa !1
%lnksr = load i64, i64* %lsiO6
%lnkss = add i64 %lnksr, 16
%lnkst = inttoptr i64 %lnkss to i64*
%lnksu = load i64, i64* %lnkst, !tbaa !5
store i64 %lnksu, i64* %lsiNU
%lnksv = load i64, i64* %lsiNU
%lnksw = icmp slt i64 %lnksv, 0
%lnksx = zext i1 %lnksw to i64
switch i64 %lnksx, label %ckqt [i64 0, label %ckqt
i64 1, label %ckqB]
ckqt:
%lnksy = load i64*, i64** %Hp_Var
%lnksz = getelementptr inbounds i64, i64* %lnksy, i32 -6
%lnksA = ptrtoint i64* %lnksz to i64
%lnksB = inttoptr i64 %lnksA to i64*
store i64* %lnksB, i64** %Hp_Var
%lnksD = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckqp_info$def to i64
%lnksC = load i64*, i64** %Sp_Var
%lnksE = getelementptr inbounds i64, i64* %lnksC, i32 -3
store i64 %lnksD, i64* %lnksE, !tbaa !1
%lnksF = ptrtoint i8* @ghczmprim_GHCziTypes_ZMZN_closure to i64
%lnksG = add i64 %lnksF, 1
store i64 %lnksG, i64* %R3_Var
%lnksH = load i64, i64* %lsiNU
store i64 %lnksH, i64* %R2_Var
%lnksI = load i64*, i64** %Sp_Var
%lnksJ = getelementptr inbounds i64, i64* %lnksI, i32 -3
%lnksK = ptrtoint i64* %lnksJ to i64
%lnksL = inttoptr i64 %lnksK to i64*
store i64* %lnksL, i64** %Sp_Var
%lnksM = bitcast i8* @base_GHCziShow_zdwitoszq_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnksN = load i64*, i64** %Sp_Var
%lnksO = load i64*, i64** %Hp_Var
%lnksP = load i64, i64* %R1_Var
%lnksQ = load i64, i64* %R2_Var
%lnksR = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnksM( i64* %Base_Arg, i64* %lnksN, i64* %lnksO, i64 %lnksP, i64 %lnksQ, i64 %lnksR, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckqB:
%lnksS = load i64, i64* %lsiNU
switch i64 %lnksS, label %ckqz [i64 -9223372036854775808, label %ckqA]
ckqz:
%lnksU = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO5_info$def to i64
%lnksT = load i64*, i64** %Hp_Var
%lnksV = getelementptr inbounds i64, i64* %lnksT, i32 -5
store i64 %lnksU, i64* %lnksV, !tbaa !2
%lnksX = load i64, i64* %lsiNU
%lnksW = load i64*, i64** %Hp_Var
%lnksY = getelementptr inbounds i64, i64* %lnksW, i32 -3
store i64 %lnksX, i64* %lnksY, !tbaa !2
%lnkt0 = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64
%lnksZ = load i64*, i64** %Hp_Var
%lnkt1 = getelementptr inbounds i64, i64* %lnksZ, i32 -2
store i64 %lnkt0, i64* %lnkt1, !tbaa !2
%lnkt3 = ptrtoint i8* @base_GHCziShow_shows9_closure to i64
%lnkt2 = load i64*, i64** %Hp_Var
%lnkt4 = getelementptr inbounds i64, i64* %lnkt2, i32 -1
store i64 %lnkt3, i64* %lnkt4, !tbaa !2
%lnkt6 = load i64*, i64** %Hp_Var
%lnkt7 = getelementptr inbounds i64, i64* %lnkt6, i32 -5
%lnkt8 = ptrtoint i64* %lnkt7 to i64
%lnkt5 = load i64*, i64** %Hp_Var
%lnkt9 = getelementptr inbounds i64, i64* %lnkt5, i32 0
store i64 %lnkt8, i64* %lnkt9, !tbaa !2
%lnktb = load i64*, i64** %Hp_Var
%lnktc = ptrtoint i64* %lnktb to i64
%lnktd = add i64 %lnktc, -14
store i64 %lnktd, i64* %R1_Var
%lnkte = load i64*, i64** %Sp_Var
%lnktf = getelementptr inbounds i64, i64* %lnkte, i32 -2
%lnktg = ptrtoint i64* %lnktf to i64
%lnkth = inttoptr i64 %lnktg to i64*
store i64* %lnkth, i64** %Sp_Var
%lnkti = load i64*, i64** %Sp_Var
%lnktj = getelementptr inbounds i64, i64* %lnkti, i32 0
%lnktk = bitcast i64* %lnktj to i64*
%lnktl = load i64, i64* %lnktk, !tbaa !1
%lnktm = inttoptr i64 %lnktl to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnktn = load i64*, i64** %Sp_Var
%lnkto = load i64*, i64** %Hp_Var
%lnktp = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnktm( i64* %Base_Arg, i64* %lnktn, i64* %lnkto, i64 %lnktp, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckqA:
%lnktq = load i64*, i64** %Hp_Var
%lnktr = getelementptr inbounds i64, i64* %lnktq, i32 -6
%lnkts = ptrtoint i64* %lnktr to i64
%lnktt = inttoptr i64 %lnkts to i64*
store i64* %lnktt, i64** %Hp_Var
%lnktu = ptrtoint %riFV_closure_struct* @riFV_closure$def to i64
%lnktv = add i64 %lnktu, 2
store i64 %lnktv, i64* %R1_Var
%lnktw = load i64*, i64** %Sp_Var
%lnktx = getelementptr inbounds i64, i64* %lnktw, i32 -2
%lnkty = ptrtoint i64* %lnktx to i64
%lnktz = inttoptr i64 %lnkty to i64*
store i64* %lnktz, i64** %Sp_Var
%lnktA = load i64*, i64** %Sp_Var
%lnktB = getelementptr inbounds i64, i64* %lnktA, i32 0
%lnktC = bitcast i64* %lnktB to i64*
%lnktD = load i64, i64* %lnktC, !tbaa !1
%lnktE = inttoptr i64 %lnktD to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnktF = load i64*, i64** %Sp_Var
%lnktG = load i64*, i64** %Hp_Var
%lnktH = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnktE( i64* %Base_Arg, i64* %lnktF, i64* %lnktG, i64 %lnktH, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckqo:
%lnktI = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 48, i64* %lnktI, !tbaa !4
br label %ckql
ckql:
%lnktJ = load i64, i64* %lsiO6
store i64 %lnktJ, i64* %R1_Var
%lnktK = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lnktL = bitcast i64* %lnktK to i64*
%lnktM = load i64, i64* %lnktL, !tbaa !4
%lnktN = inttoptr i64 %lnktM to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnktO = load i64*, i64** %Sp_Var
%lnktP = load i64*, i64** %Hp_Var
%lnktQ = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnktN( i64* %Base_Arg, i64* %lnktO, i64* %lnktP, i64 %lnktQ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckqp_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckqp_info$def to i8*)
define internal ghccc void @ckqp_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}>
{
ckqp:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnktR = load i64*, i64** %Hp_Var
%lnktS = getelementptr inbounds i64, i64* %lnktR, i32 3
%lnktT = ptrtoint i64* %lnktS to i64
%lnktU = inttoptr i64 %lnktT to i64*
store i64* %lnktU, i64** %Hp_Var
%lnktV = load i64*, i64** %Hp_Var
%lnktW = ptrtoint i64* %lnktV to i64
%lnktX = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnktY = bitcast i64* %lnktX to i64*
%lnktZ = load i64, i64* %lnktY, !tbaa !4
%lnku0 = icmp ugt i64 %lnktW, %lnktZ
br i1 %lnku0, label %ckqw, label %ckqv
ckqv:
%lnku2 = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64
%lnku1 = load i64*, i64** %Hp_Var
%lnku3 = getelementptr inbounds i64, i64* %lnku1, i32 -2
store i64 %lnku2, i64* %lnku3, !tbaa !2
%lnku5 = load i64, i64* %R1_Var
%lnku4 = load i64*, i64** %Hp_Var
%lnku6 = getelementptr inbounds i64, i64* %lnku4, i32 -1
store i64 %lnku5, i64* %lnku6, !tbaa !2
%lnku8 = load i64, i64* %R2_Var
%lnku7 = load i64*, i64** %Hp_Var
%lnku9 = getelementptr inbounds i64, i64* %lnku7, i32 0
store i64 %lnku8, i64* %lnku9, !tbaa !2
%lnkub = load i64*, i64** %Hp_Var
%lnkuc = ptrtoint i64* %lnkub to i64
%lnkud = add i64 %lnkuc, -14
store i64 %lnkud, i64* %R1_Var
%lnkue = load i64*, i64** %Sp_Var
%lnkuf = getelementptr inbounds i64, i64* %lnkue, i32 1
%lnkug = ptrtoint i64* %lnkuf to i64
%lnkuh = inttoptr i64 %lnkug to i64*
store i64* %lnkuh, i64** %Sp_Var
%lnkui = load i64*, i64** %Sp_Var
%lnkuj = getelementptr inbounds i64, i64* %lnkui, i32 0
%lnkuk = bitcast i64* %lnkuj to i64*
%lnkul = load i64, i64* %lnkuk, !tbaa !1
%lnkum = inttoptr i64 %lnkul to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkun = load i64*, i64** %Sp_Var
%lnkuo = load i64*, i64** %Hp_Var
%lnkup = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkum( i64* %Base_Arg, i64* %lnkun, i64* %lnkuo, i64 %lnkup, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckqw:
%lnkuq = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 24, i64* %lnkuq, !tbaa !4
%lnkur = load i64, i64* %R2_Var
store i64 %lnkur, i64* %R2_Var
%lnkus = load i64, i64* %R1_Var
store i64 %lnkus, i64* %R1_Var
%lnkut = bitcast i8* @stg_gc_pp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkuu = load i64*, i64** %Sp_Var
%lnkuv = load i64*, i64** %Hp_Var
%lnkuw = load i64, i64* %R1_Var
%lnkux = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkut( i64* %Base_Arg, i64* %lnkuu, i64* %lnkuv, i64 %lnkuw, i64 %lnkux, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siO7_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO7_info$def to i8*)
define internal ghccc void @siO7_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO7_info$def to i64)),i64 104), i64 4294967296, i64 4294967314}>
{
ckqD:
%lsiO7 = alloca i64, i32 1
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiNU = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkuy = load i64, i64* %R1_Var
store i64 %lnkuy, i64* %lsiO7
%lnkuz = load i64*, i64** %Sp_Var
%lnkuA = getelementptr inbounds i64, i64* %lnkuz, i32 -2
%lnkuB = ptrtoint i64* %lnkuA to i64
%lnkuC = icmp ult i64 %lnkuB, %SpLim_Arg
br i1 %lnkuC, label %ckqE, label %ckqF
ckqF:
%lnkuD = load i64*, i64** %Hp_Var
%lnkuE = getelementptr inbounds i64, i64* %lnkuD, i32 3
%lnkuF = ptrtoint i64* %lnkuE to i64
%lnkuG = inttoptr i64 %lnkuF to i64*
store i64* %lnkuG, i64** %Hp_Var
%lnkuH = load i64*, i64** %Hp_Var
%lnkuI = ptrtoint i64* %lnkuH to i64
%lnkuJ = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnkuK = bitcast i64* %lnkuJ to i64*
%lnkuL = load i64, i64* %lnkuK, !tbaa !4
%lnkuM = icmp ugt i64 %lnkuI, %lnkuL
br i1 %lnkuM, label %ckqH, label %ckqG
ckqG:
%lnkuO = ptrtoint i8* @stg_upd_frame_info to i64
%lnkuN = load i64*, i64** %Sp_Var
%lnkuP = getelementptr inbounds i64, i64* %lnkuN, i32 -2
store i64 %lnkuO, i64* %lnkuP, !tbaa !1
%lnkuR = load i64, i64* %lsiO7
%lnkuQ = load i64*, i64** %Sp_Var
%lnkuS = getelementptr inbounds i64, i64* %lnkuQ, i32 -1
store i64 %lnkuR, i64* %lnkuS, !tbaa !1
%lnkuT = load i64, i64* %lsiO7
%lnkuU = add i64 %lnkuT, 16
%lnkuV = inttoptr i64 %lnkuU to i64*
%lnkuW = load i64, i64* %lnkuV, !tbaa !5
store i64 %lnkuW, i64* %lsiNU
%lnkuY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO6_info$def to i64
%lnkuX = load i64*, i64** %Hp_Var
%lnkuZ = getelementptr inbounds i64, i64* %lnkuX, i32 -2
store i64 %lnkuY, i64* %lnkuZ, !tbaa !2
%lnkv1 = load i64, i64* %lsiNU
%lnkv0 = load i64*, i64** %Hp_Var
%lnkv2 = getelementptr inbounds i64, i64* %lnkv0, i32 0
store i64 %lnkv1, i64* %lnkv2, !tbaa !2
%lnkv3 = load i64*, i64** %Hp_Var
%lnkv4 = getelementptr inbounds i64, i64* %lnkv3, i32 -2
%lnkv5 = ptrtoint i64* %lnkv4 to i64
store i64 %lnkv5, i64* %R3_Var
%lnkv6 = ptrtoint %ckqC_str_struct* @ckqC_str$def to i64
store i64 %lnkv6, i64* %R2_Var
%lnkv7 = load i64*, i64** %Sp_Var
%lnkv8 = getelementptr inbounds i64, i64* %lnkv7, i32 -2
%lnkv9 = ptrtoint i64* %lnkv8 to i64
%lnkva = inttoptr i64 %lnkv9 to i64*
store i64* %lnkva, i64** %Sp_Var
%lnkvb = bitcast i8* @ghczmprim_GHCziCString_unpackAppendCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkvc = load i64*, i64** %Sp_Var
%lnkvd = load i64*, i64** %Hp_Var
%lnkve = load i64, i64* %R1_Var
%lnkvf = load i64, i64* %R2_Var
%lnkvg = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkvb( i64* %Base_Arg, i64* %lnkvc, i64* %lnkvd, i64 %lnkve, i64 %lnkvf, i64 %lnkvg, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckqH:
%lnkvh = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 24, i64* %lnkvh, !tbaa !4
br label %ckqE
ckqE:
%lnkvi = load i64, i64* %lsiO7
store i64 %lnkvi, i64* %R1_Var
%lnkvj = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
%lnkvk = bitcast i64* %lnkvj to i64*
%lnkvl = load i64, i64* %lnkvk, !tbaa !4
%lnkvm = inttoptr i64 %lnkvl to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkvn = load i64*, i64** %Sp_Var
%lnkvo = load i64*, i64** %Hp_Var
%lnkvp = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkvm( i64* %Base_Arg, i64* %lnkvn, i64* %lnkvo, i64 %lnkvp, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@riG2_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riG2_info$def to i8*)
define internal ghccc void @riG2_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riG2_info$def to i64)),i64 104), i64 4294967300, i64 0, i64 219043332111}>
{
ckqI:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkvq = load i64*, i64** %Hp_Var
%lnkvr = getelementptr inbounds i64, i64* %lnkvq, i32 3
%lnkvs = ptrtoint i64* %lnkvr to i64
%lnkvt = inttoptr i64 %lnkvs to i64*
store i64* %lnkvt, i64** %Hp_Var
%lnkvu = load i64*, i64** %Hp_Var
%lnkvv = ptrtoint i64* %lnkvu to i64
%lnkvw = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnkvx = bitcast i64* %lnkvw to i64*
%lnkvy = load i64, i64* %lnkvx, !tbaa !4
%lnkvz = icmp ugt i64 %lnkvv, %lnkvy
br i1 %lnkvz, label %ckqM, label %ckqL
ckqL:
%lnkvB = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO7_info$def to i64
%lnkvA = load i64*, i64** %Hp_Var
%lnkvC = getelementptr inbounds i64, i64* %lnkvA, i32 -2
store i64 %lnkvB, i64* %lnkvC, !tbaa !2
%lnkvE = load i64, i64* %R2_Var
%lnkvD = load i64*, i64** %Hp_Var
%lnkvF = getelementptr inbounds i64, i64* %lnkvD, i32 0
store i64 %lnkvE, i64* %lnkvF, !tbaa !2
%lnkvG = load i64*, i64** %Hp_Var
%lnkvH = getelementptr inbounds i64, i64* %lnkvG, i32 -2
%lnkvI = ptrtoint i64* %lnkvH to i64
store i64 %lnkvI, i64* %R3_Var
%lnkvJ = ptrtoint %riG1_closure_struct* @riG1_closure$def to i64
%lnkvK = add i64 %lnkvJ, 2
store i64 %lnkvK, i64* %R2_Var
%lnkvL = bitcast i8* @base_GHCziErr_error_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkvM = load i64*, i64** %Hp_Var
%lnkvN = load i64, i64* %R1_Var
%lnkvO = load i64, i64* %R2_Var
%lnkvP = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkvL( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnkvM, i64 %lnkvN, i64 %lnkvO, i64 %lnkvP, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckqM:
%lnkvQ = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 24, i64* %lnkvQ, !tbaa !4
%lnkvR = load i64, i64* %R2_Var
store i64 %lnkvR, i64* %R2_Var
%lnkvS = ptrtoint %riG2_closure_struct* @riG2_closure$def to i64
store i64 %lnkvS, i64* %R1_Var
%lnkvT = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnkvU = bitcast i64* %lnkvT to i64*
%lnkvV = load i64, i64* %lnkvU, !tbaa !4
%lnkvW = inttoptr i64 %lnkvV to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkvX = load i64*, i64** %Hp_Var
%lnkvY = load i64, i64* %R1_Var
%lnkvZ = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkvW( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnkvX, i64 %lnkvY, i64 %lnkvZ, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%Test_zdwtest1_closure_struct = type <{i64, i64}>
@Test_zdwtest1_closure$def = internal global %Test_zdwtest1_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_info$def to i64), i64 0}>
@Test_zdwtest1_closure = alias i8* bitcast (%Test_zdwtest1_closure_struct* @Test_zdwtest1_closure$def to i8*)
@Test_zdwtest1_slow = alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_slow$def to i8*)
define ghccc void @Test_zdwtest1_slow$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind
{
ckBY:
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnkOE = load i64*, i64** %Sp_Var
%lnkOF = getelementptr inbounds i64, i64* %lnkOE, i32 3
%lnkOG = bitcast i64* %lnkOF to i64*
%lnkOH = load i64, i64* %lnkOG, !tbaa !1
store i64 %lnkOH, i64* %R5_Var
%lnkOI = load i64*, i64** %Sp_Var
%lnkOJ = getelementptr inbounds i64, i64* %lnkOI, i32 2
%lnkOK = bitcast i64* %lnkOJ to i64*
%lnkOL = load i64, i64* %lnkOK, !tbaa !1
store i64 %lnkOL, i64* %R4_Var
%lnkOM = load i64*, i64** %Sp_Var
%lnkON = getelementptr inbounds i64, i64* %lnkOM, i32 1
%lnkOO = bitcast i64* %lnkON to i64*
%lnkOP = load i64, i64* %lnkOO, !tbaa !1
store i64 %lnkOP, i64* %R3_Var
%lnkOQ = load i64*, i64** %Sp_Var
%lnkOR = getelementptr inbounds i64, i64* %lnkOQ, i32 0
%lnkOS = bitcast i64* %lnkOR to i64*
%lnkOT = load i64, i64* %lnkOS, !tbaa !1
store i64 %lnkOT, i64* %R2_Var
%lnkOU = load i64, i64* %R1_Var
store i64 %lnkOU, i64* %R1_Var
%lnkOV = load i64*, i64** %Sp_Var
%lnkOW = getelementptr inbounds i64, i64* %lnkOV, i32 4
%lnkOX = ptrtoint i64* %lnkOW to i64
%lnkOY = inttoptr i64 %lnkOX to i64*
store i64* %lnkOY, i64** %Sp_Var
%lnkOZ = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkP0 = load i64*, i64** %Sp_Var
%lnkP1 = load i64, i64* %R1_Var
%lnkP2 = load i64, i64* %R2_Var
%lnkP3 = load i64, i64* %R3_Var
%lnkP4 = load i64, i64* %R4_Var
%lnkP5 = load i64, i64* %R5_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkOZ( i64* %Base_Arg, i64* %lnkP0, i64* %Hp_Arg, i64 %lnkP1, i64 %lnkP2, i64 %lnkP3, i64 %lnkP4, i64 %lnkP5, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siOy_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOy_info$def to i8*)
define internal ghccc void @siOy_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}>
{
ckCL:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
store i64 %R2_Arg, i64* %R1_Var
%lnkP6 = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkP7 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkP6( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkP7, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siOS_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOS_info$def to i8*)
define internal ghccc void @siOS_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901900, i64 4294967299, i64 9}>
{
ckD6:
%lsiOR = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 %R3_Arg, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkP8 = load i64, i64* %R2_Var
%lnkP9 = load i64, i64* %R3_Var
%lnkPa = icmp sge i64 %lnkP8, %lnkP9
%lnkPb = zext i1 %lnkPa to i64
switch i64 %lnkPb, label %ckD4 [i64 1, label %ckD5]
ckD4:
%lnkPe = load i64, i64* %R1_Var
%lnkPf = add i64 %lnkPe, 21
%lnkPg = inttoptr i64 %lnkPf to i64*
%lnkPh = load i64, i64* %lnkPg, !tbaa !3
store i64 %lnkPh, i64* %lsiOR
%lnkPk = load i64, i64* %R1_Var
%lnkPl = add i64 %lnkPk, 13
%lnkPm = inttoptr i64 %lnkPl to i64*
%lnkPn = load i64, i64* %lnkPm, !tbaa !3
%lnkPo = load i64, i64* %R2_Var
%lnkPp = shl i64 %lnkPo, 3
%lnkPq = add i64 %lnkPp, 16
%lnkPr = add i64 %lnkPn, %lnkPq
%lnkPu = load i64, i64* %R1_Var
%lnkPv = add i64 %lnkPu, 5
%lnkPw = inttoptr i64 %lnkPv to i64*
%lnkPx = load i64, i64* %lnkPw, !tbaa !3
%lnkPA = load i64, i64* %R1_Var
%lnkPB = add i64 %lnkPA, 29
%lnkPC = inttoptr i64 %lnkPB to i64*
%lnkPD = load i64, i64* %lnkPC, !tbaa !3
%lnkPE = load i64, i64* %R2_Var
%lnkPF = add i64 %lnkPD, %lnkPE
%lnkPG = shl i64 %lnkPF, 3
%lnkPH = add i64 %lnkPG, 16
%lnkPI = add i64 %lnkPx, %lnkPH
%lnkPJ = inttoptr i64 %lnkPI to double*
%lnkPK = load double, double* %lnkPJ, !tbaa !5
%lnkPL = fadd double %lnkPK, 0x3FF0000000000000
%lnkPM = inttoptr i64 %lnkPr to double*
store double %lnkPL, double* %lnkPM, !tbaa !5
%lnkPN = load i64, i64* %R3_Var
store i64 %lnkPN, i64* %R3_Var
%lnkPP = load i64, i64* %R2_Var
%lnkPQ = add i64 %lnkPP, 1
store i64 %lnkPQ, i64* %R2_Var
%lnkPR = load i64, i64* %lsiOR
store i64 %lnkPR, i64* %R1_Var
%lnkPS = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOR_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkPT = load i64, i64* %R1_Var
%lnkPU = load i64, i64* %R2_Var
%lnkPV = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkPS( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkPT, i64 %lnkPU, i64 %lnkPV, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckD5:
%lnkPW = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64
%lnkPX = add i64 %lnkPW, 1
store i64 %lnkPX, i64* %R1_Var
%lnkPY = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
%lnkPZ = bitcast i64* %lnkPY to i64*
%lnkQ0 = load i64, i64* %lnkPZ, !tbaa !1
%lnkQ1 = inttoptr i64 %lnkQ0 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkQ2 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkQ1( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkQ2, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siOR_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOR_info$def to i8*)
define internal ghccc void @siOR_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901900, i64 1, i64 10}>
{
ckDz:
%R3_Var = alloca i64, i32 1
store i64 %R3_Arg, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkQ3 = load i64, i64* %R3_Var
store i64 %lnkQ3, i64* %R3_Var
%lnkQ4 = load i64, i64* %R2_Var
store i64 %lnkQ4, i64* %R2_Var
%lnkQ7 = load i64, i64* %R1_Var
%lnkQ8 = add i64 %lnkQ7, 5
%lnkQ9 = inttoptr i64 %lnkQ8 to i64*
%lnkQa = load i64, i64* %lnkQ9, !tbaa !3
store i64 %lnkQa, i64* %R1_Var
%lnkQb = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOS_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkQc = load i64, i64* %R1_Var
%lnkQd = load i64, i64* %R2_Var
%lnkQe = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkQb( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkQc, i64 %lnkQd, i64 %lnkQe, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siPs_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siPs_info$def to i8*)
define internal ghccc void @siPs_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 8589934593, i64 9}>
{
ckDQ:
%lsiOR = alloca i64, i32 1
%lsiP2 = alloca i64, i32 1
%lsiP3 = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnkQf = load i64*, i64** %Sp_Var
%lnkQg = getelementptr inbounds i64, i64* %lnkQf, i32 -4
%lnkQh = ptrtoint i64* %lnkQg to i64
%lnkQi = icmp ult i64 %lnkQh, %SpLim_Arg
br i1 %lnkQi, label %ckDR, label %ckDS
ckDS:
%lnkQk = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckDN_info$def to i64
%lnkQj = load i64*, i64** %Sp_Var
%lnkQl = getelementptr inbounds i64, i64* %lnkQj, i32 -4
store i64 %lnkQk, i64* %lnkQl, !tbaa !1
%lnkQo = load i64, i64* %R1_Var
%lnkQp = add i64 %lnkQo, 6
%lnkQq = inttoptr i64 %lnkQp to i64*
%lnkQr = load i64, i64* %lnkQq, !tbaa !3
store i64 %lnkQr, i64* %lsiOR
%lnkQu = load i64, i64* %R1_Var
%lnkQv = add i64 %lnkQu, 14
%lnkQw = inttoptr i64 %lnkQv to i64*
%lnkQx = load i64, i64* %lnkQw, !tbaa !3
store i64 %lnkQx, i64* %lsiP2
%lnkQA = load i64, i64* %R1_Var
%lnkQB = add i64 %lnkQA, 22
%lnkQC = inttoptr i64 %lnkQB to i64*
%lnkQD = load i64, i64* %lnkQC, !tbaa !3
store i64 %lnkQD, i64* %lsiP3
%lnkQE = load i64, i64* %R2_Var
store i64 %lnkQE, i64* %R1_Var
%lnkQG = load i64, i64* %lsiOR
%lnkQF = load i64*, i64** %Sp_Var
%lnkQH = getelementptr inbounds i64, i64* %lnkQF, i32 -3
store i64 %lnkQG, i64* %lnkQH, !tbaa !1
%lnkQJ = load i64, i64* %lsiP2
%lnkQI = load i64*, i64** %Sp_Var
%lnkQK = getelementptr inbounds i64, i64* %lnkQI, i32 -2
store i64 %lnkQJ, i64* %lnkQK, !tbaa !1
%lnkQM = load i64, i64* %lsiP3
%lnkQL = load i64*, i64** %Sp_Var
%lnkQN = getelementptr inbounds i64, i64* %lnkQL, i32 -1
store i64 %lnkQM, i64* %lnkQN, !tbaa !1
%lnkQO = load i64*, i64** %Sp_Var
%lnkQP = getelementptr inbounds i64, i64* %lnkQO, i32 -4
%lnkQQ = ptrtoint i64* %lnkQP to i64
%lnkQR = inttoptr i64 %lnkQQ to i64*
store i64* %lnkQR, i64** %Sp_Var
%lnkQS = load i64, i64* %R1_Var
%lnkQT = and i64 %lnkQS, 7
%lnkQU = icmp ne i64 %lnkQT, 0
br i1 %lnkQU, label %ukFm, label %ckDO
ckDO:
%lnkQW = load i64, i64* %R1_Var
%lnkQX = inttoptr i64 %lnkQW to i64*
%lnkQY = load i64, i64* %lnkQX, !tbaa !3
%lnkQZ = inttoptr i64 %lnkQY to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkR0 = load i64*, i64** %Sp_Var
%lnkR1 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkQZ( i64* %Base_Arg, i64* %lnkR0, i64* %Hp_Arg, i64 %lnkR1, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ukFm:
%lnkR2 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckDN_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkR3 = load i64*, i64** %Sp_Var
%lnkR4 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkR2( i64* %Base_Arg, i64* %lnkR3, i64* %Hp_Arg, i64 %lnkR4, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckDR:
%lnkR5 = load i64, i64* %R2_Var
store i64 %lnkR5, i64* %R2_Var
%lnkR6 = load i64, i64* %R1_Var
store i64 %lnkR6, i64* %R1_Var
%lnkR7 = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnkR8 = bitcast i64* %lnkR7 to i64*
%lnkR9 = load i64, i64* %lnkR8, !tbaa !4
%lnkRa = inttoptr i64 %lnkR9 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkRb = load i64*, i64** %Sp_Var
%lnkRc = load i64, i64* %R1_Var
%lnkRd = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkRa( i64* %Base_Arg, i64* %lnkRb, i64* %Hp_Arg, i64 %lnkRc, i64 %lnkRd, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckDN_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckDN_info$def to i8*)
define internal ghccc void @ckDN_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 387, i64 32}>
{
ckDN:
%lsiOR = alloca i64, i32 1
%lsiP2 = alloca i64, i32 1
%lsiP3 = alloca i64, i32 1
%lsiP7 = alloca i64, i32 1
%lsiP8 = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnkRe = load i64*, i64** %Sp_Var
%lnkRf = getelementptr inbounds i64, i64* %lnkRe, i32 1
%lnkRg = bitcast i64* %lnkRf to i64*
%lnkRh = load i64, i64* %lnkRg, !tbaa !1
store i64 %lnkRh, i64* %lsiOR
%lnkRi = load i64*, i64** %Sp_Var
%lnkRj = getelementptr inbounds i64, i64* %lnkRi, i32 2
%lnkRk = bitcast i64* %lnkRj to i64*
%lnkRl = load i64, i64* %lnkRk, !tbaa !1
store i64 %lnkRl, i64* %lsiP2
%lnkRm = load i64*, i64** %Sp_Var
%lnkRn = getelementptr inbounds i64, i64* %lnkRm, i32 3
%lnkRo = bitcast i64* %lnkRn to i64*
%lnkRp = load i64, i64* %lnkRo, !tbaa !1
store i64 %lnkRp, i64* %lsiP3
%lnkRs = load i64, i64* %R1_Var
%lnkRt = add i64 %lnkRs, 7
%lnkRu = inttoptr i64 %lnkRt to i64*
%lnkRv = load i64, i64* %lnkRu, !tbaa !3
store i64 %lnkRv, i64* %lsiP7
%lnkRw = load i64, i64* %lsiP7
%lnkRx = add i64 %lnkRw, 1
store i64 %lnkRx, i64* %lsiP8
%lnkRy = load i64, i64* %lsiP7
%lnkRz = load i64, i64* %lsiP3
%lnkRA = icmp slt i64 %lnkRy, %lnkRz
%lnkRB = zext i1 %lnkRA to i64
switch i64 %lnkRB, label %ckE4 [i64 1, label %ckEp]
ckE4:
%lnkRC = load i64, i64* %lsiP8
%lnkRD = load i64, i64* %lsiP3
%lnkRE = icmp slt i64 %lnkRC, %lnkRD
%lnkRF = zext i1 %lnkRE to i64
switch i64 %lnkRF, label %ckEd [i64 1, label %ckEj]
ckEd:
%lnkRG = load i64, i64* %lsiP8
%lnkRH = load i64, i64* %lsiP2
%lnkRI = mul i64 %lnkRG, %lnkRH
%lnkRJ = load i64, i64* %lsiP3
%lnkRK = add i64 %lnkRI, %lnkRJ
store i64 %lnkRK, i64* %R3_Var
%lnkRL = load i64, i64* %lsiP7
%lnkRM = load i64, i64* %lsiP2
%lnkRN = mul i64 %lnkRL, %lnkRM
%lnkRO = load i64, i64* %lsiP3
%lnkRP = add i64 %lnkRN, %lnkRO
store i64 %lnkRP, i64* %R2_Var
%lnkRQ = load i64, i64* %lsiOR
store i64 %lnkRQ, i64* %R1_Var
%lnkRR = load i64*, i64** %Sp_Var
%lnkRS = getelementptr inbounds i64, i64* %lnkRR, i32 4
%lnkRT = ptrtoint i64* %lnkRS to i64
%lnkRU = inttoptr i64 %lnkRT to i64*
store i64* %lnkRU, i64** %Sp_Var
%lnkRV = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOR_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkRW = load i64*, i64** %Sp_Var
%lnkRX = load i64, i64* %R1_Var
%lnkRY = load i64, i64* %R2_Var
%lnkRZ = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkRV( i64* %Base_Arg, i64* %lnkRW, i64* %Hp_Arg, i64 %lnkRX, i64 %lnkRY, i64 %lnkRZ, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckEj:
%lnkS0 = load i64, i64* %lsiP8
%lnkS1 = load i64, i64* %lsiP2
%lnkS2 = add i64 %lnkS1, 1
%lnkS3 = mul i64 %lnkS0, %lnkS2
store i64 %lnkS3, i64* %R3_Var
%lnkS4 = load i64, i64* %lsiP7
%lnkS5 = load i64, i64* %lsiP2
%lnkS6 = mul i64 %lnkS4, %lnkS5
%lnkS7 = load i64, i64* %lsiP3
%lnkS8 = add i64 %lnkS6, %lnkS7
store i64 %lnkS8, i64* %R2_Var
%lnkS9 = load i64, i64* %lsiOR
store i64 %lnkS9, i64* %R1_Var
%lnkSa = load i64*, i64** %Sp_Var
%lnkSb = getelementptr inbounds i64, i64* %lnkSa, i32 4
%lnkSc = ptrtoint i64* %lnkSb to i64
%lnkSd = inttoptr i64 %lnkSc to i64*
store i64* %lnkSd, i64** %Sp_Var
%lnkSe = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOR_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkSf = load i64*, i64** %Sp_Var
%lnkSg = load i64, i64* %R1_Var
%lnkSh = load i64, i64* %R2_Var
%lnkSi = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkSe( i64* %Base_Arg, i64* %lnkSf, i64* %Hp_Arg, i64 %lnkSg, i64 %lnkSh, i64 %lnkSi, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckEp:
%lnkSj = load i64, i64* %lsiP8
%lnkSk = load i64, i64* %lsiP3
%lnkSl = icmp slt i64 %lnkSj, %lnkSk
%lnkSm = zext i1 %lnkSl to i64
switch i64 %lnkSm, label %ckEy [i64 1, label %ckEE]
ckEy:
%lnkSn = load i64, i64* %lsiP8
%lnkSo = load i64, i64* %lsiP2
%lnkSp = mul i64 %lnkSn, %lnkSo
%lnkSq = load i64, i64* %lsiP3
%lnkSr = add i64 %lnkSp, %lnkSq
store i64 %lnkSr, i64* %R3_Var
%lnkSs = load i64, i64* %lsiP7
%lnkSt = load i64, i64* %lsiP2
%lnkSu = add i64 %lnkSt, 1
%lnkSv = mul i64 %lnkSs, %lnkSu
store i64 %lnkSv, i64* %R2_Var
%lnkSw = load i64, i64* %lsiOR
store i64 %lnkSw, i64* %R1_Var
%lnkSx = load i64*, i64** %Sp_Var
%lnkSy = getelementptr inbounds i64, i64* %lnkSx, i32 4
%lnkSz = ptrtoint i64* %lnkSy to i64
%lnkSA = inttoptr i64 %lnkSz to i64*
store i64* %lnkSA, i64** %Sp_Var
%lnkSB = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOR_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkSC = load i64*, i64** %Sp_Var
%lnkSD = load i64, i64* %R1_Var
%lnkSE = load i64, i64* %R2_Var
%lnkSF = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkSB( i64* %Base_Arg, i64* %lnkSC, i64* %Hp_Arg, i64 %lnkSD, i64 %lnkSE, i64 %lnkSF, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckEE:
%lnkSG = load i64, i64* %lsiP8
%lnkSH = load i64, i64* %lsiP2
%lnkSI = add i64 %lnkSH, 1
%lnkSJ = mul i64 %lnkSG, %lnkSI
store i64 %lnkSJ, i64* %R3_Var
%lnkSK = load i64, i64* %lsiP7
%lnkSL = load i64, i64* %lsiP2
%lnkSM = add i64 %lnkSL, 1
%lnkSN = mul i64 %lnkSK, %lnkSM
store i64 %lnkSN, i64* %R2_Var
%lnkSO = load i64, i64* %lsiOR
store i64 %lnkSO, i64* %R1_Var
%lnkSP = load i64*, i64** %Sp_Var
%lnkSQ = getelementptr inbounds i64, i64* %lnkSP, i32 4
%lnkSR = ptrtoint i64* %lnkSQ to i64
%lnkSS = inttoptr i64 %lnkSR to i64*
store i64* %lnkSS, i64** %Sp_Var
%lnkST = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOR_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkSU = load i64*, i64** %Sp_Var
%lnkSV = load i64, i64* %R1_Var
%lnkSW = load i64, i64* %R2_Var
%lnkSX = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkST( i64* %Base_Arg, i64* %lnkSU, i64* %Hp_Arg, i64 %lnkSV, i64 %lnkSW, i64 %lnkSX, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siPA_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siPA_info$def to i8*)
define internal ghccc void @siPA_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}>
{
ckFy:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
store i64 %R2_Arg, i64* %R1_Var
%lnkSY = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkSZ = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkSY( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkSZ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siPV_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siPV_info$def to i8*)
define internal ghccc void @siPV_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}>
{
ckFI:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
store i64 %R2_Arg, i64* %R1_Var
%lnkT0 = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkT1 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkT0( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkT1, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siQp_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQp_info$def to i8*)
define internal ghccc void @siQp_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901900, i64 4294967299, i64 9}>
{
ckG4:
%lsiQo = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 %R3_Arg, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkT2 = load i64, i64* %R2_Var
%lnkT3 = load i64, i64* %R3_Var
%lnkT4 = icmp sge i64 %lnkT2, %lnkT3
%lnkT5 = zext i1 %lnkT4 to i64
switch i64 %lnkT5, label %ckG2 [i64 1, label %ckG3]
ckG2:
%lnkT8 = load i64, i64* %R1_Var
%lnkT9 = add i64 %lnkT8, 21
%lnkTa = inttoptr i64 %lnkT9 to i64*
%lnkTb = load i64, i64* %lnkTa, !tbaa !3
store i64 %lnkTb, i64* %lsiQo
%lnkTe = load i64, i64* %R1_Var
%lnkTf = add i64 %lnkTe, 13
%lnkTg = inttoptr i64 %lnkTf to i64*
%lnkTh = load i64, i64* %lnkTg, !tbaa !3
%lnkTi = load i64, i64* %R2_Var
%lnkTj = shl i64 %lnkTi, 3
%lnkTk = add i64 %lnkTj, 16
%lnkTl = add i64 %lnkTh, %lnkTk
%lnkTo = load i64, i64* %R1_Var
%lnkTp = add i64 %lnkTo, 5
%lnkTq = inttoptr i64 %lnkTp to i64*
%lnkTr = load i64, i64* %lnkTq, !tbaa !3
%lnkTu = load i64, i64* %R1_Var
%lnkTv = add i64 %lnkTu, 29
%lnkTw = inttoptr i64 %lnkTv to i64*
%lnkTx = load i64, i64* %lnkTw, !tbaa !3
%lnkTy = load i64, i64* %R2_Var
%lnkTz = add i64 %lnkTx, %lnkTy
%lnkTA = shl i64 %lnkTz, 3
%lnkTB = add i64 %lnkTA, 16
%lnkTC = add i64 %lnkTr, %lnkTB
%lnkTD = inttoptr i64 %lnkTC to double*
%lnkTE = load double, double* %lnkTD, !tbaa !5
%lnkTF = fadd double %lnkTE, 0x3FF0000000000000
%lnkTG = inttoptr i64 %lnkTl to double*
store double %lnkTF, double* %lnkTG, !tbaa !5
%lnkTH = load i64, i64* %R3_Var
store i64 %lnkTH, i64* %R3_Var
%lnkTJ = load i64, i64* %R2_Var
%lnkTK = add i64 %lnkTJ, 1
store i64 %lnkTK, i64* %R2_Var
%lnkTL = load i64, i64* %lsiQo
store i64 %lnkTL, i64* %R1_Var
%lnkTM = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQo_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkTN = load i64, i64* %R1_Var
%lnkTO = load i64, i64* %R2_Var
%lnkTP = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkTM( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkTN, i64 %lnkTO, i64 %lnkTP, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckG3:
%lnkTQ = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64
%lnkTR = add i64 %lnkTQ, 1
store i64 %lnkTR, i64* %R1_Var
%lnkTS = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
%lnkTT = bitcast i64* %lnkTS to i64*
%lnkTU = load i64, i64* %lnkTT, !tbaa !1
%lnkTV = inttoptr i64 %lnkTU to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkTW = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkTV( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkTW, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siQo_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQo_info$def to i8*)
define internal ghccc void @siQo_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901900, i64 1, i64 10}>
{
ckGx:
%R3_Var = alloca i64, i32 1
store i64 %R3_Arg, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkTX = load i64, i64* %R3_Var
store i64 %lnkTX, i64* %R3_Var
%lnkTY = load i64, i64* %R2_Var
store i64 %lnkTY, i64* %R2_Var
%lnkU1 = load i64, i64* %R1_Var
%lnkU2 = add i64 %lnkU1, 5
%lnkU3 = inttoptr i64 %lnkU2 to i64*
%lnkU4 = load i64, i64* %lnkU3, !tbaa !3
store i64 %lnkU4, i64* %R1_Var
%lnkU5 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQp_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkU6 = load i64, i64* %R1_Var
%lnkU7 = load i64, i64* %R2_Var
%lnkU8 = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkU5( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkU6, i64 %lnkU7, i64 %lnkU8, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siQZ_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQZ_info$def to i8*)
define internal ghccc void @siQZ_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 8589934593, i64 9}>
{
ckGO:
%lsiQo = alloca i64, i32 1
%lsiQz = alloca i64, i32 1
%lsiQA = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnkU9 = load i64*, i64** %Sp_Var
%lnkUa = getelementptr inbounds i64, i64* %lnkU9, i32 -4
%lnkUb = ptrtoint i64* %lnkUa to i64
%lnkUc = icmp ult i64 %lnkUb, %SpLim_Arg
br i1 %lnkUc, label %ckGP, label %ckGQ
ckGQ:
%lnkUe = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckGL_info$def to i64
%lnkUd = load i64*, i64** %Sp_Var
%lnkUf = getelementptr inbounds i64, i64* %lnkUd, i32 -4
store i64 %lnkUe, i64* %lnkUf, !tbaa !1
%lnkUi = load i64, i64* %R1_Var
%lnkUj = add i64 %lnkUi, 6
%lnkUk = inttoptr i64 %lnkUj to i64*
%lnkUl = load i64, i64* %lnkUk, !tbaa !3
store i64 %lnkUl, i64* %lsiQo
%lnkUo = load i64, i64* %R1_Var
%lnkUp = add i64 %lnkUo, 14
%lnkUq = inttoptr i64 %lnkUp to i64*
%lnkUr = load i64, i64* %lnkUq, !tbaa !3
store i64 %lnkUr, i64* %lsiQz
%lnkUu = load i64, i64* %R1_Var
%lnkUv = add i64 %lnkUu, 22
%lnkUw = inttoptr i64 %lnkUv to i64*
%lnkUx = load i64, i64* %lnkUw, !tbaa !3
store i64 %lnkUx, i64* %lsiQA
%lnkUy = load i64, i64* %R2_Var
store i64 %lnkUy, i64* %R1_Var
%lnkUA = load i64, i64* %lsiQo
%lnkUz = load i64*, i64** %Sp_Var
%lnkUB = getelementptr inbounds i64, i64* %lnkUz, i32 -3
store i64 %lnkUA, i64* %lnkUB, !tbaa !1
%lnkUD = load i64, i64* %lsiQz
%lnkUC = load i64*, i64** %Sp_Var
%lnkUE = getelementptr inbounds i64, i64* %lnkUC, i32 -2
store i64 %lnkUD, i64* %lnkUE, !tbaa !1
%lnkUG = load i64, i64* %lsiQA
%lnkUF = load i64*, i64** %Sp_Var
%lnkUH = getelementptr inbounds i64, i64* %lnkUF, i32 -1
store i64 %lnkUG, i64* %lnkUH, !tbaa !1
%lnkUI = load i64*, i64** %Sp_Var
%lnkUJ = getelementptr inbounds i64, i64* %lnkUI, i32 -4
%lnkUK = ptrtoint i64* %lnkUJ to i64
%lnkUL = inttoptr i64 %lnkUK to i64*
store i64* %lnkUL, i64** %Sp_Var
%lnkUM = load i64, i64* %R1_Var
%lnkUN = and i64 %lnkUM, 7
%lnkUO = icmp ne i64 %lnkUN, 0
br i1 %lnkUO, label %ukIk, label %ckGM
ckGM:
%lnkUQ = load i64, i64* %R1_Var
%lnkUR = inttoptr i64 %lnkUQ to i64*
%lnkUS = load i64, i64* %lnkUR, !tbaa !3
%lnkUT = inttoptr i64 %lnkUS to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkUU = load i64*, i64** %Sp_Var
%lnkUV = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkUT( i64* %Base_Arg, i64* %lnkUU, i64* %Hp_Arg, i64 %lnkUV, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ukIk:
%lnkUW = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckGL_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkUX = load i64*, i64** %Sp_Var
%lnkUY = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkUW( i64* %Base_Arg, i64* %lnkUX, i64* %Hp_Arg, i64 %lnkUY, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckGP:
%lnkUZ = load i64, i64* %R2_Var
store i64 %lnkUZ, i64* %R2_Var
%lnkV0 = load i64, i64* %R1_Var
store i64 %lnkV0, i64* %R1_Var
%lnkV1 = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnkV2 = bitcast i64* %lnkV1 to i64*
%lnkV3 = load i64, i64* %lnkV2, !tbaa !4
%lnkV4 = inttoptr i64 %lnkV3 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkV5 = load i64*, i64** %Sp_Var
%lnkV6 = load i64, i64* %R1_Var
%lnkV7 = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkV4( i64* %Base_Arg, i64* %lnkV5, i64* %Hp_Arg, i64 %lnkV6, i64 %lnkV7, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckGL_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckGL_info$def to i8*)
define internal ghccc void @ckGL_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 387, i64 32}>
{
ckGL:
%lsiQo = alloca i64, i32 1
%lsiQz = alloca i64, i32 1
%lsiQA = alloca i64, i32 1
%lsiQE = alloca i64, i32 1
%lsiQF = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnkV8 = load i64*, i64** %Sp_Var
%lnkV9 = getelementptr inbounds i64, i64* %lnkV8, i32 1
%lnkVa = bitcast i64* %lnkV9 to i64*
%lnkVb = load i64, i64* %lnkVa, !tbaa !1
store i64 %lnkVb, i64* %lsiQo
%lnkVc = load i64*, i64** %Sp_Var
%lnkVd = getelementptr inbounds i64, i64* %lnkVc, i32 2
%lnkVe = bitcast i64* %lnkVd to i64*
%lnkVf = load i64, i64* %lnkVe, !tbaa !1
store i64 %lnkVf, i64* %lsiQz
%lnkVg = load i64*, i64** %Sp_Var
%lnkVh = getelementptr inbounds i64, i64* %lnkVg, i32 3
%lnkVi = bitcast i64* %lnkVh to i64*
%lnkVj = load i64, i64* %lnkVi, !tbaa !1
store i64 %lnkVj, i64* %lsiQA
%lnkVm = load i64, i64* %R1_Var
%lnkVn = add i64 %lnkVm, 7
%lnkVo = inttoptr i64 %lnkVn to i64*
%lnkVp = load i64, i64* %lnkVo, !tbaa !3
store i64 %lnkVp, i64* %lsiQE
%lnkVq = load i64, i64* %lsiQE
%lnkVr = add i64 %lnkVq, 1
store i64 %lnkVr, i64* %lsiQF
%lnkVs = load i64, i64* %lsiQE
%lnkVt = load i64, i64* %lsiQA
%lnkVu = icmp slt i64 %lnkVs, %lnkVt
%lnkVv = zext i1 %lnkVu to i64
switch i64 %lnkVv, label %ckH2 [i64 1, label %ckHn]
ckH2:
%lnkVw = load i64, i64* %lsiQF
%lnkVx = load i64, i64* %lsiQA
%lnkVy = icmp slt i64 %lnkVw, %lnkVx
%lnkVz = zext i1 %lnkVy to i64
switch i64 %lnkVz, label %ckHb [i64 1, label %ckHh]
ckHb:
%lnkVA = load i64, i64* %lsiQF
%lnkVB = load i64, i64* %lsiQz
%lnkVC = mul i64 %lnkVA, %lnkVB
%lnkVD = load i64, i64* %lsiQA
%lnkVE = add i64 %lnkVC, %lnkVD
store i64 %lnkVE, i64* %R3_Var
%lnkVF = load i64, i64* %lsiQE
%lnkVG = load i64, i64* %lsiQz
%lnkVH = mul i64 %lnkVF, %lnkVG
%lnkVI = load i64, i64* %lsiQA
%lnkVJ = add i64 %lnkVH, %lnkVI
store i64 %lnkVJ, i64* %R2_Var
%lnkVK = load i64, i64* %lsiQo
store i64 %lnkVK, i64* %R1_Var
%lnkVL = load i64*, i64** %Sp_Var
%lnkVM = getelementptr inbounds i64, i64* %lnkVL, i32 4
%lnkVN = ptrtoint i64* %lnkVM to i64
%lnkVO = inttoptr i64 %lnkVN to i64*
store i64* %lnkVO, i64** %Sp_Var
%lnkVP = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQo_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkVQ = load i64*, i64** %Sp_Var
%lnkVR = load i64, i64* %R1_Var
%lnkVS = load i64, i64* %R2_Var
%lnkVT = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkVP( i64* %Base_Arg, i64* %lnkVQ, i64* %Hp_Arg, i64 %lnkVR, i64 %lnkVS, i64 %lnkVT, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckHh:
%lnkVU = load i64, i64* %lsiQF
%lnkVV = load i64, i64* %lsiQz
%lnkVW = add i64 %lnkVV, 1
%lnkVX = mul i64 %lnkVU, %lnkVW
store i64 %lnkVX, i64* %R3_Var
%lnkVY = load i64, i64* %lsiQE
%lnkVZ = load i64, i64* %lsiQz
%lnkW0 = mul i64 %lnkVY, %lnkVZ
%lnkW1 = load i64, i64* %lsiQA
%lnkW2 = add i64 %lnkW0, %lnkW1
store i64 %lnkW2, i64* %R2_Var
%lnkW3 = load i64, i64* %lsiQo
store i64 %lnkW3, i64* %R1_Var
%lnkW4 = load i64*, i64** %Sp_Var
%lnkW5 = getelementptr inbounds i64, i64* %lnkW4, i32 4
%lnkW6 = ptrtoint i64* %lnkW5 to i64
%lnkW7 = inttoptr i64 %lnkW6 to i64*
store i64* %lnkW7, i64** %Sp_Var
%lnkW8 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQo_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkW9 = load i64*, i64** %Sp_Var
%lnkWa = load i64, i64* %R1_Var
%lnkWb = load i64, i64* %R2_Var
%lnkWc = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkW8( i64* %Base_Arg, i64* %lnkW9, i64* %Hp_Arg, i64 %lnkWa, i64 %lnkWb, i64 %lnkWc, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckHn:
%lnkWd = load i64, i64* %lsiQF
%lnkWe = load i64, i64* %lsiQA
%lnkWf = icmp slt i64 %lnkWd, %lnkWe
%lnkWg = zext i1 %lnkWf to i64
switch i64 %lnkWg, label %ckHw [i64 1, label %ckHC]
ckHw:
%lnkWh = load i64, i64* %lsiQF
%lnkWi = load i64, i64* %lsiQz
%lnkWj = mul i64 %lnkWh, %lnkWi
%lnkWk = load i64, i64* %lsiQA
%lnkWl = add i64 %lnkWj, %lnkWk
store i64 %lnkWl, i64* %R3_Var
%lnkWm = load i64, i64* %lsiQE
%lnkWn = load i64, i64* %lsiQz
%lnkWo = add i64 %lnkWn, 1
%lnkWp = mul i64 %lnkWm, %lnkWo
store i64 %lnkWp, i64* %R2_Var
%lnkWq = load i64, i64* %lsiQo
store i64 %lnkWq, i64* %R1_Var
%lnkWr = load i64*, i64** %Sp_Var
%lnkWs = getelementptr inbounds i64, i64* %lnkWr, i32 4
%lnkWt = ptrtoint i64* %lnkWs to i64
%lnkWu = inttoptr i64 %lnkWt to i64*
store i64* %lnkWu, i64** %Sp_Var
%lnkWv = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQo_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkWw = load i64*, i64** %Sp_Var
%lnkWx = load i64, i64* %R1_Var
%lnkWy = load i64, i64* %R2_Var
%lnkWz = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkWv( i64* %Base_Arg, i64* %lnkWw, i64* %Hp_Arg, i64 %lnkWx, i64 %lnkWy, i64 %lnkWz, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckHC:
%lnkWA = load i64, i64* %lsiQF
%lnkWB = load i64, i64* %lsiQz
%lnkWC = add i64 %lnkWB, 1
%lnkWD = mul i64 %lnkWA, %lnkWC
store i64 %lnkWD, i64* %R3_Var
%lnkWE = load i64, i64* %lsiQE
%lnkWF = load i64, i64* %lsiQz
%lnkWG = add i64 %lnkWF, 1
%lnkWH = mul i64 %lnkWE, %lnkWG
store i64 %lnkWH, i64* %R2_Var
%lnkWI = load i64, i64* %lsiQo
store i64 %lnkWI, i64* %R1_Var
%lnkWJ = load i64*, i64** %Sp_Var
%lnkWK = getelementptr inbounds i64, i64* %lnkWJ, i32 4
%lnkWL = ptrtoint i64* %lnkWK to i64
%lnkWM = inttoptr i64 %lnkWL to i64*
store i64* %lnkWM, i64** %Sp_Var
%lnkWN = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQo_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkWO = load i64*, i64** %Sp_Var
%lnkWP = load i64, i64* %R1_Var
%lnkWQ = load i64, i64* %R2_Var
%lnkWR = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkWN( i64* %Base_Arg, i64* %lnkWO, i64* %Hp_Arg, i64 %lnkWP, i64 %lnkWQ, i64 %lnkWR, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siR7_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siR7_info$def to i8*)
define internal ghccc void @siR7_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}>
{
ckIw:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
store i64 %R2_Arg, i64* %R1_Var
%lnkWS = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkWT = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkWS( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkWT, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siRs_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRs_info$def to i8*)
define internal ghccc void @siRs_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}>
{
ckIG:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
store i64 %R2_Arg, i64* %R1_Var
%lnkWU = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkWV = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkWU( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkWV, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siRD_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRD_info$def to i8*)
define internal ghccc void @siRD_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}>
{
ckIP:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
store i64 %R2_Arg, i64* %R1_Var
%lnkWW = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkWX = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkWW( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkWX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siRX_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRX_info$def to i8*)
define internal ghccc void @siRX_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901900, i64 4294967299, i64 9}>
{
ckJa:
%lsiRW = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 %R3_Arg, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkWY = load i64, i64* %R2_Var
%lnkWZ = load i64, i64* %R3_Var
%lnkX0 = icmp sge i64 %lnkWY, %lnkWZ
%lnkX1 = zext i1 %lnkX0 to i64
switch i64 %lnkX1, label %ckJ8 [i64 1, label %ckJ9]
ckJ8:
%lnkX4 = load i64, i64* %R1_Var
%lnkX5 = add i64 %lnkX4, 21
%lnkX6 = inttoptr i64 %lnkX5 to i64*
%lnkX7 = load i64, i64* %lnkX6, !tbaa !3
store i64 %lnkX7, i64* %lsiRW
%lnkXa = load i64, i64* %R1_Var
%lnkXb = add i64 %lnkXa, 13
%lnkXc = inttoptr i64 %lnkXb to i64*
%lnkXd = load i64, i64* %lnkXc, !tbaa !3
%lnkXe = load i64, i64* %R2_Var
%lnkXf = shl i64 %lnkXe, 3
%lnkXg = add i64 %lnkXf, 16
%lnkXh = add i64 %lnkXd, %lnkXg
%lnkXk = load i64, i64* %R1_Var
%lnkXl = add i64 %lnkXk, 5
%lnkXm = inttoptr i64 %lnkXl to i64*
%lnkXn = load i64, i64* %lnkXm, !tbaa !3
%lnkXq = load i64, i64* %R1_Var
%lnkXr = add i64 %lnkXq, 29
%lnkXs = inttoptr i64 %lnkXr to i64*
%lnkXt = load i64, i64* %lnkXs, !tbaa !3
%lnkXu = load i64, i64* %R2_Var
%lnkXv = add i64 %lnkXt, %lnkXu
%lnkXw = shl i64 %lnkXv, 3
%lnkXx = add i64 %lnkXw, 16
%lnkXy = add i64 %lnkXn, %lnkXx
%lnkXz = inttoptr i64 %lnkXy to double*
%lnkXA = load double, double* %lnkXz, !tbaa !5
%lnkXB = fadd double %lnkXA, 0x3FF0000000000000
%lnkXC = inttoptr i64 %lnkXh to double*
store double %lnkXB, double* %lnkXC, !tbaa !5
%lnkXD = load i64, i64* %R3_Var
store i64 %lnkXD, i64* %R3_Var
%lnkXF = load i64, i64* %R2_Var
%lnkXG = add i64 %lnkXF, 1
store i64 %lnkXG, i64* %R2_Var
%lnkXH = load i64, i64* %lsiRW
store i64 %lnkXH, i64* %R1_Var
%lnkXI = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRW_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkXJ = load i64, i64* %R1_Var
%lnkXK = load i64, i64* %R2_Var
%lnkXL = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkXI( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkXJ, i64 %lnkXK, i64 %lnkXL, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckJ9:
%lnkXM = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64
%lnkXN = add i64 %lnkXM, 1
store i64 %lnkXN, i64* %R1_Var
%lnkXO = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
%lnkXP = bitcast i64* %lnkXO to i64*
%lnkXQ = load i64, i64* %lnkXP, !tbaa !1
%lnkXR = inttoptr i64 %lnkXQ to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkXS = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkXR( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkXS, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siRW_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRW_info$def to i8*)
define internal ghccc void @siRW_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901900, i64 1, i64 10}>
{
ckJD:
%R3_Var = alloca i64, i32 1
store i64 %R3_Arg, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnkXT = load i64, i64* %R3_Var
store i64 %lnkXT, i64* %R3_Var
%lnkXU = load i64, i64* %R2_Var
store i64 %lnkXU, i64* %R2_Var
%lnkXX = load i64, i64* %R1_Var
%lnkXY = add i64 %lnkXX, 5
%lnkXZ = inttoptr i64 %lnkXY to i64*
%lnkY0 = load i64, i64* %lnkXZ, !tbaa !3
store i64 %lnkY0, i64* %R1_Var
%lnkY1 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRX_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkY2 = load i64, i64* %R1_Var
%lnkY3 = load i64, i64* %R2_Var
%lnkY4 = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkY1( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkY2, i64 %lnkY3, i64 %lnkY4, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siSx_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siSx_info$def to i8*)
define internal ghccc void @siSx_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 8589934593, i64 9}>
{
ckJU:
%lsiRW = alloca i64, i32 1
%lsiS7 = alloca i64, i32 1
%lsiS8 = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnkY5 = load i64*, i64** %Sp_Var
%lnkY6 = getelementptr inbounds i64, i64* %lnkY5, i32 -4
%lnkY7 = ptrtoint i64* %lnkY6 to i64
%lnkY8 = icmp ult i64 %lnkY7, %SpLim_Arg
br i1 %lnkY8, label %ckJV, label %ckJW
ckJW:
%lnkYa = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckJR_info$def to i64
%lnkY9 = load i64*, i64** %Sp_Var
%lnkYb = getelementptr inbounds i64, i64* %lnkY9, i32 -4
store i64 %lnkYa, i64* %lnkYb, !tbaa !1
%lnkYe = load i64, i64* %R1_Var
%lnkYf = add i64 %lnkYe, 6
%lnkYg = inttoptr i64 %lnkYf to i64*
%lnkYh = load i64, i64* %lnkYg, !tbaa !3
store i64 %lnkYh, i64* %lsiRW
%lnkYk = load i64, i64* %R1_Var
%lnkYl = add i64 %lnkYk, 14
%lnkYm = inttoptr i64 %lnkYl to i64*
%lnkYn = load i64, i64* %lnkYm, !tbaa !3
store i64 %lnkYn, i64* %lsiS7
%lnkYq = load i64, i64* %R1_Var
%lnkYr = add i64 %lnkYq, 22
%lnkYs = inttoptr i64 %lnkYr to i64*
%lnkYt = load i64, i64* %lnkYs, !tbaa !3
store i64 %lnkYt, i64* %lsiS8
%lnkYu = load i64, i64* %R2_Var
store i64 %lnkYu, i64* %R1_Var
%lnkYw = load i64, i64* %lsiRW
%lnkYv = load i64*, i64** %Sp_Var
%lnkYx = getelementptr inbounds i64, i64* %lnkYv, i32 -3
store i64 %lnkYw, i64* %lnkYx, !tbaa !1
%lnkYz = load i64, i64* %lsiS7
%lnkYy = load i64*, i64** %Sp_Var
%lnkYA = getelementptr inbounds i64, i64* %lnkYy, i32 -2
store i64 %lnkYz, i64* %lnkYA, !tbaa !1
%lnkYC = load i64, i64* %lsiS8
%lnkYB = load i64*, i64** %Sp_Var
%lnkYD = getelementptr inbounds i64, i64* %lnkYB, i32 -1
store i64 %lnkYC, i64* %lnkYD, !tbaa !1
%lnkYE = load i64*, i64** %Sp_Var
%lnkYF = getelementptr inbounds i64, i64* %lnkYE, i32 -4
%lnkYG = ptrtoint i64* %lnkYF to i64
%lnkYH = inttoptr i64 %lnkYG to i64*
store i64* %lnkYH, i64** %Sp_Var
%lnkYI = load i64, i64* %R1_Var
%lnkYJ = and i64 %lnkYI, 7
%lnkYK = icmp ne i64 %lnkYJ, 0
br i1 %lnkYK, label %ukLq, label %ckJS
ckJS:
%lnkYM = load i64, i64* %R1_Var
%lnkYN = inttoptr i64 %lnkYM to i64*
%lnkYO = load i64, i64* %lnkYN, !tbaa !3
%lnkYP = inttoptr i64 %lnkYO to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkYQ = load i64*, i64** %Sp_Var
%lnkYR = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkYP( i64* %Base_Arg, i64* %lnkYQ, i64* %Hp_Arg, i64 %lnkYR, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ukLq:
%lnkYS = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckJR_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkYT = load i64*, i64** %Sp_Var
%lnkYU = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkYS( i64* %Base_Arg, i64* %lnkYT, i64* %Hp_Arg, i64 %lnkYU, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckJV:
%lnkYV = load i64, i64* %R2_Var
store i64 %lnkYV, i64* %R2_Var
%lnkYW = load i64, i64* %R1_Var
store i64 %lnkYW, i64* %R1_Var
%lnkYX = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnkYY = bitcast i64* %lnkYX to i64*
%lnkYZ = load i64, i64* %lnkYY, !tbaa !4
%lnkZ0 = inttoptr i64 %lnkYZ to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkZ1 = load i64*, i64** %Sp_Var
%lnkZ2 = load i64, i64* %R1_Var
%lnkZ3 = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkZ0( i64* %Base_Arg, i64* %lnkZ1, i64* %Hp_Arg, i64 %lnkZ2, i64 %lnkZ3, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckJR_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckJR_info$def to i8*)
define internal ghccc void @ckJR_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 387, i64 32}>
{
ckJR:
%lsiRW = alloca i64, i32 1
%lsiS7 = alloca i64, i32 1
%lsiS8 = alloca i64, i32 1
%lsiSc = alloca i64, i32 1
%lsiSd = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnkZ4 = load i64*, i64** %Sp_Var
%lnkZ5 = getelementptr inbounds i64, i64* %lnkZ4, i32 1
%lnkZ6 = bitcast i64* %lnkZ5 to i64*
%lnkZ7 = load i64, i64* %lnkZ6, !tbaa !1
store i64 %lnkZ7, i64* %lsiRW
%lnkZ8 = load i64*, i64** %Sp_Var
%lnkZ9 = getelementptr inbounds i64, i64* %lnkZ8, i32 2
%lnkZa = bitcast i64* %lnkZ9 to i64*
%lnkZb = load i64, i64* %lnkZa, !tbaa !1
store i64 %lnkZb, i64* %lsiS7
%lnkZc = load i64*, i64** %Sp_Var
%lnkZd = getelementptr inbounds i64, i64* %lnkZc, i32 3
%lnkZe = bitcast i64* %lnkZd to i64*
%lnkZf = load i64, i64* %lnkZe, !tbaa !1
store i64 %lnkZf, i64* %lsiS8
%lnkZi = load i64, i64* %R1_Var
%lnkZj = add i64 %lnkZi, 7
%lnkZk = inttoptr i64 %lnkZj to i64*
%lnkZl = load i64, i64* %lnkZk, !tbaa !3
store i64 %lnkZl, i64* %lsiSc
%lnkZm = load i64, i64* %lsiSc
%lnkZn = add i64 %lnkZm, 1
store i64 %lnkZn, i64* %lsiSd
%lnkZo = load i64, i64* %lsiSc
%lnkZp = load i64, i64* %lsiS8
%lnkZq = icmp slt i64 %lnkZo, %lnkZp
%lnkZr = zext i1 %lnkZq to i64
switch i64 %lnkZr, label %ckK8 [i64 1, label %ckKt]
ckK8:
%lnkZs = load i64, i64* %lsiSd
%lnkZt = load i64, i64* %lsiS8
%lnkZu = icmp slt i64 %lnkZs, %lnkZt
%lnkZv = zext i1 %lnkZu to i64
switch i64 %lnkZv, label %ckKh [i64 1, label %ckKn]
ckKh:
%lnkZw = load i64, i64* %lsiSd
%lnkZx = load i64, i64* %lsiS7
%lnkZy = mul i64 %lnkZw, %lnkZx
%lnkZz = load i64, i64* %lsiS8
%lnkZA = add i64 %lnkZy, %lnkZz
store i64 %lnkZA, i64* %R3_Var
%lnkZB = load i64, i64* %lsiSc
%lnkZC = load i64, i64* %lsiS7
%lnkZD = mul i64 %lnkZB, %lnkZC
%lnkZE = load i64, i64* %lsiS8
%lnkZF = add i64 %lnkZD, %lnkZE
store i64 %lnkZF, i64* %R2_Var
%lnkZG = load i64, i64* %lsiRW
store i64 %lnkZG, i64* %R1_Var
%lnkZH = load i64*, i64** %Sp_Var
%lnkZI = getelementptr inbounds i64, i64* %lnkZH, i32 4
%lnkZJ = ptrtoint i64* %lnkZI to i64
%lnkZK = inttoptr i64 %lnkZJ to i64*
store i64* %lnkZK, i64** %Sp_Var
%lnkZL = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRW_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnkZM = load i64*, i64** %Sp_Var
%lnkZN = load i64, i64* %R1_Var
%lnkZO = load i64, i64* %R2_Var
%lnkZP = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkZL( i64* %Base_Arg, i64* %lnkZM, i64* %Hp_Arg, i64 %lnkZN, i64 %lnkZO, i64 %lnkZP, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckKn:
%lnkZQ = load i64, i64* %lsiSd
%lnkZR = load i64, i64* %lsiS7
%lnkZS = add i64 %lnkZR, 1
%lnkZT = mul i64 %lnkZQ, %lnkZS
store i64 %lnkZT, i64* %R3_Var
%lnkZU = load i64, i64* %lsiSc
%lnkZV = load i64, i64* %lsiS7
%lnkZW = mul i64 %lnkZU, %lnkZV
%lnkZX = load i64, i64* %lsiS8
%lnkZY = add i64 %lnkZW, %lnkZX
store i64 %lnkZY, i64* %R2_Var
%lnkZZ = load i64, i64* %lsiRW
store i64 %lnkZZ, i64* %R1_Var
%lnl00 = load i64*, i64** %Sp_Var
%lnl01 = getelementptr inbounds i64, i64* %lnl00, i32 4
%lnl02 = ptrtoint i64* %lnl01 to i64
%lnl03 = inttoptr i64 %lnl02 to i64*
store i64* %lnl03, i64** %Sp_Var
%lnl04 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRW_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl05 = load i64*, i64** %Sp_Var
%lnl06 = load i64, i64* %R1_Var
%lnl07 = load i64, i64* %R2_Var
%lnl08 = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl04( i64* %Base_Arg, i64* %lnl05, i64* %Hp_Arg, i64 %lnl06, i64 %lnl07, i64 %lnl08, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckKt:
%lnl09 = load i64, i64* %lsiSd
%lnl0a = load i64, i64* %lsiS8
%lnl0b = icmp slt i64 %lnl09, %lnl0a
%lnl0c = zext i1 %lnl0b to i64
switch i64 %lnl0c, label %ckKC [i64 1, label %ckKI]
ckKC:
%lnl0d = load i64, i64* %lsiSd
%lnl0e = load i64, i64* %lsiS7
%lnl0f = mul i64 %lnl0d, %lnl0e
%lnl0g = load i64, i64* %lsiS8
%lnl0h = add i64 %lnl0f, %lnl0g
store i64 %lnl0h, i64* %R3_Var
%lnl0i = load i64, i64* %lsiSc
%lnl0j = load i64, i64* %lsiS7
%lnl0k = add i64 %lnl0j, 1
%lnl0l = mul i64 %lnl0i, %lnl0k
store i64 %lnl0l, i64* %R2_Var
%lnl0m = load i64, i64* %lsiRW
store i64 %lnl0m, i64* %R1_Var
%lnl0n = load i64*, i64** %Sp_Var
%lnl0o = getelementptr inbounds i64, i64* %lnl0n, i32 4
%lnl0p = ptrtoint i64* %lnl0o to i64
%lnl0q = inttoptr i64 %lnl0p to i64*
store i64* %lnl0q, i64** %Sp_Var
%lnl0r = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRW_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl0s = load i64*, i64** %Sp_Var
%lnl0t = load i64, i64* %R1_Var
%lnl0u = load i64, i64* %R2_Var
%lnl0v = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl0r( i64* %Base_Arg, i64* %lnl0s, i64* %Hp_Arg, i64 %lnl0t, i64 %lnl0u, i64 %lnl0v, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckKI:
%lnl0w = load i64, i64* %lsiSd
%lnl0x = load i64, i64* %lsiS7
%lnl0y = add i64 %lnl0x, 1
%lnl0z = mul i64 %lnl0w, %lnl0y
store i64 %lnl0z, i64* %R3_Var
%lnl0A = load i64, i64* %lsiSc
%lnl0B = load i64, i64* %lsiS7
%lnl0C = add i64 %lnl0B, 1
%lnl0D = mul i64 %lnl0A, %lnl0C
store i64 %lnl0D, i64* %R2_Var
%lnl0E = load i64, i64* %lsiRW
store i64 %lnl0E, i64* %R1_Var
%lnl0F = load i64*, i64** %Sp_Var
%lnl0G = getelementptr inbounds i64, i64* %lnl0F, i32 4
%lnl0H = ptrtoint i64* %lnl0G to i64
%lnl0I = inttoptr i64 %lnl0H to i64*
store i64* %lnl0I, i64** %Sp_Var
%lnl0J = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRW_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl0K = load i64*, i64** %Sp_Var
%lnl0L = load i64, i64* %R1_Var
%lnl0M = load i64, i64* %R2_Var
%lnl0N = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl0J( i64* %Base_Arg, i64* %lnl0K, i64* %Hp_Arg, i64 %lnl0L, i64 %lnl0M, i64 %lnl0N, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siSF_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siSF_info$def to i8*)
define internal ghccc void @siSF_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}>
{
ckLC:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
store i64 %R2_Arg, i64* %R1_Var
%lnl0O = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl0P = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl0O( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnl0P, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@siT0_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siT0_info$def to i8*)
define internal ghccc void @siT0_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}>
{
ckLM:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
store i64 %R2_Arg, i64* %R1_Var
%lnl0Q = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl0R = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl0Q( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnl0R, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@Test_zdwtest1_info = alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_info$def to i8*)
define ghccc void @Test_zdwtest1_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_slow$def to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_info$def to i64)),i64 0), i64 388, i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_info$def to i64)),i64 24), i64 21474836480, i64 0, i64 35925584659873807}>
{
ckLU:
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnl0S = load i64*, i64** %Sp_Var
%lnl0T = getelementptr inbounds i64, i64* %lnl0S, i32 -6
%lnl0U = ptrtoint i64* %lnl0T to i64
%lnl0V = icmp ult i64 %lnl0U, %SpLim_Arg
br i1 %lnl0V, label %ckLV, label %ckLW
ckLW:
%lnl0X = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckC2_info$def to i64
%lnl0W = load i64*, i64** %Sp_Var
%lnl0Y = getelementptr inbounds i64, i64* %lnl0W, i32 -5
store i64 %lnl0X, i64* %lnl0Y, !tbaa !1
%lnl0Z = load i64*, i64** %Sp_Var
%lnl10 = getelementptr inbounds i64, i64* %lnl0Z, i32 -4
store i64 %R2_Arg, i64* %lnl10, !tbaa !1
%lnl11 = load i64*, i64** %Sp_Var
%lnl12 = getelementptr inbounds i64, i64* %lnl11, i32 -3
store i64 %R3_Arg, i64* %lnl12, !tbaa !1
%lnl13 = load i64*, i64** %Sp_Var
%lnl14 = getelementptr inbounds i64, i64* %lnl13, i32 -2
store i64 %R4_Arg, i64* %lnl14, !tbaa !1
%lnl15 = load i64*, i64** %Sp_Var
%lnl16 = getelementptr inbounds i64, i64* %lnl15, i32 -1
store i64 %R5_Arg, i64* %lnl16, !tbaa !1
%lnl17 = load i64*, i64** %Sp_Var
%lnl18 = getelementptr inbounds i64, i64* %lnl17, i32 -5
%lnl19 = ptrtoint i64* %lnl18 to i64
%lnl1a = inttoptr i64 %lnl19 to i64*
store i64* %lnl1a, i64** %Sp_Var
%lnl1b = bitcast i8* @stg_noDuplicatezh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl1c = load i64*, i64** %Sp_Var
%lnl1d = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl1b( i64* %Base_Arg, i64* %lnl1c, i64* %Hp_Arg, i64 %lnl1d, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckLV:
%lnl1e = ptrtoint %Test_zdwtest1_closure_struct* @Test_zdwtest1_closure$def to i64
store i64 %lnl1e, i64* %R1_Var
%lnl1f = load i64*, i64** %Sp_Var
%lnl1g = getelementptr inbounds i64, i64* %lnl1f, i32 -4
store i64 %R2_Arg, i64* %lnl1g, !tbaa !1
%lnl1h = load i64*, i64** %Sp_Var
%lnl1i = getelementptr inbounds i64, i64* %lnl1h, i32 -3
store i64 %R3_Arg, i64* %lnl1i, !tbaa !1
%lnl1j = load i64*, i64** %Sp_Var
%lnl1k = getelementptr inbounds i64, i64* %lnl1j, i32 -2
store i64 %R4_Arg, i64* %lnl1k, !tbaa !1
%lnl1l = load i64*, i64** %Sp_Var
%lnl1m = getelementptr inbounds i64, i64* %lnl1l, i32 -1
store i64 %R5_Arg, i64* %lnl1m, !tbaa !1
%lnl1n = load i64*, i64** %Sp_Var
%lnl1o = getelementptr inbounds i64, i64* %lnl1n, i32 -4
%lnl1p = ptrtoint i64* %lnl1o to i64
%lnl1q = inttoptr i64 %lnl1p to i64*
store i64* %lnl1q, i64** %Sp_Var
%lnl1r = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnl1s = bitcast i64* %lnl1r to i64*
%lnl1t = load i64, i64* %lnl1s, !tbaa !4
%lnl1u = inttoptr i64 %lnl1t to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl1v = load i64*, i64** %Sp_Var
%lnl1w = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl1u( i64* %Base_Arg, i64* %lnl1v, i64* %Hp_Arg, i64 %lnl1w, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckC2_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckC2_info$def to i8*)
define internal ghccc void @ckC2_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckC2_info$def to i64)),i64 24), i64 388, i64 35644109683163168}>
{
ckC2:
%lsiO9 = alloca i64, i32 1
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnl1x = load i64*, i64** %Sp_Var
%lnl1y = getelementptr inbounds i64, i64* %lnl1x, i32 2
%lnl1z = bitcast i64* %lnl1y to i64*
%lnl1A = load i64, i64* %lnl1z, !tbaa !1
store i64 %lnl1A, i64* %lsiO9
%lnl1B = load i64, i64* %lsiO9
%lnl1C = icmp sge i64 %lnl1B, 0
%lnl1D = zext i1 %lnl1C to i64
switch i64 %lnl1D, label %ckM0 [i64 0, label %ckM0
i64 1, label %ckNC]
ckM0:
%lnl1F = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNA_info$def to i64
%lnl1E = load i64*, i64** %Sp_Var
%lnl1G = getelementptr inbounds i64, i64* %lnl1E, i32 4
store i64 %lnl1F, i64* %lnl1G, !tbaa !1
%lnl1H = load i64, i64* %lsiO9
store i64 %lnl1H, i64* %R2_Var
%lnl1I = load i64*, i64** %Sp_Var
%lnl1J = getelementptr inbounds i64, i64* %lnl1I, i32 4
%lnl1K = ptrtoint i64* %lnl1J to i64
%lnl1L = inttoptr i64 %lnl1K to i64*
store i64* %lnl1L, i64** %Sp_Var
%lnl1M = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFy_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl1N = load i64*, i64** %Sp_Var
%lnl1O = load i64, i64* %R1_Var
%lnl1P = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl1M( i64* %Base_Arg, i64* %lnl1N, i64* %Hp_Arg, i64 %lnl1O, i64 %lnl1P, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckNC:
%lnl1Q = load i64, i64* %lsiO9
%lnl1R = icmp slt i64 %lnl1Q, 0
%lnl1S = zext i1 %lnl1R to i64
switch i64 %lnl1S, label %ckNy [i64 0, label %ckNy
i64 1, label %ckNB]
ckNy:
%lnl1T = load i64, i64* %lsiO9
%lnl1U = icmp sgt i64 %lnl1T, 1152921504606846975
%lnl1V = zext i1 %lnl1U to i64
switch i64 %lnl1V, label %ckM2 [i64 0, label %ckM2
i64 1, label %ckNw]
ckM2:
%lnl1X = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCp_info$def to i64
%lnl1W = load i64*, i64** %Sp_Var
%lnl1Y = getelementptr inbounds i64, i64* %lnl1W, i32 0
store i64 %lnl1X, i64* %lnl1Y, !tbaa !1
%lnl1Z = load i64, i64* %lsiO9
%lnl20 = shl i64 %lnl1Z, 3
store i64 %lnl20, i64* %R1_Var
%lnl21 = bitcast i8* @stg_newByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl22 = load i64*, i64** %Sp_Var
%lnl23 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl21( i64* %Base_Arg, i64* %lnl22, i64* %Hp_Arg, i64 %lnl23, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckNw:
%lnl25 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNA_info$def to i64
%lnl24 = load i64*, i64** %Sp_Var
%lnl26 = getelementptr inbounds i64, i64* %lnl24, i32 4
store i64 %lnl25, i64* %lnl26, !tbaa !1
%lnl27 = load i64, i64* %lsiO9
store i64 %lnl27, i64* %R2_Var
%lnl28 = load i64*, i64** %Sp_Var
%lnl29 = getelementptr inbounds i64, i64* %lnl28, i32 4
%lnl2a = ptrtoint i64* %lnl29 to i64
%lnl2b = inttoptr i64 %lnl2a to i64*
store i64* %lnl2b, i64** %Sp_Var
%lnl2c = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFW_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl2d = load i64*, i64** %Sp_Var
%lnl2e = load i64, i64* %R1_Var
%lnl2f = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl2c( i64* %Base_Arg, i64* %lnl2d, i64* %Hp_Arg, i64 %lnl2e, i64 %lnl2f, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckNB:
%lnl2h = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNA_info$def to i64
%lnl2g = load i64*, i64** %Sp_Var
%lnl2i = getelementptr inbounds i64, i64* %lnl2g, i32 4
store i64 %lnl2h, i64* %lnl2i, !tbaa !1
%lnl2j = load i64, i64* %lsiO9
store i64 %lnl2j, i64* %R2_Var
%lnl2k = load i64*, i64** %Sp_Var
%lnl2l = getelementptr inbounds i64, i64* %lnl2k, i32 4
%lnl2m = ptrtoint i64* %lnl2l to i64
%lnl2n = inttoptr i64 %lnl2m to i64*
store i64* %lnl2n, i64** %Sp_Var
%lnl2o = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riG2_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl2p = load i64*, i64** %Sp_Var
%lnl2q = load i64, i64* %R1_Var
%lnl2r = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl2o( i64* %Base_Arg, i64* %lnl2p, i64* %Hp_Arg, i64 %lnl2q, i64 %lnl2r, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckCp_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCp_info$def to i8*)
define internal ghccc void @ckCp_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCp_info$def to i64)),i64 64), i64 388, i64 1108380735242272}>
{
ckCp:
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R6_Var = alloca i64, i32 1
store i64 undef, i64* %R6_Var
%F1_Var = alloca float, i32 1
store float undef, float* %F1_Var
%D1_Var = alloca double, i32 1
store double undef, double* %D1_Var
%F2_Var = alloca float, i32 1
store float undef, float* %F2_Var
%D2_Var = alloca double, i32 1
store double undef, double* %D2_Var
%F3_Var = alloca float, i32 1
store float undef, float* %F3_Var
%D3_Var = alloca double, i32 1
store double undef, double* %D3_Var
%F4_Var = alloca float, i32 1
store float undef, float* %F4_Var
%D4_Var = alloca double, i32 1
store double undef, double* %D4_Var
%F5_Var = alloca float, i32 1
store float undef, float* %F5_Var
%D5_Var = alloca double, i32 1
store double undef, double* %D5_Var
%F6_Var = alloca float, i32 1
store float undef, float* %F6_Var
%D6_Var = alloca double, i32 1
store double undef, double* %D6_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnl2s = add i64 %R1_Arg, 16
%lnl2t = inttoptr i64 %lnl2s to i8*
%lnl2u = load i64*, i64** %Sp_Var
%lnl2v = getelementptr inbounds i64, i64* %lnl2u, i32 2
%lnl2w = bitcast i64* %lnl2v to i64*
%lnl2x = load i64, i64* %lnl2w, !tbaa !1
%lnl2y = shl i64 %lnl2x, 3
%lnl2z = bitcast i8* @hsprimitive_memset_Word8 to void (i8*, i64, i64, i64)*
store i64 undef, i64* %R3_Var
store i64 undef, i64* %R4_Var
store i64 undef, i64* %R5_Var
store i64 undef, i64* %R6_Var
store float undef, float* %F1_Var
store double undef, double* %D1_Var
store float undef, float* %F2_Var
store double undef, double* %D2_Var
store float undef, float* %F3_Var
store double undef, double* %D3_Var
store float undef, float* %F4_Var
store double undef, double* %D4_Var
store float undef, float* %F5_Var
store double undef, double* %D5_Var
store float undef, float* %F6_Var
store double undef, double* %D6_Var
call ccc void (i8*, i64, i64, i64) %lnl2z( i8* %lnl2t, i64 0, i64 %lnl2y, i64 0 ) nounwind
%lnl2B = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCC_info$def to i64
%lnl2A = load i64*, i64** %Sp_Var
%lnl2C = getelementptr inbounds i64, i64* %lnl2A, i32 -1
store i64 %lnl2B, i64* %lnl2C, !tbaa !1
%lnl2D = load i64*, i64** %Sp_Var
%lnl2E = getelementptr inbounds i64, i64* %lnl2D, i32 0
store i64 %R1_Arg, i64* %lnl2E, !tbaa !1
%lnl2F = load i64*, i64** %Sp_Var
%lnl2G = getelementptr inbounds i64, i64* %lnl2F, i32 -1
%lnl2H = ptrtoint i64* %lnl2G to i64
%lnl2I = inttoptr i64 %lnl2H to i64*
store i64* %lnl2I, i64** %Sp_Var
%lnl2J = bitcast i8* @stg_getMaskingStatezh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl2K = load i64*, i64** %Sp_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl2J( i64* %Base_Arg, i64* %lnl2K, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckCC_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCC_info$def to i8*)
define internal ghccc void @ckCC_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCC_info$def to i64)),i64 64), i64 773, i64 1108380735242272}>
{
ckCC:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnl2L = load i64*, i64** %Hp_Var
%lnl2M = getelementptr inbounds i64, i64* %lnl2L, i32 2
%lnl2N = ptrtoint i64* %lnl2M to i64
%lnl2O = inttoptr i64 %lnl2N to i64*
store i64* %lnl2O, i64** %Hp_Var
%lnl2P = load i64*, i64** %Hp_Var
%lnl2Q = ptrtoint i64* %lnl2P to i64
%lnl2R = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnl2S = bitcast i64* %lnl2R to i64*
%lnl2T = load i64, i64* %lnl2S, !tbaa !4
%lnl2U = icmp ugt i64 %lnl2Q, %lnl2T
br i1 %lnl2U, label %ckM6, label %ckM5
ckM5:
%lnl2V = load i64, i64* %R1_Var
switch i64 %lnl2V, label %ckM8 [i64 0, label %ckMA
i64 1, label %ckN2]
ckM8:
%lnl2X = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOy_info$def to i64
%lnl2W = load i64*, i64** %Hp_Var
%lnl2Y = getelementptr inbounds i64, i64* %lnl2W, i32 -1
store i64 %lnl2X, i64* %lnl2Y, !tbaa !2
%lnl2Z = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCO_info$def to i64
%lnl30 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnl2Z, i64* %lnl30, !tbaa !1
%lnl32 = load i64*, i64** %Hp_Var
%lnl33 = ptrtoint i64* %lnl32 to i64
%lnl34 = add i64 %lnl33, -6
store i64 %lnl34, i64* %R2_Var
%lnl35 = ptrtoint %riFH_closure_struct* @riFH_closure$def to i64
%lnl36 = add i64 %lnl35, 1
store i64 %lnl36, i64* %R1_Var
%lnl37 = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl38 = load i64*, i64** %Hp_Var
%lnl39 = load i64, i64* %R1_Var
%lnl3a = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl37( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl38, i64 %lnl39, i64 %lnl3a, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckMA:
%lnl3b = load i64*, i64** %Hp_Var
%lnl3c = getelementptr inbounds i64, i64* %lnl3b, i32 -2
%lnl3d = ptrtoint i64* %lnl3c to i64
%lnl3e = inttoptr i64 %lnl3d to i64*
store i64* %lnl3e, i64** %Hp_Var
%lnl3f = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFM_info$def to i64
%lnl3g = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnl3f, i64* %lnl3g, !tbaa !1
%lnl3h = ptrtoint %riFJ_closure_struct* @riFJ_closure$def to i64
%lnl3i = add i64 %lnl3h, 1
store i64 %lnl3i, i64* %R1_Var
%lnl3j = bitcast i8* @stg_maskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl3k = load i64*, i64** %Hp_Var
%lnl3l = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl3j( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl3k, i64 %lnl3l, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckN2:
%lnl3n = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRD_info$def to i64
%lnl3m = load i64*, i64** %Hp_Var
%lnl3o = getelementptr inbounds i64, i64* %lnl3m, i32 -1
store i64 %lnl3n, i64* %lnl3o, !tbaa !2
%lnl3p = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIS_info$def to i64
%lnl3q = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnl3p, i64* %lnl3q, !tbaa !1
%lnl3s = load i64*, i64** %Hp_Var
%lnl3t = ptrtoint i64* %lnl3s to i64
%lnl3u = add i64 %lnl3t, -6
store i64 %lnl3u, i64* %R2_Var
%lnl3v = ptrtoint %riFK_closure_struct* @riFK_closure$def to i64
%lnl3w = add i64 %lnl3v, 1
store i64 %lnl3w, i64* %R1_Var
%lnl3x = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl3y = load i64*, i64** %Hp_Var
%lnl3z = load i64, i64* %R1_Var
%lnl3A = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl3x( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl3y, i64 %lnl3z, i64 %lnl3A, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckM6:
%lnl3B = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 16, i64* %lnl3B, !tbaa !4
%lnl3C = load i64, i64* %R1_Var
store i64 %lnl3C, i64* %R1_Var
%lnl3D = bitcast i8* @stg_gc_unbx_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl3E = load i64*, i64** %Hp_Var
%lnl3F = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl3D( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl3E, i64 %lnl3F, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckIS_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIS_info$def to i8*)
define internal ghccc void @ckIS_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIS_info$def to i64)),i64 64), i64 773, i64 263887085633568}>
{
ckIS:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnl3G = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIU_info$def to i64
%lnl3H = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnl3G, i64* %lnl3H, !tbaa !1
%lnl3I = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_theGang_closure to i64
store i64 %lnl3I, i64* %R1_Var
%lnl3J = load i64, i64* %R1_Var
%lnl3K = and i64 %lnl3J, 7
%lnl3L = icmp ne i64 %lnl3K, 0
br i1 %lnl3L, label %ukOt, label %ckIV
ckIV:
%lnl3N = load i64, i64* %R1_Var
%lnl3O = inttoptr i64 %lnl3N to i64*
%lnl3P = load i64, i64* %lnl3O, !tbaa !3
%lnl3Q = inttoptr i64 %lnl3P to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl3R = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl3Q( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnl3R, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ukOt:
%lnl3S = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIU_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl3T = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl3S( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnl3T, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckIU_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIU_info$def to i8*)
define internal ghccc void @ckIU_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIU_info$def to i64)),i64 64), i64 773, i64 228702713544736}>
{
ckIU:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiRI = alloca i64, i32 1
%lckJ0 = alloca i64, i32 1
%lsiO9 = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnl3U = load i64*, i64** %Hp_Var
%lnl3V = getelementptr inbounds i64, i64* %lnl3U, i32 11
%lnl3W = ptrtoint i64* %lnl3V to i64
%lnl3X = inttoptr i64 %lnl3W to i64*
store i64* %lnl3X, i64** %Hp_Var
%lnl3Y = load i64*, i64** %Hp_Var
%lnl3Z = ptrtoint i64* %lnl3Y to i64
%lnl40 = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnl41 = bitcast i64* %lnl40 to i64*
%lnl42 = load i64, i64* %lnl41, !tbaa !4
%lnl43 = icmp ugt i64 %lnl3Z, %lnl42
br i1 %lnl43, label %ckN6, label %ckN5
ckN5:
%lnl46 = load i64, i64* %R1_Var
%lnl47 = add i64 %lnl46, 31
%lnl48 = inttoptr i64 %lnl47 to i64*
%lnl49 = load i64, i64* %lnl48, !tbaa !3
store i64 %lnl49, i64* %lsiRI
%lnl4b = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRX_info$def to i64
%lnl4a = load i64*, i64** %Hp_Var
%lnl4c = getelementptr inbounds i64, i64* %lnl4a, i32 -10
store i64 %lnl4b, i64* %lnl4c, !tbaa !2
%lnl4e = getelementptr inbounds i64, i64* %Sp_Arg, i32 5
%lnl4f = bitcast i64* %lnl4e to i64*
%lnl4g = load i64, i64* %lnl4f, !tbaa !1
%lnl4d = load i64*, i64** %Hp_Var
%lnl4h = getelementptr inbounds i64, i64* %lnl4d, i32 -9
store i64 %lnl4g, i64* %lnl4h, !tbaa !2
%lnl4j = getelementptr inbounds i64, i64* %Sp_Arg, i32 1
%lnl4k = bitcast i64* %lnl4j to i64*
%lnl4l = load i64, i64* %lnl4k, !tbaa !1
%lnl4i = load i64*, i64** %Hp_Var
%lnl4m = getelementptr inbounds i64, i64* %lnl4i, i32 -8
store i64 %lnl4l, i64* %lnl4m, !tbaa !2
%lnl4o = load i64*, i64** %Hp_Var
%lnl4p = ptrtoint i64* %lnl4o to i64
%lnl4q = add i64 %lnl4p, -37
store i64 %lnl4q, i64* %lckJ0
%lnl4s = load i64, i64* %lckJ0
%lnl4r = load i64*, i64** %Hp_Var
%lnl4t = getelementptr inbounds i64, i64* %lnl4r, i32 -7
store i64 %lnl4s, i64* %lnl4t, !tbaa !2
%lnl4v = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
%lnl4w = bitcast i64* %lnl4v to i64*
%lnl4x = load i64, i64* %lnl4w, !tbaa !1
%lnl4u = load i64*, i64** %Hp_Var
%lnl4y = getelementptr inbounds i64, i64* %lnl4u, i32 -6
store i64 %lnl4x, i64* %lnl4y, !tbaa !2
%lnl4A = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRW_info$def to i64
%lnl4z = load i64*, i64** %Hp_Var
%lnl4B = getelementptr inbounds i64, i64* %lnl4z, i32 -5
store i64 %lnl4A, i64* %lnl4B, !tbaa !2
%lnl4E = load i64*, i64** %Hp_Var
%lnl4F = ptrtoint i64* %lnl4E to i64
%lnl4G = add i64 %lnl4F, -77
%lnl4C = load i64*, i64** %Hp_Var
%lnl4H = getelementptr inbounds i64, i64* %lnl4C, i32 -4
store i64 %lnl4G, i64* %lnl4H, !tbaa !2
%lnl4J = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siSx_info$def to i64
%lnl4I = load i64*, i64** %Hp_Var
%lnl4K = getelementptr inbounds i64, i64* %lnl4I, i32 -3
store i64 %lnl4J, i64* %lnl4K, !tbaa !2
%lnl4M = load i64, i64* %lckJ0
%lnl4L = load i64*, i64** %Hp_Var
%lnl4N = getelementptr inbounds i64, i64* %lnl4L, i32 -2
store i64 %lnl4M, i64* %lnl4N, !tbaa !2
%lnl4O = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
%lnl4P = bitcast i64* %lnl4O to i64*
%lnl4Q = load i64, i64* %lnl4P, !tbaa !1
store i64 %lnl4Q, i64* %lsiO9
%lnl4S = load i64, i64* %lsiO9
%lnl4T = load i64, i64* %lsiRI
%lnl4U = sdiv i64 %lnl4S, %lnl4T
%lnl4R = load i64*, i64** %Hp_Var
%lnl4V = getelementptr inbounds i64, i64* %lnl4R, i32 -1
store i64 %lnl4U, i64* %lnl4V, !tbaa !2
%lnl4X = load i64, i64* %lsiO9
%lnl4Y = load i64, i64* %lsiRI
%lnl4Z = srem i64 %lnl4X, %lnl4Y
%lnl4W = load i64*, i64** %Hp_Var
%lnl50 = getelementptr inbounds i64, i64* %lnl4W, i32 0
store i64 %lnl4Z, i64* %lnl50, !tbaa !2
%lnl51 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLr_info$def to i64
%lnl52 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnl51, i64* %lnl52, !tbaa !1
%lnl54 = load i64*, i64** %Hp_Var
%lnl55 = ptrtoint i64* %lnl54 to i64
%lnl56 = add i64 %lnl55, -22
store i64 %lnl56, i64* %R3_Var
%lnl57 = load i64, i64* %R1_Var
store i64 %lnl57, i64* %R2_Var
%lnl58 = bitcast i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_gangIO_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl59 = load i64*, i64** %Hp_Var
%lnl5a = load i64, i64* %R1_Var
%lnl5b = load i64, i64* %R2_Var
%lnl5c = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl58( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl59, i64 %lnl5a, i64 %lnl5b, i64 %lnl5c, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckN6:
%lnl5d = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 88, i64* %lnl5d, !tbaa !4
%lnl5e = load i64, i64* %R1_Var
store i64 %lnl5e, i64* %R1_Var
%lnl5f = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl5g = load i64*, i64** %Hp_Var
%lnl5h = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl5f( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl5g, i64 %lnl5h, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckLr_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLr_info$def to i8*)
define internal ghccc void @ckLr_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLr_info$def to i64)),i64 64), i64 1797, i64 211110527500320}>
{
ckLr:
%lnl5i = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLt_info$def to i64
%lnl5j = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnl5i, i64* %lnl5j, !tbaa !1
%lnl5k = bitcast i8* @stg_getMaskingStatezh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl5k( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckLt_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLt_info$def to i8*)
define internal ghccc void @ckLt_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLt_info$def to i64)),i64 64), i64 1797, i64 211110527500320}>
{
ckLt:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnl5l = load i64*, i64** %Hp_Var
%lnl5m = getelementptr inbounds i64, i64* %lnl5l, i32 2
%lnl5n = ptrtoint i64* %lnl5m to i64
%lnl5o = inttoptr i64 %lnl5n to i64*
store i64* %lnl5o, i64** %Hp_Var
%lnl5p = load i64*, i64** %Hp_Var
%lnl5q = ptrtoint i64* %lnl5p to i64
%lnl5r = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnl5s = bitcast i64* %lnl5r to i64*
%lnl5t = load i64, i64* %lnl5s, !tbaa !4
%lnl5u = icmp ugt i64 %lnl5q, %lnl5t
br i1 %lnl5u, label %ckNa, label %ckN9
ckN9:
%lnl5v = load i64, i64* %R1_Var
switch i64 %lnl5v, label %ckNd [i64 0, label %ckNj
i64 1, label %ckNp]
ckNd:
%lnl5x = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siSF_info$def to i64
%lnl5w = load i64*, i64** %Hp_Var
%lnl5y = getelementptr inbounds i64, i64* %lnl5w, i32 -1
store i64 %lnl5x, i64* %lnl5y, !tbaa !2
%lnl5z = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNb_info$def to i64
%lnl5A = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnl5z, i64* %lnl5A, !tbaa !1
%lnl5C = load i64*, i64** %Hp_Var
%lnl5D = ptrtoint i64* %lnl5C to i64
%lnl5E = add i64 %lnl5D, -6
store i64 %lnl5E, i64* %R2_Var
%lnl5F = ptrtoint %riFB_closure_struct* @riFB_closure$def to i64
%lnl5G = add i64 %lnl5F, 1
store i64 %lnl5G, i64* %R1_Var
%lnl5H = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl5I = load i64*, i64** %Hp_Var
%lnl5J = load i64, i64* %R1_Var
%lnl5K = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl5H( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl5I, i64 %lnl5J, i64 %lnl5K, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckNj:
%lnl5L = load i64*, i64** %Hp_Var
%lnl5M = getelementptr inbounds i64, i64* %lnl5L, i32 -2
%lnl5N = ptrtoint i64* %lnl5M to i64
%lnl5O = inttoptr i64 %lnl5N to i64*
store i64* %lnl5O, i64** %Hp_Var
%lnl5P = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNi_info$def to i64
%lnl5Q = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnl5P, i64* %lnl5Q, !tbaa !1
%lnl5R = ptrtoint %riFD_closure_struct* @riFD_closure$def to i64
%lnl5S = add i64 %lnl5R, 1
store i64 %lnl5S, i64* %R1_Var
%lnl5T = bitcast i8* @stg_maskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl5U = load i64*, i64** %Hp_Var
%lnl5V = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl5T( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl5U, i64 %lnl5V, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckNp:
%lnl5X = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siT0_info$def to i64
%lnl5W = load i64*, i64** %Hp_Var
%lnl5Y = getelementptr inbounds i64, i64* %lnl5W, i32 -1
store i64 %lnl5X, i64* %lnl5Y, !tbaa !2
%lnl5Z = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNo_info$def to i64
%lnl60 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnl5Z, i64* %lnl60, !tbaa !1
%lnl62 = load i64*, i64** %Hp_Var
%lnl63 = ptrtoint i64* %lnl62 to i64
%lnl64 = add i64 %lnl63, -6
store i64 %lnl64, i64* %R2_Var
%lnl65 = ptrtoint %riFE_closure_struct* @riFE_closure$def to i64
%lnl66 = add i64 %lnl65, 1
store i64 %lnl66, i64* %R1_Var
%lnl67 = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl68 = load i64*, i64** %Hp_Var
%lnl69 = load i64, i64* %R1_Var
%lnl6a = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl67( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl68, i64 %lnl69, i64 %lnl6a, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckNa:
%lnl6b = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 16, i64* %lnl6b, !tbaa !4
%lnl6c = load i64, i64* %R1_Var
store i64 %lnl6c, i64* %R1_Var
%lnl6d = bitcast i8* @stg_gc_unbx_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl6e = load i64*, i64** %Hp_Var
%lnl6f = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl6d( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl6e, i64 %lnl6f, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckNo_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNo_info$def to i8*)
define internal ghccc void @ckNo_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}>
{
ckNo:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiO9 = alloca i64, i32 1
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnl6g = load i64*, i64** %Hp_Var
%lnl6h = getelementptr inbounds i64, i64* %lnl6g, i32 12
%lnl6i = ptrtoint i64* %lnl6h to i64
%lnl6j = inttoptr i64 %lnl6i to i64*
store i64* %lnl6j, i64** %Hp_Var
%lnl6k = load i64*, i64** %Hp_Var
%lnl6l = ptrtoint i64* %lnl6k to i64
%lnl6m = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnl6n = bitcast i64* %lnl6m to i64*
%lnl6o = load i64, i64* %lnl6n, !tbaa !4
%lnl6p = icmp ugt i64 %lnl6l, %lnl6o
br i1 %lnl6p, label %ckNt, label %ckNs
ckNs:
%lnl6r = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64
%lnl6q = load i64*, i64** %Hp_Var
%lnl6s = getelementptr inbounds i64, i64* %lnl6q, i32 -11
store i64 %lnl6r, i64* %lnl6s, !tbaa !2
%lnl6u = load i64*, i64** %Sp_Var
%lnl6v = getelementptr inbounds i64, i64* %lnl6u, i32 1
%lnl6w = bitcast i64* %lnl6v to i64*
%lnl6x = load i64, i64* %lnl6w, !tbaa !1
%lnl6t = load i64*, i64** %Hp_Var
%lnl6y = getelementptr inbounds i64, i64* %lnl6t, i32 -10
store i64 %lnl6x, i64* %lnl6y, !tbaa !2
%lnl6z = load i64*, i64** %Hp_Var
%lnl6A = getelementptr inbounds i64, i64* %lnl6z, i32 -9
store i64 0, i64* %lnl6A, !tbaa !2
%lnl6B = load i64*, i64** %Sp_Var
%lnl6C = getelementptr inbounds i64, i64* %lnl6B, i32 3
%lnl6D = bitcast i64* %lnl6C to i64*
%lnl6E = load i64, i64* %lnl6D, !tbaa !1
store i64 %lnl6E, i64* %lsiO9
%lnl6G = load i64, i64* %lsiO9
%lnl6F = load i64*, i64** %Hp_Var
%lnl6H = getelementptr inbounds i64, i64* %lnl6F, i32 -8
store i64 %lnl6G, i64* %lnl6H, !tbaa !2
%lnl6J = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64
%lnl6I = load i64*, i64** %Hp_Var
%lnl6K = getelementptr inbounds i64, i64* %lnl6I, i32 -7
store i64 %lnl6J, i64* %lnl6K, !tbaa !2
%lnl6M = load i64, i64* %lsiO9
%lnl6L = load i64*, i64** %Hp_Var
%lnl6N = getelementptr inbounds i64, i64* %lnl6L, i32 -6
store i64 %lnl6M, i64* %lnl6N, !tbaa !2
%lnl6P = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64
%lnl6O = load i64*, i64** %Hp_Var
%lnl6Q = getelementptr inbounds i64, i64* %lnl6O, i32 -5
store i64 %lnl6P, i64* %lnl6Q, !tbaa !2
%lnl6S = load i64*, i64** %Sp_Var
%lnl6T = getelementptr inbounds i64, i64* %lnl6S, i32 2
%lnl6U = bitcast i64* %lnl6T to i64*
%lnl6V = load i64, i64* %lnl6U, !tbaa !1
%lnl6R = load i64*, i64** %Hp_Var
%lnl6W = getelementptr inbounds i64, i64* %lnl6R, i32 -4
store i64 %lnl6V, i64* %lnl6W, !tbaa !2
%lnl6Z = load i64*, i64** %Hp_Var
%lnl70 = ptrtoint i64* %lnl6Z to i64
%lnl71 = add i64 %lnl70, -55
%lnl6X = load i64*, i64** %Hp_Var
%lnl72 = getelementptr inbounds i64, i64* %lnl6X, i32 -3
store i64 %lnl71, i64* %lnl72, !tbaa !2
%lnl74 = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64
%lnl73 = load i64*, i64** %Hp_Var
%lnl75 = getelementptr inbounds i64, i64* %lnl73, i32 -2
store i64 %lnl74, i64* %lnl75, !tbaa !2
%lnl78 = load i64*, i64** %Hp_Var
%lnl79 = ptrtoint i64* %lnl78 to i64
%lnl7a = add i64 %lnl79, -39
%lnl76 = load i64*, i64** %Hp_Var
%lnl7b = getelementptr inbounds i64, i64* %lnl76, i32 -1
store i64 %lnl7a, i64* %lnl7b, !tbaa !2
%lnl7e = load i64*, i64** %Hp_Var
%lnl7f = ptrtoint i64* %lnl7e to i64
%lnl7g = add i64 %lnl7f, -87
%lnl7c = load i64*, i64** %Hp_Var
%lnl7h = getelementptr inbounds i64, i64* %lnl7c, i32 0
store i64 %lnl7g, i64* %lnl7h, !tbaa !2
%lnl7k = load i64*, i64** %Hp_Var
%lnl7l = ptrtoint i64* %lnl7k to i64
%lnl7m = add i64 %lnl7l, -15
%lnl7i = load i64*, i64** %Sp_Var
%lnl7n = getelementptr inbounds i64, i64* %lnl7i, i32 5
store i64 %lnl7m, i64* %lnl7n, !tbaa !1
%lnl7o = load i64*, i64** %Sp_Var
%lnl7p = getelementptr inbounds i64, i64* %lnl7o, i32 5
%lnl7q = ptrtoint i64* %lnl7p to i64
%lnl7r = inttoptr i64 %lnl7q to i64*
store i64* %lnl7r, i64** %Sp_Var
%lnl7s = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl7t = load i64*, i64** %Sp_Var
%lnl7u = load i64*, i64** %Hp_Var
%lnl7v = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl7s( i64* %Base_Arg, i64* %lnl7t, i64* %lnl7u, i64 %lnl7v, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckNt:
%lnl7w = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 96, i64* %lnl7w, !tbaa !4
%lnl7x = load i64, i64* %R1_Var
store i64 %lnl7x, i64* %R1_Var
%lnl7y = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl7z = load i64*, i64** %Sp_Var
%lnl7A = load i64*, i64** %Hp_Var
%lnl7B = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl7y( i64* %Base_Arg, i64* %lnl7z, i64* %lnl7A, i64 %lnl7B, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckNi_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNi_info$def to i8*)
define internal ghccc void @ckNi_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}>
{
ckNi:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiO9 = alloca i64, i32 1
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnl7C = load i64*, i64** %Hp_Var
%lnl7D = getelementptr inbounds i64, i64* %lnl7C, i32 12
%lnl7E = ptrtoint i64* %lnl7D to i64
%lnl7F = inttoptr i64 %lnl7E to i64*
store i64* %lnl7F, i64** %Hp_Var
%lnl7G = load i64*, i64** %Hp_Var
%lnl7H = ptrtoint i64* %lnl7G to i64
%lnl7I = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnl7J = bitcast i64* %lnl7I to i64*
%lnl7K = load i64, i64* %lnl7J, !tbaa !4
%lnl7L = icmp ugt i64 %lnl7H, %lnl7K
br i1 %lnl7L, label %ckNn, label %ckNm
ckNm:
%lnl7N = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64
%lnl7M = load i64*, i64** %Hp_Var
%lnl7O = getelementptr inbounds i64, i64* %lnl7M, i32 -11
store i64 %lnl7N, i64* %lnl7O, !tbaa !2
%lnl7Q = load i64*, i64** %Sp_Var
%lnl7R = getelementptr inbounds i64, i64* %lnl7Q, i32 1
%lnl7S = bitcast i64* %lnl7R to i64*
%lnl7T = load i64, i64* %lnl7S, !tbaa !1
%lnl7P = load i64*, i64** %Hp_Var
%lnl7U = getelementptr inbounds i64, i64* %lnl7P, i32 -10
store i64 %lnl7T, i64* %lnl7U, !tbaa !2
%lnl7V = load i64*, i64** %Hp_Var
%lnl7W = getelementptr inbounds i64, i64* %lnl7V, i32 -9
store i64 0, i64* %lnl7W, !tbaa !2
%lnl7X = load i64*, i64** %Sp_Var
%lnl7Y = getelementptr inbounds i64, i64* %lnl7X, i32 3
%lnl7Z = bitcast i64* %lnl7Y to i64*
%lnl80 = load i64, i64* %lnl7Z, !tbaa !1
store i64 %lnl80, i64* %lsiO9
%lnl82 = load i64, i64* %lsiO9
%lnl81 = load i64*, i64** %Hp_Var
%lnl83 = getelementptr inbounds i64, i64* %lnl81, i32 -8
store i64 %lnl82, i64* %lnl83, !tbaa !2
%lnl85 = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64
%lnl84 = load i64*, i64** %Hp_Var
%lnl86 = getelementptr inbounds i64, i64* %lnl84, i32 -7
store i64 %lnl85, i64* %lnl86, !tbaa !2
%lnl88 = load i64, i64* %lsiO9
%lnl87 = load i64*, i64** %Hp_Var
%lnl89 = getelementptr inbounds i64, i64* %lnl87, i32 -6
store i64 %lnl88, i64* %lnl89, !tbaa !2
%lnl8b = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64
%lnl8a = load i64*, i64** %Hp_Var
%lnl8c = getelementptr inbounds i64, i64* %lnl8a, i32 -5
store i64 %lnl8b, i64* %lnl8c, !tbaa !2
%lnl8e = load i64*, i64** %Sp_Var
%lnl8f = getelementptr inbounds i64, i64* %lnl8e, i32 2
%lnl8g = bitcast i64* %lnl8f to i64*
%lnl8h = load i64, i64* %lnl8g, !tbaa !1
%lnl8d = load i64*, i64** %Hp_Var
%lnl8i = getelementptr inbounds i64, i64* %lnl8d, i32 -4
store i64 %lnl8h, i64* %lnl8i, !tbaa !2
%lnl8l = load i64*, i64** %Hp_Var
%lnl8m = ptrtoint i64* %lnl8l to i64
%lnl8n = add i64 %lnl8m, -55
%lnl8j = load i64*, i64** %Hp_Var
%lnl8o = getelementptr inbounds i64, i64* %lnl8j, i32 -3
store i64 %lnl8n, i64* %lnl8o, !tbaa !2
%lnl8q = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64
%lnl8p = load i64*, i64** %Hp_Var
%lnl8r = getelementptr inbounds i64, i64* %lnl8p, i32 -2
store i64 %lnl8q, i64* %lnl8r, !tbaa !2
%lnl8u = load i64*, i64** %Hp_Var
%lnl8v = ptrtoint i64* %lnl8u to i64
%lnl8w = add i64 %lnl8v, -39
%lnl8s = load i64*, i64** %Hp_Var
%lnl8x = getelementptr inbounds i64, i64* %lnl8s, i32 -1
store i64 %lnl8w, i64* %lnl8x, !tbaa !2
%lnl8A = load i64*, i64** %Hp_Var
%lnl8B = ptrtoint i64* %lnl8A to i64
%lnl8C = add i64 %lnl8B, -87
%lnl8y = load i64*, i64** %Hp_Var
%lnl8D = getelementptr inbounds i64, i64* %lnl8y, i32 0
store i64 %lnl8C, i64* %lnl8D, !tbaa !2
%lnl8G = load i64*, i64** %Hp_Var
%lnl8H = ptrtoint i64* %lnl8G to i64
%lnl8I = add i64 %lnl8H, -15
%lnl8E = load i64*, i64** %Sp_Var
%lnl8J = getelementptr inbounds i64, i64* %lnl8E, i32 5
store i64 %lnl8I, i64* %lnl8J, !tbaa !1
%lnl8K = load i64*, i64** %Sp_Var
%lnl8L = getelementptr inbounds i64, i64* %lnl8K, i32 5
%lnl8M = ptrtoint i64* %lnl8L to i64
%lnl8N = inttoptr i64 %lnl8M to i64*
store i64* %lnl8N, i64** %Sp_Var
%lnl8O = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl8P = load i64*, i64** %Sp_Var
%lnl8Q = load i64*, i64** %Hp_Var
%lnl8R = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl8O( i64* %Base_Arg, i64* %lnl8P, i64* %lnl8Q, i64 %lnl8R, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckNn:
%lnl8S = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 96, i64* %lnl8S, !tbaa !4
%lnl8T = load i64, i64* %R1_Var
store i64 %lnl8T, i64* %R1_Var
%lnl8U = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnl8V = load i64*, i64** %Sp_Var
%lnl8W = load i64*, i64** %Hp_Var
%lnl8X = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl8U( i64* %Base_Arg, i64* %lnl8V, i64* %lnl8W, i64 %lnl8X, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckNb_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNb_info$def to i8*)
define internal ghccc void @ckNb_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}>
{
ckNb:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiO9 = alloca i64, i32 1
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnl8Y = load i64*, i64** %Hp_Var
%lnl8Z = getelementptr inbounds i64, i64* %lnl8Y, i32 12
%lnl90 = ptrtoint i64* %lnl8Z to i64
%lnl91 = inttoptr i64 %lnl90 to i64*
store i64* %lnl91, i64** %Hp_Var
%lnl92 = load i64*, i64** %Hp_Var
%lnl93 = ptrtoint i64* %lnl92 to i64
%lnl94 = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnl95 = bitcast i64* %lnl94 to i64*
%lnl96 = load i64, i64* %lnl95, !tbaa !4
%lnl97 = icmp ugt i64 %lnl93, %lnl96
br i1 %lnl97, label %ckNh, label %ckNg
ckNg:
%lnl99 = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64
%lnl98 = load i64*, i64** %Hp_Var
%lnl9a = getelementptr inbounds i64, i64* %lnl98, i32 -11
store i64 %lnl99, i64* %lnl9a, !tbaa !2
%lnl9c = load i64*, i64** %Sp_Var
%lnl9d = getelementptr inbounds i64, i64* %lnl9c, i32 1
%lnl9e = bitcast i64* %lnl9d to i64*
%lnl9f = load i64, i64* %lnl9e, !tbaa !1
%lnl9b = load i64*, i64** %Hp_Var
%lnl9g = getelementptr inbounds i64, i64* %lnl9b, i32 -10
store i64 %lnl9f, i64* %lnl9g, !tbaa !2
%lnl9h = load i64*, i64** %Hp_Var
%lnl9i = getelementptr inbounds i64, i64* %lnl9h, i32 -9
store i64 0, i64* %lnl9i, !tbaa !2
%lnl9j = load i64*, i64** %Sp_Var
%lnl9k = getelementptr inbounds i64, i64* %lnl9j, i32 3
%lnl9l = bitcast i64* %lnl9k to i64*
%lnl9m = load i64, i64* %lnl9l, !tbaa !1
store i64 %lnl9m, i64* %lsiO9
%lnl9o = load i64, i64* %lsiO9
%lnl9n = load i64*, i64** %Hp_Var
%lnl9p = getelementptr inbounds i64, i64* %lnl9n, i32 -8
store i64 %lnl9o, i64* %lnl9p, !tbaa !2
%lnl9r = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64
%lnl9q = load i64*, i64** %Hp_Var
%lnl9s = getelementptr inbounds i64, i64* %lnl9q, i32 -7
store i64 %lnl9r, i64* %lnl9s, !tbaa !2
%lnl9u = load i64, i64* %lsiO9
%lnl9t = load i64*, i64** %Hp_Var
%lnl9v = getelementptr inbounds i64, i64* %lnl9t, i32 -6
store i64 %lnl9u, i64* %lnl9v, !tbaa !2
%lnl9x = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64
%lnl9w = load i64*, i64** %Hp_Var
%lnl9y = getelementptr inbounds i64, i64* %lnl9w, i32 -5
store i64 %lnl9x, i64* %lnl9y, !tbaa !2
%lnl9A = load i64*, i64** %Sp_Var
%lnl9B = getelementptr inbounds i64, i64* %lnl9A, i32 2
%lnl9C = bitcast i64* %lnl9B to i64*
%lnl9D = load i64, i64* %lnl9C, !tbaa !1
%lnl9z = load i64*, i64** %Hp_Var
%lnl9E = getelementptr inbounds i64, i64* %lnl9z, i32 -4
store i64 %lnl9D, i64* %lnl9E, !tbaa !2
%lnl9H = load i64*, i64** %Hp_Var
%lnl9I = ptrtoint i64* %lnl9H to i64
%lnl9J = add i64 %lnl9I, -55
%lnl9F = load i64*, i64** %Hp_Var
%lnl9K = getelementptr inbounds i64, i64* %lnl9F, i32 -3
store i64 %lnl9J, i64* %lnl9K, !tbaa !2
%lnl9M = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64
%lnl9L = load i64*, i64** %Hp_Var
%lnl9N = getelementptr inbounds i64, i64* %lnl9L, i32 -2
store i64 %lnl9M, i64* %lnl9N, !tbaa !2
%lnl9Q = load i64*, i64** %Hp_Var
%lnl9R = ptrtoint i64* %lnl9Q to i64
%lnl9S = add i64 %lnl9R, -39
%lnl9O = load i64*, i64** %Hp_Var
%lnl9T = getelementptr inbounds i64, i64* %lnl9O, i32 -1
store i64 %lnl9S, i64* %lnl9T, !tbaa !2
%lnl9W = load i64*, i64** %Hp_Var
%lnl9X = ptrtoint i64* %lnl9W to i64
%lnl9Y = add i64 %lnl9X, -87
%lnl9U = load i64*, i64** %Hp_Var
%lnl9Z = getelementptr inbounds i64, i64* %lnl9U, i32 0
store i64 %lnl9Y, i64* %lnl9Z, !tbaa !2
%lnla2 = load i64*, i64** %Hp_Var
%lnla3 = ptrtoint i64* %lnla2 to i64
%lnla4 = add i64 %lnla3, -15
%lnla0 = load i64*, i64** %Sp_Var
%lnla5 = getelementptr inbounds i64, i64* %lnla0, i32 5
store i64 %lnla4, i64* %lnla5, !tbaa !1
%lnla6 = load i64*, i64** %Sp_Var
%lnla7 = getelementptr inbounds i64, i64* %lnla6, i32 5
%lnla8 = ptrtoint i64* %lnla7 to i64
%lnla9 = inttoptr i64 %lnla8 to i64*
store i64* %lnla9, i64** %Sp_Var
%lnlaa = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlab = load i64*, i64** %Sp_Var
%lnlac = load i64*, i64** %Hp_Var
%lnlad = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlaa( i64* %Base_Arg, i64* %lnlab, i64* %lnlac, i64 %lnlad, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckNh:
%lnlae = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 96, i64* %lnlae, !tbaa !4
%lnlaf = load i64, i64* %R1_Var
store i64 %lnlaf, i64* %R1_Var
%lnlag = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlah = load i64*, i64** %Sp_Var
%lnlai = load i64*, i64** %Hp_Var
%lnlaj = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlag( i64* %Base_Arg, i64* %lnlah, i64* %lnlai, i64 %lnlaj, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckFM_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFM_info$def to i8*)
define internal ghccc void @ckFM_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFM_info$def to i64)),i64 64), i64 773, i64 263887085633568}>
{
ckFM:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnlak = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFO_info$def to i64
%lnlal = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnlak, i64* %lnlal, !tbaa !1
%lnlam = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_theGang_closure to i64
store i64 %lnlam, i64* %R1_Var
%lnlan = load i64, i64* %R1_Var
%lnlao = and i64 %lnlan, 7
%lnlap = icmp ne i64 %lnlao, 0
br i1 %lnlap, label %ukOs, label %ckFP
ckFP:
%lnlar = load i64, i64* %R1_Var
%lnlas = inttoptr i64 %lnlar to i64*
%lnlat = load i64, i64* %lnlas, !tbaa !3
%lnlau = inttoptr i64 %lnlat to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlav = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlau( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnlav, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ukOs:
%lnlaw = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFO_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlax = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlaw( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnlax, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckFO_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFO_info$def to i8*)
define internal ghccc void @ckFO_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFO_info$def to i64)),i64 64), i64 773, i64 228702713544736}>
{
ckFO:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiQa = alloca i64, i32 1
%lckFU = alloca i64, i32 1
%lsiO9 = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnlay = load i64*, i64** %Hp_Var
%lnlaz = getelementptr inbounds i64, i64* %lnlay, i32 11
%lnlaA = ptrtoint i64* %lnlaz to i64
%lnlaB = inttoptr i64 %lnlaA to i64*
store i64* %lnlaB, i64** %Hp_Var
%lnlaC = load i64*, i64** %Hp_Var
%lnlaD = ptrtoint i64* %lnlaC to i64
%lnlaE = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnlaF = bitcast i64* %lnlaE to i64*
%lnlaG = load i64, i64* %lnlaF, !tbaa !4
%lnlaH = icmp ugt i64 %lnlaD, %lnlaG
br i1 %lnlaH, label %ckME, label %ckMD
ckMD:
%lnlaK = load i64, i64* %R1_Var
%lnlaL = add i64 %lnlaK, 31
%lnlaM = inttoptr i64 %lnlaL to i64*
%lnlaN = load i64, i64* %lnlaM, !tbaa !3
store i64 %lnlaN, i64* %lsiQa
%lnlaP = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQp_info$def to i64
%lnlaO = load i64*, i64** %Hp_Var
%lnlaQ = getelementptr inbounds i64, i64* %lnlaO, i32 -10
store i64 %lnlaP, i64* %lnlaQ, !tbaa !2
%lnlaS = getelementptr inbounds i64, i64* %Sp_Arg, i32 5
%lnlaT = bitcast i64* %lnlaS to i64*
%lnlaU = load i64, i64* %lnlaT, !tbaa !1
%lnlaR = load i64*, i64** %Hp_Var
%lnlaV = getelementptr inbounds i64, i64* %lnlaR, i32 -9
store i64 %lnlaU, i64* %lnlaV, !tbaa !2
%lnlaX = getelementptr inbounds i64, i64* %Sp_Arg, i32 1
%lnlaY = bitcast i64* %lnlaX to i64*
%lnlaZ = load i64, i64* %lnlaY, !tbaa !1
%lnlaW = load i64*, i64** %Hp_Var
%lnlb0 = getelementptr inbounds i64, i64* %lnlaW, i32 -8
store i64 %lnlaZ, i64* %lnlb0, !tbaa !2
%lnlb2 = load i64*, i64** %Hp_Var
%lnlb3 = ptrtoint i64* %lnlb2 to i64
%lnlb4 = add i64 %lnlb3, -37
store i64 %lnlb4, i64* %lckFU
%lnlb6 = load i64, i64* %lckFU
%lnlb5 = load i64*, i64** %Hp_Var
%lnlb7 = getelementptr inbounds i64, i64* %lnlb5, i32 -7
store i64 %lnlb6, i64* %lnlb7, !tbaa !2
%lnlb9 = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
%lnlba = bitcast i64* %lnlb9 to i64*
%lnlbb = load i64, i64* %lnlba, !tbaa !1
%lnlb8 = load i64*, i64** %Hp_Var
%lnlbc = getelementptr inbounds i64, i64* %lnlb8, i32 -6
store i64 %lnlbb, i64* %lnlbc, !tbaa !2
%lnlbe = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQo_info$def to i64
%lnlbd = load i64*, i64** %Hp_Var
%lnlbf = getelementptr inbounds i64, i64* %lnlbd, i32 -5
store i64 %lnlbe, i64* %lnlbf, !tbaa !2
%lnlbi = load i64*, i64** %Hp_Var
%lnlbj = ptrtoint i64* %lnlbi to i64
%lnlbk = add i64 %lnlbj, -77
%lnlbg = load i64*, i64** %Hp_Var
%lnlbl = getelementptr inbounds i64, i64* %lnlbg, i32 -4
store i64 %lnlbk, i64* %lnlbl, !tbaa !2
%lnlbn = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQZ_info$def to i64
%lnlbm = load i64*, i64** %Hp_Var
%lnlbo = getelementptr inbounds i64, i64* %lnlbm, i32 -3
store i64 %lnlbn, i64* %lnlbo, !tbaa !2
%lnlbq = load i64, i64* %lckFU
%lnlbp = load i64*, i64** %Hp_Var
%lnlbr = getelementptr inbounds i64, i64* %lnlbp, i32 -2
store i64 %lnlbq, i64* %lnlbr, !tbaa !2
%lnlbs = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
%lnlbt = bitcast i64* %lnlbs to i64*
%lnlbu = load i64, i64* %lnlbt, !tbaa !1
store i64 %lnlbu, i64* %lsiO9
%lnlbw = load i64, i64* %lsiO9
%lnlbx = load i64, i64* %lsiQa
%lnlby = sdiv i64 %lnlbw, %lnlbx
%lnlbv = load i64*, i64** %Hp_Var
%lnlbz = getelementptr inbounds i64, i64* %lnlbv, i32 -1
store i64 %lnlby, i64* %lnlbz, !tbaa !2
%lnlbB = load i64, i64* %lsiO9
%lnlbC = load i64, i64* %lsiQa
%lnlbD = srem i64 %lnlbB, %lnlbC
%lnlbA = load i64*, i64** %Hp_Var
%lnlbE = getelementptr inbounds i64, i64* %lnlbA, i32 0
store i64 %lnlbD, i64* %lnlbE, !tbaa !2
%lnlbF = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIl_info$def to i64
%lnlbG = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnlbF, i64* %lnlbG, !tbaa !1
%lnlbI = load i64*, i64** %Hp_Var
%lnlbJ = ptrtoint i64* %lnlbI to i64
%lnlbK = add i64 %lnlbJ, -22
store i64 %lnlbK, i64* %R3_Var
%lnlbL = load i64, i64* %R1_Var
store i64 %lnlbL, i64* %R2_Var
%lnlbM = bitcast i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_gangIO_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlbN = load i64*, i64** %Hp_Var
%lnlbO = load i64, i64* %R1_Var
%lnlbP = load i64, i64* %R2_Var
%lnlbQ = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlbM( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlbN, i64 %lnlbO, i64 %lnlbP, i64 %lnlbQ, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckME:
%lnlbR = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 88, i64* %lnlbR, !tbaa !4
%lnlbS = load i64, i64* %R1_Var
store i64 %lnlbS, i64* %R1_Var
%lnlbT = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlbU = load i64*, i64** %Hp_Var
%lnlbV = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlbT( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlbU, i64 %lnlbV, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckIl_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIl_info$def to i8*)
define internal ghccc void @ckIl_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIl_info$def to i64)),i64 64), i64 1797, i64 211110527500320}>
{
ckIl:
%lnlbW = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIn_info$def to i64
%lnlbX = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnlbW, i64* %lnlbX, !tbaa !1
%lnlbY = bitcast i8* @stg_getMaskingStatezh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlbY( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckIn_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIn_info$def to i8*)
define internal ghccc void @ckIn_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIn_info$def to i64)),i64 64), i64 1797, i64 211110527500320}>
{
ckIn:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnlbZ = load i64*, i64** %Hp_Var
%lnlc0 = getelementptr inbounds i64, i64* %lnlbZ, i32 2
%lnlc1 = ptrtoint i64* %lnlc0 to i64
%lnlc2 = inttoptr i64 %lnlc1 to i64*
store i64* %lnlc2, i64** %Hp_Var
%lnlc3 = load i64*, i64** %Hp_Var
%lnlc4 = ptrtoint i64* %lnlc3 to i64
%lnlc5 = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnlc6 = bitcast i64* %lnlc5 to i64*
%lnlc7 = load i64, i64* %lnlc6, !tbaa !4
%lnlc8 = icmp ugt i64 %lnlc4, %lnlc7
br i1 %lnlc8, label %ckMI, label %ckMH
ckMH:
%lnlc9 = load i64, i64* %R1_Var
switch i64 %lnlc9, label %ckML [i64 0, label %ckMR
i64 1, label %ckMX]
ckML:
%lnlcb = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siR7_info$def to i64
%lnlca = load i64*, i64** %Hp_Var
%lnlcc = getelementptr inbounds i64, i64* %lnlca, i32 -1
store i64 %lnlcb, i64* %lnlcc, !tbaa !2
%lnlcd = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMJ_info$def to i64
%lnlce = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnlcd, i64* %lnlce, !tbaa !1
%lnlcg = load i64*, i64** %Hp_Var
%lnlch = ptrtoint i64* %lnlcg to i64
%lnlci = add i64 %lnlch, -6
store i64 %lnlci, i64* %R2_Var
%lnlcj = ptrtoint %riFB_closure_struct* @riFB_closure$def to i64
%lnlck = add i64 %lnlcj, 1
store i64 %lnlck, i64* %R1_Var
%lnlcl = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlcm = load i64*, i64** %Hp_Var
%lnlcn = load i64, i64* %R1_Var
%lnlco = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlcl( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlcm, i64 %lnlcn, i64 %lnlco, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckMR:
%lnlcp = load i64*, i64** %Hp_Var
%lnlcq = getelementptr inbounds i64, i64* %lnlcp, i32 -2
%lnlcr = ptrtoint i64* %lnlcq to i64
%lnlcs = inttoptr i64 %lnlcr to i64*
store i64* %lnlcs, i64** %Hp_Var
%lnlct = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMQ_info$def to i64
%lnlcu = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnlct, i64* %lnlcu, !tbaa !1
%lnlcv = ptrtoint %riFD_closure_struct* @riFD_closure$def to i64
%lnlcw = add i64 %lnlcv, 1
store i64 %lnlcw, i64* %R1_Var
%lnlcx = bitcast i8* @stg_maskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlcy = load i64*, i64** %Hp_Var
%lnlcz = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlcx( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlcy, i64 %lnlcz, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckMX:
%lnlcB = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRs_info$def to i64
%lnlcA = load i64*, i64** %Hp_Var
%lnlcC = getelementptr inbounds i64, i64* %lnlcA, i32 -1
store i64 %lnlcB, i64* %lnlcC, !tbaa !2
%lnlcD = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMW_info$def to i64
%lnlcE = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnlcD, i64* %lnlcE, !tbaa !1
%lnlcG = load i64*, i64** %Hp_Var
%lnlcH = ptrtoint i64* %lnlcG to i64
%lnlcI = add i64 %lnlcH, -6
store i64 %lnlcI, i64* %R2_Var
%lnlcJ = ptrtoint %riFE_closure_struct* @riFE_closure$def to i64
%lnlcK = add i64 %lnlcJ, 1
store i64 %lnlcK, i64* %R1_Var
%lnlcL = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlcM = load i64*, i64** %Hp_Var
%lnlcN = load i64, i64* %R1_Var
%lnlcO = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlcL( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlcM, i64 %lnlcN, i64 %lnlcO, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckMI:
%lnlcP = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 16, i64* %lnlcP, !tbaa !4
%lnlcQ = load i64, i64* %R1_Var
store i64 %lnlcQ, i64* %R1_Var
%lnlcR = bitcast i8* @stg_gc_unbx_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlcS = load i64*, i64** %Hp_Var
%lnlcT = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlcR( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlcS, i64 %lnlcT, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckMW_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMW_info$def to i8*)
define internal ghccc void @ckMW_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}>
{
ckMW:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiO9 = alloca i64, i32 1
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnlcU = load i64*, i64** %Hp_Var
%lnlcV = getelementptr inbounds i64, i64* %lnlcU, i32 12
%lnlcW = ptrtoint i64* %lnlcV to i64
%lnlcX = inttoptr i64 %lnlcW to i64*
store i64* %lnlcX, i64** %Hp_Var
%lnlcY = load i64*, i64** %Hp_Var
%lnlcZ = ptrtoint i64* %lnlcY to i64
%lnld0 = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnld1 = bitcast i64* %lnld0 to i64*
%lnld2 = load i64, i64* %lnld1, !tbaa !4
%lnld3 = icmp ugt i64 %lnlcZ, %lnld2
br i1 %lnld3, label %ckN1, label %ckN0
ckN0:
%lnld5 = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64
%lnld4 = load i64*, i64** %Hp_Var
%lnld6 = getelementptr inbounds i64, i64* %lnld4, i32 -11
store i64 %lnld5, i64* %lnld6, !tbaa !2
%lnld8 = load i64*, i64** %Sp_Var
%lnld9 = getelementptr inbounds i64, i64* %lnld8, i32 1
%lnlda = bitcast i64* %lnld9 to i64*
%lnldb = load i64, i64* %lnlda, !tbaa !1
%lnld7 = load i64*, i64** %Hp_Var
%lnldc = getelementptr inbounds i64, i64* %lnld7, i32 -10
store i64 %lnldb, i64* %lnldc, !tbaa !2
%lnldd = load i64*, i64** %Hp_Var
%lnlde = getelementptr inbounds i64, i64* %lnldd, i32 -9
store i64 0, i64* %lnlde, !tbaa !2
%lnldf = load i64*, i64** %Sp_Var
%lnldg = getelementptr inbounds i64, i64* %lnldf, i32 3
%lnldh = bitcast i64* %lnldg to i64*
%lnldi = load i64, i64* %lnldh, !tbaa !1
store i64 %lnldi, i64* %lsiO9
%lnldk = load i64, i64* %lsiO9
%lnldj = load i64*, i64** %Hp_Var
%lnldl = getelementptr inbounds i64, i64* %lnldj, i32 -8
store i64 %lnldk, i64* %lnldl, !tbaa !2
%lnldn = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64
%lnldm = load i64*, i64** %Hp_Var
%lnldo = getelementptr inbounds i64, i64* %lnldm, i32 -7
store i64 %lnldn, i64* %lnldo, !tbaa !2
%lnldq = load i64, i64* %lsiO9
%lnldp = load i64*, i64** %Hp_Var
%lnldr = getelementptr inbounds i64, i64* %lnldp, i32 -6
store i64 %lnldq, i64* %lnldr, !tbaa !2
%lnldt = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64
%lnlds = load i64*, i64** %Hp_Var
%lnldu = getelementptr inbounds i64, i64* %lnlds, i32 -5
store i64 %lnldt, i64* %lnldu, !tbaa !2
%lnldw = load i64*, i64** %Sp_Var
%lnldx = getelementptr inbounds i64, i64* %lnldw, i32 2
%lnldy = bitcast i64* %lnldx to i64*
%lnldz = load i64, i64* %lnldy, !tbaa !1
%lnldv = load i64*, i64** %Hp_Var
%lnldA = getelementptr inbounds i64, i64* %lnldv, i32 -4
store i64 %lnldz, i64* %lnldA, !tbaa !2
%lnldD = load i64*, i64** %Hp_Var
%lnldE = ptrtoint i64* %lnldD to i64
%lnldF = add i64 %lnldE, -55
%lnldB = load i64*, i64** %Hp_Var
%lnldG = getelementptr inbounds i64, i64* %lnldB, i32 -3
store i64 %lnldF, i64* %lnldG, !tbaa !2
%lnldI = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64
%lnldH = load i64*, i64** %Hp_Var
%lnldJ = getelementptr inbounds i64, i64* %lnldH, i32 -2
store i64 %lnldI, i64* %lnldJ, !tbaa !2
%lnldM = load i64*, i64** %Hp_Var
%lnldN = ptrtoint i64* %lnldM to i64
%lnldO = add i64 %lnldN, -39
%lnldK = load i64*, i64** %Hp_Var
%lnldP = getelementptr inbounds i64, i64* %lnldK, i32 -1
store i64 %lnldO, i64* %lnldP, !tbaa !2
%lnldS = load i64*, i64** %Hp_Var
%lnldT = ptrtoint i64* %lnldS to i64
%lnldU = add i64 %lnldT, -87
%lnldQ = load i64*, i64** %Hp_Var
%lnldV = getelementptr inbounds i64, i64* %lnldQ, i32 0
store i64 %lnldU, i64* %lnldV, !tbaa !2
%lnldY = load i64*, i64** %Hp_Var
%lnldZ = ptrtoint i64* %lnldY to i64
%lnle0 = add i64 %lnldZ, -15
%lnldW = load i64*, i64** %Sp_Var
%lnle1 = getelementptr inbounds i64, i64* %lnldW, i32 5
store i64 %lnle0, i64* %lnle1, !tbaa !1
%lnle2 = load i64*, i64** %Sp_Var
%lnle3 = getelementptr inbounds i64, i64* %lnle2, i32 5
%lnle4 = ptrtoint i64* %lnle3 to i64
%lnle5 = inttoptr i64 %lnle4 to i64*
store i64* %lnle5, i64** %Sp_Var
%lnle6 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnle7 = load i64*, i64** %Sp_Var
%lnle8 = load i64*, i64** %Hp_Var
%lnle9 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnle6( i64* %Base_Arg, i64* %lnle7, i64* %lnle8, i64 %lnle9, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckN1:
%lnlea = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 96, i64* %lnlea, !tbaa !4
%lnleb = load i64, i64* %R1_Var
store i64 %lnleb, i64* %R1_Var
%lnlec = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnled = load i64*, i64** %Sp_Var
%lnlee = load i64*, i64** %Hp_Var
%lnlef = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlec( i64* %Base_Arg, i64* %lnled, i64* %lnlee, i64 %lnlef, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckMQ_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMQ_info$def to i8*)
define internal ghccc void @ckMQ_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}>
{
ckMQ:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiO9 = alloca i64, i32 1
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnleg = load i64*, i64** %Hp_Var
%lnleh = getelementptr inbounds i64, i64* %lnleg, i32 12
%lnlei = ptrtoint i64* %lnleh to i64
%lnlej = inttoptr i64 %lnlei to i64*
store i64* %lnlej, i64** %Hp_Var
%lnlek = load i64*, i64** %Hp_Var
%lnlel = ptrtoint i64* %lnlek to i64
%lnlem = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnlen = bitcast i64* %lnlem to i64*
%lnleo = load i64, i64* %lnlen, !tbaa !4
%lnlep = icmp ugt i64 %lnlel, %lnleo
br i1 %lnlep, label %ckMV, label %ckMU
ckMU:
%lnler = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64
%lnleq = load i64*, i64** %Hp_Var
%lnles = getelementptr inbounds i64, i64* %lnleq, i32 -11
store i64 %lnler, i64* %lnles, !tbaa !2
%lnleu = load i64*, i64** %Sp_Var
%lnlev = getelementptr inbounds i64, i64* %lnleu, i32 1
%lnlew = bitcast i64* %lnlev to i64*
%lnlex = load i64, i64* %lnlew, !tbaa !1
%lnlet = load i64*, i64** %Hp_Var
%lnley = getelementptr inbounds i64, i64* %lnlet, i32 -10
store i64 %lnlex, i64* %lnley, !tbaa !2
%lnlez = load i64*, i64** %Hp_Var
%lnleA = getelementptr inbounds i64, i64* %lnlez, i32 -9
store i64 0, i64* %lnleA, !tbaa !2
%lnleB = load i64*, i64** %Sp_Var
%lnleC = getelementptr inbounds i64, i64* %lnleB, i32 3
%lnleD = bitcast i64* %lnleC to i64*
%lnleE = load i64, i64* %lnleD, !tbaa !1
store i64 %lnleE, i64* %lsiO9
%lnleG = load i64, i64* %lsiO9
%lnleF = load i64*, i64** %Hp_Var
%lnleH = getelementptr inbounds i64, i64* %lnleF, i32 -8
store i64 %lnleG, i64* %lnleH, !tbaa !2
%lnleJ = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64
%lnleI = load i64*, i64** %Hp_Var
%lnleK = getelementptr inbounds i64, i64* %lnleI, i32 -7
store i64 %lnleJ, i64* %lnleK, !tbaa !2
%lnleM = load i64, i64* %lsiO9
%lnleL = load i64*, i64** %Hp_Var
%lnleN = getelementptr inbounds i64, i64* %lnleL, i32 -6
store i64 %lnleM, i64* %lnleN, !tbaa !2
%lnleP = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64
%lnleO = load i64*, i64** %Hp_Var
%lnleQ = getelementptr inbounds i64, i64* %lnleO, i32 -5
store i64 %lnleP, i64* %lnleQ, !tbaa !2
%lnleS = load i64*, i64** %Sp_Var
%lnleT = getelementptr inbounds i64, i64* %lnleS, i32 2
%lnleU = bitcast i64* %lnleT to i64*
%lnleV = load i64, i64* %lnleU, !tbaa !1
%lnleR = load i64*, i64** %Hp_Var
%lnleW = getelementptr inbounds i64, i64* %lnleR, i32 -4
store i64 %lnleV, i64* %lnleW, !tbaa !2
%lnleZ = load i64*, i64** %Hp_Var
%lnlf0 = ptrtoint i64* %lnleZ to i64
%lnlf1 = add i64 %lnlf0, -55
%lnleX = load i64*, i64** %Hp_Var
%lnlf2 = getelementptr inbounds i64, i64* %lnleX, i32 -3
store i64 %lnlf1, i64* %lnlf2, !tbaa !2
%lnlf4 = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64
%lnlf3 = load i64*, i64** %Hp_Var
%lnlf5 = getelementptr inbounds i64, i64* %lnlf3, i32 -2
store i64 %lnlf4, i64* %lnlf5, !tbaa !2
%lnlf8 = load i64*, i64** %Hp_Var
%lnlf9 = ptrtoint i64* %lnlf8 to i64
%lnlfa = add i64 %lnlf9, -39
%lnlf6 = load i64*, i64** %Hp_Var
%lnlfb = getelementptr inbounds i64, i64* %lnlf6, i32 -1
store i64 %lnlfa, i64* %lnlfb, !tbaa !2
%lnlfe = load i64*, i64** %Hp_Var
%lnlff = ptrtoint i64* %lnlfe to i64
%lnlfg = add i64 %lnlff, -87
%lnlfc = load i64*, i64** %Hp_Var
%lnlfh = getelementptr inbounds i64, i64* %lnlfc, i32 0
store i64 %lnlfg, i64* %lnlfh, !tbaa !2
%lnlfk = load i64*, i64** %Hp_Var
%lnlfl = ptrtoint i64* %lnlfk to i64
%lnlfm = add i64 %lnlfl, -15
%lnlfi = load i64*, i64** %Sp_Var
%lnlfn = getelementptr inbounds i64, i64* %lnlfi, i32 5
store i64 %lnlfm, i64* %lnlfn, !tbaa !1
%lnlfo = load i64*, i64** %Sp_Var
%lnlfp = getelementptr inbounds i64, i64* %lnlfo, i32 5
%lnlfq = ptrtoint i64* %lnlfp to i64
%lnlfr = inttoptr i64 %lnlfq to i64*
store i64* %lnlfr, i64** %Sp_Var
%lnlfs = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlft = load i64*, i64** %Sp_Var
%lnlfu = load i64*, i64** %Hp_Var
%lnlfv = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlfs( i64* %Base_Arg, i64* %lnlft, i64* %lnlfu, i64 %lnlfv, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckMV:
%lnlfw = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 96, i64* %lnlfw, !tbaa !4
%lnlfx = load i64, i64* %R1_Var
store i64 %lnlfx, i64* %R1_Var
%lnlfy = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlfz = load i64*, i64** %Sp_Var
%lnlfA = load i64*, i64** %Hp_Var
%lnlfB = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlfy( i64* %Base_Arg, i64* %lnlfz, i64* %lnlfA, i64 %lnlfB, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckMJ_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMJ_info$def to i8*)
define internal ghccc void @ckMJ_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}>
{
ckMJ:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiO9 = alloca i64, i32 1
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnlfC = load i64*, i64** %Hp_Var
%lnlfD = getelementptr inbounds i64, i64* %lnlfC, i32 12
%lnlfE = ptrtoint i64* %lnlfD to i64
%lnlfF = inttoptr i64 %lnlfE to i64*
store i64* %lnlfF, i64** %Hp_Var
%lnlfG = load i64*, i64** %Hp_Var
%lnlfH = ptrtoint i64* %lnlfG to i64
%lnlfI = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnlfJ = bitcast i64* %lnlfI to i64*
%lnlfK = load i64, i64* %lnlfJ, !tbaa !4
%lnlfL = icmp ugt i64 %lnlfH, %lnlfK
br i1 %lnlfL, label %ckMP, label %ckMO
ckMO:
%lnlfN = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64
%lnlfM = load i64*, i64** %Hp_Var
%lnlfO = getelementptr inbounds i64, i64* %lnlfM, i32 -11
store i64 %lnlfN, i64* %lnlfO, !tbaa !2
%lnlfQ = load i64*, i64** %Sp_Var
%lnlfR = getelementptr inbounds i64, i64* %lnlfQ, i32 1
%lnlfS = bitcast i64* %lnlfR to i64*
%lnlfT = load i64, i64* %lnlfS, !tbaa !1
%lnlfP = load i64*, i64** %Hp_Var
%lnlfU = getelementptr inbounds i64, i64* %lnlfP, i32 -10
store i64 %lnlfT, i64* %lnlfU, !tbaa !2
%lnlfV = load i64*, i64** %Hp_Var
%lnlfW = getelementptr inbounds i64, i64* %lnlfV, i32 -9
store i64 0, i64* %lnlfW, !tbaa !2
%lnlfX = load i64*, i64** %Sp_Var
%lnlfY = getelementptr inbounds i64, i64* %lnlfX, i32 3
%lnlfZ = bitcast i64* %lnlfY to i64*
%lnlg0 = load i64, i64* %lnlfZ, !tbaa !1
store i64 %lnlg0, i64* %lsiO9
%lnlg2 = load i64, i64* %lsiO9
%lnlg1 = load i64*, i64** %Hp_Var
%lnlg3 = getelementptr inbounds i64, i64* %lnlg1, i32 -8
store i64 %lnlg2, i64* %lnlg3, !tbaa !2
%lnlg5 = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64
%lnlg4 = load i64*, i64** %Hp_Var
%lnlg6 = getelementptr inbounds i64, i64* %lnlg4, i32 -7
store i64 %lnlg5, i64* %lnlg6, !tbaa !2
%lnlg8 = load i64, i64* %lsiO9
%lnlg7 = load i64*, i64** %Hp_Var
%lnlg9 = getelementptr inbounds i64, i64* %lnlg7, i32 -6
store i64 %lnlg8, i64* %lnlg9, !tbaa !2
%lnlgb = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64
%lnlga = load i64*, i64** %Hp_Var
%lnlgc = getelementptr inbounds i64, i64* %lnlga, i32 -5
store i64 %lnlgb, i64* %lnlgc, !tbaa !2
%lnlge = load i64*, i64** %Sp_Var
%lnlgf = getelementptr inbounds i64, i64* %lnlge, i32 2
%lnlgg = bitcast i64* %lnlgf to i64*
%lnlgh = load i64, i64* %lnlgg, !tbaa !1
%lnlgd = load i64*, i64** %Hp_Var
%lnlgi = getelementptr inbounds i64, i64* %lnlgd, i32 -4
store i64 %lnlgh, i64* %lnlgi, !tbaa !2
%lnlgl = load i64*, i64** %Hp_Var
%lnlgm = ptrtoint i64* %lnlgl to i64
%lnlgn = add i64 %lnlgm, -55
%lnlgj = load i64*, i64** %Hp_Var
%lnlgo = getelementptr inbounds i64, i64* %lnlgj, i32 -3
store i64 %lnlgn, i64* %lnlgo, !tbaa !2
%lnlgq = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64
%lnlgp = load i64*, i64** %Hp_Var
%lnlgr = getelementptr inbounds i64, i64* %lnlgp, i32 -2
store i64 %lnlgq, i64* %lnlgr, !tbaa !2
%lnlgu = load i64*, i64** %Hp_Var
%lnlgv = ptrtoint i64* %lnlgu to i64
%lnlgw = add i64 %lnlgv, -39
%lnlgs = load i64*, i64** %Hp_Var
%lnlgx = getelementptr inbounds i64, i64* %lnlgs, i32 -1
store i64 %lnlgw, i64* %lnlgx, !tbaa !2
%lnlgA = load i64*, i64** %Hp_Var
%lnlgB = ptrtoint i64* %lnlgA to i64
%lnlgC = add i64 %lnlgB, -87
%lnlgy = load i64*, i64** %Hp_Var
%lnlgD = getelementptr inbounds i64, i64* %lnlgy, i32 0
store i64 %lnlgC, i64* %lnlgD, !tbaa !2
%lnlgG = load i64*, i64** %Hp_Var
%lnlgH = ptrtoint i64* %lnlgG to i64
%lnlgI = add i64 %lnlgH, -15
%lnlgE = load i64*, i64** %Sp_Var
%lnlgJ = getelementptr inbounds i64, i64* %lnlgE, i32 5
store i64 %lnlgI, i64* %lnlgJ, !tbaa !1
%lnlgK = load i64*, i64** %Sp_Var
%lnlgL = getelementptr inbounds i64, i64* %lnlgK, i32 5
%lnlgM = ptrtoint i64* %lnlgL to i64
%lnlgN = inttoptr i64 %lnlgM to i64*
store i64* %lnlgN, i64** %Sp_Var
%lnlgO = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlgP = load i64*, i64** %Sp_Var
%lnlgQ = load i64*, i64** %Hp_Var
%lnlgR = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlgO( i64* %Base_Arg, i64* %lnlgP, i64* %lnlgQ, i64 %lnlgR, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckMP:
%lnlgS = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 96, i64* %lnlgS, !tbaa !4
%lnlgT = load i64, i64* %R1_Var
store i64 %lnlgT, i64* %R1_Var
%lnlgU = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlgV = load i64*, i64** %Sp_Var
%lnlgW = load i64*, i64** %Hp_Var
%lnlgX = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlgU( i64* %Base_Arg, i64* %lnlgV, i64* %lnlgW, i64 %lnlgX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckCO_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCO_info$def to i8*)
define internal ghccc void @ckCO_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCO_info$def to i64)),i64 64), i64 773, i64 263887085633568}>
{
ckCO:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnlgY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCQ_info$def to i64
%lnlgZ = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnlgY, i64* %lnlgZ, !tbaa !1
%lnlh0 = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_theGang_closure to i64
store i64 %lnlh0, i64* %R1_Var
%lnlh1 = load i64, i64* %R1_Var
%lnlh2 = and i64 %lnlh1, 7
%lnlh3 = icmp ne i64 %lnlh2, 0
br i1 %lnlh3, label %ukOr, label %ckCR
ckCR:
%lnlh5 = load i64, i64* %R1_Var
%lnlh6 = inttoptr i64 %lnlh5 to i64*
%lnlh7 = load i64, i64* %lnlh6, !tbaa !3
%lnlh8 = inttoptr i64 %lnlh7 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlh9 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlh8( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnlh9, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ukOr:
%lnlha = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCQ_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlhb = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlha( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnlhb, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckCQ_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCQ_info$def to i8*)
define internal ghccc void @ckCQ_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCQ_info$def to i64)),i64 64), i64 773, i64 228702713544736}>
{
ckCQ:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiOD = alloca i64, i32 1
%lckCW = alloca i64, i32 1
%lsiO9 = alloca i64, i32 1
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnlhc = load i64*, i64** %Hp_Var
%lnlhd = getelementptr inbounds i64, i64* %lnlhc, i32 11
%lnlhe = ptrtoint i64* %lnlhd to i64
%lnlhf = inttoptr i64 %lnlhe to i64*
store i64* %lnlhf, i64** %Hp_Var
%lnlhg = load i64*, i64** %Hp_Var
%lnlhh = ptrtoint i64* %lnlhg to i64
%lnlhi = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnlhj = bitcast i64* %lnlhi to i64*
%lnlhk = load i64, i64* %lnlhj, !tbaa !4
%lnlhl = icmp ugt i64 %lnlhh, %lnlhk
br i1 %lnlhl, label %ckMc, label %ckMb
ckMb:
%lnlho = load i64, i64* %R1_Var
%lnlhp = add i64 %lnlho, 31
%lnlhq = inttoptr i64 %lnlhp to i64*
%lnlhr = load i64, i64* %lnlhq, !tbaa !3
store i64 %lnlhr, i64* %lsiOD
%lnlht = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOS_info$def to i64
%lnlhs = load i64*, i64** %Hp_Var
%lnlhu = getelementptr inbounds i64, i64* %lnlhs, i32 -10
store i64 %lnlht, i64* %lnlhu, !tbaa !2
%lnlhw = getelementptr inbounds i64, i64* %Sp_Arg, i32 5
%lnlhx = bitcast i64* %lnlhw to i64*
%lnlhy = load i64, i64* %lnlhx, !tbaa !1
%lnlhv = load i64*, i64** %Hp_Var
%lnlhz = getelementptr inbounds i64, i64* %lnlhv, i32 -9
store i64 %lnlhy, i64* %lnlhz, !tbaa !2
%lnlhB = getelementptr inbounds i64, i64* %Sp_Arg, i32 1
%lnlhC = bitcast i64* %lnlhB to i64*
%lnlhD = load i64, i64* %lnlhC, !tbaa !1
%lnlhA = load i64*, i64** %Hp_Var
%lnlhE = getelementptr inbounds i64, i64* %lnlhA, i32 -8
store i64 %lnlhD, i64* %lnlhE, !tbaa !2
%lnlhG = load i64*, i64** %Hp_Var
%lnlhH = ptrtoint i64* %lnlhG to i64
%lnlhI = add i64 %lnlhH, -37
store i64 %lnlhI, i64* %lckCW
%lnlhK = load i64, i64* %lckCW
%lnlhJ = load i64*, i64** %Hp_Var
%lnlhL = getelementptr inbounds i64, i64* %lnlhJ, i32 -7
store i64 %lnlhK, i64* %lnlhL, !tbaa !2
%lnlhN = getelementptr inbounds i64, i64* %Sp_Arg, i32 4
%lnlhO = bitcast i64* %lnlhN to i64*
%lnlhP = load i64, i64* %lnlhO, !tbaa !1
%lnlhM = load i64*, i64** %Hp_Var
%lnlhQ = getelementptr inbounds i64, i64* %lnlhM, i32 -6
store i64 %lnlhP, i64* %lnlhQ, !tbaa !2
%lnlhS = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOR_info$def to i64
%lnlhR = load i64*, i64** %Hp_Var
%lnlhT = getelementptr inbounds i64, i64* %lnlhR, i32 -5
store i64 %lnlhS, i64* %lnlhT, !tbaa !2
%lnlhW = load i64*, i64** %Hp_Var
%lnlhX = ptrtoint i64* %lnlhW to i64
%lnlhY = add i64 %lnlhX, -77
%lnlhU = load i64*, i64** %Hp_Var
%lnlhZ = getelementptr inbounds i64, i64* %lnlhU, i32 -4
store i64 %lnlhY, i64* %lnlhZ, !tbaa !2
%lnli1 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siPs_info$def to i64
%lnli0 = load i64*, i64** %Hp_Var
%lnli2 = getelementptr inbounds i64, i64* %lnli0, i32 -3
store i64 %lnli1, i64* %lnli2, !tbaa !2
%lnli4 = load i64, i64* %lckCW
%lnli3 = load i64*, i64** %Hp_Var
%lnli5 = getelementptr inbounds i64, i64* %lnli3, i32 -2
store i64 %lnli4, i64* %lnli5, !tbaa !2
%lnli6 = getelementptr inbounds i64, i64* %Sp_Arg, i32 3
%lnli7 = bitcast i64* %lnli6 to i64*
%lnli8 = load i64, i64* %lnli7, !tbaa !1
store i64 %lnli8, i64* %lsiO9
%lnlia = load i64, i64* %lsiO9
%lnlib = load i64, i64* %lsiOD
%lnlic = sdiv i64 %lnlia, %lnlib
%lnli9 = load i64*, i64** %Hp_Var
%lnlid = getelementptr inbounds i64, i64* %lnli9, i32 -1
store i64 %lnlic, i64* %lnlid, !tbaa !2
%lnlif = load i64, i64* %lsiO9
%lnlig = load i64, i64* %lsiOD
%lnlih = srem i64 %lnlif, %lnlig
%lnlie = load i64*, i64** %Hp_Var
%lnlii = getelementptr inbounds i64, i64* %lnlie, i32 0
store i64 %lnlih, i64* %lnlii, !tbaa !2
%lnlij = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFn_info$def to i64
%lnlik = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnlij, i64* %lnlik, !tbaa !1
%lnlim = load i64*, i64** %Hp_Var
%lnlin = ptrtoint i64* %lnlim to i64
%lnlio = add i64 %lnlin, -22
store i64 %lnlio, i64* %R3_Var
%lnlip = load i64, i64* %R1_Var
store i64 %lnlip, i64* %R2_Var
%lnliq = bitcast i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_gangIO_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlir = load i64*, i64** %Hp_Var
%lnlis = load i64, i64* %R1_Var
%lnlit = load i64, i64* %R2_Var
%lnliu = load i64, i64* %R3_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnliq( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlir, i64 %lnlis, i64 %lnlit, i64 %lnliu, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckMc:
%lnliv = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 88, i64* %lnliv, !tbaa !4
%lnliw = load i64, i64* %R1_Var
store i64 %lnliw, i64* %R1_Var
%lnlix = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnliy = load i64*, i64** %Hp_Var
%lnliz = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlix( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnliy, i64 %lnliz, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckFn_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFn_info$def to i8*)
define internal ghccc void @ckFn_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFn_info$def to i64)),i64 64), i64 1797, i64 211110527500320}>
{
ckFn:
%lnliA = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFp_info$def to i64
%lnliB = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnliA, i64* %lnliB, !tbaa !1
%lnliC = bitcast i8* @stg_getMaskingStatezh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnliC( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckFp_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFp_info$def to i8*)
define internal ghccc void @ckFp_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFp_info$def to i64)),i64 64), i64 1797, i64 211110527500320}>
{
ckFp:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnliD = load i64*, i64** %Hp_Var
%lnliE = getelementptr inbounds i64, i64* %lnliD, i32 2
%lnliF = ptrtoint i64* %lnliE to i64
%lnliG = inttoptr i64 %lnliF to i64*
store i64* %lnliG, i64** %Hp_Var
%lnliH = load i64*, i64** %Hp_Var
%lnliI = ptrtoint i64* %lnliH to i64
%lnliJ = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnliK = bitcast i64* %lnliJ to i64*
%lnliL = load i64, i64* %lnliK, !tbaa !4
%lnliM = icmp ugt i64 %lnliI, %lnliL
br i1 %lnliM, label %ckMg, label %ckMf
ckMf:
%lnliN = load i64, i64* %R1_Var
switch i64 %lnliN, label %ckMj [i64 0, label %ckMp
i64 1, label %ckMv]
ckMj:
%lnliP = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siPA_info$def to i64
%lnliO = load i64*, i64** %Hp_Var
%lnliQ = getelementptr inbounds i64, i64* %lnliO, i32 -1
store i64 %lnliP, i64* %lnliQ, !tbaa !2
%lnliR = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMh_info$def to i64
%lnliS = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnliR, i64* %lnliS, !tbaa !1
%lnliU = load i64*, i64** %Hp_Var
%lnliV = ptrtoint i64* %lnliU to i64
%lnliW = add i64 %lnliV, -6
store i64 %lnliW, i64* %R2_Var
%lnliX = ptrtoint %riFB_closure_struct* @riFB_closure$def to i64
%lnliY = add i64 %lnliX, 1
store i64 %lnliY, i64* %R1_Var
%lnliZ = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlj0 = load i64*, i64** %Hp_Var
%lnlj1 = load i64, i64* %R1_Var
%lnlj2 = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnliZ( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlj0, i64 %lnlj1, i64 %lnlj2, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckMp:
%lnlj3 = load i64*, i64** %Hp_Var
%lnlj4 = getelementptr inbounds i64, i64* %lnlj3, i32 -2
%lnlj5 = ptrtoint i64* %lnlj4 to i64
%lnlj6 = inttoptr i64 %lnlj5 to i64*
store i64* %lnlj6, i64** %Hp_Var
%lnlj7 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMo_info$def to i64
%lnlj8 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnlj7, i64* %lnlj8, !tbaa !1
%lnlj9 = ptrtoint %riFD_closure_struct* @riFD_closure$def to i64
%lnlja = add i64 %lnlj9, 1
store i64 %lnlja, i64* %R1_Var
%lnljb = bitcast i8* @stg_maskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnljc = load i64*, i64** %Hp_Var
%lnljd = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnljb( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnljc, i64 %lnljd, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckMv:
%lnljf = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siPV_info$def to i64
%lnlje = load i64*, i64** %Hp_Var
%lnljg = getelementptr inbounds i64, i64* %lnlje, i32 -1
store i64 %lnljf, i64* %lnljg, !tbaa !2
%lnljh = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMu_info$def to i64
%lnlji = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnljh, i64* %lnlji, !tbaa !1
%lnljk = load i64*, i64** %Hp_Var
%lnljl = ptrtoint i64* %lnljk to i64
%lnljm = add i64 %lnljl, -6
store i64 %lnljm, i64* %R2_Var
%lnljn = ptrtoint %riFE_closure_struct* @riFE_closure$def to i64
%lnljo = add i64 %lnljn, 1
store i64 %lnljo, i64* %R1_Var
%lnljp = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnljq = load i64*, i64** %Hp_Var
%lnljr = load i64, i64* %R1_Var
%lnljs = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnljp( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnljq, i64 %lnljr, i64 %lnljs, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckMg:
%lnljt = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 16, i64* %lnljt, !tbaa !4
%lnlju = load i64, i64* %R1_Var
store i64 %lnlju, i64* %R1_Var
%lnljv = bitcast i8* @stg_gc_unbx_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnljw = load i64*, i64** %Hp_Var
%lnljx = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnljv( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnljw, i64 %lnljx, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckMu_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMu_info$def to i8*)
define internal ghccc void @ckMu_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}>
{
ckMu:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiO9 = alloca i64, i32 1
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnljy = load i64*, i64** %Hp_Var
%lnljz = getelementptr inbounds i64, i64* %lnljy, i32 12
%lnljA = ptrtoint i64* %lnljz to i64
%lnljB = inttoptr i64 %lnljA to i64*
store i64* %lnljB, i64** %Hp_Var
%lnljC = load i64*, i64** %Hp_Var
%lnljD = ptrtoint i64* %lnljC to i64
%lnljE = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnljF = bitcast i64* %lnljE to i64*
%lnljG = load i64, i64* %lnljF, !tbaa !4
%lnljH = icmp ugt i64 %lnljD, %lnljG
br i1 %lnljH, label %ckMz, label %ckMy
ckMy:
%lnljJ = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64
%lnljI = load i64*, i64** %Hp_Var
%lnljK = getelementptr inbounds i64, i64* %lnljI, i32 -11
store i64 %lnljJ, i64* %lnljK, !tbaa !2
%lnljM = load i64*, i64** %Sp_Var
%lnljN = getelementptr inbounds i64, i64* %lnljM, i32 1
%lnljO = bitcast i64* %lnljN to i64*
%lnljP = load i64, i64* %lnljO, !tbaa !1
%lnljL = load i64*, i64** %Hp_Var
%lnljQ = getelementptr inbounds i64, i64* %lnljL, i32 -10
store i64 %lnljP, i64* %lnljQ, !tbaa !2
%lnljR = load i64*, i64** %Hp_Var
%lnljS = getelementptr inbounds i64, i64* %lnljR, i32 -9
store i64 0, i64* %lnljS, !tbaa !2
%lnljT = load i64*, i64** %Sp_Var
%lnljU = getelementptr inbounds i64, i64* %lnljT, i32 3
%lnljV = bitcast i64* %lnljU to i64*
%lnljW = load i64, i64* %lnljV, !tbaa !1
store i64 %lnljW, i64* %lsiO9
%lnljY = load i64, i64* %lsiO9
%lnljX = load i64*, i64** %Hp_Var
%lnljZ = getelementptr inbounds i64, i64* %lnljX, i32 -8
store i64 %lnljY, i64* %lnljZ, !tbaa !2
%lnlk1 = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64
%lnlk0 = load i64*, i64** %Hp_Var
%lnlk2 = getelementptr inbounds i64, i64* %lnlk0, i32 -7
store i64 %lnlk1, i64* %lnlk2, !tbaa !2
%lnlk4 = load i64, i64* %lsiO9
%lnlk3 = load i64*, i64** %Hp_Var
%lnlk5 = getelementptr inbounds i64, i64* %lnlk3, i32 -6
store i64 %lnlk4, i64* %lnlk5, !tbaa !2
%lnlk7 = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64
%lnlk6 = load i64*, i64** %Hp_Var
%lnlk8 = getelementptr inbounds i64, i64* %lnlk6, i32 -5
store i64 %lnlk7, i64* %lnlk8, !tbaa !2
%lnlka = load i64*, i64** %Sp_Var
%lnlkb = getelementptr inbounds i64, i64* %lnlka, i32 2
%lnlkc = bitcast i64* %lnlkb to i64*
%lnlkd = load i64, i64* %lnlkc, !tbaa !1
%lnlk9 = load i64*, i64** %Hp_Var
%lnlke = getelementptr inbounds i64, i64* %lnlk9, i32 -4
store i64 %lnlkd, i64* %lnlke, !tbaa !2
%lnlkh = load i64*, i64** %Hp_Var
%lnlki = ptrtoint i64* %lnlkh to i64
%lnlkj = add i64 %lnlki, -55
%lnlkf = load i64*, i64** %Hp_Var
%lnlkk = getelementptr inbounds i64, i64* %lnlkf, i32 -3
store i64 %lnlkj, i64* %lnlkk, !tbaa !2
%lnlkm = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64
%lnlkl = load i64*, i64** %Hp_Var
%lnlkn = getelementptr inbounds i64, i64* %lnlkl, i32 -2
store i64 %lnlkm, i64* %lnlkn, !tbaa !2
%lnlkq = load i64*, i64** %Hp_Var
%lnlkr = ptrtoint i64* %lnlkq to i64
%lnlks = add i64 %lnlkr, -39
%lnlko = load i64*, i64** %Hp_Var
%lnlkt = getelementptr inbounds i64, i64* %lnlko, i32 -1
store i64 %lnlks, i64* %lnlkt, !tbaa !2
%lnlkw = load i64*, i64** %Hp_Var
%lnlkx = ptrtoint i64* %lnlkw to i64
%lnlky = add i64 %lnlkx, -87
%lnlku = load i64*, i64** %Hp_Var
%lnlkz = getelementptr inbounds i64, i64* %lnlku, i32 0
store i64 %lnlky, i64* %lnlkz, !tbaa !2
%lnlkC = load i64*, i64** %Hp_Var
%lnlkD = ptrtoint i64* %lnlkC to i64
%lnlkE = add i64 %lnlkD, -15
%lnlkA = load i64*, i64** %Sp_Var
%lnlkF = getelementptr inbounds i64, i64* %lnlkA, i32 5
store i64 %lnlkE, i64* %lnlkF, !tbaa !1
%lnlkG = load i64*, i64** %Sp_Var
%lnlkH = getelementptr inbounds i64, i64* %lnlkG, i32 5
%lnlkI = ptrtoint i64* %lnlkH to i64
%lnlkJ = inttoptr i64 %lnlkI to i64*
store i64* %lnlkJ, i64** %Sp_Var
%lnlkK = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlkL = load i64*, i64** %Sp_Var
%lnlkM = load i64*, i64** %Hp_Var
%lnlkN = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlkK( i64* %Base_Arg, i64* %lnlkL, i64* %lnlkM, i64 %lnlkN, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckMz:
%lnlkO = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 96, i64* %lnlkO, !tbaa !4
%lnlkP = load i64, i64* %R1_Var
store i64 %lnlkP, i64* %R1_Var
%lnlkQ = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlkR = load i64*, i64** %Sp_Var
%lnlkS = load i64*, i64** %Hp_Var
%lnlkT = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlkQ( i64* %Base_Arg, i64* %lnlkR, i64* %lnlkS, i64 %lnlkT, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckMo_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMo_info$def to i8*)
define internal ghccc void @ckMo_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}>
{
ckMo:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiO9 = alloca i64, i32 1
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnlkU = load i64*, i64** %Hp_Var
%lnlkV = getelementptr inbounds i64, i64* %lnlkU, i32 12
%lnlkW = ptrtoint i64* %lnlkV to i64
%lnlkX = inttoptr i64 %lnlkW to i64*
store i64* %lnlkX, i64** %Hp_Var
%lnlkY = load i64*, i64** %Hp_Var
%lnlkZ = ptrtoint i64* %lnlkY to i64
%lnll0 = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnll1 = bitcast i64* %lnll0 to i64*
%lnll2 = load i64, i64* %lnll1, !tbaa !4
%lnll3 = icmp ugt i64 %lnlkZ, %lnll2
br i1 %lnll3, label %ckMt, label %ckMs
ckMs:
%lnll5 = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64
%lnll4 = load i64*, i64** %Hp_Var
%lnll6 = getelementptr inbounds i64, i64* %lnll4, i32 -11
store i64 %lnll5, i64* %lnll6, !tbaa !2
%lnll8 = load i64*, i64** %Sp_Var
%lnll9 = getelementptr inbounds i64, i64* %lnll8, i32 1
%lnlla = bitcast i64* %lnll9 to i64*
%lnllb = load i64, i64* %lnlla, !tbaa !1
%lnll7 = load i64*, i64** %Hp_Var
%lnllc = getelementptr inbounds i64, i64* %lnll7, i32 -10
store i64 %lnllb, i64* %lnllc, !tbaa !2
%lnlld = load i64*, i64** %Hp_Var
%lnlle = getelementptr inbounds i64, i64* %lnlld, i32 -9
store i64 0, i64* %lnlle, !tbaa !2
%lnllf = load i64*, i64** %Sp_Var
%lnllg = getelementptr inbounds i64, i64* %lnllf, i32 3
%lnllh = bitcast i64* %lnllg to i64*
%lnlli = load i64, i64* %lnllh, !tbaa !1
store i64 %lnlli, i64* %lsiO9
%lnllk = load i64, i64* %lsiO9
%lnllj = load i64*, i64** %Hp_Var
%lnlll = getelementptr inbounds i64, i64* %lnllj, i32 -8
store i64 %lnllk, i64* %lnlll, !tbaa !2
%lnlln = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64
%lnllm = load i64*, i64** %Hp_Var
%lnllo = getelementptr inbounds i64, i64* %lnllm, i32 -7
store i64 %lnlln, i64* %lnllo, !tbaa !2
%lnllq = load i64, i64* %lsiO9
%lnllp = load i64*, i64** %Hp_Var
%lnllr = getelementptr inbounds i64, i64* %lnllp, i32 -6
store i64 %lnllq, i64* %lnllr, !tbaa !2
%lnllt = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64
%lnlls = load i64*, i64** %Hp_Var
%lnllu = getelementptr inbounds i64, i64* %lnlls, i32 -5
store i64 %lnllt, i64* %lnllu, !tbaa !2
%lnllw = load i64*, i64** %Sp_Var
%lnllx = getelementptr inbounds i64, i64* %lnllw, i32 2
%lnlly = bitcast i64* %lnllx to i64*
%lnllz = load i64, i64* %lnlly, !tbaa !1
%lnllv = load i64*, i64** %Hp_Var
%lnllA = getelementptr inbounds i64, i64* %lnllv, i32 -4
store i64 %lnllz, i64* %lnllA, !tbaa !2
%lnllD = load i64*, i64** %Hp_Var
%lnllE = ptrtoint i64* %lnllD to i64
%lnllF = add i64 %lnllE, -55
%lnllB = load i64*, i64** %Hp_Var
%lnllG = getelementptr inbounds i64, i64* %lnllB, i32 -3
store i64 %lnllF, i64* %lnllG, !tbaa !2
%lnllI = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64
%lnllH = load i64*, i64** %Hp_Var
%lnllJ = getelementptr inbounds i64, i64* %lnllH, i32 -2
store i64 %lnllI, i64* %lnllJ, !tbaa !2
%lnllM = load i64*, i64** %Hp_Var
%lnllN = ptrtoint i64* %lnllM to i64
%lnllO = add i64 %lnllN, -39
%lnllK = load i64*, i64** %Hp_Var
%lnllP = getelementptr inbounds i64, i64* %lnllK, i32 -1
store i64 %lnllO, i64* %lnllP, !tbaa !2
%lnllS = load i64*, i64** %Hp_Var
%lnllT = ptrtoint i64* %lnllS to i64
%lnllU = add i64 %lnllT, -87
%lnllQ = load i64*, i64** %Hp_Var
%lnllV = getelementptr inbounds i64, i64* %lnllQ, i32 0
store i64 %lnllU, i64* %lnllV, !tbaa !2
%lnllY = load i64*, i64** %Hp_Var
%lnllZ = ptrtoint i64* %lnllY to i64
%lnlm0 = add i64 %lnllZ, -15
%lnllW = load i64*, i64** %Sp_Var
%lnlm1 = getelementptr inbounds i64, i64* %lnllW, i32 5
store i64 %lnlm0, i64* %lnlm1, !tbaa !1
%lnlm2 = load i64*, i64** %Sp_Var
%lnlm3 = getelementptr inbounds i64, i64* %lnlm2, i32 5
%lnlm4 = ptrtoint i64* %lnlm3 to i64
%lnlm5 = inttoptr i64 %lnlm4 to i64*
store i64* %lnlm5, i64** %Sp_Var
%lnlm6 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlm7 = load i64*, i64** %Sp_Var
%lnlm8 = load i64*, i64** %Hp_Var
%lnlm9 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlm6( i64* %Base_Arg, i64* %lnlm7, i64* %lnlm8, i64 %lnlm9, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckMt:
%lnlma = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 96, i64* %lnlma, !tbaa !4
%lnlmb = load i64, i64* %R1_Var
store i64 %lnlmb, i64* %R1_Var
%lnlmc = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlmd = load i64*, i64** %Sp_Var
%lnlme = load i64*, i64** %Hp_Var
%lnlmf = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlmc( i64* %Base_Arg, i64* %lnlmd, i64* %lnlme, i64 %lnlmf, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckMh_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMh_info$def to i8*)
define internal ghccc void @ckMh_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}>
{
ckMh:
%Hp_Var = alloca i64*, i32 1
store i64* %Hp_Arg, i64** %Hp_Var
%lsiO9 = alloca i64, i32 1
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnlmg = load i64*, i64** %Hp_Var
%lnlmh = getelementptr inbounds i64, i64* %lnlmg, i32 12
%lnlmi = ptrtoint i64* %lnlmh to i64
%lnlmj = inttoptr i64 %lnlmi to i64*
store i64* %lnlmj, i64** %Hp_Var
%lnlmk = load i64*, i64** %Hp_Var
%lnlml = ptrtoint i64* %lnlmk to i64
%lnlmm = getelementptr inbounds i64, i64* %Base_Arg, i32 107
%lnlmn = bitcast i64* %lnlmm to i64*
%lnlmo = load i64, i64* %lnlmn, !tbaa !4
%lnlmp = icmp ugt i64 %lnlml, %lnlmo
br i1 %lnlmp, label %ckMn, label %ckMm
ckMm:
%lnlmr = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64
%lnlmq = load i64*, i64** %Hp_Var
%lnlms = getelementptr inbounds i64, i64* %lnlmq, i32 -11
store i64 %lnlmr, i64* %lnlms, !tbaa !2
%lnlmu = load i64*, i64** %Sp_Var
%lnlmv = getelementptr inbounds i64, i64* %lnlmu, i32 1
%lnlmw = bitcast i64* %lnlmv to i64*
%lnlmx = load i64, i64* %lnlmw, !tbaa !1
%lnlmt = load i64*, i64** %Hp_Var
%lnlmy = getelementptr inbounds i64, i64* %lnlmt, i32 -10
store i64 %lnlmx, i64* %lnlmy, !tbaa !2
%lnlmz = load i64*, i64** %Hp_Var
%lnlmA = getelementptr inbounds i64, i64* %lnlmz, i32 -9
store i64 0, i64* %lnlmA, !tbaa !2
%lnlmB = load i64*, i64** %Sp_Var
%lnlmC = getelementptr inbounds i64, i64* %lnlmB, i32 3
%lnlmD = bitcast i64* %lnlmC to i64*
%lnlmE = load i64, i64* %lnlmD, !tbaa !1
store i64 %lnlmE, i64* %lsiO9
%lnlmG = load i64, i64* %lsiO9
%lnlmF = load i64*, i64** %Hp_Var
%lnlmH = getelementptr inbounds i64, i64* %lnlmF, i32 -8
store i64 %lnlmG, i64* %lnlmH, !tbaa !2
%lnlmJ = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64
%lnlmI = load i64*, i64** %Hp_Var
%lnlmK = getelementptr inbounds i64, i64* %lnlmI, i32 -7
store i64 %lnlmJ, i64* %lnlmK, !tbaa !2
%lnlmM = load i64, i64* %lsiO9
%lnlmL = load i64*, i64** %Hp_Var
%lnlmN = getelementptr inbounds i64, i64* %lnlmL, i32 -6
store i64 %lnlmM, i64* %lnlmN, !tbaa !2
%lnlmP = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64
%lnlmO = load i64*, i64** %Hp_Var
%lnlmQ = getelementptr inbounds i64, i64* %lnlmO, i32 -5
store i64 %lnlmP, i64* %lnlmQ, !tbaa !2
%lnlmS = load i64*, i64** %Sp_Var
%lnlmT = getelementptr inbounds i64, i64* %lnlmS, i32 2
%lnlmU = bitcast i64* %lnlmT to i64*
%lnlmV = load i64, i64* %lnlmU, !tbaa !1
%lnlmR = load i64*, i64** %Hp_Var
%lnlmW = getelementptr inbounds i64, i64* %lnlmR, i32 -4
store i64 %lnlmV, i64* %lnlmW, !tbaa !2
%lnlmZ = load i64*, i64** %Hp_Var
%lnln0 = ptrtoint i64* %lnlmZ to i64
%lnln1 = add i64 %lnln0, -55
%lnlmX = load i64*, i64** %Hp_Var
%lnln2 = getelementptr inbounds i64, i64* %lnlmX, i32 -3
store i64 %lnln1, i64* %lnln2, !tbaa !2
%lnln4 = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64
%lnln3 = load i64*, i64** %Hp_Var
%lnln5 = getelementptr inbounds i64, i64* %lnln3, i32 -2
store i64 %lnln4, i64* %lnln5, !tbaa !2
%lnln8 = load i64*, i64** %Hp_Var
%lnln9 = ptrtoint i64* %lnln8 to i64
%lnlna = add i64 %lnln9, -39
%lnln6 = load i64*, i64** %Hp_Var
%lnlnb = getelementptr inbounds i64, i64* %lnln6, i32 -1
store i64 %lnlna, i64* %lnlnb, !tbaa !2
%lnlne = load i64*, i64** %Hp_Var
%lnlnf = ptrtoint i64* %lnlne to i64
%lnlng = add i64 %lnlnf, -87
%lnlnc = load i64*, i64** %Hp_Var
%lnlnh = getelementptr inbounds i64, i64* %lnlnc, i32 0
store i64 %lnlng, i64* %lnlnh, !tbaa !2
%lnlnk = load i64*, i64** %Hp_Var
%lnlnl = ptrtoint i64* %lnlnk to i64
%lnlnm = add i64 %lnlnl, -15
%lnlni = load i64*, i64** %Sp_Var
%lnlnn = getelementptr inbounds i64, i64* %lnlni, i32 5
store i64 %lnlnm, i64* %lnlnn, !tbaa !1
%lnlno = load i64*, i64** %Sp_Var
%lnlnp = getelementptr inbounds i64, i64* %lnlno, i32 5
%lnlnq = ptrtoint i64* %lnlnp to i64
%lnlnr = inttoptr i64 %lnlnq to i64*
store i64* %lnlnr, i64** %Sp_Var
%lnlns = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlnt = load i64*, i64** %Sp_Var
%lnlnu = load i64*, i64** %Hp_Var
%lnlnv = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlns( i64* %Base_Arg, i64* %lnlnt, i64* %lnlnu, i64 %lnlnv, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
ckMn:
%lnlnw = getelementptr inbounds i64, i64* %Base_Arg, i32 113
store i64 96, i64* %lnlnw, !tbaa !4
%lnlnx = load i64, i64* %R1_Var
store i64 %lnlnx, i64* %R1_Var
%lnlny = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlnz = load i64*, i64** %Sp_Var
%lnlnA = load i64*, i64** %Hp_Var
%lnlnB = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlny( i64* %Base_Arg, i64* %lnlnz, i64* %lnlnA, i64 %lnlnB, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckNA_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNA_info$def to i8*)
define internal ghccc void @ckNA_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}>
{
ckNA:
%lnlnC = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %R1_Arg, i64* %lnlnC, !tbaa !1
%lnlnD = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlnD( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckLZ_entry = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to i8*)
define internal ghccc void @ckLZ_entry$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind
{
ckLZ:
%lsiTf = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnlnE = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
%lnlnF = bitcast i64* %lnlnE to i64*
%lnlnG = load i64, i64* %lnlnF, !tbaa !1
store i64 %lnlnG, i64* %lsiTf
%lnlnH = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLS_info$def to i64
%lnlnI = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnlnH, i64* %lnlnI, !tbaa !1
%lnlnJ = load i64, i64* %lsiTf
store i64 %lnlnJ, i64* %R1_Var
%lnlnK = bitcast i8* @stg_ap_0_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlnL = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlnK( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnlnL, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@ckLS_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLS_info$def to i8*)
define internal ghccc void @ckLS_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}>
{
ckLS:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnlnM = load i64, i64* %R1_Var
store i64 %lnlnM, i64* %R1_Var
%lnlnN = load i64*, i64** %Sp_Var
%lnlnO = getelementptr inbounds i64, i64* %lnlnN, i32 1
%lnlnP = ptrtoint i64* %lnlnO to i64
%lnlnQ = inttoptr i64 %lnlnP to i64*
store i64* %lnlnQ, i64** %Sp_Var
%lnlnR = load i64*, i64** %Sp_Var
%lnlnS = getelementptr inbounds i64, i64* %lnlnR, i32 0
%lnlnT = bitcast i64* %lnlnS to i64*
%lnlnU = load i64, i64* %lnlnT, !tbaa !1
%lnlnV = inttoptr i64 %lnlnU to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlnW = load i64*, i64** %Sp_Var
%lnlnX = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlnV( i64* %Base_Arg, i64* %lnlnW, i64* %Hp_Arg, i64 %lnlnX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%Test_test2_closure_struct = type <{i64, i64}>
@Test_test2_closure$def = internal global %Test_test2_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_test2_info$def to i64), i64 0}>
@Test_test2_closure = alias i8* bitcast (%Test_test2_closure_struct* @Test_test2_closure$def to i8*)
@Test_test2_info = alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_test2_info$def to i8*)
define ghccc void @Test_test2_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_test2_info$def to i64)),i64 152), i64 8589934597, i64 0, i64 554050781199}>
{
cloh:
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnloG = load i64*, i64** %Sp_Var
%lnloH = getelementptr inbounds i64, i64* %lnloG, i32 -3
%lnloI = ptrtoint i64* %lnloH to i64
%lnloJ = icmp ult i64 %lnloI, %SpLim_Arg
br i1 %lnloJ, label %clov, label %clow
clow:
%lnloL = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clof_info$def to i64
%lnloK = load i64*, i64** %Sp_Var
%lnloM = getelementptr inbounds i64, i64* %lnloK, i32 -1
store i64 %lnloL, i64* %lnloM, !tbaa !1
%lnloN = load i64, i64* %R2_Var
store i64 %lnloN, i64* %R1_Var
%lnloO = load i64*, i64** %Sp_Var
%lnloP = getelementptr inbounds i64, i64* %lnloO, i32 -1
%lnloQ = ptrtoint i64* %lnloP to i64
%lnloR = inttoptr i64 %lnloQ to i64*
store i64* %lnloR, i64** %Sp_Var
%lnloS = bitcast i8* @stg_ap_0_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnloT = load i64*, i64** %Sp_Var
%lnloU = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnloS( i64* %Base_Arg, i64* %lnloT, i64* %Hp_Arg, i64 %lnloU, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
clov:
%lnloV = load i64, i64* %R2_Var
store i64 %lnloV, i64* %R2_Var
%lnloW = ptrtoint %Test_test2_closure_struct* @Test_test2_closure$def to i64
store i64 %lnloW, i64* %R1_Var
%lnloX = getelementptr inbounds i64, i64* %Base_Arg, i32 -1
%lnloY = bitcast i64* %lnloX to i64*
%lnloZ = load i64, i64* %lnloY, !tbaa !4
%lnlp0 = inttoptr i64 %lnloZ to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlp1 = load i64*, i64** %Sp_Var
%lnlp2 = load i64, i64* %R1_Var
%lnlp3 = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlp0( i64* %Base_Arg, i64* %lnlp1, i64* %Hp_Arg, i64 %lnlp2, i64 %lnlp3, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@clof_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clof_info$def to i8*)
define internal ghccc void @clof_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clof_info$def to i64)),i64 152), i64 0, i64 4294967328}>
{
clof:
%lsiTn = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnlp5 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clok_info$def to i64
%lnlp4 = load i64*, i64** %Sp_Var
%lnlp6 = getelementptr inbounds i64, i64* %lnlp4, i32 -1
store i64 %lnlp5, i64* %lnlp6, !tbaa !1
%lnlp9 = load i64, i64* %R1_Var
%lnlpa = add i64 %lnlp9, 15
%lnlpb = inttoptr i64 %lnlpa to i64*
%lnlpc = load i64, i64* %lnlpb, !tbaa !3
store i64 %lnlpc, i64* %lsiTn
%lnlpf = load i64, i64* %R1_Var
%lnlpg = add i64 %lnlpf, 7
%lnlph = inttoptr i64 %lnlpg to i64*
%lnlpi = load i64, i64* %lnlph, !tbaa !3
store i64 %lnlpi, i64* %R1_Var
%lnlpk = load i64, i64* %lsiTn
%lnlpj = load i64*, i64** %Sp_Var
%lnlpl = getelementptr inbounds i64, i64* %lnlpj, i32 0
store i64 %lnlpk, i64* %lnlpl, !tbaa !1
%lnlpm = load i64*, i64** %Sp_Var
%lnlpn = getelementptr inbounds i64, i64* %lnlpm, i32 -1
%lnlpo = ptrtoint i64* %lnlpn to i64
%lnlpp = inttoptr i64 %lnlpo to i64*
store i64* %lnlpp, i64** %Sp_Var
%lnlpq = load i64, i64* %R1_Var
%lnlpr = and i64 %lnlpq, 7
%lnlps = icmp ne i64 %lnlpr, 0
br i1 %lnlps, label %uloE, label %clol
clol:
%lnlpu = load i64, i64* %R1_Var
%lnlpv = inttoptr i64 %lnlpu to i64*
%lnlpw = load i64, i64* %lnlpv, !tbaa !3
%lnlpx = inttoptr i64 %lnlpw to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlpy = load i64*, i64** %Sp_Var
%lnlpz = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlpx( i64* %Base_Arg, i64* %lnlpy, i64* %Hp_Arg, i64 %lnlpz, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uloE:
%lnlpA = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clok_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlpB = load i64*, i64** %Sp_Var
%lnlpC = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlpA( i64* %Base_Arg, i64* %lnlpB, i64* %Hp_Arg, i64 %lnlpC, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@clok_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clok_info$def to i8*)
define internal ghccc void @clok_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clok_info$def to i64)),i64 152), i64 1, i64 4294967328}>
{
clok:
%lsiTp = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnlpE = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clop_info$def to i64
%lnlpD = load i64*, i64** %Sp_Var
%lnlpF = getelementptr inbounds i64, i64* %lnlpD, i32 -1
store i64 %lnlpE, i64* %lnlpF, !tbaa !1
%lnlpI = load i64, i64* %R1_Var
%lnlpJ = add i64 %lnlpI, 7
%lnlpK = inttoptr i64 %lnlpJ to i64*
%lnlpL = load i64, i64* %lnlpK, !tbaa !3
store i64 %lnlpL, i64* %lsiTp
%lnlpO = load i64, i64* %R1_Var
%lnlpP = add i64 %lnlpO, 15
%lnlpQ = inttoptr i64 %lnlpP to i64*
%lnlpR = load i64, i64* %lnlpQ, !tbaa !3
store i64 %lnlpR, i64* %R1_Var
%lnlpT = load i64, i64* %lsiTp
%lnlpS = load i64*, i64** %Sp_Var
%lnlpU = getelementptr inbounds i64, i64* %lnlpS, i32 0
store i64 %lnlpT, i64* %lnlpU, !tbaa !1
%lnlpV = load i64*, i64** %Sp_Var
%lnlpW = getelementptr inbounds i64, i64* %lnlpV, i32 -1
%lnlpX = ptrtoint i64* %lnlpW to i64
%lnlpY = inttoptr i64 %lnlpX to i64*
store i64* %lnlpY, i64** %Sp_Var
%lnlpZ = load i64, i64* %R1_Var
%lnlq0 = and i64 %lnlpZ, 7
%lnlq1 = icmp ne i64 %lnlq0, 0
br i1 %lnlq1, label %uloF, label %cloq
cloq:
%lnlq3 = load i64, i64* %R1_Var
%lnlq4 = inttoptr i64 %lnlq3 to i64*
%lnlq5 = load i64, i64* %lnlq4, !tbaa !3
%lnlq6 = inttoptr i64 %lnlq5 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlq7 = load i64*, i64** %Sp_Var
%lnlq8 = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlq6( i64* %Base_Arg, i64* %lnlq7, i64* %Hp_Arg, i64 %lnlq8, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
uloF:
%lnlq9 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clop_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlqa = load i64*, i64** %Sp_Var
%lnlqb = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlq9( i64* %Base_Arg, i64* %lnlqa, i64* %Hp_Arg, i64 %lnlqb, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@clop_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clop_info$def to i8*)
define internal ghccc void @clop_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clop_info$def to i64)),i64 152), i64 2, i64 4294967328}>
{
clop:
%lsiTs = alloca i64, i32 1
%R1_Var = alloca i64, i32 1
store i64 %R1_Arg, i64* %R1_Var
%lnlqc = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clou_info$def to i64
%lnlqd = getelementptr inbounds i64, i64* %Sp_Arg, i32 0
store i64 %lnlqc, i64* %lnlqd, !tbaa !1
%lnlqg = load i64, i64* %R1_Var
%lnlqh = add i64 %lnlqg, 7
%lnlqi = inttoptr i64 %lnlqh to i64*
%lnlqj = load i64, i64* %lnlqi, !tbaa !3
store i64 %lnlqj, i64* %lsiTs
%lnlqk = getelementptr inbounds i64, i64* %Sp_Arg, i32 2
%lnlql = bitcast i64* %lnlqk to i64*
%lnlqm = load i64, i64* %lnlql, !tbaa !1
store i64 %lnlqm, i64* %R1_Var
%lnlqn = load i64, i64* %lsiTs
%lnlqo = getelementptr inbounds i64, i64* %Sp_Arg, i32 2
store i64 %lnlqn, i64* %lnlqo, !tbaa !1
%lnlqp = bitcast i8* @stg_ap_0_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlqq = load i64, i64* %R1_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlqp( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnlqq, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
@clou_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clou_info$def to i8*)
define internal ghccc void @clou_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clou_info$def to i64)),i64 152), i64 130, i64 4294967328}>
{
clou:
%R5_Var = alloca i64, i32 1
store i64 undef, i64* %R5_Var
%R4_Var = alloca i64, i32 1
store i64 undef, i64* %R4_Var
%R3_Var = alloca i64, i32 1
store i64 undef, i64* %R3_Var
%R2_Var = alloca i64, i32 1
store i64 undef, i64* %R2_Var
%Sp_Var = alloca i64*, i32 1
store i64* %Sp_Arg, i64** %Sp_Var
%lnlqr = add i64 %R1_Arg, 7
%lnlqs = inttoptr i64 %lnlqr to i64*
%lnlqt = load i64, i64* %lnlqs, !tbaa !3
store i64 %lnlqt, i64* %R5_Var
%lnlqu = add i64 %R1_Arg, 15
%lnlqv = inttoptr i64 %lnlqu to i64*
%lnlqw = load i64, i64* %lnlqv, !tbaa !3
store i64 %lnlqw, i64* %R4_Var
%lnlqx = load i64*, i64** %Sp_Var
%lnlqy = getelementptr inbounds i64, i64* %lnlqx, i32 2
%lnlqz = bitcast i64* %lnlqy to i64*
%lnlqA = load i64, i64* %lnlqz, !tbaa !1
store i64 %lnlqA, i64* %R3_Var
%lnlqB = load i64*, i64** %Sp_Var
%lnlqC = getelementptr inbounds i64, i64* %lnlqB, i32 1
%lnlqD = bitcast i64* %lnlqC to i64*
%lnlqE = load i64, i64* %lnlqD, !tbaa !1
store i64 %lnlqE, i64* %R2_Var
%lnlqF = load i64*, i64** %Sp_Var
%lnlqG = getelementptr inbounds i64, i64* %lnlqF, i32 3
%lnlqH = ptrtoint i64* %lnlqG to i64
%lnlqI = inttoptr i64 %lnlqH to i64*
store i64* %lnlqI, i64** %Sp_Var
%lnlqJ = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlqK = load i64*, i64** %Sp_Var
%lnlqL = load i64, i64* %R2_Var
%lnlqM = load i64, i64* %R3_Var
%lnlqN = load i64, i64* %R4_Var
%lnlqO = load i64, i64* %R5_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlqJ( i64* %Base_Arg, i64* %lnlqK, i64* %Hp_Arg, i64 %R1_Arg, i64 %lnlqL, i64 %lnlqM, i64 %lnlqN, i64 %lnlqO, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%Test_test1_closure_struct = type <{i64, i64}>
@Test_test1_closure$def = internal global %Test_test1_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_test1_info$def to i64), i64 0}>
@Test_test1_closure = alias i8* bitcast (%Test_test1_closure_struct* @Test_test1_closure$def to i8*)
@Test_test1_info = alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_test1_info$def to i8*)
define ghccc void @Test_test1_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_test1_info$def to i64)),i64 208), i64 8589934597, i64 0, i64 4294967311}>
{
clqU:
%R2_Var = alloca i64, i32 1
store i64 %R2_Arg, i64* %R2_Var
%lnlqX = load i64, i64* %R2_Var
store i64 %lnlqX, i64* %R2_Var
%lnlqY = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_test2_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
%lnlqZ = load i64, i64* %R2_Var
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlqY( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 %lnlqZ, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
ret void
}
%SiZ0_srt_struct = type <{i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64}>
@SiZ0_srt$def = internal constant %SiZ0_srt_struct<{i64 ptrtoint (i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_checkError_closure to i64), i64 ptrtoint (%riFv_closure_struct* @riFv_closure$def to i64), i64 ptrtoint (%riFx_closure_struct* @riFx_closure$def to i64), i64 ptrtoint (%riFy_closure_struct* @riFy_closure$def to i64), i64 ptrtoint (i8* @base_GHCziIOziEncodingziFailure_zdwfail_closure to i64), i64 ptrtoint (%riFz_closure_struct* @riFz_closure$def to i64), i64 ptrtoint (%riFA_closure_struct* @riFA_closure$def to i64), i64 ptrtoint (%riFC_closure_struct* @riFC_closure$def to i64), i64 ptrtoint (%riFD_closure_struct* @riFD_closure$def to i64), i64 ptrtoint (%riFF_closure_struct* @riFF_closure$def to i64), i64 ptrtoint (%riFG_closure_struct* @riFG_closure$def to i64), i64 ptrtoint (%riFI_closure_struct* @riFI_closure$def to i64), i64 ptrtoint (%riFJ_closure_struct* @riFJ_closure$def to i64), i64 ptrtoint (%riFV_closure_struct* @riFV_closure$def to i64), i64 ptrtoint (i8* @base_GHCziErr_error_closure to i64), i64 ptrtoint (%riFT_closure_struct* @riFT_closure$def to i64), i64 ptrtoint (%riFW_closure_struct* @riFW_closure$def to i64), i64 ptrtoint (%riG1_closure_struct* @riG1_closure$def to i64), i64 ptrtoint (%riG2_closure_struct* @riG2_closure$def to i64), i64 ptrtoint (%Test_zdwtest1_closure_struct* @Test_zdwtest1_closure$def to i64), i64 ptrtoint (i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_gangIO_closure to i64), i64 ptrtoint (i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_theGang_closure to i64), i64 ptrtoint (%riFB_closure_struct* @riFB_closure$def to i64), i64 ptrtoint (%riFE_closure_struct* @riFE_closure$def to i64), i64 ptrtoint (%riFH_closure_struct* @riFH_closure$def to i64), i64 ptrtoint (%riFK_closure_struct* @riFK_closure$def to i64), i64 ptrtoint (%Test_test2_closure_struct* @Test_test2_closure$def to i64)}>
@SiZ0_srt = internal alias i8* bitcast (%SiZ0_srt_struct* @SiZ0_srt$def to i8*)
@hsprimitive_memset_Word8 = external global i8
@ghczmprim_GHCziTypes_TrNameS_static_info = external global i8
@ghczmprim_GHCziTypes_Module_static_info = external global i8
@stg_ap_0_fast = external global i8
@ghczmprim_GHCziTuple_Z0T_closure = external global i8
@newCAF = external global i8
@stg_bh_upd_frame_info = external global i8
@ghczmprim_GHCziCString_unpackCStringzh_info = external global i8
@ghczmprim_GHCziTypes_Izh_static_info = external global i8
@vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_checkLengthzumsgzh_info = external global i8
@vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_Bounds_closure = external global i8
@vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_checkError_info = external global i8
@stg_newPinnedByteArrayzh = external global i8
@base_GHCziForeignPtr_NoFinalizzers_closure = external global i8
@stg_newMutVarzh = external global i8
@base_GHCziForeignPtr_PlainForeignPtr_con_info = external global i8
@base_GHCziIOziBuffer_ReadBuffer_closure = external global i8
@base_GHCziIOziBuffer_WriteBuffer_closure = external global i8
@base_GHCziIOziEncodingziUTF8_zdwutf8zuencode_info = external global i8
@stg_gc_unpt_r1 = external global i8
@stg_traceEventzh = external global i8
@base_GHCziIOziEncodingziFailure_zdwfail_info = external global i8
@base_GHCziList_zdwlenAcc_info = external global i8
@stg_newAlignedPinnedByteArrayzh = external global i8
@stg_gc_unbx_r1 = external global i8
@stg_maskAsyncExceptionszh = external global i8
@stg_unmaskAsyncExceptionszh = external global i8
@stg_raiseIOzh = external global i8
@stg_catchzh = external global i8
@stg_maskUninterruptiblezh = external global i8
@base_GHCziStackziTypes_SrcLoc_static_info = external global i8
@base_GHCziStackziTypes_PushCallStack_static_info = external global i8
@base_GHCziStackziTypes_EmptyCallStack_closure = external global i8
@stg_upd_frame_info = external global i8
@ghczmprim_GHCziTypes_ZMZN_closure = external global i8
@base_GHCziShow_zdwitoszq_info = external global i8
@ghczmprim_GHCziTypes_ZC_con_info = external global i8
@stg_gc_pp = external global i8
@ghczmprim_GHCziTypes_ZC_static_info = external global i8
@base_GHCziShow_shows9_closure = external global i8
@ghczmprim_GHCziCString_unpackAppendCStringzh_info = external global i8
@base_GHCziErr_error_info = external global i8
@stg_noDuplicatezh = external global i8
@stg_newByteArrayzh = external global i8
@stg_getMaskingStatezh = external global i8
@repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_theGang_closure = external global i8
@repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_gangIO_info = external global i8
@vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info = external global i8
@ghczmprim_GHCziTypes_Izh_con_info = external global i8
@repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info = external global i8
@repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info = external global i8
@vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_checkError_closure = external global i8
@base_GHCziIOziEncodingziFailure_zdwfail_closure = external global i8
@base_GHCziErr_error_closure = external global i8
@repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_gangIO_closure = external global i8
@llvm.used = appending constant [56 x i8*] [i8* bitcast (%SiZ0_srt_struct* @SiZ0_srt$def to i8*), i8* bitcast (%Test_test1_closure_struct* @Test_test1_closure$def to i8*), i8* bitcast (%Test_test2_closure_struct* @Test_test2_closure$def to i8*), i8* bitcast (%Test_zdwtest1_closure_struct* @Test_zdwtest1_closure$def to i8*), i8* bitcast (%ckqC_str_struct* @ckqC_str$def to i8*), i8* bitcast (%riG2_closure_struct* @riG2_closure$def to i8*), i8* bitcast (%riG1_closure_struct* @riG1_closure$def to i8*), i8* bitcast (%riG0_closure_struct* @riG0_closure$def to i8*), i8* bitcast (%riFZ_closure_struct* @riFZ_closure$def to i8*), i8* bitcast (%riFY_closure_struct* @riFY_closure$def to i8*), i8* bitcast (%riFX_closure_struct* @riFX_closure$def to i8*), i8* bitcast (%ckjZ_str_struct* @ckjZ_str$def to i8*), i8* bitcast (%riFW_closure_struct* @riFW_closure$def to i8*), i8* bitcast (%riFV_closure_struct* @riFV_closure$def to i8*), i8* bitcast (%riFU_closure_struct* @riFU_closure$def to i8*), i8* bitcast (%riFT_closure_struct* @riFT_closure$def to i8*), i8* bitcast (%riFS_closure_struct* @riFS_closure$def to i8*), i8* bitcast (%riFR_closure_struct* @riFR_closure$def to i8*), i8* bitcast (%riFQ_closure_struct* @riFQ_closure$def to i8*), i8* bitcast (%riFP_closure_struct* @riFP_closure$def to i8*), i8* bitcast (%ckeb_str_struct* @ckeb_str$def to i8*), i8* bitcast (%riFO_closure_struct* @riFO_closure$def to i8*), i8* bitcast (%ckdk_str_struct* @ckdk_str$def to i8*), i8* bitcast (%riFN_closure_struct* @riFN_closure$def to i8*), i8* bitcast (%ckct_str_struct* @ckct_str$def to i8*), i8* bitcast (%riFM_closure_struct* @riFM_closure$def to i8*), i8* bitcast (%ckbC_str_struct* @ckbC_str$def to i8*), i8* bitcast (%riFL_closure_struct* @riFL_closure$def to i8*), i8* bitcast (%riFK_closure_struct* @riFK_closure$def to i8*), i8* bitcast (%riFJ_closure_struct* @riFJ_closure$def to i8*), i8* bitcast (%riFI_closure_struct* @riFI_closure$def to i8*), i8* bitcast (%riFH_closure_struct* @riFH_closure$def to i8*), i8* bitcast (%riFG_closure_struct* @riFG_closure$def to i8*), i8* bitcast (%cjAI_str_struct* @cjAI_str$def to i8*), i8* bitcast (%riFF_closure_struct* @riFF_closure$def to i8*), i8* bitcast (%riFE_closure_struct* @riFE_closure$def to i8*), i8* bitcast (%riFD_closure_struct* @riFD_closure$def to i8*), i8* bitcast (%riFC_closure_struct* @riFC_closure$def to i8*), i8* bitcast (%riFB_closure_struct* @riFB_closure$def to i8*), i8* bitcast (%riFA_closure_struct* @riFA_closure$def to i8*), i8* bitcast (%ciZO_str_struct* @ciZO_str$def to i8*), i8* bitcast (%riFz_closure_struct* @riFz_closure$def to i8*), i8* bitcast (%riFy_closure_struct* @riFy_closure$def to i8*), i8* bitcast (%ciY0_str_struct* @ciY0_str$def to i8*), i8* bitcast (%riFx_closure_struct* @riFx_closure$def to i8*), i8* bitcast (%riFw_closure_struct* @riFw_closure$def to i8*), i8* bitcast (%ciX8_str_struct* @ciX8_str$def to i8*), i8* bitcast (%riFv_closure_struct* @riFv_closure$def to i8*), i8* bitcast (%Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure_struct* @Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure$def to i8*), i8* bitcast (%riFu_closure_struct* @riFu_closure$def to i8*), i8* bitcast (%Test_zdtrModule_closure_struct* @Test_zdtrModule_closure$def to i8*), i8* bitcast (%Test_zdtrModule2_closure_struct* @Test_zdtrModule2_closure$def to i8*), i8* bitcast (%ciTz_str_struct* @ciTz_str$def to i8*), i8* bitcast (%Test_zdtrModule1_closure_struct* @Test_zdtrModule1_closure$def to i8*), i8* bitcast (%ciTx_str_struct* @ciTx_str$def to i8*), i8* bitcast (%__stginit_Test_struct* @__stginit_Test$def to i8*)], section "llvm.metadata"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment