xref: /llvm-project/llvm/test/Transforms/LoadStoreVectorizer/NVPTX/many_loads_stores.ll (revision 2be0abb7fe72ed4537b3eabcd3102d48ea845717)
1; This is an end-to-end test that checks that LSV succeeds at vectorizing a
2; large program with many loads.
3; RUN: opt -mtriple=nvptx64-nvidia-cuda -passes=load-store-vectorizer -S -o - %s > %t
4; RUN: grep 'load i8' < %t | count 18
5; RUN: grep 'load <2 x i8>' < %t | count 9
6; RUN: grep 'load <4 x i8>' < %t | count 27
7
8target datalayout = "e-i64:64-i128:128-v16:16-v32:32-n16:32:64"
9target triple = "nvptx64-nvidia-cuda"
10
11declare noundef i32 @llvm.nvvm.read.ptx.sreg.ctaid.x() #0
12declare noundef i32 @llvm.nvvm.read.ptx.sreg.tid.x() #0
13declare float @llvm.ceil.f32(float) #0
14declare i32 @llvm.smax.i32(i32, i32) #0
15declare i32 @llvm.umin.i32(i32, i32) #0
16
17define void @many_loads(ptr noalias readonly align 128 dereferenceable(5111808) %arg0, ptr noalias nocapture readonly align 128 dereferenceable(29952) %arg1, ptr noalias nocapture readonly align 128 dereferenceable(2664) %arg2, ptr noalias nocapture readonly align 128 dereferenceable(888) %arg3, ptr noalias nocapture writeonly align 128 dereferenceable(17731584) %arg4) local_unnamed_addr #1 {
18entry:
19  %arg41104 = addrspacecast ptr %arg4 to ptr addrspace(1)
20  %arg31102 = addrspacecast ptr %arg3 to ptr addrspace(1)
21  %arg21100 = addrspacecast ptr %arg2 to ptr addrspace(1)
22  %arg11098 = addrspacecast ptr %arg1 to ptr addrspace(1)
23  %arg01096 = addrspacecast ptr %arg0 to ptr addrspace(1)
24  %0 = tail call i32 @llvm.nvvm.read.ptx.sreg.ctaid.x(), !range !140
25  %1 = tail call i32 @llvm.nvvm.read.ptx.sreg.tid.x(), !range !141
26  %2 = shl nuw nsw i32 %0, 6
27  %linear_index = or i32 %2, %1
28  %linear_index_base = shl nuw nsw i32 %linear_index, 4
29  %.urem = add nsw i32 %linear_index, -554112
30  %.cmp = icmp ult i32 %linear_index, 554112
31  %3 = select i1 %.cmp, i32 %linear_index, i32 %.urem
32  %4 = urem i32 %linear_index, 2496
33  %.lhs.trunc = trunc i32 %0 to i16
34  %5 = udiv i16 %.lhs.trunc, 39
35  %.zext = zext i16 %5 to i32
36  %6 = mul nuw nsw i32 %.zext, 2496
37  %7 = add nuw nsw i32 %6, %4
38  %8 = udiv i32 %7, 222
39  %9 = mul i32 %8, 222
40  %.decomposed = sub i32 %7, %9
41  %10 = mul nuw nsw i32 %8, 3
42  %11 = mul nuw nsw i32 %.decomposed, 3
43  %12 = uitofp i32 %8 to float
44  %add.26 = fadd float %12, -1.000000e+00
45  %13 = tail call float @llvm.ceil.f32(float %add.26)
46  %14 = fcmp ole float %13, 0.000000e+00
47  %15 = select i1 %14, float 0.000000e+00, float %13
48  %16 = fcmp oge float %15, 2.493000e+03
49  %17 = select i1 %16, float 2.493000e+03, float %15
50  %.inv = fcmp ole float %17, 0xC1E0000000000000
51  %18 = select i1 %.inv, float 0xC1E0000000000000, float %17
52  %19 = fptosi float %18 to i32
53  %20 = fcmp oge float %17, 0x41E0000000000000
54  %21 = tail call i32 @llvm.smax.i32(i32 %19, i32 0)
55  %22 = tail call i32 @llvm.umin.i32(i32 %21, i32 2493)
56  %23 = select i1 %20, i32 2493, i32 %22
57  %24 = uitofp i32 %.decomposed to float
58  %add.3613 = fadd float %24, 5.000000e-01
59  %multiply.3915 = fmul float %add.3613, 0x3FE27350C0000000
60  %add.4217 = fadd float %multiply.3915, -1.500000e+00
61  %25 = tail call float @llvm.ceil.f32(float %add.4217)
62  %26 = fcmp ole float %25, 0.000000e+00
63  %27 = select i1 %26, float 0.000000e+00, float %25
64  %28 = fcmp oge float %27, 1.250000e+02
65  %29 = select i1 %28, float 1.250000e+02, float %27
66  %.inv821 = fcmp ole float %29, 0xC1E0000000000000
67  %30 = select i1 %.inv821, float 0xC1E0000000000000, float %29
68  %31 = fptosi float %30 to i32
69  %32 = fcmp oge float %29, 0x41E0000000000000
70  %33 = tail call i32 @llvm.smax.i32(i32 %31, i32 0)
71  %34 = fcmp uno float %29, 0.000000e+00
72  %35 = tail call i32 @llvm.umin.i32(i32 %33, i32 125)
73  %36 = select i1 %32, i32 125, i32 %35
74  %37 = select i1 %34, i32 0, i32 %36
75  %.lhs.trunc1053 = trunc i32 %11 to i16
76  %38 = udiv i16 %.lhs.trunc1053, 3
77  %39 = mul i16 %38, 3
78  %.decomposed1089 = sub i16 %.lhs.trunc1053, %39
79  %40 = zext i16 %38 to i64
80  %41 = zext i16 %.decomposed1089 to i64
81  %42 = getelementptr inbounds [222 x [3 x float]], ptr addrspace(1) %arg21100, i64 0, i64 %40, i64 %41
82  %43 = load float, ptr addrspace(1) %42, align 4, !invariant.load !142
83  %44 = getelementptr inbounds [222 x float], ptr addrspace(1) %arg31102, i64 0, i64 %40
84  %45 = load float, ptr addrspace(1) %44, align 4, !invariant.load !142
85  %divide.6 = fdiv float %43, %45
86  %46 = zext i32 %10 to i64
87  %47 = getelementptr inbounds [7488 x float], ptr addrspace(1) %arg11098, i64 0, i64 %46
88  %48 = load float, ptr addrspace(1) %47, align 4, !invariant.load !142
89  %multiply.10 = fmul float %divide.6, %48
90  %49 = zext i32 %23 to i64
91  %50 = zext i32 %37 to i64
92  %51 = getelementptr inbounds [1 x [4 x [2496 x [128 x [4 x i8]]]]], ptr addrspace(1) %arg01096, i64 0, i64 0, i64 0, i64 %49, i64 %50, i64 0
93  %52 = load i8, ptr addrspace(1) %51, align 4, !invariant.load !142
94  %53 = sitofp i8 %52 to float
95  %multiply.18 = fmul float %53, 0x3FC3BF2820000000
96  %multiply.53 = fmul float %multiply.10, %multiply.18
97  %add.57.i = fadd float %multiply.53, 0.000000e+00
98  %.lhs.trunc1053.1 = add nuw nsw i16 %.lhs.trunc1053, 1
99  %54 = udiv i16 %.lhs.trunc1053.1, 3
100  %55 = mul i16 %54, 3
101  %.decomposed1090 = sub i16 %.lhs.trunc1053.1, %55
102  %56 = zext i16 %54 to i64
103  %57 = zext i16 %.decomposed1090 to i64
104  %58 = getelementptr inbounds [222 x [3 x float]], ptr addrspace(1) %arg21100, i64 0, i64 %56, i64 %57
105  %59 = load float, ptr addrspace(1) %58, align 4, !invariant.load !142
106  %60 = getelementptr inbounds [222 x float], ptr addrspace(1) %arg31102, i64 0, i64 %56
107  %61 = load float, ptr addrspace(1) %60, align 4, !invariant.load !142
108  %divide.6.1 = fdiv float %59, %61
109  %multiply.10.1 = fmul float %divide.6.1, %48
110  %62 = getelementptr inbounds i8, ptr addrspace(1) %51, i64 4
111  %63 = load i8, ptr addrspace(1) %62, align 4, !invariant.load !142
112  %64 = sitofp i8 %63 to float
113  %multiply.18.1 = fmul float %64, 0x3FC3BF2820000000
114  %multiply.53.1 = fmul float %multiply.10.1, %multiply.18.1
115  %add.57.i.1 = fadd float %add.57.i, %multiply.53.1
116  %.lhs.trunc1053.2 = add nuw nsw i16 %.lhs.trunc1053, 2
117  %65 = udiv i16 %.lhs.trunc1053.2, 3
118  %66 = mul i16 %65, 3
119  %.decomposed1091 = sub i16 %.lhs.trunc1053.2, %66
120  %67 = zext i16 %65 to i64
121  %68 = zext i16 %.decomposed1091 to i64
122  %69 = getelementptr inbounds [222 x [3 x float]], ptr addrspace(1) %arg21100, i64 0, i64 %67, i64 %68
123  %70 = load float, ptr addrspace(1) %69, align 4, !invariant.load !142
124  %71 = getelementptr inbounds [222 x float], ptr addrspace(1) %arg31102, i64 0, i64 %67
125  %72 = load float, ptr addrspace(1) %71, align 4, !invariant.load !142
126  %divide.6.2 = fdiv float %70, %72
127  %multiply.10.2 = fmul float %divide.6.2, %48
128  %73 = getelementptr inbounds i8, ptr addrspace(1) %51, i64 8
129  %74 = load i8, ptr addrspace(1) %73, align 4, !invariant.load !142
130  %75 = sitofp i8 %74 to float
131  %multiply.18.2 = fmul float %75, 0x3FC3BF2820000000
132  %multiply.53.2 = fmul float %multiply.10.2, %multiply.18.2
133  %add.57.i.2 = fadd float %add.57.i.1, %multiply.53.2
134  %76 = getelementptr inbounds float, ptr addrspace(1) %47, i64 1
135  %77 = load float, ptr addrspace(1) %76, align 4, !invariant.load !142
136  %multiply.10.3 = fmul float %divide.6, %77
137  %78 = getelementptr inbounds i8, ptr addrspace(1) %51, i64 512
138  %79 = load i8, ptr addrspace(1) %78, align 4, !invariant.load !142
139  %80 = sitofp i8 %79 to float
140  %multiply.18.3 = fmul float %80, 0x3FC3BF2820000000
141  %multiply.53.3 = fmul float %multiply.10.3, %multiply.18.3
142  %add.57.i.3 = fadd float %add.57.i.2, %multiply.53.3
143  %multiply.10.4 = fmul float %divide.6.1, %77
144  %81 = getelementptr inbounds i8, ptr addrspace(1) %51, i64 516
145  %82 = load i8, ptr addrspace(1) %81, align 4, !invariant.load !142
146  %83 = sitofp i8 %82 to float
147  %multiply.18.4 = fmul float %83, 0x3FC3BF2820000000
148  %multiply.53.4 = fmul float %multiply.10.4, %multiply.18.4
149  %add.57.i.4 = fadd float %add.57.i.3, %multiply.53.4
150  %multiply.10.5 = fmul float %divide.6.2, %77
151  %84 = getelementptr inbounds i8, ptr addrspace(1) %51, i64 520
152  %85 = load i8, ptr addrspace(1) %84, align 4, !invariant.load !142
153  %86 = sitofp i8 %85 to float
154  %multiply.18.5 = fmul float %86, 0x3FC3BF2820000000
155  %multiply.53.5 = fmul float %multiply.10.5, %multiply.18.5
156  %add.57.i.5 = fadd float %add.57.i.4, %multiply.53.5
157  %87 = getelementptr inbounds float, ptr addrspace(1) %47, i64 2
158  %88 = load float, ptr addrspace(1) %87, align 4, !invariant.load !142
159  %multiply.10.6 = fmul float %divide.6, %88
160  %89 = getelementptr inbounds i8, ptr addrspace(1) %51, i64 1024
161  %90 = load i8, ptr addrspace(1) %89, align 4, !invariant.load !142
162  %91 = sitofp i8 %90 to float
163  %multiply.18.6 = fmul float %91, 0x3FC3BF2820000000
164  %multiply.53.6 = fmul float %multiply.10.6, %multiply.18.6
165  %add.57.i.6 = fadd float %add.57.i.5, %multiply.53.6
166  %multiply.10.7 = fmul float %divide.6.1, %88
167  %92 = getelementptr inbounds i8, ptr addrspace(1) %51, i64 1028
168  %93 = load i8, ptr addrspace(1) %92, align 4, !invariant.load !142
169  %94 = sitofp i8 %93 to float
170  %multiply.18.7 = fmul float %94, 0x3FC3BF2820000000
171  %multiply.53.7 = fmul float %multiply.10.7, %multiply.18.7
172  %add.57.i.7 = fadd float %add.57.i.6, %multiply.53.7
173  %multiply.10.8 = fmul float %divide.6.2, %88
174  %95 = getelementptr inbounds i8, ptr addrspace(1) %51, i64 1032
175  %96 = load i8, ptr addrspace(1) %95, align 4, !invariant.load !142
176  %97 = sitofp i8 %96 to float
177  %multiply.18.8 = fmul float %97, 0x3FC3BF2820000000
178  %multiply.53.8 = fmul float %multiply.10.8, %multiply.18.8
179  %add.57.i.8 = fadd float %add.57.i.7, %multiply.53.8
180  %98 = fptrunc float %add.57.i.8 to half
181  %99 = zext i32 %linear_index_base to i64
182  %100 = getelementptr half, ptr addrspace(1) %arg41104, i64 %99
183  store half %98, ptr addrspace(1) %100, align 32
184  %101 = udiv i32 %3, 222
185  %102 = mul i32 %101, 222
186  %.decomposed1092 = sub i32 %3, %102
187  %103 = mul nuw nsw i32 %101, 3
188  %104 = mul nuw nsw i32 %.decomposed1092, 3
189  %105 = uitofp i32 %101 to float
190  %add.2637 = fadd float %105, -1.000000e+00
191  %106 = tail call float @llvm.ceil.f32(float %add.2637)
192  %107 = fcmp ole float %106, 0.000000e+00
193  %108 = select i1 %107, float 0.000000e+00, float %106
194  %109 = fcmp oge float %108, 2.493000e+03
195  %110 = select i1 %109, float 2.493000e+03, float %108
196  %.inv824 = fcmp ole float %110, 0xC1E0000000000000
197  %111 = select i1 %.inv824, float 0xC1E0000000000000, float %110
198  %112 = fptosi float %111 to i32
199  %113 = fcmp oge float %110, 0x41E0000000000000
200  %114 = tail call i32 @llvm.smax.i32(i32 %112, i32 0)
201  %115 = tail call i32 @llvm.umin.i32(i32 %114, i32 2493)
202  %116 = select i1 %113, i32 2493, i32 %115
203  %117 = uitofp i32 %.decomposed1092 to float
204  %add.3660 = fadd float %117, 5.000000e-01
205  %multiply.3962 = fmul float %add.3660, 0x3FE27350C0000000
206  %add.4264 = fadd float %multiply.3962, -1.500000e+00
207  %118 = tail call float @llvm.ceil.f32(float %add.4264)
208  %119 = fcmp ole float %118, 0.000000e+00
209  %120 = select i1 %119, float 0.000000e+00, float %118
210  %121 = fcmp oge float %120, 1.250000e+02
211  %122 = select i1 %121, float 1.250000e+02, float %120
212  %.inv827 = fcmp ole float %122, 0xC1E0000000000000
213  %123 = select i1 %.inv827, float 0xC1E0000000000000, float %122
214  %124 = fptosi float %123 to i32
215  %125 = fcmp oge float %122, 0x41E0000000000000
216  %126 = tail call i32 @llvm.smax.i32(i32 %124, i32 0)
217  %127 = fcmp uno float %122, 0.000000e+00
218  %128 = tail call i32 @llvm.umin.i32(i32 %126, i32 125)
219  %129 = select i1 %125, i32 125, i32 %128
220  %130 = select i1 %127, i32 0, i32 %129
221  %.lhs.trunc1045 = trunc i32 %104 to i16
222  %131 = udiv i16 %.lhs.trunc1045, 3
223  %132 = mul i16 %131, 3
224  %.decomposed1093 = sub i16 %.lhs.trunc1045, %132
225  %133 = zext i16 %131 to i64
226  %134 = zext i16 %.decomposed1093 to i64
227  %135 = getelementptr inbounds [222 x [3 x float]], ptr addrspace(1) %arg21100, i64 0, i64 %133, i64 %134
228  %136 = load float, ptr addrspace(1) %135, align 4, !invariant.load !142
229  %137 = getelementptr inbounds [222 x float], ptr addrspace(1) %arg31102, i64 0, i64 %133
230  %138 = load float, ptr addrspace(1) %137, align 4, !invariant.load !142
231  %divide.631 = fdiv float %136, %138
232  %139 = zext i32 %103 to i64
233  %140 = getelementptr inbounds [7488 x float], ptr addrspace(1) %arg11098, i64 0, i64 %139
234  %141 = load float, ptr addrspace(1) %140, align 4, !invariant.load !142
235  %multiply.1032 = fmul float %divide.631, %141
236  %142 = zext i32 %116 to i64
237  %143 = zext i32 %130 to i64
238  %144 = getelementptr [1 x [4 x [2496 x [128 x [4 x i8]]]]], ptr addrspace(1) %arg01096, i64 0, i64 0, i64 0, i64 %142, i64 %143, i64 0
239  %145 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1
240  %146 = load i8, ptr addrspace(1) %145, align 1, !invariant.load !142
241  %147 = sitofp i8 %146 to float
242  %multiply.1870 = fmul float %147, 0x3FC3BF2820000000
243  %multiply.5371 = fmul float %multiply.1032, %multiply.1870
244  %add.57.i914 = fadd float %multiply.5371, 0.000000e+00
245  %.lhs.trunc1045.1 = add nuw nsw i16 %.lhs.trunc1045, 1
246  %148 = udiv i16 %.lhs.trunc1045.1, 3
247  %149 = mul i16 %148, 3
248  %.decomposed1094 = sub i16 %.lhs.trunc1045.1, %149
249  %150 = zext i16 %148 to i64
250  %151 = zext i16 %.decomposed1094 to i64
251  %152 = getelementptr inbounds [222 x [3 x float]], ptr addrspace(1) %arg21100, i64 0, i64 %150, i64 %151
252  %153 = load float, ptr addrspace(1) %152, align 4, !invariant.load !142
253  %154 = getelementptr inbounds [222 x float], ptr addrspace(1) %arg31102, i64 0, i64 %150
254  %155 = load float, ptr addrspace(1) %154, align 4, !invariant.load !142
255  %divide.631.1 = fdiv float %153, %155
256  %multiply.1032.1 = fmul float %divide.631.1, %141
257  %156 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 5
258  %157 = load i8, ptr addrspace(1) %156, align 1, !invariant.load !142
259  %158 = sitofp i8 %157 to float
260  %multiply.1870.1 = fmul float %158, 0x3FC3BF2820000000
261  %multiply.5371.1 = fmul float %multiply.1032.1, %multiply.1870.1
262  %add.57.i914.1 = fadd float %add.57.i914, %multiply.5371.1
263  %.lhs.trunc1045.2 = add nuw nsw i16 %.lhs.trunc1045, 2
264  %159 = udiv i16 %.lhs.trunc1045.2, 3
265  %160 = mul i16 %159, 3
266  %.decomposed1095 = sub i16 %.lhs.trunc1045.2, %160
267  %161 = zext i16 %159 to i64
268  %162 = zext i16 %.decomposed1095 to i64
269  %163 = getelementptr inbounds [222 x [3 x float]], ptr addrspace(1) %arg21100, i64 0, i64 %161, i64 %162
270  %164 = load float, ptr addrspace(1) %163, align 4, !invariant.load !142
271  %165 = getelementptr inbounds [222 x float], ptr addrspace(1) %arg31102, i64 0, i64 %161
272  %166 = load float, ptr addrspace(1) %165, align 4, !invariant.load !142
273  %divide.631.2 = fdiv float %164, %166
274  %multiply.1032.2 = fmul float %divide.631.2, %141
275  %167 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 9
276  %168 = load i8, ptr addrspace(1) %167, align 1, !invariant.load !142
277  %169 = sitofp i8 %168 to float
278  %multiply.1870.2 = fmul float %169, 0x3FC3BF2820000000
279  %multiply.5371.2 = fmul float %multiply.1032.2, %multiply.1870.2
280  %add.57.i914.2 = fadd float %add.57.i914.1, %multiply.5371.2
281  %170 = getelementptr inbounds float, ptr addrspace(1) %140, i64 1
282  %171 = load float, ptr addrspace(1) %170, align 4, !invariant.load !142
283  %multiply.1032.3 = fmul float %divide.631, %171
284  %172 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 513
285  %173 = load i8, ptr addrspace(1) %172, align 1, !invariant.load !142
286  %174 = sitofp i8 %173 to float
287  %multiply.1870.3 = fmul float %174, 0x3FC3BF2820000000
288  %multiply.5371.3 = fmul float %multiply.1032.3, %multiply.1870.3
289  %add.57.i914.3 = fadd float %add.57.i914.2, %multiply.5371.3
290  %multiply.1032.4 = fmul float %divide.631.1, %171
291  %175 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 517
292  %176 = load i8, ptr addrspace(1) %175, align 1, !invariant.load !142
293  %177 = sitofp i8 %176 to float
294  %multiply.1870.4 = fmul float %177, 0x3FC3BF2820000000
295  %multiply.5371.4 = fmul float %multiply.1032.4, %multiply.1870.4
296  %add.57.i914.4 = fadd float %add.57.i914.3, %multiply.5371.4
297  %multiply.1032.5 = fmul float %divide.631.2, %171
298  %178 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 521
299  %179 = load i8, ptr addrspace(1) %178, align 1, !invariant.load !142
300  %180 = sitofp i8 %179 to float
301  %multiply.1870.5 = fmul float %180, 0x3FC3BF2820000000
302  %multiply.5371.5 = fmul float %multiply.1032.5, %multiply.1870.5
303  %add.57.i914.5 = fadd float %add.57.i914.4, %multiply.5371.5
304  %181 = getelementptr inbounds float, ptr addrspace(1) %140, i64 2
305  %182 = load float, ptr addrspace(1) %181, align 4, !invariant.load !142
306  %multiply.1032.6 = fmul float %divide.631, %182
307  %183 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1025
308  %184 = load i8, ptr addrspace(1) %183, align 1, !invariant.load !142
309  %185 = sitofp i8 %184 to float
310  %multiply.1870.6 = fmul float %185, 0x3FC3BF2820000000
311  %multiply.5371.6 = fmul float %multiply.1032.6, %multiply.1870.6
312  %add.57.i914.6 = fadd float %add.57.i914.5, %multiply.5371.6
313  %multiply.1032.7 = fmul float %divide.631.1, %182
314  %186 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1029
315  %187 = load i8, ptr addrspace(1) %186, align 1, !invariant.load !142
316  %188 = sitofp i8 %187 to float
317  %multiply.1870.7 = fmul float %188, 0x3FC3BF2820000000
318  %multiply.5371.7 = fmul float %multiply.1032.7, %multiply.1870.7
319  %add.57.i914.7 = fadd float %add.57.i914.6, %multiply.5371.7
320  %multiply.1032.8 = fmul float %divide.631.2, %182
321  %189 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1033
322  %190 = load i8, ptr addrspace(1) %189, align 1, !invariant.load !142
323  %191 = sitofp i8 %190 to float
324  %multiply.1870.8 = fmul float %191, 0x3FC3BF2820000000
325  %multiply.5371.8 = fmul float %multiply.1032.8, %multiply.1870.8
326  %add.57.i914.8 = fadd float %add.57.i914.7, %multiply.5371.8
327  %192 = fptrunc float %add.57.i914.8 to half
328  %193 = getelementptr inbounds half, ptr addrspace(1) %100, i64 1
329  store half %192, ptr addrspace(1) %193, align 2
330  %194 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2
331  %195 = load i8, ptr addrspace(1) %194, align 2, !invariant.load !142
332  %196 = sitofp i8 %195 to float
333  %multiply.18122 = fmul float %196, 0x3FC3BF2820000000
334  %multiply.53123 = fmul float %multiply.1032, %multiply.18122
335  %add.57.i915 = fadd float %multiply.53123, 0.000000e+00
336  %197 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 6
337  %198 = load i8, ptr addrspace(1) %197, align 2, !invariant.load !142
338  %199 = sitofp i8 %198 to float
339  %multiply.18122.1 = fmul float %199, 0x3FC3BF2820000000
340  %multiply.53123.1 = fmul float %multiply.1032.1, %multiply.18122.1
341  %add.57.i915.1 = fadd float %add.57.i915, %multiply.53123.1
342  %200 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 10
343  %201 = load i8, ptr addrspace(1) %200, align 2, !invariant.load !142
344  %202 = sitofp i8 %201 to float
345  %multiply.18122.2 = fmul float %202, 0x3FC3BF2820000000
346  %multiply.53123.2 = fmul float %multiply.1032.2, %multiply.18122.2
347  %add.57.i915.2 = fadd float %add.57.i915.1, %multiply.53123.2
348  %203 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 514
349  %204 = load i8, ptr addrspace(1) %203, align 2, !invariant.load !142
350  %205 = sitofp i8 %204 to float
351  %multiply.18122.3 = fmul float %205, 0x3FC3BF2820000000
352  %multiply.53123.3 = fmul float %multiply.1032.3, %multiply.18122.3
353  %add.57.i915.3 = fadd float %add.57.i915.2, %multiply.53123.3
354  %206 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 518
355  %207 = load i8, ptr addrspace(1) %206, align 2, !invariant.load !142
356  %208 = sitofp i8 %207 to float
357  %multiply.18122.4 = fmul float %208, 0x3FC3BF2820000000
358  %multiply.53123.4 = fmul float %multiply.1032.4, %multiply.18122.4
359  %add.57.i915.4 = fadd float %add.57.i915.3, %multiply.53123.4
360  %209 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 522
361  %210 = load i8, ptr addrspace(1) %209, align 2, !invariant.load !142
362  %211 = sitofp i8 %210 to float
363  %multiply.18122.5 = fmul float %211, 0x3FC3BF2820000000
364  %multiply.53123.5 = fmul float %multiply.1032.5, %multiply.18122.5
365  %add.57.i915.5 = fadd float %add.57.i915.4, %multiply.53123.5
366  %212 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1026
367  %213 = load i8, ptr addrspace(1) %212, align 2, !invariant.load !142
368  %214 = sitofp i8 %213 to float
369  %multiply.18122.6 = fmul float %214, 0x3FC3BF2820000000
370  %multiply.53123.6 = fmul float %multiply.1032.6, %multiply.18122.6
371  %add.57.i915.6 = fadd float %add.57.i915.5, %multiply.53123.6
372  %215 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1030
373  %216 = load i8, ptr addrspace(1) %215, align 2, !invariant.load !142
374  %217 = sitofp i8 %216 to float
375  %multiply.18122.7 = fmul float %217, 0x3FC3BF2820000000
376  %multiply.53123.7 = fmul float %multiply.1032.7, %multiply.18122.7
377  %add.57.i915.7 = fadd float %add.57.i915.6, %multiply.53123.7
378  %218 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1034
379  %219 = load i8, ptr addrspace(1) %218, align 2, !invariant.load !142
380  %220 = sitofp i8 %219 to float
381  %multiply.18122.8 = fmul float %220, 0x3FC3BF2820000000
382  %multiply.53123.8 = fmul float %multiply.1032.8, %multiply.18122.8
383  %add.57.i915.8 = fadd float %add.57.i915.7, %multiply.53123.8
384  %221 = fptrunc float %add.57.i915.8 to half
385  %222 = getelementptr inbounds half, ptr addrspace(1) %100, i64 2
386  store half %221, ptr addrspace(1) %222, align 4
387  %223 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3
388  %224 = load i8, ptr addrspace(1) %223, align 1, !invariant.load !142
389  %225 = sitofp i8 %224 to float
390  %multiply.18174 = fmul float %225, 0x3FC3BF2820000000
391  %multiply.53175 = fmul float %multiply.1032, %multiply.18174
392  %add.57.i916 = fadd float %multiply.53175, 0.000000e+00
393  %226 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 7
394  %227 = load i8, ptr addrspace(1) %226, align 1, !invariant.load !142
395  %228 = sitofp i8 %227 to float
396  %multiply.18174.1 = fmul float %228, 0x3FC3BF2820000000
397  %multiply.53175.1 = fmul float %multiply.1032.1, %multiply.18174.1
398  %add.57.i916.1 = fadd float %add.57.i916, %multiply.53175.1
399  %229 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 11
400  %230 = load i8, ptr addrspace(1) %229, align 1, !invariant.load !142
401  %231 = sitofp i8 %230 to float
402  %multiply.18174.2 = fmul float %231, 0x3FC3BF2820000000
403  %multiply.53175.2 = fmul float %multiply.1032.2, %multiply.18174.2
404  %add.57.i916.2 = fadd float %add.57.i916.1, %multiply.53175.2
405  %232 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 515
406  %233 = load i8, ptr addrspace(1) %232, align 1, !invariant.load !142
407  %234 = sitofp i8 %233 to float
408  %multiply.18174.3 = fmul float %234, 0x3FC3BF2820000000
409  %multiply.53175.3 = fmul float %multiply.1032.3, %multiply.18174.3
410  %add.57.i916.3 = fadd float %add.57.i916.2, %multiply.53175.3
411  %235 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 519
412  %236 = load i8, ptr addrspace(1) %235, align 1, !invariant.load !142
413  %237 = sitofp i8 %236 to float
414  %multiply.18174.4 = fmul float %237, 0x3FC3BF2820000000
415  %multiply.53175.4 = fmul float %multiply.1032.4, %multiply.18174.4
416  %add.57.i916.4 = fadd float %add.57.i916.3, %multiply.53175.4
417  %238 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 523
418  %239 = load i8, ptr addrspace(1) %238, align 1, !invariant.load !142
419  %240 = sitofp i8 %239 to float
420  %multiply.18174.5 = fmul float %240, 0x3FC3BF2820000000
421  %multiply.53175.5 = fmul float %multiply.1032.5, %multiply.18174.5
422  %add.57.i916.5 = fadd float %add.57.i916.4, %multiply.53175.5
423  %241 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1027
424  %242 = load i8, ptr addrspace(1) %241, align 1, !invariant.load !142
425  %243 = sitofp i8 %242 to float
426  %multiply.18174.6 = fmul float %243, 0x3FC3BF2820000000
427  %multiply.53175.6 = fmul float %multiply.1032.6, %multiply.18174.6
428  %add.57.i916.6 = fadd float %add.57.i916.5, %multiply.53175.6
429  %244 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1031
430  %245 = load i8, ptr addrspace(1) %244, align 1, !invariant.load !142
431  %246 = sitofp i8 %245 to float
432  %multiply.18174.7 = fmul float %246, 0x3FC3BF2820000000
433  %multiply.53175.7 = fmul float %multiply.1032.7, %multiply.18174.7
434  %add.57.i916.7 = fadd float %add.57.i916.6, %multiply.53175.7
435  %247 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1035
436  %248 = load i8, ptr addrspace(1) %247, align 1, !invariant.load !142
437  %249 = sitofp i8 %248 to float
438  %multiply.18174.8 = fmul float %249, 0x3FC3BF2820000000
439  %multiply.53175.8 = fmul float %multiply.1032.8, %multiply.18174.8
440  %add.57.i916.8 = fadd float %add.57.i916.7, %multiply.53175.8
441  %250 = fptrunc float %add.57.i916.8 to half
442  %251 = getelementptr inbounds half, ptr addrspace(1) %100, i64 3
443  store half %250, ptr addrspace(1) %251, align 2
444  %252 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1277952
445  %253 = load i8, ptr addrspace(1) %252, align 4, !invariant.load !142
446  %254 = sitofp i8 %253 to float
447  %multiply.18226 = fmul float %254, 0x3FC3BF2820000000
448  %multiply.53227 = fmul float %multiply.1032, %multiply.18226
449  %add.57.i917 = fadd float %multiply.53227, 0.000000e+00
450  %255 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1277956
451  %256 = load i8, ptr addrspace(1) %255, align 4, !invariant.load !142
452  %257 = sitofp i8 %256 to float
453  %multiply.18226.1 = fmul float %257, 0x3FC3BF2820000000
454  %multiply.53227.1 = fmul float %multiply.1032.1, %multiply.18226.1
455  %add.57.i917.1 = fadd float %add.57.i917, %multiply.53227.1
456  %258 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1277960
457  %259 = load i8, ptr addrspace(1) %258, align 4, !invariant.load !142
458  %260 = sitofp i8 %259 to float
459  %multiply.18226.2 = fmul float %260, 0x3FC3BF2820000000
460  %multiply.53227.2 = fmul float %multiply.1032.2, %multiply.18226.2
461  %add.57.i917.2 = fadd float %add.57.i917.1, %multiply.53227.2
462  %261 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278464
463  %262 = load i8, ptr addrspace(1) %261, align 4, !invariant.load !142
464  %263 = sitofp i8 %262 to float
465  %multiply.18226.3 = fmul float %263, 0x3FC3BF2820000000
466  %multiply.53227.3 = fmul float %multiply.1032.3, %multiply.18226.3
467  %add.57.i917.3 = fadd float %add.57.i917.2, %multiply.53227.3
468  %264 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278468
469  %265 = load i8, ptr addrspace(1) %264, align 4, !invariant.load !142
470  %266 = sitofp i8 %265 to float
471  %multiply.18226.4 = fmul float %266, 0x3FC3BF2820000000
472  %multiply.53227.4 = fmul float %multiply.1032.4, %multiply.18226.4
473  %add.57.i917.4 = fadd float %add.57.i917.3, %multiply.53227.4
474  %267 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278472
475  %268 = load i8, ptr addrspace(1) %267, align 4, !invariant.load !142
476  %269 = sitofp i8 %268 to float
477  %multiply.18226.5 = fmul float %269, 0x3FC3BF2820000000
478  %multiply.53227.5 = fmul float %multiply.1032.5, %multiply.18226.5
479  %add.57.i917.5 = fadd float %add.57.i917.4, %multiply.53227.5
480  %270 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278976
481  %271 = load i8, ptr addrspace(1) %270, align 4, !invariant.load !142
482  %272 = sitofp i8 %271 to float
483  %multiply.18226.6 = fmul float %272, 0x3FC3BF2820000000
484  %multiply.53227.6 = fmul float %multiply.1032.6, %multiply.18226.6
485  %add.57.i917.6 = fadd float %add.57.i917.5, %multiply.53227.6
486  %273 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278980
487  %274 = load i8, ptr addrspace(1) %273, align 4, !invariant.load !142
488  %275 = sitofp i8 %274 to float
489  %multiply.18226.7 = fmul float %275, 0x3FC3BF2820000000
490  %multiply.53227.7 = fmul float %multiply.1032.7, %multiply.18226.7
491  %add.57.i917.7 = fadd float %add.57.i917.6, %multiply.53227.7
492  %276 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278984
493  %277 = load i8, ptr addrspace(1) %276, align 4, !invariant.load !142
494  %278 = sitofp i8 %277 to float
495  %multiply.18226.8 = fmul float %278, 0x3FC3BF2820000000
496  %multiply.53227.8 = fmul float %multiply.1032.8, %multiply.18226.8
497  %add.57.i917.8 = fadd float %add.57.i917.7, %multiply.53227.8
498  %279 = fptrunc float %add.57.i917.8 to half
499  %280 = getelementptr inbounds half, ptr addrspace(1) %100, i64 4
500  store half %279, ptr addrspace(1) %280, align 8
501  %281 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1277953
502  %282 = load i8, ptr addrspace(1) %281, align 1, !invariant.load !142
503  %283 = sitofp i8 %282 to float
504  %multiply.18278 = fmul float %283, 0x3FC3BF2820000000
505  %multiply.53279 = fmul float %multiply.1032, %multiply.18278
506  %add.57.i918 = fadd float %multiply.53279, 0.000000e+00
507  %284 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1277957
508  %285 = load i8, ptr addrspace(1) %284, align 1, !invariant.load !142
509  %286 = sitofp i8 %285 to float
510  %multiply.18278.1 = fmul float %286, 0x3FC3BF2820000000
511  %multiply.53279.1 = fmul float %multiply.1032.1, %multiply.18278.1
512  %add.57.i918.1 = fadd float %add.57.i918, %multiply.53279.1
513  %287 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1277961
514  %288 = load i8, ptr addrspace(1) %287, align 1, !invariant.load !142
515  %289 = sitofp i8 %288 to float
516  %multiply.18278.2 = fmul float %289, 0x3FC3BF2820000000
517  %multiply.53279.2 = fmul float %multiply.1032.2, %multiply.18278.2
518  %add.57.i918.2 = fadd float %add.57.i918.1, %multiply.53279.2
519  %290 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278465
520  %291 = load i8, ptr addrspace(1) %290, align 1, !invariant.load !142
521  %292 = sitofp i8 %291 to float
522  %multiply.18278.3 = fmul float %292, 0x3FC3BF2820000000
523  %multiply.53279.3 = fmul float %multiply.1032.3, %multiply.18278.3
524  %add.57.i918.3 = fadd float %add.57.i918.2, %multiply.53279.3
525  %293 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278469
526  %294 = load i8, ptr addrspace(1) %293, align 1, !invariant.load !142
527  %295 = sitofp i8 %294 to float
528  %multiply.18278.4 = fmul float %295, 0x3FC3BF2820000000
529  %multiply.53279.4 = fmul float %multiply.1032.4, %multiply.18278.4
530  %add.57.i918.4 = fadd float %add.57.i918.3, %multiply.53279.4
531  %296 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278473
532  %297 = load i8, ptr addrspace(1) %296, align 1, !invariant.load !142
533  %298 = sitofp i8 %297 to float
534  %multiply.18278.5 = fmul float %298, 0x3FC3BF2820000000
535  %multiply.53279.5 = fmul float %multiply.1032.5, %multiply.18278.5
536  %add.57.i918.5 = fadd float %add.57.i918.4, %multiply.53279.5
537  %299 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278977
538  %300 = load i8, ptr addrspace(1) %299, align 1, !invariant.load !142
539  %301 = sitofp i8 %300 to float
540  %multiply.18278.6 = fmul float %301, 0x3FC3BF2820000000
541  %multiply.53279.6 = fmul float %multiply.1032.6, %multiply.18278.6
542  %add.57.i918.6 = fadd float %add.57.i918.5, %multiply.53279.6
543  %302 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278981
544  %303 = load i8, ptr addrspace(1) %302, align 1, !invariant.load !142
545  %304 = sitofp i8 %303 to float
546  %multiply.18278.7 = fmul float %304, 0x3FC3BF2820000000
547  %multiply.53279.7 = fmul float %multiply.1032.7, %multiply.18278.7
548  %add.57.i918.7 = fadd float %add.57.i918.6, %multiply.53279.7
549  %305 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278985
550  %306 = load i8, ptr addrspace(1) %305, align 1, !invariant.load !142
551  %307 = sitofp i8 %306 to float
552  %multiply.18278.8 = fmul float %307, 0x3FC3BF2820000000
553  %multiply.53279.8 = fmul float %multiply.1032.8, %multiply.18278.8
554  %add.57.i918.8 = fadd float %add.57.i918.7, %multiply.53279.8
555  %308 = fptrunc float %add.57.i918.8 to half
556  %309 = getelementptr inbounds half, ptr addrspace(1) %100, i64 5
557  store half %308, ptr addrspace(1) %309, align 2
558  %310 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1277954
559  %311 = load i8, ptr addrspace(1) %310, align 2, !invariant.load !142
560  %312 = sitofp i8 %311 to float
561  %multiply.18330 = fmul float %312, 0x3FC3BF2820000000
562  %multiply.53331 = fmul float %multiply.1032, %multiply.18330
563  %add.57.i919 = fadd float %multiply.53331, 0.000000e+00
564  %313 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1277958
565  %314 = load i8, ptr addrspace(1) %313, align 2, !invariant.load !142
566  %315 = sitofp i8 %314 to float
567  %multiply.18330.1 = fmul float %315, 0x3FC3BF2820000000
568  %multiply.53331.1 = fmul float %multiply.1032.1, %multiply.18330.1
569  %add.57.i919.1 = fadd float %add.57.i919, %multiply.53331.1
570  %316 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1277962
571  %317 = load i8, ptr addrspace(1) %316, align 2, !invariant.load !142
572  %318 = sitofp i8 %317 to float
573  %multiply.18330.2 = fmul float %318, 0x3FC3BF2820000000
574  %multiply.53331.2 = fmul float %multiply.1032.2, %multiply.18330.2
575  %add.57.i919.2 = fadd float %add.57.i919.1, %multiply.53331.2
576  %319 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278466
577  %320 = load i8, ptr addrspace(1) %319, align 2, !invariant.load !142
578  %321 = sitofp i8 %320 to float
579  %multiply.18330.3 = fmul float %321, 0x3FC3BF2820000000
580  %multiply.53331.3 = fmul float %multiply.1032.3, %multiply.18330.3
581  %add.57.i919.3 = fadd float %add.57.i919.2, %multiply.53331.3
582  %322 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278470
583  %323 = load i8, ptr addrspace(1) %322, align 2, !invariant.load !142
584  %324 = sitofp i8 %323 to float
585  %multiply.18330.4 = fmul float %324, 0x3FC3BF2820000000
586  %multiply.53331.4 = fmul float %multiply.1032.4, %multiply.18330.4
587  %add.57.i919.4 = fadd float %add.57.i919.3, %multiply.53331.4
588  %325 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278474
589  %326 = load i8, ptr addrspace(1) %325, align 2, !invariant.load !142
590  %327 = sitofp i8 %326 to float
591  %multiply.18330.5 = fmul float %327, 0x3FC3BF2820000000
592  %multiply.53331.5 = fmul float %multiply.1032.5, %multiply.18330.5
593  %add.57.i919.5 = fadd float %add.57.i919.4, %multiply.53331.5
594  %328 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278978
595  %329 = load i8, ptr addrspace(1) %328, align 2, !invariant.load !142
596  %330 = sitofp i8 %329 to float
597  %multiply.18330.6 = fmul float %330, 0x3FC3BF2820000000
598  %multiply.53331.6 = fmul float %multiply.1032.6, %multiply.18330.6
599  %add.57.i919.6 = fadd float %add.57.i919.5, %multiply.53331.6
600  %331 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278982
601  %332 = load i8, ptr addrspace(1) %331, align 2, !invariant.load !142
602  %333 = sitofp i8 %332 to float
603  %multiply.18330.7 = fmul float %333, 0x3FC3BF2820000000
604  %multiply.53331.7 = fmul float %multiply.1032.7, %multiply.18330.7
605  %add.57.i919.7 = fadd float %add.57.i919.6, %multiply.53331.7
606  %334 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278986
607  %335 = load i8, ptr addrspace(1) %334, align 2, !invariant.load !142
608  %336 = sitofp i8 %335 to float
609  %multiply.18330.8 = fmul float %336, 0x3FC3BF2820000000
610  %multiply.53331.8 = fmul float %multiply.1032.8, %multiply.18330.8
611  %add.57.i919.8 = fadd float %add.57.i919.7, %multiply.53331.8
612  %337 = fptrunc float %add.57.i919.8 to half
613  %338 = getelementptr inbounds half, ptr addrspace(1) %100, i64 6
614  store half %337, ptr addrspace(1) %338, align 4
615  %339 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1277955
616  %340 = load i8, ptr addrspace(1) %339, align 1, !invariant.load !142
617  %341 = sitofp i8 %340 to float
618  %multiply.18382 = fmul float %341, 0x3FC3BF2820000000
619  %multiply.53383 = fmul float %multiply.1032, %multiply.18382
620  %add.57.i920 = fadd float %multiply.53383, 0.000000e+00
621  %342 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1277959
622  %343 = load i8, ptr addrspace(1) %342, align 1, !invariant.load !142
623  %344 = sitofp i8 %343 to float
624  %multiply.18382.1 = fmul float %344, 0x3FC3BF2820000000
625  %multiply.53383.1 = fmul float %multiply.1032.1, %multiply.18382.1
626  %add.57.i920.1 = fadd float %add.57.i920, %multiply.53383.1
627  %345 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1277963
628  %346 = load i8, ptr addrspace(1) %345, align 1, !invariant.load !142
629  %347 = sitofp i8 %346 to float
630  %multiply.18382.2 = fmul float %347, 0x3FC3BF2820000000
631  %multiply.53383.2 = fmul float %multiply.1032.2, %multiply.18382.2
632  %add.57.i920.2 = fadd float %add.57.i920.1, %multiply.53383.2
633  %348 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278467
634  %349 = load i8, ptr addrspace(1) %348, align 1, !invariant.load !142
635  %350 = sitofp i8 %349 to float
636  %multiply.18382.3 = fmul float %350, 0x3FC3BF2820000000
637  %multiply.53383.3 = fmul float %multiply.1032.3, %multiply.18382.3
638  %add.57.i920.3 = fadd float %add.57.i920.2, %multiply.53383.3
639  %351 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278471
640  %352 = load i8, ptr addrspace(1) %351, align 1, !invariant.load !142
641  %353 = sitofp i8 %352 to float
642  %multiply.18382.4 = fmul float %353, 0x3FC3BF2820000000
643  %multiply.53383.4 = fmul float %multiply.1032.4, %multiply.18382.4
644  %add.57.i920.4 = fadd float %add.57.i920.3, %multiply.53383.4
645  %354 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278475
646  %355 = load i8, ptr addrspace(1) %354, align 1, !invariant.load !142
647  %356 = sitofp i8 %355 to float
648  %multiply.18382.5 = fmul float %356, 0x3FC3BF2820000000
649  %multiply.53383.5 = fmul float %multiply.1032.5, %multiply.18382.5
650  %add.57.i920.5 = fadd float %add.57.i920.4, %multiply.53383.5
651  %357 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278979
652  %358 = load i8, ptr addrspace(1) %357, align 1, !invariant.load !142
653  %359 = sitofp i8 %358 to float
654  %multiply.18382.6 = fmul float %359, 0x3FC3BF2820000000
655  %multiply.53383.6 = fmul float %multiply.1032.6, %multiply.18382.6
656  %add.57.i920.6 = fadd float %add.57.i920.5, %multiply.53383.6
657  %360 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278983
658  %361 = load i8, ptr addrspace(1) %360, align 1, !invariant.load !142
659  %362 = sitofp i8 %361 to float
660  %multiply.18382.7 = fmul float %362, 0x3FC3BF2820000000
661  %multiply.53383.7 = fmul float %multiply.1032.7, %multiply.18382.7
662  %add.57.i920.7 = fadd float %add.57.i920.6, %multiply.53383.7
663  %363 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 1278987
664  %364 = load i8, ptr addrspace(1) %363, align 1, !invariant.load !142
665  %365 = sitofp i8 %364 to float
666  %multiply.18382.8 = fmul float %365, 0x3FC3BF2820000000
667  %multiply.53383.8 = fmul float %multiply.1032.8, %multiply.18382.8
668  %add.57.i920.8 = fadd float %add.57.i920.7, %multiply.53383.8
669  %366 = fptrunc float %add.57.i920.8 to half
670  %367 = getelementptr inbounds half, ptr addrspace(1) %100, i64 7
671  store half %366, ptr addrspace(1) %367, align 2
672  %368 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2555904
673  %369 = load i8, ptr addrspace(1) %368, align 4, !invariant.load !142
674  %370 = sitofp i8 %369 to float
675  %multiply.18434 = fmul float %370, 0x3FC3BF2820000000
676  %multiply.53435 = fmul float %multiply.1032, %multiply.18434
677  %add.57.i921 = fadd float %multiply.53435, 0.000000e+00
678  %371 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2555908
679  %372 = load i8, ptr addrspace(1) %371, align 4, !invariant.load !142
680  %373 = sitofp i8 %372 to float
681  %multiply.18434.1 = fmul float %373, 0x3FC3BF2820000000
682  %multiply.53435.1 = fmul float %multiply.1032.1, %multiply.18434.1
683  %add.57.i921.1 = fadd float %add.57.i921, %multiply.53435.1
684  %374 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2555912
685  %375 = load i8, ptr addrspace(1) %374, align 4, !invariant.load !142
686  %376 = sitofp i8 %375 to float
687  %multiply.18434.2 = fmul float %376, 0x3FC3BF2820000000
688  %multiply.53435.2 = fmul float %multiply.1032.2, %multiply.18434.2
689  %add.57.i921.2 = fadd float %add.57.i921.1, %multiply.53435.2
690  %377 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556416
691  %378 = load i8, ptr addrspace(1) %377, align 4, !invariant.load !142
692  %379 = sitofp i8 %378 to float
693  %multiply.18434.3 = fmul float %379, 0x3FC3BF2820000000
694  %multiply.53435.3 = fmul float %multiply.1032.3, %multiply.18434.3
695  %add.57.i921.3 = fadd float %add.57.i921.2, %multiply.53435.3
696  %380 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556420
697  %381 = load i8, ptr addrspace(1) %380, align 4, !invariant.load !142
698  %382 = sitofp i8 %381 to float
699  %multiply.18434.4 = fmul float %382, 0x3FC3BF2820000000
700  %multiply.53435.4 = fmul float %multiply.1032.4, %multiply.18434.4
701  %add.57.i921.4 = fadd float %add.57.i921.3, %multiply.53435.4
702  %383 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556424
703  %384 = load i8, ptr addrspace(1) %383, align 4, !invariant.load !142
704  %385 = sitofp i8 %384 to float
705  %multiply.18434.5 = fmul float %385, 0x3FC3BF2820000000
706  %multiply.53435.5 = fmul float %multiply.1032.5, %multiply.18434.5
707  %add.57.i921.5 = fadd float %add.57.i921.4, %multiply.53435.5
708  %386 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556928
709  %387 = load i8, ptr addrspace(1) %386, align 4, !invariant.load !142
710  %388 = sitofp i8 %387 to float
711  %multiply.18434.6 = fmul float %388, 0x3FC3BF2820000000
712  %multiply.53435.6 = fmul float %multiply.1032.6, %multiply.18434.6
713  %add.57.i921.6 = fadd float %add.57.i921.5, %multiply.53435.6
714  %389 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556932
715  %390 = load i8, ptr addrspace(1) %389, align 4, !invariant.load !142
716  %391 = sitofp i8 %390 to float
717  %multiply.18434.7 = fmul float %391, 0x3FC3BF2820000000
718  %multiply.53435.7 = fmul float %multiply.1032.7, %multiply.18434.7
719  %add.57.i921.7 = fadd float %add.57.i921.6, %multiply.53435.7
720  %392 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556936
721  %393 = load i8, ptr addrspace(1) %392, align 4, !invariant.load !142
722  %394 = sitofp i8 %393 to float
723  %multiply.18434.8 = fmul float %394, 0x3FC3BF2820000000
724  %multiply.53435.8 = fmul float %multiply.1032.8, %multiply.18434.8
725  %add.57.i921.8 = fadd float %add.57.i921.7, %multiply.53435.8
726  %395 = fptrunc float %add.57.i921.8 to half
727  %396 = getelementptr inbounds half, ptr addrspace(1) %100, i64 8
728  store half %395, ptr addrspace(1) %396, align 16
729  %397 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2555905
730  %398 = load i8, ptr addrspace(1) %397, align 1, !invariant.load !142
731  %399 = sitofp i8 %398 to float
732  %multiply.18486 = fmul float %399, 0x3FC3BF2820000000
733  %multiply.53487 = fmul float %multiply.1032, %multiply.18486
734  %add.57.i922 = fadd float %multiply.53487, 0.000000e+00
735  %400 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2555909
736  %401 = load i8, ptr addrspace(1) %400, align 1, !invariant.load !142
737  %402 = sitofp i8 %401 to float
738  %multiply.18486.1 = fmul float %402, 0x3FC3BF2820000000
739  %multiply.53487.1 = fmul float %multiply.1032.1, %multiply.18486.1
740  %add.57.i922.1 = fadd float %add.57.i922, %multiply.53487.1
741  %403 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2555913
742  %404 = load i8, ptr addrspace(1) %403, align 1, !invariant.load !142
743  %405 = sitofp i8 %404 to float
744  %multiply.18486.2 = fmul float %405, 0x3FC3BF2820000000
745  %multiply.53487.2 = fmul float %multiply.1032.2, %multiply.18486.2
746  %add.57.i922.2 = fadd float %add.57.i922.1, %multiply.53487.2
747  %406 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556417
748  %407 = load i8, ptr addrspace(1) %406, align 1, !invariant.load !142
749  %408 = sitofp i8 %407 to float
750  %multiply.18486.3 = fmul float %408, 0x3FC3BF2820000000
751  %multiply.53487.3 = fmul float %multiply.1032.3, %multiply.18486.3
752  %add.57.i922.3 = fadd float %add.57.i922.2, %multiply.53487.3
753  %409 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556421
754  %410 = load i8, ptr addrspace(1) %409, align 1, !invariant.load !142
755  %411 = sitofp i8 %410 to float
756  %multiply.18486.4 = fmul float %411, 0x3FC3BF2820000000
757  %multiply.53487.4 = fmul float %multiply.1032.4, %multiply.18486.4
758  %add.57.i922.4 = fadd float %add.57.i922.3, %multiply.53487.4
759  %412 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556425
760  %413 = load i8, ptr addrspace(1) %412, align 1, !invariant.load !142
761  %414 = sitofp i8 %413 to float
762  %multiply.18486.5 = fmul float %414, 0x3FC3BF2820000000
763  %multiply.53487.5 = fmul float %multiply.1032.5, %multiply.18486.5
764  %add.57.i922.5 = fadd float %add.57.i922.4, %multiply.53487.5
765  %415 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556929
766  %416 = load i8, ptr addrspace(1) %415, align 1, !invariant.load !142
767  %417 = sitofp i8 %416 to float
768  %multiply.18486.6 = fmul float %417, 0x3FC3BF2820000000
769  %multiply.53487.6 = fmul float %multiply.1032.6, %multiply.18486.6
770  %add.57.i922.6 = fadd float %add.57.i922.5, %multiply.53487.6
771  %418 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556933
772  %419 = load i8, ptr addrspace(1) %418, align 1, !invariant.load !142
773  %420 = sitofp i8 %419 to float
774  %multiply.18486.7 = fmul float %420, 0x3FC3BF2820000000
775  %multiply.53487.7 = fmul float %multiply.1032.7, %multiply.18486.7
776  %add.57.i922.7 = fadd float %add.57.i922.6, %multiply.53487.7
777  %421 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556937
778  %422 = load i8, ptr addrspace(1) %421, align 1, !invariant.load !142
779  %423 = sitofp i8 %422 to float
780  %multiply.18486.8 = fmul float %423, 0x3FC3BF2820000000
781  %multiply.53487.8 = fmul float %multiply.1032.8, %multiply.18486.8
782  %add.57.i922.8 = fadd float %add.57.i922.7, %multiply.53487.8
783  %424 = fptrunc float %add.57.i922.8 to half
784  %425 = getelementptr inbounds half, ptr addrspace(1) %100, i64 9
785  store half %424, ptr addrspace(1) %425, align 2
786  %426 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2555906
787  %427 = load i8, ptr addrspace(1) %426, align 2, !invariant.load !142
788  %428 = sitofp i8 %427 to float
789  %multiply.18538 = fmul float %428, 0x3FC3BF2820000000
790  %multiply.53539 = fmul float %multiply.1032, %multiply.18538
791  %add.57.i923 = fadd float %multiply.53539, 0.000000e+00
792  %429 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2555910
793  %430 = load i8, ptr addrspace(1) %429, align 2, !invariant.load !142
794  %431 = sitofp i8 %430 to float
795  %multiply.18538.1 = fmul float %431, 0x3FC3BF2820000000
796  %multiply.53539.1 = fmul float %multiply.1032.1, %multiply.18538.1
797  %add.57.i923.1 = fadd float %add.57.i923, %multiply.53539.1
798  %432 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2555914
799  %433 = load i8, ptr addrspace(1) %432, align 2, !invariant.load !142
800  %434 = sitofp i8 %433 to float
801  %multiply.18538.2 = fmul float %434, 0x3FC3BF2820000000
802  %multiply.53539.2 = fmul float %multiply.1032.2, %multiply.18538.2
803  %add.57.i923.2 = fadd float %add.57.i923.1, %multiply.53539.2
804  %435 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556418
805  %436 = load i8, ptr addrspace(1) %435, align 2, !invariant.load !142
806  %437 = sitofp i8 %436 to float
807  %multiply.18538.3 = fmul float %437, 0x3FC3BF2820000000
808  %multiply.53539.3 = fmul float %multiply.1032.3, %multiply.18538.3
809  %add.57.i923.3 = fadd float %add.57.i923.2, %multiply.53539.3
810  %438 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556422
811  %439 = load i8, ptr addrspace(1) %438, align 2, !invariant.load !142
812  %440 = sitofp i8 %439 to float
813  %multiply.18538.4 = fmul float %440, 0x3FC3BF2820000000
814  %multiply.53539.4 = fmul float %multiply.1032.4, %multiply.18538.4
815  %add.57.i923.4 = fadd float %add.57.i923.3, %multiply.53539.4
816  %441 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556426
817  %442 = load i8, ptr addrspace(1) %441, align 2, !invariant.load !142
818  %443 = sitofp i8 %442 to float
819  %multiply.18538.5 = fmul float %443, 0x3FC3BF2820000000
820  %multiply.53539.5 = fmul float %multiply.1032.5, %multiply.18538.5
821  %add.57.i923.5 = fadd float %add.57.i923.4, %multiply.53539.5
822  %444 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556930
823  %445 = load i8, ptr addrspace(1) %444, align 2, !invariant.load !142
824  %446 = sitofp i8 %445 to float
825  %multiply.18538.6 = fmul float %446, 0x3FC3BF2820000000
826  %multiply.53539.6 = fmul float %multiply.1032.6, %multiply.18538.6
827  %add.57.i923.6 = fadd float %add.57.i923.5, %multiply.53539.6
828  %447 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556934
829  %448 = load i8, ptr addrspace(1) %447, align 2, !invariant.load !142
830  %449 = sitofp i8 %448 to float
831  %multiply.18538.7 = fmul float %449, 0x3FC3BF2820000000
832  %multiply.53539.7 = fmul float %multiply.1032.7, %multiply.18538.7
833  %add.57.i923.7 = fadd float %add.57.i923.6, %multiply.53539.7
834  %450 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556938
835  %451 = load i8, ptr addrspace(1) %450, align 2, !invariant.load !142
836  %452 = sitofp i8 %451 to float
837  %multiply.18538.8 = fmul float %452, 0x3FC3BF2820000000
838  %multiply.53539.8 = fmul float %multiply.1032.8, %multiply.18538.8
839  %add.57.i923.8 = fadd float %add.57.i923.7, %multiply.53539.8
840  %453 = fptrunc float %add.57.i923.8 to half
841  %454 = getelementptr inbounds half, ptr addrspace(1) %100, i64 10
842  store half %453, ptr addrspace(1) %454, align 4
843  %455 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2555907
844  %456 = load i8, ptr addrspace(1) %455, align 1, !invariant.load !142
845  %457 = sitofp i8 %456 to float
846  %multiply.18590 = fmul float %457, 0x3FC3BF2820000000
847  %multiply.53591 = fmul float %multiply.1032, %multiply.18590
848  %add.57.i924 = fadd float %multiply.53591, 0.000000e+00
849  %458 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2555911
850  %459 = load i8, ptr addrspace(1) %458, align 1, !invariant.load !142
851  %460 = sitofp i8 %459 to float
852  %multiply.18590.1 = fmul float %460, 0x3FC3BF2820000000
853  %multiply.53591.1 = fmul float %multiply.1032.1, %multiply.18590.1
854  %add.57.i924.1 = fadd float %add.57.i924, %multiply.53591.1
855  %461 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2555915
856  %462 = load i8, ptr addrspace(1) %461, align 1, !invariant.load !142
857  %463 = sitofp i8 %462 to float
858  %multiply.18590.2 = fmul float %463, 0x3FC3BF2820000000
859  %multiply.53591.2 = fmul float %multiply.1032.2, %multiply.18590.2
860  %add.57.i924.2 = fadd float %add.57.i924.1, %multiply.53591.2
861  %464 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556419
862  %465 = load i8, ptr addrspace(1) %464, align 1, !invariant.load !142
863  %466 = sitofp i8 %465 to float
864  %multiply.18590.3 = fmul float %466, 0x3FC3BF2820000000
865  %multiply.53591.3 = fmul float %multiply.1032.3, %multiply.18590.3
866  %add.57.i924.3 = fadd float %add.57.i924.2, %multiply.53591.3
867  %467 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556423
868  %468 = load i8, ptr addrspace(1) %467, align 1, !invariant.load !142
869  %469 = sitofp i8 %468 to float
870  %multiply.18590.4 = fmul float %469, 0x3FC3BF2820000000
871  %multiply.53591.4 = fmul float %multiply.1032.4, %multiply.18590.4
872  %add.57.i924.4 = fadd float %add.57.i924.3, %multiply.53591.4
873  %470 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556427
874  %471 = load i8, ptr addrspace(1) %470, align 1, !invariant.load !142
875  %472 = sitofp i8 %471 to float
876  %multiply.18590.5 = fmul float %472, 0x3FC3BF2820000000
877  %multiply.53591.5 = fmul float %multiply.1032.5, %multiply.18590.5
878  %add.57.i924.5 = fadd float %add.57.i924.4, %multiply.53591.5
879  %473 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556931
880  %474 = load i8, ptr addrspace(1) %473, align 1, !invariant.load !142
881  %475 = sitofp i8 %474 to float
882  %multiply.18590.6 = fmul float %475, 0x3FC3BF2820000000
883  %multiply.53591.6 = fmul float %multiply.1032.6, %multiply.18590.6
884  %add.57.i924.6 = fadd float %add.57.i924.5, %multiply.53591.6
885  %476 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556935
886  %477 = load i8, ptr addrspace(1) %476, align 1, !invariant.load !142
887  %478 = sitofp i8 %477 to float
888  %multiply.18590.7 = fmul float %478, 0x3FC3BF2820000000
889  %multiply.53591.7 = fmul float %multiply.1032.7, %multiply.18590.7
890  %add.57.i924.7 = fadd float %add.57.i924.6, %multiply.53591.7
891  %479 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 2556939
892  %480 = load i8, ptr addrspace(1) %479, align 1, !invariant.load !142
893  %481 = sitofp i8 %480 to float
894  %multiply.18590.8 = fmul float %481, 0x3FC3BF2820000000
895  %multiply.53591.8 = fmul float %multiply.1032.8, %multiply.18590.8
896  %add.57.i924.8 = fadd float %add.57.i924.7, %multiply.53591.8
897  %482 = fptrunc float %add.57.i924.8 to half
898  %483 = getelementptr inbounds half, ptr addrspace(1) %100, i64 11
899  store half %482, ptr addrspace(1) %483, align 2
900  %484 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3833856
901  %485 = load i8, ptr addrspace(1) %484, align 4, !invariant.load !142
902  %486 = sitofp i8 %485 to float
903  %multiply.18642 = fmul float %486, 0x3FC3BF2820000000
904  %multiply.53643 = fmul float %multiply.1032, %multiply.18642
905  %add.57.i925 = fadd float %multiply.53643, 0.000000e+00
906  %487 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3833860
907  %488 = load i8, ptr addrspace(1) %487, align 4, !invariant.load !142
908  %489 = sitofp i8 %488 to float
909  %multiply.18642.1 = fmul float %489, 0x3FC3BF2820000000
910  %multiply.53643.1 = fmul float %multiply.1032.1, %multiply.18642.1
911  %add.57.i925.1 = fadd float %add.57.i925, %multiply.53643.1
912  %490 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3833864
913  %491 = load i8, ptr addrspace(1) %490, align 4, !invariant.load !142
914  %492 = sitofp i8 %491 to float
915  %multiply.18642.2 = fmul float %492, 0x3FC3BF2820000000
916  %multiply.53643.2 = fmul float %multiply.1032.2, %multiply.18642.2
917  %add.57.i925.2 = fadd float %add.57.i925.1, %multiply.53643.2
918  %493 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834368
919  %494 = load i8, ptr addrspace(1) %493, align 4, !invariant.load !142
920  %495 = sitofp i8 %494 to float
921  %multiply.18642.3 = fmul float %495, 0x3FC3BF2820000000
922  %multiply.53643.3 = fmul float %multiply.1032.3, %multiply.18642.3
923  %add.57.i925.3 = fadd float %add.57.i925.2, %multiply.53643.3
924  %496 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834372
925  %497 = load i8, ptr addrspace(1) %496, align 4, !invariant.load !142
926  %498 = sitofp i8 %497 to float
927  %multiply.18642.4 = fmul float %498, 0x3FC3BF2820000000
928  %multiply.53643.4 = fmul float %multiply.1032.4, %multiply.18642.4
929  %add.57.i925.4 = fadd float %add.57.i925.3, %multiply.53643.4
930  %499 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834376
931  %500 = load i8, ptr addrspace(1) %499, align 4, !invariant.load !142
932  %501 = sitofp i8 %500 to float
933  %multiply.18642.5 = fmul float %501, 0x3FC3BF2820000000
934  %multiply.53643.5 = fmul float %multiply.1032.5, %multiply.18642.5
935  %add.57.i925.5 = fadd float %add.57.i925.4, %multiply.53643.5
936  %502 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834880
937  %503 = load i8, ptr addrspace(1) %502, align 4, !invariant.load !142
938  %504 = sitofp i8 %503 to float
939  %multiply.18642.6 = fmul float %504, 0x3FC3BF2820000000
940  %multiply.53643.6 = fmul float %multiply.1032.6, %multiply.18642.6
941  %add.57.i925.6 = fadd float %add.57.i925.5, %multiply.53643.6
942  %505 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834884
943  %506 = load i8, ptr addrspace(1) %505, align 4, !invariant.load !142
944  %507 = sitofp i8 %506 to float
945  %multiply.18642.7 = fmul float %507, 0x3FC3BF2820000000
946  %multiply.53643.7 = fmul float %multiply.1032.7, %multiply.18642.7
947  %add.57.i925.7 = fadd float %add.57.i925.6, %multiply.53643.7
948  %508 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834888
949  %509 = load i8, ptr addrspace(1) %508, align 4, !invariant.load !142
950  %510 = sitofp i8 %509 to float
951  %multiply.18642.8 = fmul float %510, 0x3FC3BF2820000000
952  %multiply.53643.8 = fmul float %multiply.1032.8, %multiply.18642.8
953  %add.57.i925.8 = fadd float %add.57.i925.7, %multiply.53643.8
954  %511 = fptrunc float %add.57.i925.8 to half
955  %512 = getelementptr inbounds half, ptr addrspace(1) %100, i64 12
956  store half %511, ptr addrspace(1) %512, align 8
957  %513 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3833857
958  %514 = load i8, ptr addrspace(1) %513, align 1, !invariant.load !142
959  %515 = sitofp i8 %514 to float
960  %multiply.18694 = fmul float %515, 0x3FC3BF2820000000
961  %multiply.53695 = fmul float %multiply.1032, %multiply.18694
962  %add.57.i926 = fadd float %multiply.53695, 0.000000e+00
963  %516 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3833861
964  %517 = load i8, ptr addrspace(1) %516, align 1, !invariant.load !142
965  %518 = sitofp i8 %517 to float
966  %multiply.18694.1 = fmul float %518, 0x3FC3BF2820000000
967  %multiply.53695.1 = fmul float %multiply.1032.1, %multiply.18694.1
968  %add.57.i926.1 = fadd float %add.57.i926, %multiply.53695.1
969  %519 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3833865
970  %520 = load i8, ptr addrspace(1) %519, align 1, !invariant.load !142
971  %521 = sitofp i8 %520 to float
972  %multiply.18694.2 = fmul float %521, 0x3FC3BF2820000000
973  %multiply.53695.2 = fmul float %multiply.1032.2, %multiply.18694.2
974  %add.57.i926.2 = fadd float %add.57.i926.1, %multiply.53695.2
975  %522 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834369
976  %523 = load i8, ptr addrspace(1) %522, align 1, !invariant.load !142
977  %524 = sitofp i8 %523 to float
978  %multiply.18694.3 = fmul float %524, 0x3FC3BF2820000000
979  %multiply.53695.3 = fmul float %multiply.1032.3, %multiply.18694.3
980  %add.57.i926.3 = fadd float %add.57.i926.2, %multiply.53695.3
981  %525 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834373
982  %526 = load i8, ptr addrspace(1) %525, align 1, !invariant.load !142
983  %527 = sitofp i8 %526 to float
984  %multiply.18694.4 = fmul float %527, 0x3FC3BF2820000000
985  %multiply.53695.4 = fmul float %multiply.1032.4, %multiply.18694.4
986  %add.57.i926.4 = fadd float %add.57.i926.3, %multiply.53695.4
987  %528 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834377
988  %529 = load i8, ptr addrspace(1) %528, align 1, !invariant.load !142
989  %530 = sitofp i8 %529 to float
990  %multiply.18694.5 = fmul float %530, 0x3FC3BF2820000000
991  %multiply.53695.5 = fmul float %multiply.1032.5, %multiply.18694.5
992  %add.57.i926.5 = fadd float %add.57.i926.4, %multiply.53695.5
993  %531 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834881
994  %532 = load i8, ptr addrspace(1) %531, align 1, !invariant.load !142
995  %533 = sitofp i8 %532 to float
996  %multiply.18694.6 = fmul float %533, 0x3FC3BF2820000000
997  %multiply.53695.6 = fmul float %multiply.1032.6, %multiply.18694.6
998  %add.57.i926.6 = fadd float %add.57.i926.5, %multiply.53695.6
999  %534 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834885
1000  %535 = load i8, ptr addrspace(1) %534, align 1, !invariant.load !142
1001  %536 = sitofp i8 %535 to float
1002  %multiply.18694.7 = fmul float %536, 0x3FC3BF2820000000
1003  %multiply.53695.7 = fmul float %multiply.1032.7, %multiply.18694.7
1004  %add.57.i926.7 = fadd float %add.57.i926.6, %multiply.53695.7
1005  %537 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834889
1006  %538 = load i8, ptr addrspace(1) %537, align 1, !invariant.load !142
1007  %539 = sitofp i8 %538 to float
1008  %multiply.18694.8 = fmul float %539, 0x3FC3BF2820000000
1009  %multiply.53695.8 = fmul float %multiply.1032.8, %multiply.18694.8
1010  %add.57.i926.8 = fadd float %add.57.i926.7, %multiply.53695.8
1011  %540 = fptrunc float %add.57.i926.8 to half
1012  %541 = getelementptr inbounds half, ptr addrspace(1) %100, i64 13
1013  store half %540, ptr addrspace(1) %541, align 2
1014  %542 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3833858
1015  %543 = load i8, ptr addrspace(1) %542, align 2, !invariant.load !142
1016  %544 = sitofp i8 %543 to float
1017  %multiply.18746 = fmul float %544, 0x3FC3BF2820000000
1018  %multiply.53747 = fmul float %multiply.1032, %multiply.18746
1019  %add.57.i927 = fadd float %multiply.53747, 0.000000e+00
1020  %545 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3833862
1021  %546 = load i8, ptr addrspace(1) %545, align 2, !invariant.load !142
1022  %547 = sitofp i8 %546 to float
1023  %multiply.18746.1 = fmul float %547, 0x3FC3BF2820000000
1024  %multiply.53747.1 = fmul float %multiply.1032.1, %multiply.18746.1
1025  %add.57.i927.1 = fadd float %add.57.i927, %multiply.53747.1
1026  %548 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3833866
1027  %549 = load i8, ptr addrspace(1) %548, align 2, !invariant.load !142
1028  %550 = sitofp i8 %549 to float
1029  %multiply.18746.2 = fmul float %550, 0x3FC3BF2820000000
1030  %multiply.53747.2 = fmul float %multiply.1032.2, %multiply.18746.2
1031  %add.57.i927.2 = fadd float %add.57.i927.1, %multiply.53747.2
1032  %551 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834370
1033  %552 = load i8, ptr addrspace(1) %551, align 2, !invariant.load !142
1034  %553 = sitofp i8 %552 to float
1035  %multiply.18746.3 = fmul float %553, 0x3FC3BF2820000000
1036  %multiply.53747.3 = fmul float %multiply.1032.3, %multiply.18746.3
1037  %add.57.i927.3 = fadd float %add.57.i927.2, %multiply.53747.3
1038  %554 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834374
1039  %555 = load i8, ptr addrspace(1) %554, align 2, !invariant.load !142
1040  %556 = sitofp i8 %555 to float
1041  %multiply.18746.4 = fmul float %556, 0x3FC3BF2820000000
1042  %multiply.53747.4 = fmul float %multiply.1032.4, %multiply.18746.4
1043  %add.57.i927.4 = fadd float %add.57.i927.3, %multiply.53747.4
1044  %557 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834378
1045  %558 = load i8, ptr addrspace(1) %557, align 2, !invariant.load !142
1046  %559 = sitofp i8 %558 to float
1047  %multiply.18746.5 = fmul float %559, 0x3FC3BF2820000000
1048  %multiply.53747.5 = fmul float %multiply.1032.5, %multiply.18746.5
1049  %add.57.i927.5 = fadd float %add.57.i927.4, %multiply.53747.5
1050  %560 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834882
1051  %561 = load i8, ptr addrspace(1) %560, align 2, !invariant.load !142
1052  %562 = sitofp i8 %561 to float
1053  %multiply.18746.6 = fmul float %562, 0x3FC3BF2820000000
1054  %multiply.53747.6 = fmul float %multiply.1032.6, %multiply.18746.6
1055  %add.57.i927.6 = fadd float %add.57.i927.5, %multiply.53747.6
1056  %563 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834886
1057  %564 = load i8, ptr addrspace(1) %563, align 2, !invariant.load !142
1058  %565 = sitofp i8 %564 to float
1059  %multiply.18746.7 = fmul float %565, 0x3FC3BF2820000000
1060  %multiply.53747.7 = fmul float %multiply.1032.7, %multiply.18746.7
1061  %add.57.i927.7 = fadd float %add.57.i927.6, %multiply.53747.7
1062  %566 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834890
1063  %567 = load i8, ptr addrspace(1) %566, align 2, !invariant.load !142
1064  %568 = sitofp i8 %567 to float
1065  %multiply.18746.8 = fmul float %568, 0x3FC3BF2820000000
1066  %multiply.53747.8 = fmul float %multiply.1032.8, %multiply.18746.8
1067  %add.57.i927.8 = fadd float %add.57.i927.7, %multiply.53747.8
1068  %569 = fptrunc float %add.57.i927.8 to half
1069  %570 = getelementptr inbounds half, ptr addrspace(1) %100, i64 14
1070  store half %569, ptr addrspace(1) %570, align 4
1071  %571 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3833859
1072  %572 = load i8, ptr addrspace(1) %571, align 1, !invariant.load !142
1073  %573 = sitofp i8 %572 to float
1074  %multiply.18798 = fmul float %573, 0x3FC3BF2820000000
1075  %multiply.53799 = fmul float %multiply.1032, %multiply.18798
1076  %add.57.i928 = fadd float %multiply.53799, 0.000000e+00
1077  %574 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3833863
1078  %575 = load i8, ptr addrspace(1) %574, align 1, !invariant.load !142
1079  %576 = sitofp i8 %575 to float
1080  %multiply.18798.1 = fmul float %576, 0x3FC3BF2820000000
1081  %multiply.53799.1 = fmul float %multiply.1032.1, %multiply.18798.1
1082  %add.57.i928.1 = fadd float %add.57.i928, %multiply.53799.1
1083  %577 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3833867
1084  %578 = load i8, ptr addrspace(1) %577, align 1, !invariant.load !142
1085  %579 = sitofp i8 %578 to float
1086  %multiply.18798.2 = fmul float %579, 0x3FC3BF2820000000
1087  %multiply.53799.2 = fmul float %multiply.1032.2, %multiply.18798.2
1088  %add.57.i928.2 = fadd float %add.57.i928.1, %multiply.53799.2
1089  %580 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834371
1090  %581 = load i8, ptr addrspace(1) %580, align 1, !invariant.load !142
1091  %582 = sitofp i8 %581 to float
1092  %multiply.18798.3 = fmul float %582, 0x3FC3BF2820000000
1093  %multiply.53799.3 = fmul float %multiply.1032.3, %multiply.18798.3
1094  %add.57.i928.3 = fadd float %add.57.i928.2, %multiply.53799.3
1095  %583 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834375
1096  %584 = load i8, ptr addrspace(1) %583, align 1, !invariant.load !142
1097  %585 = sitofp i8 %584 to float
1098  %multiply.18798.4 = fmul float %585, 0x3FC3BF2820000000
1099  %multiply.53799.4 = fmul float %multiply.1032.4, %multiply.18798.4
1100  %add.57.i928.4 = fadd float %add.57.i928.3, %multiply.53799.4
1101  %586 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834379
1102  %587 = load i8, ptr addrspace(1) %586, align 1, !invariant.load !142
1103  %588 = sitofp i8 %587 to float
1104  %multiply.18798.5 = fmul float %588, 0x3FC3BF2820000000
1105  %multiply.53799.5 = fmul float %multiply.1032.5, %multiply.18798.5
1106  %add.57.i928.5 = fadd float %add.57.i928.4, %multiply.53799.5
1107  %589 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834883
1108  %590 = load i8, ptr addrspace(1) %589, align 1, !invariant.load !142
1109  %591 = sitofp i8 %590 to float
1110  %multiply.18798.6 = fmul float %591, 0x3FC3BF2820000000
1111  %multiply.53799.6 = fmul float %multiply.1032.6, %multiply.18798.6
1112  %add.57.i928.6 = fadd float %add.57.i928.5, %multiply.53799.6
1113  %592 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834887
1114  %593 = load i8, ptr addrspace(1) %592, align 1, !invariant.load !142
1115  %594 = sitofp i8 %593 to float
1116  %multiply.18798.7 = fmul float %594, 0x3FC3BF2820000000
1117  %multiply.53799.7 = fmul float %multiply.1032.7, %multiply.18798.7
1118  %add.57.i928.7 = fadd float %add.57.i928.6, %multiply.53799.7
1119  %595 = getelementptr inbounds i8, ptr addrspace(1) %144, i64 3834891
1120  %596 = load i8, ptr addrspace(1) %595, align 1, !invariant.load !142
1121  %597 = sitofp i8 %596 to float
1122  %multiply.18798.8 = fmul float %597, 0x3FC3BF2820000000
1123  %multiply.53799.8 = fmul float %multiply.1032.8, %multiply.18798.8
1124  %add.57.i928.8 = fadd float %add.57.i928.7, %multiply.53799.8
1125  %598 = fptrunc float %add.57.i928.8 to half
1126  %599 = getelementptr inbounds half, ptr addrspace(1) %100, i64 15
1127  store half %598, ptr addrspace(1) %599, align 2
1128  ret void
1129}
1130
1131attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
1132attributes #1 = { mustprogress nofree nosync nounwind willreturn memory(argmem: readwrite) }
1133
1134!140 = !{i32 0, i32 8658}
1135!141 = !{i32 0, i32 64}
1136!142 = !{}
1137