Ticket #5598: division-llvm.txt

File division-llvm.txt, 81.1 KB (added by boris, 2 years ago)
Line 
1[1 of 1] Compiling Main             ( division.hs, division.o )
2
3==================== LLVM Code ====================
4%Main_main2_srt_struct = type <{i64,i64}>
5@base_GHCziIOziHandleziFD_stdout_closure = external global [0 x i64]
6@base_GHCziIOziHandleziText_hPutStr2_closure = external global [0 x i64]
7@Main_main2_srt =  constant %Main_main2_srt_struct <{i64 ptrtoint ([0 x i64]* @base_GHCziIOziHandleziFD_stdout_closure to i64),i64 ptrtoint ([0 x i64]* @base_GHCziIOziHandleziText_hPutStr2_closure to i64)}>
8%Main_main2_closure_struct = type <{i64,i64}>
9@Main_main2_closure =  global %Main_main2_closure_struct <{i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main2_info to i64),i64 0}>
10%Main_main3_srt_struct = type <{i64}>
11@base_GHCziRead_zdfReadDouble4_closure = external global [0 x i64]
12@Main_main3_srt =  constant %Main_main3_srt_struct <{i64 ptrtoint ([0 x i64]* @base_GHCziRead_zdfReadDouble4_closure to i64)}>
13%Main_main3_closure_struct = type <{i64,i64,i64,i64}>
14@Main_main3_closure =  global %Main_main3_closure_struct <{i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main3_info to i64),i64 0,i64 0,i64 0}>
15%Main_main1_srt_struct = type <{i64,i64,i64,i64,i64,i64,i64,i64,i64}>
16@base_SystemziIO_readIO2_closure = external global [0 x i64]
17@base_SystemziIO_readIO5_closure = external global [0 x i64]
18@base_SystemziIO_readIO8_closure = external global [0 x i64]
19@base_GHCziIOziHandleziText_hGetLine2_closure = external global [0 x i64]
20@base_GHCziIOziHandleziFD_stdin_closure = external global [0 x i64]
21@base_GHCziIOziHandleziText_hGetLine3_closure = external global [0 x i64]
22@base_GHCziIOziHandleziInternals_wantReadableHandlezu1_closure = external global [0 x i64]
23@Main_main1_srt =  constant %Main_main1_srt_struct <{i64 ptrtoint ([0 x i64]* @base_SystemziIO_readIO2_closure to i64),i64 ptrtoint (%Main_main2_closure_struct* @Main_main2_closure to i64),i64 ptrtoint ([0 x i64]* @base_SystemziIO_readIO5_closure to i64),i64 ptrtoint (%Main_main3_closure_struct* @Main_main3_closure to i64),i64 ptrtoint ([0 x i64]* @base_SystemziIO_readIO8_closure to i64),i64 ptrtoint ([0 x i64]* @base_GHCziIOziHandleziText_hGetLine2_closure to i64),i64 ptrtoint ([0 x i64]* @base_GHCziIOziHandleziFD_stdin_closure to i64),i64 ptrtoint ([0 x i64]* @base_GHCziIOziHandleziText_hGetLine3_closure to i64),i64 ptrtoint ([0 x i64]* @base_GHCziIOziHandleziInternals_wantReadableHandlezu1_closure to i64)}>
24%Main_main1_closure_struct = type <{i64,i64}>
25@Main_main1_closure =  global %Main_main1_closure_struct <{i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main1_info to i64),i64 0}>
26%Main_main4_srt_struct = type <{i64,i64}>
27@base_GHCziTopHandler_runMainIO1_closure = external global [0 x i64]
28@Main_main4_srt =  constant %Main_main4_srt_struct <{i64 ptrtoint ([0 x i64]* @base_GHCziTopHandler_runMainIO1_closure to i64),i64 ptrtoint (%Main_main1_closure_struct* @Main_main1_closure to i64)}>
29%Main_main4_closure_struct = type <{i64,i64}>
30@Main_main4_closure =  global %Main_main4_closure_struct <{i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main4_info to i64),i64 0}>
31%Main_main_srt_struct = type <{i64}>
32@Main_main_srt =  constant %Main_main_srt_struct <{i64 ptrtoint (%Main_main1_closure_struct* @Main_main1_closure to i64)}>
33%Main_main_closure_struct = type <{i64,i64}>
34@Main_main_closure =  global %Main_main_closure_struct <{i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main_info to i64),i64 0}>
35%ZCMain_main_srt_struct = type <{i64}>
36@ZCMain_main_srt =  constant %ZCMain_main_srt_struct <{i64 ptrtoint (%Main_main4_closure_struct* @Main_main4_closure to i64)}>
37%ZCMain_main_closure_struct = type <{i64,i64}>
38@ZCMain_main_closure =  global %ZCMain_main_closure_struct <{i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @ZCMain_main_info to i64),i64 0}>
39%_module_registered_struct = type <{i64}>
40@_module_registered = internal global %_module_registered_struct <{i64 0}>
41
42
43
44==================== LLVM Code ====================
45
46
47
48==================== LLVM Code ====================
49
50
51
52==================== LLVM Code ====================
53@ghczmprim_GHCziTypes_ZMZN_closure = external global [0 x i64]
54declare  cc 10 void @base_GHCziShow_zdwshowSignedInt_info(i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double ) align 8
55%s1lX_ret_struct = type <{i64,i64}>
56@s1lX_info_itable = internal constant %s1lX_ret_struct <{i64 0,i64 32}>, section ".text; .text 0#", align 8
57define internal cc 10 void @s1lX_info(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind section ".text; .text 1#"
58{
59c1nU:
60    %Base_Var = alloca i64*, i32 1
61    store i64* %Base_Arg, i64** %Base_Var
62    %Sp_Var = alloca i64*, i32 1
63    store i64* %Sp_Arg, i64** %Sp_Var
64    %Hp_Var = alloca i64*, i32 1
65    store i64* %Hp_Arg, i64** %Hp_Var
66    %R1_Var = alloca i64, i32 1
67    store i64 %R1_Arg, i64* %R1_Var
68    %R2_Var = alloca i64, i32 1
69    store i64 %R2_Arg, i64* %R2_Var
70    %R3_Var = alloca i64, i32 1
71    store i64 %R3_Arg, i64* %R3_Var
72    %R4_Var = alloca i64, i32 1
73    store i64 %R4_Arg, i64* %R4_Var
74    %R5_Var = alloca i64, i32 1
75    store i64 %R5_Arg, i64* %R5_Var
76    %R6_Var = alloca i64, i32 1
77    store i64 %R6_Arg, i64* %R6_Var
78    %SpLim_Var = alloca i64, i32 1
79    store i64 %SpLim_Arg, i64* %SpLim_Var
80    %F1_Var = alloca float, i32 1
81    store float %F1_Arg, float* %F1_Var
82    %F2_Var = alloca float, i32 1
83    store float %F2_Arg, float* %F2_Var
84    %F3_Var = alloca float, i32 1
85    store float %F3_Arg, float* %F3_Var
86    %F4_Var = alloca float, i32 1
87    store float %F4_Arg, float* %F4_Var
88    %D1_Var = alloca double, i32 1
89    store double %D1_Arg, double* %D1_Var
90    %D2_Var = alloca double, i32 1
91    store double %D2_Arg, double* %D2_Var
92    %ls1ln = alloca i64, i32 1
93    %ls1lW = alloca i64, i32 1
94    %ls1lV = alloca i64, i32 1
95    %ls1lU = alloca i64, i32 1
96    %ln1nV = load i64* %R1_Var
97    %ln1nW = add i64 %ln1nV, 7
98    %ln1nX = inttoptr i64 %ln1nW to i64*
99    %ln1nY = load i64* %ln1nX
100    store i64 %ln1nY, i64* %ls1ln
101    %ln1nZ = load i64* %ls1ln
102    %ln1o0 = icmp ne i64 %ln1nZ, -9223372036854775808
103    br i1 %ln1o0, label %c1o5, label %n1o6
104    n1o6:
105    store i64 0, i64* %R2_Var
106    store i64 -74986764527274608, i64* %R3_Var
107    %ln1o7 = ptrtoint [0 x i64]* @ghczmprim_GHCziTypes_ZMZN_closure to i64
108    %ln1o8 = add i64 %ln1o7, 1
109    store i64 %ln1o8, i64* %R4_Var
110    %ln1o9 = load i64** %Sp_Var
111    %ln1oa = getelementptr inbounds i64* %ln1o9, i32 1
112    %ln1ob = ptrtoint i64* %ln1oa to i64
113    %ln1oc = inttoptr i64 %ln1ob to i64*
114    store i64* %ln1oc, i64** %Sp_Var
115    %ln1od = load i64** %Base_Var
116    %ln1oe = load i64** %Sp_Var
117    %ln1of = load i64** %Hp_Var
118    %ln1og = load i64* %R1_Var
119    %ln1oh = load i64* %R2_Var
120    %ln1oi = load i64* %R3_Var
121    %ln1oj = load i64* %R4_Var
122    %ln1ok = load i64* %R5_Var
123    %ln1ol = load i64* %R6_Var
124    %ln1om = load i64* %SpLim_Var
125    %ln1on = load float* %F1_Var
126    %ln1oo = load float* %F2_Var
127    %ln1op = load float* %F3_Var
128    %ln1oq = load float* %F4_Var
129    %ln1or = load double* %D1_Var
130    %ln1os = load double* %D2_Var
131    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziShow_zdwshowSignedInt_info( i64* %ln1od,i64* %ln1oe,i64* %ln1of,i64 %ln1og,i64 %ln1oh,i64 %ln1oi,i64 %ln1oj,i64 %ln1ok,i64 %ln1ol,i64 %ln1om,float %ln1on,float %ln1oo,float %ln1op,float %ln1oq,double %ln1or,double %ln1os ) nounwind
132    ret void
133c1o5:
134    %ln1ot = load i64* %ls1ln
135    %ln1ou = srem i64 %ln1ot, 123
136    store i64 %ln1ou, i64* %ls1lW
137    %ln1ov = load i64* %ls1ln
138    %ln1ow = sdiv i64 %ln1ov, 123
139    store i64 %ln1ow, i64* %ls1lV
140    %ln1ox = load i64* %ls1lV
141    %ln1oy = load i64* %ls1lW
142    %ln1oz = add i64 %ln1ox, %ln1oy
143    store i64 %ln1oz, i64* %ls1lU
144    store i64 0, i64* %R2_Var
145    %ln1oA = load i64* %ls1lU
146    store i64 %ln1oA, i64* %R3_Var
147    %ln1oB = ptrtoint [0 x i64]* @ghczmprim_GHCziTypes_ZMZN_closure to i64
148    %ln1oC = add i64 %ln1oB, 1
149    store i64 %ln1oC, i64* %R4_Var
150    %ln1oD = load i64** %Sp_Var
151    %ln1oE = getelementptr inbounds i64* %ln1oD, i32 1
152    %ln1oF = ptrtoint i64* %ln1oE to i64
153    %ln1oG = inttoptr i64 %ln1oF to i64*
154    store i64* %ln1oG, i64** %Sp_Var
155    %ln1oH = load i64** %Base_Var
156    %ln1oI = load i64** %Sp_Var
157    %ln1oJ = load i64** %Hp_Var
158    %ln1oK = load i64* %R1_Var
159    %ln1oL = load i64* %R2_Var
160    %ln1oM = load i64* %R3_Var
161    %ln1oN = load i64* %R4_Var
162    %ln1oO = load i64* %R5_Var
163    %ln1oP = load i64* %R6_Var
164    %ln1oQ = load i64* %SpLim_Var
165    %ln1oR = load float* %F1_Var
166    %ln1oS = load float* %F2_Var
167    %ln1oT = load float* %F3_Var
168    %ln1oU = load float* %F4_Var
169    %ln1oV = load double* %D1_Var
170    %ln1oW = load double* %D2_Var
171    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziShow_zdwshowSignedInt_info( i64* %ln1oH,i64* %ln1oI,i64* %ln1oJ,i64 %ln1oK,i64 %ln1oL,i64 %ln1oM,i64 %ln1oN,i64 %ln1oO,i64 %ln1oP,i64 %ln1oQ,float %ln1oR,float %ln1oS,float %ln1oT,float %ln1oU,double %ln1oV,double %ln1oW ) nounwind
172    ret void
173}
174
175
176
177==================== LLVM Code ====================
178@stg_upd_frame_info = external global [0 x i64]
179%s1lY_entry_struct = type <{i64,i64}>
180@s1lY_info_itable = internal constant %s1lY_entry_struct <{i64 1,i64 17}>, section ".text; .text 0#", align 8
181define internal cc 10 void @s1lY_info(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind section ".text; .text 1#"
182{
183c1qm:
184    %Base_Var = alloca i64*, i32 1
185    store i64* %Base_Arg, i64** %Base_Var
186    %Sp_Var = alloca i64*, i32 1
187    store i64* %Sp_Arg, i64** %Sp_Var
188    %Hp_Var = alloca i64*, i32 1
189    store i64* %Hp_Arg, i64** %Hp_Var
190    %R1_Var = alloca i64, i32 1
191    store i64 %R1_Arg, i64* %R1_Var
192    %R2_Var = alloca i64, i32 1
193    store i64 %R2_Arg, i64* %R2_Var
194    %R3_Var = alloca i64, i32 1
195    store i64 %R3_Arg, i64* %R3_Var
196    %R4_Var = alloca i64, i32 1
197    store i64 %R4_Arg, i64* %R4_Var
198    %R5_Var = alloca i64, i32 1
199    store i64 %R5_Arg, i64* %R5_Var
200    %R6_Var = alloca i64, i32 1
201    store i64 %R6_Arg, i64* %R6_Var
202    %SpLim_Var = alloca i64, i32 1
203    store i64 %SpLim_Arg, i64* %SpLim_Var
204    %F1_Var = alloca float, i32 1
205    store float %F1_Arg, float* %F1_Var
206    %F2_Var = alloca float, i32 1
207    store float %F2_Arg, float* %F2_Var
208    %F3_Var = alloca float, i32 1
209    store float %F3_Arg, float* %F3_Var
210    %F4_Var = alloca float, i32 1
211    store float %F4_Arg, float* %F4_Var
212    %D1_Var = alloca double, i32 1
213    store double %D1_Arg, double* %D1_Var
214    %D2_Var = alloca double, i32 1
215    store double %D2_Arg, double* %D2_Var
216    %ln1qn = load i64** %Sp_Var
217    %ln1qo = getelementptr inbounds i64* %ln1qn, i32 -3
218    %ln1qp = ptrtoint i64* %ln1qo to i64
219    %ln1qq = load i64* %SpLim_Var
220    %ln1qr = icmp ult i64 %ln1qp, %ln1qq
221    br i1 %ln1qr, label %c1qt, label %n1qu
222    n1qu:
223    %ln1qv = ptrtoint [0 x i64]* @stg_upd_frame_info to i64
224    %ln1qw = load i64** %Sp_Var
225    %ln1qx = getelementptr inbounds i64* %ln1qw, i32 -2
226    store i64 %ln1qv, i64* %ln1qx
227    %ln1qy = load i64* %R1_Var
228    %ln1qz = load i64** %Sp_Var
229    %ln1qA = getelementptr inbounds i64* %ln1qz, i32 -1
230    store i64 %ln1qy, i64* %ln1qA
231    %ln1qB = load i64* %R1_Var
232    %ln1qC = add i64 %ln1qB, 16
233    %ln1qD = inttoptr i64 %ln1qC to i64*
234    %ln1qE = load i64* %ln1qD
235    store i64 %ln1qE, i64* %R1_Var
236    %ln1qF = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1lX_info to i64
237    %ln1qG = load i64** %Sp_Var
238    %ln1qH = getelementptr inbounds i64* %ln1qG, i32 -3
239    store i64 %ln1qF, i64* %ln1qH
240    %ln1qI = load i64** %Sp_Var
241    %ln1qJ = getelementptr inbounds i64* %ln1qI, i32 -3
242    %ln1qK = ptrtoint i64* %ln1qJ to i64
243    %ln1qL = inttoptr i64 %ln1qK to i64*
244    store i64* %ln1qL, i64** %Sp_Var
245    %ln1qM = load i64* %R1_Var
246    %ln1qN = and i64 %ln1qM, 7
247    %ln1qO = icmp ne i64 %ln1qN, 0
248    br i1 %ln1qO, label %c1qP, label %n1qQ
249    n1qQ:
250    %ln1qR = load i64* %R1_Var
251    %ln1qS = inttoptr i64 %ln1qR to i64*
252    %ln1qT = load i64* %ln1qS
253    %ln1qU = inttoptr i64 %ln1qT to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )*
254    %ln1qV = load i64** %Base_Var
255    %ln1qW = load i64** %Sp_Var
256    %ln1qX = load i64** %Hp_Var
257    %ln1qY = load i64* %R1_Var
258    %ln1qZ = load i64* %R2_Var
259    %ln1r0 = load i64* %R3_Var
260    %ln1r1 = load i64* %R4_Var
261    %ln1r2 = load i64* %R5_Var
262    %ln1r3 = load i64* %R6_Var
263    %ln1r4 = load i64* %SpLim_Var
264    %ln1r5 = load float* %F1_Var
265    %ln1r6 = load float* %F2_Var
266    %ln1r7 = load float* %F3_Var
267    %ln1r8 = load float* %F4_Var
268    %ln1r9 = load double* %D1_Var
269    %ln1ra = load double* %D2_Var
270    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1qU( i64* %ln1qV,i64* %ln1qW,i64* %ln1qX,i64 %ln1qY,i64 %ln1qZ,i64 %ln1r0,i64 %ln1r1,i64 %ln1r2,i64 %ln1r3,i64 %ln1r4,float %ln1r5,float %ln1r6,float %ln1r7,float %ln1r8,double %ln1r9,double %ln1ra ) nounwind
271    ret void
272c1qt:
273    %ln1rb = load i64** %Base_Var
274    %ln1rc = getelementptr inbounds i64* %ln1rb, i32 -2
275    %ln1rd = bitcast i64* %ln1rc to i64*
276    %ln1re = load i64* %ln1rd
277    %ln1rf = inttoptr i64 %ln1re to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )*
278    %ln1rg = load i64** %Base_Var
279    %ln1rh = load i64** %Sp_Var
280    %ln1ri = load i64** %Hp_Var
281    %ln1rj = load i64* %R1_Var
282    %ln1rk = load i64* %R2_Var
283    %ln1rl = load i64* %R3_Var
284    %ln1rm = load i64* %R4_Var
285    %ln1rn = load i64* %R5_Var
286    %ln1ro = load i64* %R6_Var
287    %ln1rp = load i64* %SpLim_Var
288    %ln1rq = load float* %F1_Var
289    %ln1rr = load float* %F2_Var
290    %ln1rs = load float* %F3_Var
291    %ln1rt = load float* %F4_Var
292    %ln1ru = load double* %D1_Var
293    %ln1rv = load double* %D2_Var
294    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1rf( i64* %ln1rg,i64* %ln1rh,i64* %ln1ri,i64 %ln1rj,i64 %ln1rk,i64 %ln1rl,i64 %ln1rm,i64 %ln1rn,i64 %ln1ro,i64 %ln1rp,float %ln1rq,float %ln1rr,float %ln1rs,float %ln1rt,double %ln1ru,double %ln1rv ) nounwind
295    ret void
296c1qP:
297    %ln1rw = load i64** %Base_Var
298    %ln1rx = load i64** %Sp_Var
299    %ln1ry = load i64** %Hp_Var
300    %ln1rz = load i64* %R1_Var
301    %ln1rA = load i64* %R2_Var
302    %ln1rB = load i64* %R3_Var
303    %ln1rC = load i64* %R4_Var
304    %ln1rD = load i64* %R5_Var
305    %ln1rE = load i64* %R6_Var
306    %ln1rF = load i64* %SpLim_Var
307    %ln1rG = load float* %F1_Var
308    %ln1rH = load float* %F2_Var
309    %ln1rI = load float* %F3_Var
310    %ln1rJ = load float* %F4_Var
311    %ln1rK = load double* %D1_Var
312    %ln1rL = load double* %D2_Var
313    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @s1lX_info( i64* %ln1rw,i64* %ln1rx,i64* %ln1ry,i64 %ln1rz,i64 %ln1rA,i64 %ln1rB,i64 %ln1rC,i64 %ln1rD,i64 %ln1rE,i64 %ln1rF,float %ln1rG,float %ln1rH,float %ln1rI,float %ln1rJ,double %ln1rK,double %ln1rL ) nounwind
314    ret void
315}
316
317
318
319==================== LLVM Code ====================
320@ghczmprim_GHCziBool_True_closure = external global [0 x i64]
321declare  cc 10 void @base_GHCziIOziHandleziText_hPutStr2_info(i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double ) align 8
322%Main_main2_entry_struct = type <{i64,i64,i64,i64}>
323@Main_main2_info_itable =  constant %Main_main2_entry_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main2_srt_struct* @Main_main2_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main2_info to i64)),i64 0),i64 8589934597,i64 0,i64 12884901903}>, section ".text; .text 0#", align 8
324define  cc 10 void @Main_main2_info(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind section ".text; .text 1#"
325{
326c1sP:
327    %Base_Var = alloca i64*, i32 1
328    store i64* %Base_Arg, i64** %Base_Var
329    %Sp_Var = alloca i64*, i32 1
330    store i64* %Sp_Arg, i64** %Sp_Var
331    %Hp_Var = alloca i64*, i32 1
332    store i64* %Hp_Arg, i64** %Hp_Var
333    %R1_Var = alloca i64, i32 1
334    store i64 %R1_Arg, i64* %R1_Var
335    %R2_Var = alloca i64, i32 1
336    store i64 %R2_Arg, i64* %R2_Var
337    %R3_Var = alloca i64, i32 1
338    store i64 %R3_Arg, i64* %R3_Var
339    %R4_Var = alloca i64, i32 1
340    store i64 %R4_Arg, i64* %R4_Var
341    %R5_Var = alloca i64, i32 1
342    store i64 %R5_Arg, i64* %R5_Var
343    %R6_Var = alloca i64, i32 1
344    store i64 %R6_Arg, i64* %R6_Var
345    %SpLim_Var = alloca i64, i32 1
346    store i64 %SpLim_Arg, i64* %SpLim_Var
347    %F1_Var = alloca float, i32 1
348    store float %F1_Arg, float* %F1_Var
349    %F2_Var = alloca float, i32 1
350    store float %F2_Arg, float* %F2_Var
351    %F3_Var = alloca float, i32 1
352    store float %F3_Arg, float* %F3_Var
353    %F4_Var = alloca float, i32 1
354    store float %F4_Arg, float* %F4_Var
355    %D1_Var = alloca double, i32 1
356    store double %D1_Arg, double* %D1_Var
357    %D2_Var = alloca double, i32 1
358    store double %D2_Arg, double* %D2_Var
359    %ln1sQ = load i64** %Hp_Var
360    %ln1sR = getelementptr inbounds i64* %ln1sQ, i32 3
361    %ln1sS = ptrtoint i64* %ln1sR to i64
362    %ln1sT = inttoptr i64 %ln1sS to i64*
363    store i64* %ln1sT, i64** %Hp_Var
364    %ln1sU = load i64** %Hp_Var
365    %ln1sV = ptrtoint i64* %ln1sU to i64
366    %ln1sW = load i64** %Base_Var
367    %ln1sX = getelementptr inbounds i64* %ln1sW, i32 18
368    %ln1sY = bitcast i64* %ln1sX to i64*
369    %ln1sZ = load i64* %ln1sY
370    %ln1t0 = icmp ugt i64 %ln1sV, %ln1sZ
371    br i1 %ln1t0, label %c1t3, label %n1t4
372    n1t4:
373    %ln1t5 = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1lY_info to i64
374    %ln1t6 = load i64** %Hp_Var
375    %ln1t7 = getelementptr inbounds i64* %ln1t6, i32 -2
376    store i64 %ln1t5, i64* %ln1t7
377    %ln1t8 = load i64* %R2_Var
378    %ln1t9 = load i64** %Hp_Var
379    %ln1ta = getelementptr inbounds i64* %ln1t9, i32 0
380    store i64 %ln1t8, i64* %ln1ta
381    %ln1tb = ptrtoint [0 x i64]* @base_GHCziIOziHandleziFD_stdout_closure to i64
382    store i64 %ln1tb, i64* %R2_Var
383    %ln1tc = load i64** %Hp_Var
384    %ln1td = getelementptr inbounds i64* %ln1tc, i32 -2
385    %ln1te = ptrtoint i64* %ln1td to i64
386    store i64 %ln1te, i64* %R3_Var
387    %ln1tf = ptrtoint [0 x i64]* @ghczmprim_GHCziBool_True_closure to i64
388    %ln1tg = add i64 %ln1tf, 2
389    store i64 %ln1tg, i64* %R4_Var
390    %ln1th = load i64** %Base_Var
391    %ln1ti = load i64** %Sp_Var
392    %ln1tj = load i64** %Hp_Var
393    %ln1tk = load i64* %R1_Var
394    %ln1tl = load i64* %R2_Var
395    %ln1tm = load i64* %R3_Var
396    %ln1tn = load i64* %R4_Var
397    %ln1to = load i64* %R5_Var
398    %ln1tp = load i64* %R6_Var
399    %ln1tq = load i64* %SpLim_Var
400    %ln1tr = load float* %F1_Var
401    %ln1ts = load float* %F2_Var
402    %ln1tt = load float* %F3_Var
403    %ln1tu = load float* %F4_Var
404    %ln1tv = load double* %D1_Var
405    %ln1tw = load double* %D2_Var
406    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziIOziHandleziText_hPutStr2_info( i64* %ln1th,i64* %ln1ti,i64* %ln1tj,i64 %ln1tk,i64 %ln1tl,i64 %ln1tm,i64 %ln1tn,i64 %ln1to,i64 %ln1tp,i64 %ln1tq,float %ln1tr,float %ln1ts,float %ln1tt,float %ln1tu,double %ln1tv,double %ln1tw ) nounwind
407    ret void
408c1tx:
409    %ln1ty = ptrtoint %Main_main2_closure_struct* @Main_main2_closure to i64
410    store i64 %ln1ty, i64* %R1_Var
411    %ln1tz = load i64** %Base_Var
412    %ln1tA = getelementptr inbounds i64* %ln1tz, i32 -1
413    %ln1tB = bitcast i64* %ln1tA to i64*
414    %ln1tC = load i64* %ln1tB
415    %ln1tD = inttoptr i64 %ln1tC to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )*
416    %ln1tE = load i64** %Base_Var
417    %ln1tF = load i64** %Sp_Var
418    %ln1tG = load i64** %Hp_Var
419    %ln1tH = load i64* %R1_Var
420    %ln1tI = load i64* %R2_Var
421    %ln1tJ = load i64* %R3_Var
422    %ln1tK = load i64* %R4_Var
423    %ln1tL = load i64* %R5_Var
424    %ln1tM = load i64* %R6_Var
425    %ln1tN = load i64* %SpLim_Var
426    %ln1tO = load float* %F1_Var
427    %ln1tP = load float* %F2_Var
428    %ln1tQ = load float* %F3_Var
429    %ln1tR = load float* %F4_Var
430    %ln1tS = load double* %D1_Var
431    %ln1tT = load double* %D2_Var
432    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1tD( i64* %ln1tE,i64* %ln1tF,i64* %ln1tG,i64 %ln1tH,i64 %ln1tI,i64 %ln1tJ,i64 %ln1tK,i64 %ln1tL,i64 %ln1tM,i64 %ln1tN,float %ln1tO,float %ln1tP,float %ln1tQ,float %ln1tR,double %ln1tS,double %ln1tT ) nounwind
433    ret void
434c1t3:
435    %ln1tU = load i64** %Base_Var
436    %ln1tV = getelementptr inbounds i64* %ln1tU, i32 23
437    store i64 24, i64* %ln1tV
438    br label %c1tx
439}
440
441
442
443==================== LLVM Code ====================
444
445
446
447==================== LLVM Code ====================
448
449
450
451==================== LLVM Code ====================
452@stg_CAF_BLACKHOLE_info = external global [0 x i64]
453declare  ccc void @newCAF(i8* ,i8* ) align 8
454@stg_IND_STATIC_info = external global [0 x i64]
455@stg_bh_upd_frame_info = external global [0 x i64]
456@base_TextziParserCombinatorsziReadP_zdfMonadPzuzdcreturn_closure = external global [0 x i64]
457@stg_ap_p_info = external global [0 x i64]
458@base_GHCziNum_zdfNumInt_closure = external global [0 x i64]
459@base_GHCziRead_zdfReadInt3_closure = external global [0 x i64]
460@base_TextziParserCombinatorsziReadPrec_minPrec_closure = external global [0 x i64]
461declare  cc 10 void @base_GHCziRead_zdfReadDouble4_info(i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double ) align 8
462%Main_main3_entry_struct = type <{i64,i64,i64}>
463@Main_main3_info_itable =  constant %Main_main3_entry_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main3_srt_struct* @Main_main3_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main3_info to i64)),i64 0),i64 0,i64 4294967318}>, section ".text; .text 0#", align 8
464define  cc 10 void @Main_main3_info(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind section ".text; .text 1#"
465{
466c1vG:
467    %Base_Var = alloca i64*, i32 1
468    store i64* %Base_Arg, i64** %Base_Var
469    %Sp_Var = alloca i64*, i32 1
470    store i64* %Sp_Arg, i64** %Sp_Var
471    %Hp_Var = alloca i64*, i32 1
472    store i64* %Hp_Arg, i64** %Hp_Var
473    %R1_Var = alloca i64, i32 1
474    store i64 %R1_Arg, i64* %R1_Var
475    %R2_Var = alloca i64, i32 1
476    store i64 %R2_Arg, i64* %R2_Var
477    %R3_Var = alloca i64, i32 1
478    store i64 %R3_Arg, i64* %R3_Var
479    %R4_Var = alloca i64, i32 1
480    store i64 %R4_Arg, i64* %R4_Var
481    %R5_Var = alloca i64, i32 1
482    store i64 %R5_Arg, i64* %R5_Var
483    %R6_Var = alloca i64, i32 1
484    store i64 %R6_Arg, i64* %R6_Var
485    %SpLim_Var = alloca i64, i32 1
486    store i64 %SpLim_Arg, i64* %SpLim_Var
487    %F1_Var = alloca float, i32 1
488    store float %F1_Arg, float* %F1_Var
489    %F2_Var = alloca float, i32 1
490    store float %F2_Arg, float* %F2_Var
491    %F3_Var = alloca float, i32 1
492    store float %F3_Arg, float* %F3_Var
493    %F4_Var = alloca float, i32 1
494    store float %F4_Arg, float* %F4_Var
495    %D1_Var = alloca double, i32 1
496    store double %D1_Arg, double* %D1_Var
497    %D2_Var = alloca double, i32 1
498    store double %D2_Arg, double* %D2_Var
499    %ln1vH = load i64** %Sp_Var
500    %ln1vI = getelementptr inbounds i64* %ln1vH, i32 -4
501    %ln1vJ = ptrtoint i64* %ln1vI to i64
502    %ln1vK = load i64* %SpLim_Var
503    %ln1vL = icmp ult i64 %ln1vJ, %ln1vK
504    br i1 %ln1vL, label %c1vN, label %n1vO
505    n1vO:
506    %ln1vP = load i64** %Hp_Var
507    %ln1vQ = getelementptr inbounds i64* %ln1vP, i32 2
508    %ln1vR = ptrtoint i64* %ln1vQ to i64
509    %ln1vS = inttoptr i64 %ln1vR to i64*
510    store i64* %ln1vS, i64** %Hp_Var
511    %ln1vT = load i64** %Hp_Var
512    %ln1vU = ptrtoint i64* %ln1vT to i64
513    %ln1vV = load i64** %Base_Var
514    %ln1vW = getelementptr inbounds i64* %ln1vV, i32 18
515    %ln1vX = bitcast i64* %ln1vW to i64*
516    %ln1vY = load i64* %ln1vX
517    %ln1vZ = icmp ugt i64 %ln1vU, %ln1vY
518    br i1 %ln1vZ, label %c1w1, label %n1w2
519    n1w2:
520    %ln1w3 = ptrtoint [0 x i64]* @stg_CAF_BLACKHOLE_info to i64
521    %ln1w4 = load i64** %Hp_Var
522    %ln1w5 = getelementptr inbounds i64* %ln1w4, i32 -1
523    store i64 %ln1w3, i64* %ln1w5
524    %ln1w6 = load i64** %Base_Var
525    %ln1w7 = getelementptr inbounds i64* %ln1w6, i32 19
526    %ln1w8 = bitcast i64* %ln1w7 to i64*
527    %ln1w9 = load i64* %ln1w8
528    %ln1wa = load i64** %Hp_Var
529    %ln1wb = getelementptr inbounds i64* %ln1wa, i32 0
530    store i64 %ln1w9, i64* %ln1wb
531    %ln1wc = load i64** %Base_Var
532    %ln1wd = ptrtoint i64* %ln1wc to i64
533    %ln1we = inttoptr i64 %ln1wd to i8*
534    %ln1wf = load i64* %R1_Var
535    %ln1wg = inttoptr i64 %ln1wf to i8*
536    store i64 undef, i64* %R3_Var
537    store i64 undef, i64* %R4_Var
538    store i64 undef, i64* %R5_Var
539    store i64 undef, i64* %R6_Var
540    store float undef, float* %F1_Var
541    store float undef, float* %F2_Var
542    store float undef, float* %F3_Var
543    store float undef, float* %F4_Var
544    store double undef, double* %D1_Var
545    store double undef, double* %D2_Var
546    call ccc void (i8*,i8*)* @newCAF( i8* %ln1we,i8* %ln1wg ) nounwind
547    %ln1wh = load i64* %R1_Var
548    %ln1wi = add i64 %ln1wh, 8
549    %ln1wj = load i64** %Hp_Var
550    %ln1wk = getelementptr inbounds i64* %ln1wj, i32 -1
551    %ln1wl = ptrtoint i64* %ln1wk to i64
552    %ln1wm = inttoptr i64 %ln1wi to i64*
553    store i64 %ln1wl, i64* %ln1wm
554    %ln1wn = load i64* %R1_Var
555    %ln1wo = ptrtoint [0 x i64]* @stg_IND_STATIC_info to i64
556    %ln1wp = inttoptr i64 %ln1wn to i64*
557    store i64 %ln1wo, i64* %ln1wp
558    %ln1wq = ptrtoint [0 x i64]* @stg_bh_upd_frame_info to i64
559    %ln1wr = load i64** %Sp_Var
560    %ln1ws = getelementptr inbounds i64* %ln1wr, i32 -2
561    store i64 %ln1wq, i64* %ln1ws
562    %ln1wt = load i64** %Hp_Var
563    %ln1wu = getelementptr inbounds i64* %ln1wt, i32 -1
564    %ln1wv = ptrtoint i64* %ln1wu to i64
565    %ln1ww = load i64** %Sp_Var
566    %ln1wx = getelementptr inbounds i64* %ln1ww, i32 -1
567    store i64 %ln1wv, i64* %ln1wx
568    %ln1wy = ptrtoint [0 x i64]* @base_TextziParserCombinatorsziReadP_zdfMonadPzuzdcreturn_closure to i64
569    %ln1wz = add i64 %ln1wy, 1
570    %ln1wA = load i64** %Sp_Var
571    %ln1wB = getelementptr inbounds i64* %ln1wA, i32 -3
572    store i64 %ln1wz, i64* %ln1wB
573    %ln1wC = ptrtoint [0 x i64]* @stg_ap_p_info to i64
574    %ln1wD = load i64** %Sp_Var
575    %ln1wE = getelementptr inbounds i64* %ln1wD, i32 -4
576    store i64 %ln1wC, i64* %ln1wE
577    %ln1wF = ptrtoint [0 x i64]* @base_GHCziNum_zdfNumInt_closure to i64
578    store i64 %ln1wF, i64* %R2_Var
579    %ln1wG = ptrtoint [0 x i64]* @base_GHCziRead_zdfReadInt3_closure to i64
580    %ln1wH = add i64 %ln1wG, 1
581    store i64 %ln1wH, i64* %R3_Var
582    %ln1wI = ptrtoint [0 x i64]* @base_TextziParserCombinatorsziReadPrec_minPrec_closure to i64
583    store i64 %ln1wI, i64* %R4_Var
584    %ln1wJ = load i64** %Sp_Var
585    %ln1wK = getelementptr inbounds i64* %ln1wJ, i32 -4
586    %ln1wL = ptrtoint i64* %ln1wK to i64
587    %ln1wM = inttoptr i64 %ln1wL to i64*
588    store i64* %ln1wM, i64** %Sp_Var
589    %ln1wN = load i64** %Base_Var
590    %ln1wO = load i64** %Sp_Var
591    %ln1wP = load i64** %Hp_Var
592    %ln1wQ = load i64* %R1_Var
593    %ln1wR = load i64* %R2_Var
594    %ln1wS = load i64* %R3_Var
595    %ln1wT = load i64* %R4_Var
596    %ln1wU = load i64* %R5_Var
597    %ln1wV = load i64* %R6_Var
598    %ln1wW = load i64* %SpLim_Var
599    %ln1wX = load float* %F1_Var
600    %ln1wY = load float* %F2_Var
601    %ln1wZ = load float* %F3_Var
602    %ln1x0 = load float* %F4_Var
603    %ln1x1 = load double* %D1_Var
604    %ln1x2 = load double* %D2_Var
605    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziRead_zdfReadDouble4_info( i64* %ln1wN,i64* %ln1wO,i64* %ln1wP,i64 %ln1wQ,i64 %ln1wR,i64 %ln1wS,i64 %ln1wT,i64 %ln1wU,i64 %ln1wV,i64 %ln1wW,float %ln1wX,float %ln1wY,float %ln1wZ,float %ln1x0,double %ln1x1,double %ln1x2 ) nounwind
606    ret void
607c1vN:
608    %ln1x3 = load i64** %Base_Var
609    %ln1x4 = getelementptr inbounds i64* %ln1x3, i32 -2
610    %ln1x5 = bitcast i64* %ln1x4 to i64*
611    %ln1x6 = load i64* %ln1x5
612    %ln1x7 = inttoptr i64 %ln1x6 to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )*
613    %ln1x8 = load i64** %Base_Var
614    %ln1x9 = load i64** %Sp_Var
615    %ln1xa = load i64** %Hp_Var
616    %ln1xb = load i64* %R1_Var
617    %ln1xc = load i64* %R2_Var
618    %ln1xd = load i64* %R3_Var
619    %ln1xe = load i64* %R4_Var
620    %ln1xf = load i64* %R5_Var
621    %ln1xg = load i64* %R6_Var
622    %ln1xh = load i64* %SpLim_Var
623    %ln1xi = load float* %F1_Var
624    %ln1xj = load float* %F2_Var
625    %ln1xk = load float* %F3_Var
626    %ln1xl = load float* %F4_Var
627    %ln1xm = load double* %D1_Var
628    %ln1xn = load double* %D2_Var
629    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1x7( i64* %ln1x8,i64* %ln1x9,i64* %ln1xa,i64 %ln1xb,i64 %ln1xc,i64 %ln1xd,i64 %ln1xe,i64 %ln1xf,i64 %ln1xg,i64 %ln1xh,float %ln1xi,float %ln1xj,float %ln1xk,float %ln1xl,double %ln1xm,double %ln1xn ) nounwind
630    ret void
631c1w1:
632    %ln1xo = load i64** %Base_Var
633    %ln1xp = getelementptr inbounds i64* %ln1xo, i32 23
634    store i64 16, i64* %ln1xp
635    br label %c1vN
636}
637
638
639
640==================== LLVM Code ====================
641
642
643
644==================== LLVM Code ====================
645
646
647
648==================== LLVM Code ====================
649%s1mb_ret_struct = type <{i64,i64,i64}>
650@s1mb_info_itable = internal constant %s1mb_ret_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mb_info to i64)),i64 8),i64 0,i64 4294967328}>, section ".text; .text 0#", align 8
651define internal cc 10 void @s1mb_info(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind section ".text; .text 1#"
652{
653c1y3:
654    %Base_Var = alloca i64*, i32 1
655    store i64* %Base_Arg, i64** %Base_Var
656    %Sp_Var = alloca i64*, i32 1
657    store i64* %Sp_Arg, i64** %Sp_Var
658    %Hp_Var = alloca i64*, i32 1
659    store i64* %Hp_Arg, i64** %Hp_Var
660    %R1_Var = alloca i64, i32 1
661    store i64 %R1_Arg, i64* %R1_Var
662    %R2_Var = alloca i64, i32 1
663    store i64 %R2_Arg, i64* %R2_Var
664    %R3_Var = alloca i64, i32 1
665    store i64 %R3_Arg, i64* %R3_Var
666    %R4_Var = alloca i64, i32 1
667    store i64 %R4_Arg, i64* %R4_Var
668    %R5_Var = alloca i64, i32 1
669    store i64 %R5_Arg, i64* %R5_Var
670    %R6_Var = alloca i64, i32 1
671    store i64 %R6_Arg, i64* %R6_Var
672    %SpLim_Var = alloca i64, i32 1
673    store i64 %SpLim_Arg, i64* %SpLim_Var
674    %F1_Var = alloca float, i32 1
675    store float %F1_Arg, float* %F1_Var
676    %F2_Var = alloca float, i32 1
677    store float %F2_Arg, float* %F2_Var
678    %F3_Var = alloca float, i32 1
679    store float %F3_Arg, float* %F3_Var
680    %F4_Var = alloca float, i32 1
681    store float %F4_Arg, float* %F4_Var
682    %D1_Var = alloca double, i32 1
683    store double %D1_Arg, double* %D1_Var
684    %D2_Var = alloca double, i32 1
685    store double %D2_Arg, double* %D2_Var
686    %ln1y4 = load i64* %R1_Var
687    store i64 %ln1y4, i64* %R2_Var
688    %ln1y5 = load i64** %Sp_Var
689    %ln1y6 = getelementptr inbounds i64* %ln1y5, i32 1
690    %ln1y7 = ptrtoint i64* %ln1y6 to i64
691    %ln1y8 = inttoptr i64 %ln1y7 to i64*
692    store i64* %ln1y8, i64** %Sp_Var
693    %ln1y9 = load i64** %Base_Var
694    %ln1ya = load i64** %Sp_Var
695    %ln1yb = load i64** %Hp_Var
696    %ln1yc = load i64* %R1_Var
697    %ln1yd = load i64* %R2_Var
698    %ln1ye = load i64* %R3_Var
699    %ln1yf = load i64* %R4_Var
700    %ln1yg = load i64* %R5_Var
701    %ln1yh = load i64* %R6_Var
702    %ln1yi = load i64* %SpLim_Var
703    %ln1yj = load float* %F1_Var
704    %ln1yk = load float* %F2_Var
705    %ln1yl = load float* %F3_Var
706    %ln1ym = load float* %F4_Var
707    %ln1yn = load double* %D1_Var
708    %ln1yo = load double* %D2_Var
709    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @Main_main2_info( i64* %ln1y9,i64* %ln1ya,i64* %ln1yb,i64 %ln1yc,i64 %ln1yd,i64 %ln1ye,i64 %ln1yf,i64 %ln1yg,i64 %ln1yh,i64 %ln1yi,float %ln1yj,float %ln1yk,float %ln1yl,float %ln1ym,double %ln1yn,double %ln1yo ) nounwind
710    ret void
711}
712
713
714
715==================== LLVM Code ====================
716%s1mg_ret_struct = type <{i64,i64,i64}>
717@s1mg_info_itable = internal constant %s1mg_ret_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mg_info to i64)),i64 8),i64 0,i64 4294967328}>, section ".text; .text 0#", align 8
718define internal cc 10 void @s1mg_info(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind section ".text; .text 1#"
719{
720c1yU:
721    %Base_Var = alloca i64*, i32 1
722    store i64* %Base_Arg, i64** %Base_Var
723    %Sp_Var = alloca i64*, i32 1
724    store i64* %Sp_Arg, i64** %Sp_Var
725    %Hp_Var = alloca i64*, i32 1
726    store i64* %Hp_Arg, i64** %Hp_Var
727    %R1_Var = alloca i64, i32 1
728    store i64 %R1_Arg, i64* %R1_Var
729    %R2_Var = alloca i64, i32 1
730    store i64 %R2_Arg, i64* %R2_Var
731    %R3_Var = alloca i64, i32 1
732    store i64 %R3_Arg, i64* %R3_Var
733    %R4_Var = alloca i64, i32 1
734    store i64 %R4_Arg, i64* %R4_Var
735    %R5_Var = alloca i64, i32 1
736    store i64 %R5_Arg, i64* %R5_Var
737    %R6_Var = alloca i64, i32 1
738    store i64 %R6_Arg, i64* %R6_Var
739    %SpLim_Var = alloca i64, i32 1
740    store i64 %SpLim_Arg, i64* %SpLim_Var
741    %F1_Var = alloca float, i32 1
742    store float %F1_Arg, float* %F1_Var
743    %F2_Var = alloca float, i32 1
744    store float %F2_Arg, float* %F2_Var
745    %F3_Var = alloca float, i32 1
746    store float %F3_Arg, float* %F3_Var
747    %F4_Var = alloca float, i32 1
748    store float %F4_Arg, float* %F4_Var
749    %D1_Var = alloca double, i32 1
750    store double %D1_Arg, double* %D1_Var
751    %D2_Var = alloca double, i32 1
752    store double %D2_Arg, double* %D2_Var
753    %ln1yV = load i64* %R1_Var
754    store i64 %ln1yV, i64* %R2_Var
755    %ln1yW = load i64** %Sp_Var
756    %ln1yX = getelementptr inbounds i64* %ln1yW, i32 1
757    %ln1yY = ptrtoint i64* %ln1yX to i64
758    %ln1yZ = inttoptr i64 %ln1yY to i64*
759    store i64* %ln1yZ, i64** %Sp_Var
760    %ln1z0 = load i64** %Base_Var
761    %ln1z1 = load i64** %Sp_Var
762    %ln1z2 = load i64** %Hp_Var
763    %ln1z3 = load i64* %R1_Var
764    %ln1z4 = load i64* %R2_Var
765    %ln1z5 = load i64* %R3_Var
766    %ln1z6 = load i64* %R4_Var
767    %ln1z7 = load i64* %R5_Var
768    %ln1z8 = load i64* %R6_Var
769    %ln1z9 = load i64* %SpLim_Var
770    %ln1za = load float* %F1_Var
771    %ln1zb = load float* %F2_Var
772    %ln1zc = load float* %F3_Var
773    %ln1zd = load float* %F4_Var
774    %ln1ze = load double* %D1_Var
775    %ln1zf = load double* %D2_Var
776    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @Main_main2_info( i64* %ln1z0,i64* %ln1z1,i64* %ln1z2,i64 %ln1z3,i64 %ln1z4,i64 %ln1z5,i64 %ln1z6,i64 %ln1z7,i64 %ln1z8,i64 %ln1z9,float %ln1za,float %ln1zb,float %ln1zc,float %ln1zd,double %ln1ze,double %ln1zf ) nounwind
777    ret void
778}
779
780
781
782==================== LLVM Code ====================
783declare  cc 10 void @stg_raiseIOzh(i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double ) align 8
784%s1mf_ret_struct = type <{i64,i64,i64}>
785@s1mf_info_itable = internal constant %s1mf_ret_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mf_info to i64)),i64 0),i64 1,i64 12884901920}>, section ".text; .text 0#", align 8
786define internal cc 10 void @s1mf_info(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind section ".text; .text 1#"
787{
788c1Ab:
789    %Base_Var = alloca i64*, i32 1
790    store i64* %Base_Arg, i64** %Base_Var
791    %Sp_Var = alloca i64*, i32 1
792    store i64* %Sp_Arg, i64** %Sp_Var
793    %Hp_Var = alloca i64*, i32 1
794    store i64* %Hp_Arg, i64** %Hp_Var
795    %R1_Var = alloca i64, i32 1
796    store i64 %R1_Arg, i64* %R1_Var
797    %R2_Var = alloca i64, i32 1
798    store i64 %R2_Arg, i64* %R2_Var
799    %R3_Var = alloca i64, i32 1
800    store i64 %R3_Arg, i64* %R3_Var
801    %R4_Var = alloca i64, i32 1
802    store i64 %R4_Arg, i64* %R4_Var
803    %R5_Var = alloca i64, i32 1
804    store i64 %R5_Arg, i64* %R5_Var
805    %R6_Var = alloca i64, i32 1
806    store i64 %R6_Arg, i64* %R6_Var
807    %SpLim_Var = alloca i64, i32 1
808    store i64 %SpLim_Arg, i64* %SpLim_Var
809    %F1_Var = alloca float, i32 1
810    store float %F1_Arg, float* %F1_Var
811    %F2_Var = alloca float, i32 1
812    store float %F2_Arg, float* %F2_Var
813    %F3_Var = alloca float, i32 1
814    store float %F3_Arg, float* %F3_Var
815    %F4_Var = alloca float, i32 1
816    store float %F4_Arg, float* %F4_Var
817    %D1_Var = alloca double, i32 1
818    store double %D1_Arg, double* %D1_Var
819    %D2_Var = alloca double, i32 1
820    store double %D2_Arg, double* %D2_Var
821    %lc1zj = alloca i64, i32 1
822    %ln1Ac = load i64* %R1_Var
823    %ln1Ad = and i64 %ln1Ac, 7
824    store i64 %ln1Ad, i64* %lc1zj
825    %ln1Ae = load i64* %lc1zj
826    %ln1Af = icmp uge i64 %ln1Ae, 2
827    br i1 %ln1Af, label %c1Ag, label %n1Ah
828    n1Ah:
829    %ln1Ai = load i64** %Sp_Var
830    %ln1Aj = getelementptr inbounds i64* %ln1Ai, i32 1
831    %ln1Ak = bitcast i64* %ln1Aj to i64*
832    %ln1Al = load i64* %ln1Ak
833    store i64 %ln1Al, i64* %R2_Var
834    %ln1Am = load i64** %Sp_Var
835    %ln1An = getelementptr inbounds i64* %ln1Am, i32 2
836    %ln1Ao = ptrtoint i64* %ln1An to i64
837    %ln1Ap = inttoptr i64 %ln1Ao to i64*
838    store i64* %ln1Ap, i64** %Sp_Var
839    %ln1Aq = load i64** %Base_Var
840    %ln1Ar = load i64** %Sp_Var
841    %ln1As = load i64** %Hp_Var
842    %ln1At = load i64* %R1_Var
843    %ln1Au = load i64* %R2_Var
844    %ln1Av = load i64* %R3_Var
845    %ln1Aw = load i64* %R4_Var
846    %ln1Ax = load i64* %R5_Var
847    %ln1Ay = load i64* %R6_Var
848    %ln1Az = load i64* %SpLim_Var
849    %ln1AA = load float* %F1_Var
850    %ln1AB = load float* %F2_Var
851    %ln1AC = load float* %F3_Var
852    %ln1AD = load float* %F4_Var
853    %ln1AE = load double* %D1_Var
854    %ln1AF = load double* %D2_Var
855    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @Main_main2_info( i64* %ln1Aq,i64* %ln1Ar,i64* %ln1As,i64 %ln1At,i64 %ln1Au,i64 %ln1Av,i64 %ln1Aw,i64 %ln1Ax,i64 %ln1Ay,i64 %ln1Az,float %ln1AA,float %ln1AB,float %ln1AC,float %ln1AD,double %ln1AE,double %ln1AF ) nounwind
856    ret void
857c1Ag:
858    %ln1AG = ptrtoint [0 x i64]* @base_SystemziIO_readIO2_closure to i64
859    store i64 %ln1AG, i64* %R1_Var
860    %ln1AH = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mg_info to i64
861    %ln1AI = load i64** %Sp_Var
862    %ln1AJ = getelementptr inbounds i64* %ln1AI, i32 1
863    store i64 %ln1AH, i64* %ln1AJ
864    %ln1AK = load i64** %Sp_Var
865    %ln1AL = getelementptr inbounds i64* %ln1AK, i32 1
866    %ln1AM = ptrtoint i64* %ln1AL to i64
867    %ln1AN = inttoptr i64 %ln1AM to i64*
868    store i64* %ln1AN, i64** %Sp_Var
869    %ln1AO = load i64** %Base_Var
870    %ln1AP = load i64** %Sp_Var
871    %ln1AQ = load i64** %Hp_Var
872    %ln1AR = load i64* %R1_Var
873    %ln1AS = load i64* %R2_Var
874    %ln1AT = load i64* %R3_Var
875    %ln1AU = load i64* %R4_Var
876    %ln1AV = load i64* %R5_Var
877    %ln1AW = load i64* %R6_Var
878    %ln1AX = load i64* %SpLim_Var
879    %ln1AY = load float* %F1_Var
880    %ln1AZ = load float* %F2_Var
881    %ln1B0 = load float* %F3_Var
882    %ln1B1 = load float* %F4_Var
883    %ln1B2 = load double* %D1_Var
884    %ln1B3 = load double* %D2_Var
885    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @stg_raiseIOzh( i64* %ln1AO,i64* %ln1AP,i64* %ln1AQ,i64 %ln1AR,i64 %ln1AS,i64 %ln1AT,i64 %ln1AU,i64 %ln1AV,i64 %ln1AW,i64 %ln1AX,float %ln1AY,float %ln1AZ,float %ln1B0,float %ln1B1,double %ln1B2,double %ln1B3 ) nounwind
886    ret void
887}
888
889
890
891==================== LLVM Code ====================
892%s1mc_ret_struct = type <{i64,i64,i64}>
893@s1mc_info_itable = internal constant %s1mc_ret_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mc_info to i64)),i64 0),i64 0,i64 30064771104}>, section ".text; .text 0#", align 8
894define internal cc 10 void @s1mc_info(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind section ".text; .text 1#"
895{
896c1Cs:
897    %Base_Var = alloca i64*, i32 1
898    store i64* %Base_Arg, i64** %Base_Var
899    %Sp_Var = alloca i64*, i32 1
900    store i64* %Sp_Arg, i64** %Sp_Var
901    %Hp_Var = alloca i64*, i32 1
902    store i64* %Hp_Arg, i64** %Hp_Var
903    %R1_Var = alloca i64, i32 1
904    store i64 %R1_Arg, i64* %R1_Var
905    %R2_Var = alloca i64, i32 1
906    store i64 %R2_Arg, i64* %R2_Var
907    %R3_Var = alloca i64, i32 1
908    store i64 %R3_Arg, i64* %R3_Var
909    %R4_Var = alloca i64, i32 1
910    store i64 %R4_Arg, i64* %R4_Var
911    %R5_Var = alloca i64, i32 1
912    store i64 %R5_Arg, i64* %R5_Var
913    %R6_Var = alloca i64, i32 1
914    store i64 %R6_Arg, i64* %R6_Var
915    %SpLim_Var = alloca i64, i32 1
916    store i64 %SpLim_Arg, i64* %SpLim_Var
917    %F1_Var = alloca float, i32 1
918    store float %F1_Arg, float* %F1_Var
919    %F2_Var = alloca float, i32 1
920    store float %F2_Arg, float* %F2_Var
921    %F3_Var = alloca float, i32 1
922    store float %F3_Arg, float* %F3_Var
923    %F4_Var = alloca float, i32 1
924    store float %F4_Arg, float* %F4_Var
925    %D1_Var = alloca double, i32 1
926    store double %D1_Arg, double* %D1_Var
927    %D2_Var = alloca double, i32 1
928    store double %D2_Arg, double* %D2_Var
929    %lc1B7 = alloca i64, i32 1
930    %ln1Ct = load i64* %R1_Var
931    %ln1Cu = and i64 %ln1Ct, 7
932    store i64 %ln1Cu, i64* %lc1B7
933    %ln1Cv = load i64* %lc1B7
934    %ln1Cw = icmp uge i64 %ln1Cv, 2
935    br i1 %ln1Cw, label %c1Cx, label %n1Cy
936    n1Cy:
937    %ln1Cz = ptrtoint [0 x i64]* @base_SystemziIO_readIO5_closure to i64
938    store i64 %ln1Cz, i64* %R1_Var
939    %ln1CA = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mb_info to i64
940    %ln1CB = load i64** %Sp_Var
941    %ln1CC = getelementptr inbounds i64* %ln1CB, i32 0
942    store i64 %ln1CA, i64* %ln1CC
943    %ln1CD = load i64** %Base_Var
944    %ln1CE = load i64** %Sp_Var
945    %ln1CF = load i64** %Hp_Var
946    %ln1CG = load i64* %R1_Var
947    %ln1CH = load i64* %R2_Var
948    %ln1CI = load i64* %R3_Var
949    %ln1CJ = load i64* %R4_Var
950    %ln1CK = load i64* %R5_Var
951    %ln1CL = load i64* %R6_Var
952    %ln1CM = load i64* %SpLim_Var
953    %ln1CN = load float* %F1_Var
954    %ln1CO = load float* %F2_Var
955    %ln1CP = load float* %F3_Var
956    %ln1CQ = load float* %F4_Var
957    %ln1CR = load double* %D1_Var
958    %ln1CS = load double* %D2_Var
959    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @stg_raiseIOzh( i64* %ln1CD,i64* %ln1CE,i64* %ln1CF,i64 %ln1CG,i64 %ln1CH,i64 %ln1CI,i64 %ln1CJ,i64 %ln1CK,i64 %ln1CL,i64 %ln1CM,float %ln1CN,float %ln1CO,float %ln1CP,float %ln1CQ,double %ln1CR,double %ln1CS ) nounwind
960    ret void
961c1Cx:
962    %ln1CT = load i64* %R1_Var
963    %ln1CU = add i64 %ln1CT, 6
964    %ln1CV = inttoptr i64 %ln1CU to i64*
965    %ln1CW = load i64* %ln1CV
966    %ln1CX = load i64** %Sp_Var
967    %ln1CY = getelementptr inbounds i64* %ln1CX, i32 0
968    store i64 %ln1CW, i64* %ln1CY
969    %ln1CZ = load i64* %R1_Var
970    %ln1D0 = add i64 %ln1CZ, 14
971    %ln1D1 = inttoptr i64 %ln1D0 to i64*
972    %ln1D2 = load i64* %ln1D1
973    store i64 %ln1D2, i64* %R1_Var
974    %ln1D3 = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mf_info to i64
975    %ln1D4 = load i64** %Sp_Var
976    %ln1D5 = getelementptr inbounds i64* %ln1D4, i32 -1
977    store i64 %ln1D3, i64* %ln1D5
978    %ln1D6 = load i64** %Sp_Var
979    %ln1D7 = getelementptr inbounds i64* %ln1D6, i32 -1
980    %ln1D8 = ptrtoint i64* %ln1D7 to i64
981    %ln1D9 = inttoptr i64 %ln1D8 to i64*
982    store i64* %ln1D9, i64** %Sp_Var
983    %ln1Da = load i64* %R1_Var
984    %ln1Db = and i64 %ln1Da, 7
985    %ln1Dc = icmp ne i64 %ln1Db, 0
986    br i1 %ln1Dc, label %c1Df, label %n1Dg
987    n1Dg:
988    %ln1Dh = load i64* %R1_Var
989    %ln1Di = inttoptr i64 %ln1Dh to i64*
990    %ln1Dj = load i64* %ln1Di
991    %ln1Dk = inttoptr i64 %ln1Dj to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )*
992    %ln1Dl = load i64** %Base_Var
993    %ln1Dm = load i64** %Sp_Var
994    %ln1Dn = load i64** %Hp_Var
995    %ln1Do = load i64* %R1_Var
996    %ln1Dp = load i64* %R2_Var
997    %ln1Dq = load i64* %R3_Var
998    %ln1Dr = load i64* %R4_Var
999    %ln1Ds = load i64* %R5_Var
1000    %ln1Dt = load i64* %R6_Var
1001    %ln1Du = load i64* %SpLim_Var
1002    %ln1Dv = load float* %F1_Var
1003    %ln1Dw = load float* %F2_Var
1004    %ln1Dx = load float* %F3_Var
1005    %ln1Dy = load float* %F4_Var
1006    %ln1Dz = load double* %D1_Var
1007    %ln1DA = load double* %D2_Var
1008    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1Dk( i64* %ln1Dl,i64* %ln1Dm,i64* %ln1Dn,i64 %ln1Do,i64 %ln1Dp,i64 %ln1Dq,i64 %ln1Dr,i64 %ln1Ds,i64 %ln1Dt,i64 %ln1Du,float %ln1Dv,float %ln1Dw,float %ln1Dx,float %ln1Dy,double %ln1Dz,double %ln1DA ) nounwind
1009    ret void
1010c1Df:
1011    %ln1DB = load i64** %Base_Var
1012    %ln1DC = load i64** %Sp_Var
1013    %ln1DD = load i64** %Hp_Var
1014    %ln1DE = load i64* %R1_Var
1015    %ln1DF = load i64* %R2_Var
1016    %ln1DG = load i64* %R3_Var
1017    %ln1DH = load i64* %R4_Var
1018    %ln1DI = load i64* %R5_Var
1019    %ln1DJ = load i64* %R6_Var
1020    %ln1DK = load i64* %SpLim_Var
1021    %ln1DL = load float* %F1_Var
1022    %ln1DM = load float* %F2_Var
1023    %ln1DN = load float* %F3_Var
1024    %ln1DO = load float* %F4_Var
1025    %ln1DP = load double* %D1_Var
1026    %ln1DQ = load double* %D2_Var
1027    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @s1mf_info( i64* %ln1DB,i64* %ln1DC,i64* %ln1DD,i64 %ln1DE,i64 %ln1DF,i64 %ln1DG,i64 %ln1DH,i64 %ln1DI,i64 %ln1DJ,i64 %ln1DK,float %ln1DL,float %ln1DM,float %ln1DN,float %ln1DO,double %ln1DP,double %ln1DQ ) nounwind
1028    ret void
1029}
1030
1031
1032
1033==================== LLVM Code ====================
1034declare  cc 10 void @base_SystemziIO_readIO8_info(i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double ) align 8
1035%s1md_ret_struct = type <{i64,i64,i64}>
1036@s1md_info_itable = internal constant %s1md_ret_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1md_info to i64)),i64 0),i64 0,i64 98784247840}>, section ".text; .text 0#", align 8
1037define internal cc 10 void @s1md_info(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind section ".text; .text 1#"
1038{
1039c1Ec:
1040    %Base_Var = alloca i64*, i32 1
1041    store i64* %Base_Arg, i64** %Base_Var
1042    %Sp_Var = alloca i64*, i32 1
1043    store i64* %Sp_Arg, i64** %Sp_Var
1044    %Hp_Var = alloca i64*, i32 1
1045    store i64* %Hp_Arg, i64** %Hp_Var
1046    %R1_Var = alloca i64, i32 1
1047    store i64 %R1_Arg, i64* %R1_Var
1048    %R2_Var = alloca i64, i32 1
1049    store i64 %R2_Arg, i64* %R2_Var
1050    %R3_Var = alloca i64, i32 1
1051    store i64 %R3_Arg, i64* %R3_Var
1052    %R4_Var = alloca i64, i32 1
1053    store i64 %R4_Arg, i64* %R4_Var
1054    %R5_Var = alloca i64, i32 1
1055    store i64 %R5_Arg, i64* %R5_Var
1056    %R6_Var = alloca i64, i32 1
1057    store i64 %R6_Arg, i64* %R6_Var
1058    %SpLim_Var = alloca i64, i32 1
1059    store i64 %SpLim_Arg, i64* %SpLim_Var
1060    %F1_Var = alloca float, i32 1
1061    store float %F1_Arg, float* %F1_Var
1062    %F2_Var = alloca float, i32 1
1063    store float %F2_Arg, float* %F2_Var
1064    %F3_Var = alloca float, i32 1
1065    store float %F3_Arg, float* %F3_Var
1066    %F4_Var = alloca float, i32 1
1067    store float %F4_Arg, float* %F4_Var
1068    %D1_Var = alloca double, i32 1
1069    store double %D1_Arg, double* %D1_Var
1070    %D2_Var = alloca double, i32 1
1071    store double %D2_Arg, double* %D2_Var
1072    %ln1Ed = load i64* %R1_Var
1073    store i64 %ln1Ed, i64* %R2_Var
1074    %ln1Ee = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mc_info to i64
1075    %ln1Ef = load i64** %Sp_Var
1076    %ln1Eg = getelementptr inbounds i64* %ln1Ef, i32 0
1077    store i64 %ln1Ee, i64* %ln1Eg
1078    %ln1Eh = load i64** %Base_Var
1079    %ln1Ei = load i64** %Sp_Var
1080    %ln1Ej = load i64** %Hp_Var
1081    %ln1Ek = load i64* %R1_Var
1082    %ln1El = load i64* %R2_Var
1083    %ln1Em = load i64* %R3_Var
1084    %ln1En = load i64* %R4_Var
1085    %ln1Eo = load i64* %R5_Var
1086    %ln1Ep = load i64* %R6_Var
1087    %ln1Eq = load i64* %SpLim_Var
1088    %ln1Er = load float* %F1_Var
1089    %ln1Es = load float* %F2_Var
1090    %ln1Et = load float* %F3_Var
1091    %ln1Eu = load float* %F4_Var
1092    %ln1Ev = load double* %D1_Var
1093    %ln1Ew = load double* %D2_Var
1094    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_SystemziIO_readIO8_info( i64* %ln1Eh,i64* %ln1Ei,i64* %ln1Ej,i64 %ln1Ek,i64 %ln1El,i64 %ln1Em,i64 %ln1En,i64 %ln1Eo,i64 %ln1Ep,i64 %ln1Eq,float %ln1Er,float %ln1Es,float %ln1Et,float %ln1Eu,double %ln1Ev,double %ln1Ew ) nounwind
1095    ret void
1096}
1097
1098
1099
1100==================== LLVM Code ====================
1101declare  cc 10 void @base_TextziParserCombinatorsziReadP_run_info(i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double ) align 8
1102%s1me_ret_struct = type <{i64,i64,i64}>
1103@s1me_info_itable = internal constant %s1me_ret_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1me_info to i64)),i64 0),i64 0,i64 133143986208}>, section ".text; .text 0#", align 8
1104define internal cc 10 void @s1me_info(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind section ".text; .text 1#"
1105{
1106c1ET:
1107    %Base_Var = alloca i64*, i32 1
1108    store i64* %Base_Arg, i64** %Base_Var
1109    %Sp_Var = alloca i64*, i32 1
1110    store i64* %Sp_Arg, i64** %Sp_Var
1111    %Hp_Var = alloca i64*, i32 1
1112    store i64* %Hp_Arg, i64** %Hp_Var
1113    %R1_Var = alloca i64, i32 1
1114    store i64 %R1_Arg, i64* %R1_Var
1115    %R2_Var = alloca i64, i32 1
1116    store i64 %R2_Arg, i64* %R2_Var
1117    %R3_Var = alloca i64, i32 1
1118    store i64 %R3_Arg, i64* %R3_Var
1119    %R4_Var = alloca i64, i32 1
1120    store i64 %R4_Arg, i64* %R4_Var
1121    %R5_Var = alloca i64, i32 1
1122    store i64 %R5_Arg, i64* %R5_Var
1123    %R6_Var = alloca i64, i32 1
1124    store i64 %R6_Arg, i64* %R6_Var
1125    %SpLim_Var = alloca i64, i32 1
1126    store i64 %SpLim_Arg, i64* %SpLim_Var
1127    %F1_Var = alloca float, i32 1
1128    store float %F1_Arg, float* %F1_Var
1129    %F2_Var = alloca float, i32 1
1130    store float %F2_Arg, float* %F2_Var
1131    %F3_Var = alloca float, i32 1
1132    store float %F3_Arg, float* %F3_Var
1133    %F4_Var = alloca float, i32 1
1134    store float %F4_Arg, float* %F4_Var
1135    %D1_Var = alloca double, i32 1
1136    store double %D1_Arg, double* %D1_Var
1137    %D2_Var = alloca double, i32 1
1138    store double %D2_Arg, double* %D2_Var
1139    %ln1EU = ptrtoint %Main_main3_closure_struct* @Main_main3_closure to i64
1140    store i64 %ln1EU, i64* %R2_Var
1141    %ln1EV = load i64* %R1_Var
1142    store i64 %ln1EV, i64* %R3_Var
1143    %ln1EW = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1md_info to i64
1144    %ln1EX = load i64** %Sp_Var
1145    %ln1EY = getelementptr inbounds i64* %ln1EX, i32 0
1146    store i64 %ln1EW, i64* %ln1EY
1147    %ln1EZ = load i64** %Base_Var
1148    %ln1F0 = load i64** %Sp_Var
1149    %ln1F1 = load i64** %Hp_Var
1150    %ln1F2 = load i64* %R1_Var
1151    %ln1F3 = load i64* %R2_Var
1152    %ln1F4 = load i64* %R3_Var
1153    %ln1F5 = load i64* %R4_Var
1154    %ln1F6 = load i64* %R5_Var
1155    %ln1F7 = load i64* %R6_Var
1156    %ln1F8 = load i64* %SpLim_Var
1157    %ln1F9 = load float* %F1_Var
1158    %ln1Fa = load float* %F2_Var
1159    %ln1Fb = load float* %F3_Var
1160    %ln1Fc = load float* %F4_Var
1161    %ln1Fd = load double* %D1_Var
1162    %ln1Fe = load double* %D2_Var
1163    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_TextziParserCombinatorsziReadP_run_info( i64* %ln1EZ,i64* %ln1F0,i64* %ln1F1,i64 %ln1F2,i64 %ln1F3,i64 %ln1F4,i64 %ln1F5,i64 %ln1F6,i64 %ln1F7,i64 %ln1F8,float %ln1F9,float %ln1Fa,float %ln1Fb,float %ln1Fc,double %ln1Fd,double %ln1Fe ) nounwind
1164    ret void
1165}
1166
1167
1168
1169==================== LLVM Code ====================
1170declare  cc 10 void @base_GHCziIOziHandleziInternals_wantReadableHandlezu1_info(i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double ) align 8
1171%Main_main1_entry_struct = type <{i64,i64,i64,i64}>
1172@Main_main1_info_itable =  constant %Main_main1_entry_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main1_info to i64)),i64 0),i64 4294967299,i64 0,i64 2194728288271}>, section ".text; .text 0#", align 8
1173define  cc 10 void @Main_main1_info(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind section ".text; .text 1#"
1174{
1175c1G9:
1176    %Base_Var = alloca i64*, i32 1
1177    store i64* %Base_Arg, i64** %Base_Var
1178    %Sp_Var = alloca i64*, i32 1
1179    store i64* %Sp_Arg, i64** %Sp_Var
1180    %Hp_Var = alloca i64*, i32 1
1181    store i64* %Hp_Arg, i64** %Hp_Var
1182    %R1_Var = alloca i64, i32 1
1183    store i64 %R1_Arg, i64* %R1_Var
1184    %R2_Var = alloca i64, i32 1
1185    store i64 %R2_Arg, i64* %R2_Var
1186    %R3_Var = alloca i64, i32 1
1187    store i64 %R3_Arg, i64* %R3_Var
1188    %R4_Var = alloca i64, i32 1
1189    store i64 %R4_Arg, i64* %R4_Var
1190    %R5_Var = alloca i64, i32 1
1191    store i64 %R5_Arg, i64* %R5_Var
1192    %R6_Var = alloca i64, i32 1
1193    store i64 %R6_Arg, i64* %R6_Var
1194    %SpLim_Var = alloca i64, i32 1
1195    store i64 %SpLim_Arg, i64* %SpLim_Var
1196    %F1_Var = alloca float, i32 1
1197    store float %F1_Arg, float* %F1_Var
1198    %F2_Var = alloca float, i32 1
1199    store float %F2_Arg, float* %F2_Var
1200    %F3_Var = alloca float, i32 1
1201    store float %F3_Arg, float* %F3_Var
1202    %F4_Var = alloca float, i32 1
1203    store float %F4_Arg, float* %F4_Var
1204    %D1_Var = alloca double, i32 1
1205    store double %D1_Arg, double* %D1_Var
1206    %D2_Var = alloca double, i32 1
1207    store double %D2_Arg, double* %D2_Var
1208    %ln1Ga = load i64** %Sp_Var
1209    %ln1Gb = getelementptr inbounds i64* %ln1Ga, i32 -2
1210    %ln1Gc = ptrtoint i64* %ln1Gb to i64
1211    %ln1Gd = load i64* %SpLim_Var
1212    %ln1Ge = icmp ult i64 %ln1Gc, %ln1Gd
1213    br i1 %ln1Ge, label %c1Gg, label %n1Gh
1214    n1Gh:
1215    %ln1Gi = ptrtoint [0 x i64]* @base_GHCziIOziHandleziText_hGetLine3_closure to i64
1216    store i64 %ln1Gi, i64* %R2_Var
1217    %ln1Gj = ptrtoint [0 x i64]* @base_GHCziIOziHandleziFD_stdin_closure to i64
1218    store i64 %ln1Gj, i64* %R3_Var
1219    %ln1Gk = ptrtoint [0 x i64]* @base_GHCziIOziHandleziText_hGetLine2_closure to i64
1220    %ln1Gl = add i64 %ln1Gk, 2
1221    store i64 %ln1Gl, i64* %R4_Var
1222    %ln1Gm = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1me_info to i64
1223    %ln1Gn = load i64** %Sp_Var
1224    %ln1Go = getelementptr inbounds i64* %ln1Gn, i32 -1
1225    store i64 %ln1Gm, i64* %ln1Go
1226    %ln1Gp = load i64** %Sp_Var
1227    %ln1Gq = getelementptr inbounds i64* %ln1Gp, i32 -1
1228    %ln1Gr = ptrtoint i64* %ln1Gq to i64
1229    %ln1Gs = inttoptr i64 %ln1Gr to i64*
1230    store i64* %ln1Gs, i64** %Sp_Var
1231    %ln1Gt = load i64** %Base_Var
1232    %ln1Gu = load i64** %Sp_Var
1233    %ln1Gv = load i64** %Hp_Var
1234    %ln1Gw = load i64* %R1_Var
1235    %ln1Gx = load i64* %R2_Var
1236    %ln1Gy = load i64* %R3_Var
1237    %ln1Gz = load i64* %R4_Var
1238    %ln1GA = load i64* %R5_Var
1239    %ln1GB = load i64* %R6_Var
1240    %ln1GC = load i64* %SpLim_Var
1241    %ln1GD = load float* %F1_Var
1242    %ln1GE = load float* %F2_Var
1243    %ln1GF = load float* %F3_Var
1244    %ln1GG = load float* %F4_Var
1245    %ln1GH = load double* %D1_Var
1246    %ln1GI = load double* %D2_Var
1247    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziIOziHandleziInternals_wantReadableHandlezu1_info( i64* %ln1Gt,i64* %ln1Gu,i64* %ln1Gv,i64 %ln1Gw,i64 %ln1Gx,i64 %ln1Gy,i64 %ln1Gz,i64 %ln1GA,i64 %ln1GB,i64 %ln1GC,float %ln1GD,float %ln1GE,float %ln1GF,float %ln1GG,double %ln1GH,double %ln1GI ) nounwind
1248    ret void
1249c1Gg:
1250    %ln1GJ = ptrtoint %Main_main1_closure_struct* @Main_main1_closure to i64
1251    store i64 %ln1GJ, i64* %R1_Var
1252    %ln1GK = load i64** %Base_Var
1253    %ln1GL = getelementptr inbounds i64* %ln1GK, i32 -1
1254    %ln1GM = bitcast i64* %ln1GL to i64*
1255    %ln1GN = load i64* %ln1GM
1256    %ln1GO = inttoptr i64 %ln1GN to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )*
1257    %ln1GP = load i64** %Base_Var
1258    %ln1GQ = load i64** %Sp_Var
1259    %ln1GR = load i64** %Hp_Var
1260    %ln1GS = load i64* %R1_Var
1261    %ln1GT = load i64* %R2_Var
1262    %ln1GU = load i64* %R3_Var
1263    %ln1GV = load i64* %R4_Var
1264    %ln1GW = load i64* %R5_Var
1265    %ln1GX = load i64* %R6_Var
1266    %ln1GY = load i64* %SpLim_Var
1267    %ln1GZ = load float* %F1_Var
1268    %ln1H0 = load float* %F2_Var
1269    %ln1H1 = load float* %F3_Var
1270    %ln1H2 = load float* %F4_Var
1271    %ln1H3 = load double* %D1_Var
1272    %ln1H4 = load double* %D2_Var
1273    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1GO( i64* %ln1GP,i64* %ln1GQ,i64* %ln1GR,i64 %ln1GS,i64 %ln1GT,i64 %ln1GU,i64 %ln1GV,i64 %ln1GW,i64 %ln1GX,i64 %ln1GY,float %ln1GZ,float %ln1H0,float %ln1H1,float %ln1H2,double %ln1H3,double %ln1H4 ) nounwind
1274    ret void
1275}
1276
1277
1278
1279==================== LLVM Code ====================
1280
1281
1282
1283==================== LLVM Code ====================
1284
1285
1286
1287==================== LLVM Code ====================
1288declare  cc 10 void @base_GHCziTopHandler_runMainIO1_info(i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double ) align 8
1289%Main_main4_entry_struct = type <{i64,i64,i64,i64}>
1290@Main_main4_info_itable =  constant %Main_main4_entry_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main4_srt_struct* @Main_main4_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main4_info to i64)),i64 0),i64 4294967299,i64 0,i64 12884901903}>, section ".text; .text 0#", align 8
1291define  cc 10 void @Main_main4_info(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind section ".text; .text 1#"
1292{
1293c1Hr:
1294    %Base_Var = alloca i64*, i32 1
1295    store i64* %Base_Arg, i64** %Base_Var
1296    %Sp_Var = alloca i64*, i32 1
1297    store i64* %Sp_Arg, i64** %Sp_Var
1298    %Hp_Var = alloca i64*, i32 1
1299    store i64* %Hp_Arg, i64** %Hp_Var
1300    %R1_Var = alloca i64, i32 1
1301    store i64 %R1_Arg, i64* %R1_Var
1302    %R2_Var = alloca i64, i32 1
1303    store i64 %R2_Arg, i64* %R2_Var
1304    %R3_Var = alloca i64, i32 1
1305    store i64 %R3_Arg, i64* %R3_Var
1306    %R4_Var = alloca i64, i32 1
1307    store i64 %R4_Arg, i64* %R4_Var
1308    %R5_Var = alloca i64, i32 1
1309    store i64 %R5_Arg, i64* %R5_Var
1310    %R6_Var = alloca i64, i32 1
1311    store i64 %R6_Arg, i64* %R6_Var
1312    %SpLim_Var = alloca i64, i32 1
1313    store i64 %SpLim_Arg, i64* %SpLim_Var
1314    %F1_Var = alloca float, i32 1
1315    store float %F1_Arg, float* %F1_Var
1316    %F2_Var = alloca float, i32 1
1317    store float %F2_Arg, float* %F2_Var
1318    %F3_Var = alloca float, i32 1
1319    store float %F3_Arg, float* %F3_Var
1320    %F4_Var = alloca float, i32 1
1321    store float %F4_Arg, float* %F4_Var
1322    %D1_Var = alloca double, i32 1
1323    store double %D1_Arg, double* %D1_Var
1324    %D2_Var = alloca double, i32 1
1325    store double %D2_Arg, double* %D2_Var
1326    %ln1Hs = ptrtoint %Main_main1_closure_struct* @Main_main1_closure to i64
1327    %ln1Ht = add i64 %ln1Hs, 1
1328    store i64 %ln1Ht, i64* %R2_Var
1329    %ln1Hu = load i64** %Base_Var
1330    %ln1Hv = load i64** %Sp_Var
1331    %ln1Hw = load i64** %Hp_Var
1332    %ln1Hx = load i64* %R1_Var
1333    %ln1Hy = load i64* %R2_Var
1334    %ln1Hz = load i64* %R3_Var
1335    %ln1HA = load i64* %R4_Var
1336    %ln1HB = load i64* %R5_Var
1337    %ln1HC = load i64* %R6_Var
1338    %ln1HD = load i64* %SpLim_Var
1339    %ln1HE = load float* %F1_Var
1340    %ln1HF = load float* %F2_Var
1341    %ln1HG = load float* %F3_Var
1342    %ln1HH = load float* %F4_Var
1343    %ln1HI = load double* %D1_Var
1344    %ln1HJ = load double* %D2_Var
1345    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziTopHandler_runMainIO1_info( i64* %ln1Hu,i64* %ln1Hv,i64* %ln1Hw,i64 %ln1Hx,i64 %ln1Hy,i64 %ln1Hz,i64 %ln1HA,i64 %ln1HB,i64 %ln1HC,i64 %ln1HD,float %ln1HE,float %ln1HF,float %ln1HG,float %ln1HH,double %ln1HI,double %ln1HJ ) nounwind
1346    ret void
1347}
1348
1349
1350
1351==================== LLVM Code ====================
1352
1353
1354
1355==================== LLVM Code ====================
1356
1357
1358
1359==================== LLVM Code ====================
1360%Main_main_entry_struct = type <{i64,i64,i64,i64}>
1361@Main_main_info_itable =  constant %Main_main_entry_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main_srt_struct* @Main_main_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main_info to i64)),i64 0),i64 4294967299,i64 0,i64 4294967311}>, section ".text; .text 0#", align 8
1362define  cc 10 void @Main_main_info(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind section ".text; .text 1#"
1363{
1364c1I4:
1365    %Base_Var = alloca i64*, i32 1
1366    store i64* %Base_Arg, i64** %Base_Var
1367    %Sp_Var = alloca i64*, i32 1
1368    store i64* %Sp_Arg, i64** %Sp_Var
1369    %Hp_Var = alloca i64*, i32 1
1370    store i64* %Hp_Arg, i64** %Hp_Var
1371    %R1_Var = alloca i64, i32 1
1372    store i64 %R1_Arg, i64* %R1_Var
1373    %R2_Var = alloca i64, i32 1
1374    store i64 %R2_Arg, i64* %R2_Var
1375    %R3_Var = alloca i64, i32 1
1376    store i64 %R3_Arg, i64* %R3_Var
1377    %R4_Var = alloca i64, i32 1
1378    store i64 %R4_Arg, i64* %R4_Var
1379    %R5_Var = alloca i64, i32 1
1380    store i64 %R5_Arg, i64* %R5_Var
1381    %R6_Var = alloca i64, i32 1
1382    store i64 %R6_Arg, i64* %R6_Var
1383    %SpLim_Var = alloca i64, i32 1
1384    store i64 %SpLim_Arg, i64* %SpLim_Var
1385    %F1_Var = alloca float, i32 1
1386    store float %F1_Arg, float* %F1_Var
1387    %F2_Var = alloca float, i32 1
1388    store float %F2_Arg, float* %F2_Var
1389    %F3_Var = alloca float, i32 1
1390    store float %F3_Arg, float* %F3_Var
1391    %F4_Var = alloca float, i32 1
1392    store float %F4_Arg, float* %F4_Var
1393    %D1_Var = alloca double, i32 1
1394    store double %D1_Arg, double* %D1_Var
1395    %D2_Var = alloca double, i32 1
1396    store double %D2_Arg, double* %D2_Var
1397    %ln1I5 = load i64** %Base_Var
1398    %ln1I6 = load i64** %Sp_Var
1399    %ln1I7 = load i64** %Hp_Var
1400    %ln1I8 = load i64* %R1_Var
1401    %ln1I9 = load i64* %R2_Var
1402    %ln1Ia = load i64* %R3_Var
1403    %ln1Ib = load i64* %R4_Var
1404    %ln1Ic = load i64* %R5_Var
1405    %ln1Id = load i64* %R6_Var
1406    %ln1Ie = load i64* %SpLim_Var
1407    %ln1If = load float* %F1_Var
1408    %ln1Ig = load float* %F2_Var
1409    %ln1Ih = load float* %F3_Var
1410    %ln1Ii = load float* %F4_Var
1411    %ln1Ij = load double* %D1_Var
1412    %ln1Ik = load double* %D2_Var
1413    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @Main_main1_info( i64* %ln1I5,i64* %ln1I6,i64* %ln1I7,i64 %ln1I8,i64 %ln1I9,i64 %ln1Ia,i64 %ln1Ib,i64 %ln1Ic,i64 %ln1Id,i64 %ln1Ie,float %ln1If,float %ln1Ig,float %ln1Ih,float %ln1Ii,double %ln1Ij,double %ln1Ik ) nounwind
1414    ret void
1415}
1416
1417
1418
1419==================== LLVM Code ====================
1420
1421
1422
1423==================== LLVM Code ====================
1424
1425
1426
1427==================== LLVM Code ====================
1428%ZCMain_main_entry_struct = type <{i64,i64,i64,i64}>
1429@ZCMain_main_info_itable =  constant %ZCMain_main_entry_struct <{i64 add (i64 sub (i64 ptrtoint (%ZCMain_main_srt_struct* @ZCMain_main_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @ZCMain_main_info to i64)),i64 0),i64 4294967299,i64 0,i64 4294967311}>, section ".text; .text 0#", align 8
1430define  cc 10 void @ZCMain_main_info(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind section ".text; .text 1#"
1431{
1432c1IF:
1433    %Base_Var = alloca i64*, i32 1
1434    store i64* %Base_Arg, i64** %Base_Var
1435    %Sp_Var = alloca i64*, i32 1
1436    store i64* %Sp_Arg, i64** %Sp_Var
1437    %Hp_Var = alloca i64*, i32 1
1438    store i64* %Hp_Arg, i64** %Hp_Var
1439    %R1_Var = alloca i64, i32 1
1440    store i64 %R1_Arg, i64* %R1_Var
1441    %R2_Var = alloca i64, i32 1
1442    store i64 %R2_Arg, i64* %R2_Var
1443    %R3_Var = alloca i64, i32 1
1444    store i64 %R3_Arg, i64* %R3_Var
1445    %R4_Var = alloca i64, i32 1
1446    store i64 %R4_Arg, i64* %R4_Var
1447    %R5_Var = alloca i64, i32 1
1448    store i64 %R5_Arg, i64* %R5_Var
1449    %R6_Var = alloca i64, i32 1
1450    store i64 %R6_Arg, i64* %R6_Var
1451    %SpLim_Var = alloca i64, i32 1
1452    store i64 %SpLim_Arg, i64* %SpLim_Var
1453    %F1_Var = alloca float, i32 1
1454    store float %F1_Arg, float* %F1_Var
1455    %F2_Var = alloca float, i32 1
1456    store float %F2_Arg, float* %F2_Var
1457    %F3_Var = alloca float, i32 1
1458    store float %F3_Arg, float* %F3_Var
1459    %F4_Var = alloca float, i32 1
1460    store float %F4_Arg, float* %F4_Var
1461    %D1_Var = alloca double, i32 1
1462    store double %D1_Arg, double* %D1_Var
1463    %D2_Var = alloca double, i32 1
1464    store double %D2_Arg, double* %D2_Var
1465    %ln1IG = load i64** %Base_Var
1466    %ln1IH = load i64** %Sp_Var
1467    %ln1II = load i64** %Hp_Var
1468    %ln1IJ = load i64* %R1_Var
1469    %ln1IK = load i64* %R2_Var
1470    %ln1IL = load i64* %R3_Var
1471    %ln1IM = load i64* %R4_Var
1472    %ln1IN = load i64* %R5_Var
1473    %ln1IO = load i64* %R6_Var
1474    %ln1IP = load i64* %SpLim_Var
1475    %ln1IQ = load float* %F1_Var
1476    %ln1IR = load float* %F2_Var
1477    %ln1IS = load float* %F3_Var
1478    %ln1IT = load float* %F4_Var
1479    %ln1IU = load double* %D1_Var
1480    %ln1IV = load double* %D2_Var
1481    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @Main_main4_info( i64* %ln1IG,i64* %ln1IH,i64* %ln1II,i64 %ln1IJ,i64 %ln1IK,i64 %ln1IL,i64 %ln1IM,i64 %ln1IN,i64 %ln1IO,i64 %ln1IP,float %ln1IQ,float %ln1IR,float %ln1IS,float %ln1IT,double %ln1IU,double %ln1IV ) nounwind
1482    ret void
1483}
1484
1485
1486
1487==================== LLVM Code ====================
1488
1489
1490
1491==================== LLVM Code ====================
1492@__stginit_base_Prelude_ = external global [0 x i64]
1493@__stginit_base_GHCziTopHandler_ = external global [0 x i64]
1494define  cc 10 void @__stginit_Main_(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind
1495{
1496c1JJ:
1497    %Base_Var = alloca i64*, i32 1
1498    store i64* %Base_Arg, i64** %Base_Var
1499    %Sp_Var = alloca i64*, i32 1
1500    store i64* %Sp_Arg, i64** %Sp_Var
1501    %Hp_Var = alloca i64*, i32 1
1502    store i64* %Hp_Arg, i64** %Hp_Var
1503    %R1_Var = alloca i64, i32 1
1504    store i64 %R1_Arg, i64* %R1_Var
1505    %R2_Var = alloca i64, i32 1
1506    store i64 %R2_Arg, i64* %R2_Var
1507    %R3_Var = alloca i64, i32 1
1508    store i64 %R3_Arg, i64* %R3_Var
1509    %R4_Var = alloca i64, i32 1
1510    store i64 %R4_Arg, i64* %R4_Var
1511    %R5_Var = alloca i64, i32 1
1512    store i64 %R5_Arg, i64* %R5_Var
1513    %R6_Var = alloca i64, i32 1
1514    store i64 %R6_Arg, i64* %R6_Var
1515    %SpLim_Var = alloca i64, i32 1
1516    store i64 %SpLim_Arg, i64* %SpLim_Var
1517    %F1_Var = alloca float, i32 1
1518    store float %F1_Arg, float* %F1_Var
1519    %F2_Var = alloca float, i32 1
1520    store float %F2_Arg, float* %F2_Var
1521    %F3_Var = alloca float, i32 1
1522    store float %F3_Arg, float* %F3_Var
1523    %F4_Var = alloca float, i32 1
1524    store float %F4_Arg, float* %F4_Var
1525    %D1_Var = alloca double, i32 1
1526    store double %D1_Arg, double* %D1_Var
1527    %D2_Var = alloca double, i32 1
1528    store double %D2_Arg, double* %D2_Var
1529    %ln1JK = ptrtoint %_module_registered_struct* @_module_registered to i64
1530    %ln1JL = inttoptr i64 %ln1JK to i64*
1531    %ln1JM = load i64* %ln1JL
1532    %ln1JN = icmp ne i64 0, %ln1JM
1533    br i1 %ln1JN, label %c1JO, label %n1JP
1534    n1JP:
1535    br label %c1JQ
1536c1JO:
1537    %ln1JR = load i64** %Sp_Var
1538    %ln1JS = getelementptr inbounds i64* %ln1JR, i32 1
1539    %ln1JT = ptrtoint i64* %ln1JS to i64
1540    %ln1JU = inttoptr i64 %ln1JT to i64*
1541    store i64* %ln1JU, i64** %Sp_Var
1542    %ln1JV = load i64** %Sp_Var
1543    %ln1JW = getelementptr inbounds i64* %ln1JV, i32 -1
1544    %ln1JX = bitcast i64* %ln1JW to i64*
1545    %ln1JY = load i64* %ln1JX
1546    %ln1JZ = inttoptr i64 %ln1JY to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )*
1547    %ln1K0 = load i64** %Base_Var
1548    %ln1K1 = load i64** %Sp_Var
1549    %ln1K2 = load i64** %Hp_Var
1550    %ln1K3 = load i64* %R1_Var
1551    %ln1K4 = load i64* %R2_Var
1552    %ln1K5 = load i64* %R3_Var
1553    %ln1K6 = load i64* %R4_Var
1554    %ln1K7 = load i64* %R5_Var
1555    %ln1K8 = load i64* %R6_Var
1556    %ln1K9 = load i64* %SpLim_Var
1557    %ln1Ka = load float* %F1_Var
1558    %ln1Kb = load float* %F2_Var
1559    %ln1Kc = load float* %F3_Var
1560    %ln1Kd = load float* %F4_Var
1561    %ln1Ke = load double* %D1_Var
1562    %ln1Kf = load double* %D2_Var
1563    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1JZ( i64* %ln1K0,i64* %ln1K1,i64* %ln1K2,i64 %ln1K3,i64 %ln1K4,i64 %ln1K5,i64 %ln1K6,i64 %ln1K7,i64 %ln1K8,i64 %ln1K9,float %ln1Ka,float %ln1Kb,float %ln1Kc,float %ln1Kd,double %ln1Ke,double %ln1Kf ) nounwind
1564    ret void
1565c1JQ:
1566    %ln1Kg = ptrtoint %_module_registered_struct* @_module_registered to i64
1567    %ln1Kh = inttoptr i64 %ln1Kg to i64*
1568    store i64 1, i64* %ln1Kh
1569    %ln1Ki = load i64** %Sp_Var
1570    %ln1Kj = getelementptr inbounds i64* %ln1Ki, i32 -1
1571    %ln1Kk = ptrtoint i64* %ln1Kj to i64
1572    %ln1Kl = inttoptr i64 %ln1Kk to i64*
1573    store i64* %ln1Kl, i64** %Sp_Var
1574    %ln1Km = ptrtoint [0 x i64]* @__stginit_base_Prelude_ to i64
1575    %ln1Kn = load i64** %Sp_Var
1576    %ln1Ko = getelementptr inbounds i64* %ln1Kn, i32 0
1577    store i64 %ln1Km, i64* %ln1Ko
1578    %ln1Kp = load i64** %Sp_Var
1579    %ln1Kq = getelementptr inbounds i64* %ln1Kp, i32 -1
1580    %ln1Kr = ptrtoint i64* %ln1Kq to i64
1581    %ln1Ks = inttoptr i64 %ln1Kr to i64*
1582    store i64* %ln1Ks, i64** %Sp_Var
1583    %ln1Kt = ptrtoint [0 x i64]* @__stginit_base_GHCziTopHandler_ to i64
1584    %ln1Ku = load i64** %Sp_Var
1585    %ln1Kv = getelementptr inbounds i64* %ln1Ku, i32 0
1586    store i64 %ln1Kt, i64* %ln1Kv
1587    br label %c1JO
1588}
1589
1590
1591
1592==================== LLVM Code ====================
1593define  cc 10 void @__stginit_Main(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind
1594{
1595c1KN:
1596    %Base_Var = alloca i64*, i32 1
1597    store i64* %Base_Arg, i64** %Base_Var
1598    %Sp_Var = alloca i64*, i32 1
1599    store i64* %Sp_Arg, i64** %Sp_Var
1600    %Hp_Var = alloca i64*, i32 1
1601    store i64* %Hp_Arg, i64** %Hp_Var
1602    %R1_Var = alloca i64, i32 1
1603    store i64 %R1_Arg, i64* %R1_Var
1604    %R2_Var = alloca i64, i32 1
1605    store i64 %R2_Arg, i64* %R2_Var
1606    %R3_Var = alloca i64, i32 1
1607    store i64 %R3_Arg, i64* %R3_Var
1608    %R4_Var = alloca i64, i32 1
1609    store i64 %R4_Arg, i64* %R4_Var
1610    %R5_Var = alloca i64, i32 1
1611    store i64 %R5_Arg, i64* %R5_Var
1612    %R6_Var = alloca i64, i32 1
1613    store i64 %R6_Arg, i64* %R6_Var
1614    %SpLim_Var = alloca i64, i32 1
1615    store i64 %SpLim_Arg, i64* %SpLim_Var
1616    %F1_Var = alloca float, i32 1
1617    store float %F1_Arg, float* %F1_Var
1618    %F2_Var = alloca float, i32 1
1619    store float %F2_Arg, float* %F2_Var
1620    %F3_Var = alloca float, i32 1
1621    store float %F3_Arg, float* %F3_Var
1622    %F4_Var = alloca float, i32 1
1623    store float %F4_Arg, float* %F4_Var
1624    %D1_Var = alloca double, i32 1
1625    store double %D1_Arg, double* %D1_Var
1626    %D2_Var = alloca double, i32 1
1627    store double %D2_Arg, double* %D2_Var
1628    %ln1KO = load i64** %Base_Var
1629    %ln1KP = load i64** %Sp_Var
1630    %ln1KQ = load i64** %Hp_Var
1631    %ln1KR = load i64* %R1_Var
1632    %ln1KS = load i64* %R2_Var
1633    %ln1KT = load i64* %R3_Var
1634    %ln1KU = load i64* %R4_Var
1635    %ln1KV = load i64* %R5_Var
1636    %ln1KW = load i64* %R6_Var
1637    %ln1KX = load i64* %SpLim_Var
1638    %ln1KY = load float* %F1_Var
1639    %ln1KZ = load float* %F2_Var
1640    %ln1L0 = load float* %F3_Var
1641    %ln1L1 = load float* %F4_Var
1642    %ln1L2 = load double* %D1_Var
1643    %ln1L3 = load double* %D2_Var
1644    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @__stginit_Main_( i64* %ln1KO,i64* %ln1KP,i64* %ln1KQ,i64 %ln1KR,i64 %ln1KS,i64 %ln1KT,i64 %ln1KU,i64 %ln1KV,i64 %ln1KW,i64 %ln1KX,float %ln1KY,float %ln1KZ,float %ln1L0,float %ln1L1,double %ln1L2,double %ln1L3 ) nounwind
1645    ret void
1646}
1647
1648
1649
1650==================== LLVM Code ====================
1651define  cc 10 void @__stginit_ZCMain(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,float %F1_Arg,float %F2_Arg,float %F3_Arg,float %F4_Arg,double %D1_Arg,double %D2_Arg) align 8 nounwind
1652{
1653c1Lu:
1654    %Base_Var = alloca i64*, i32 1
1655    store i64* %Base_Arg, i64** %Base_Var
1656    %Sp_Var = alloca i64*, i32 1
1657    store i64* %Sp_Arg, i64** %Sp_Var
1658    %Hp_Var = alloca i64*, i32 1
1659    store i64* %Hp_Arg, i64** %Hp_Var
1660    %R1_Var = alloca i64, i32 1
1661    store i64 %R1_Arg, i64* %R1_Var
1662    %R2_Var = alloca i64, i32 1
1663    store i64 %R2_Arg, i64* %R2_Var
1664    %R3_Var = alloca i64, i32 1
1665    store i64 %R3_Arg, i64* %R3_Var
1666    %R4_Var = alloca i64, i32 1
1667    store i64 %R4_Arg, i64* %R4_Var
1668    %R5_Var = alloca i64, i32 1
1669    store i64 %R5_Arg, i64* %R5_Var
1670    %R6_Var = alloca i64, i32 1
1671    store i64 %R6_Arg, i64* %R6_Var
1672    %SpLim_Var = alloca i64, i32 1
1673    store i64 %SpLim_Arg, i64* %SpLim_Var
1674    %F1_Var = alloca float, i32 1
1675    store float %F1_Arg, float* %F1_Var
1676    %F2_Var = alloca float, i32 1
1677    store float %F2_Arg, float* %F2_Var
1678    %F3_Var = alloca float, i32 1
1679    store float %F3_Arg, float* %F3_Var
1680    %F4_Var = alloca float, i32 1
1681    store float %F4_Arg, float* %F4_Var
1682    %D1_Var = alloca double, i32 1
1683    store double %D1_Arg, double* %D1_Var
1684    %D2_Var = alloca double, i32 1
1685    store double %D2_Arg, double* %D2_Var
1686    %ln1Lv = load i64** %Sp_Var
1687    %ln1Lw = getelementptr inbounds i64* %ln1Lv, i32 1
1688    %ln1Lx = ptrtoint i64* %ln1Lw to i64
1689    %ln1Ly = inttoptr i64 %ln1Lx to i64*
1690    store i64* %ln1Ly, i64** %Sp_Var
1691    %ln1Lz = load i64** %Sp_Var
1692    %ln1LA = getelementptr inbounds i64* %ln1Lz, i32 -1
1693    %ln1LB = bitcast i64* %ln1LA to i64*
1694    %ln1LC = load i64* %ln1LB
1695    %ln1LD = inttoptr i64 %ln1LC to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )*
1696    %ln1LE = load i64** %Base_Var
1697    %ln1LF = load i64** %Sp_Var
1698    %ln1LG = load i64** %Hp_Var
1699    %ln1LH = load i64* %R1_Var
1700    %ln1LI = load i64* %R2_Var
1701    %ln1LJ = load i64* %R3_Var
1702    %ln1LK = load i64* %R4_Var
1703    %ln1LL = load i64* %R5_Var
1704    %ln1LM = load i64* %R6_Var
1705    %ln1LN = load i64* %SpLim_Var
1706    %ln1LO = load float* %F1_Var
1707    %ln1LP = load float* %F2_Var
1708    %ln1LQ = load float* %F3_Var
1709    %ln1LR = load float* %F4_Var
1710    %ln1LS = load double* %D1_Var
1711    %ln1LT = load double* %D2_Var
1712    tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1LD( i64* %ln1LE,i64* %ln1LF,i64* %ln1LG,i64 %ln1LH,i64 %ln1LI,i64 %ln1LJ,i64 %ln1LK,i64 %ln1LL,i64 %ln1LM,i64 %ln1LN,float %ln1LO,float %ln1LP,float %ln1LQ,float %ln1LR,double %ln1LS,double %ln1LT ) nounwind
1713    ret void
1714}
1715
1716