205 {
206 register SP_VEC_TYPE r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,rA,rB,rC,rD,rE,rF;
207
208
209 r0 = SET_VEC_PS(0.01);
210 r1 = SET_VEC_PS(0.02);
211 r2 = SET_VEC_PS(0.03);
212 r3 = SET_VEC_PS(0.04);
213 r4 = SET_VEC_PS(0.05);
214 r5 = SET_VEC_PS(0.06);
215 r6 = SET_VEC_PS(0.07);
216 r7 = SET_VEC_PS(0.08);
217 r8 = SET_VEC_PS(0.09);
218 r9 = SET_VEC_PS(0.10);
219 rA = SET_VEC_PS(0.11);
220 rB = SET_VEC_PS(0.12);
221 rC = SET_VEC_PS(0.13);
222 rD = SET_VEC_PS(0.14);
223 rE = SET_VEC_PS(0.15);
224 rF = SET_VEC_PS(0.16);
225
226
228 return -1;
229 }
230
232 while (
c < iterations){
235
236
237 r0 = FMA_VEC_PS(r0,r7,r9);
238 r1 = FMA_VEC_PS(r1,r8,rA);
239 r2 = FMA_VEC_PS(r2,r9,rB);
240 r3 = FMA_VEC_PS(r3,rA,rC);
241 r4 = FMA_VEC_PS(r4,rB,rD);
242 r5 = FMA_VEC_PS(r5,rC,rE);
243
244 r0 = FMA_VEC_PS(r0,rD,rF);
245 r1 = FMA_VEC_PS(r1,rC,rE);
246 r2 = FMA_VEC_PS(r2,rB,rD);
247 r3 = FMA_VEC_PS(r3,rA,rC);
248 r4 = FMA_VEC_PS(r4,r9,rB);
249 r5 = FMA_VEC_PS(r5,r8,rA);
250
251 r0 = FMA_VEC_PS(r0,r7,r9);
252 r1 = FMA_VEC_PS(r1,r8,rA);
253 r2 = FMA_VEC_PS(r2,r9,rB);
254 r3 = FMA_VEC_PS(r3,rA,rC);
255 r4 = FMA_VEC_PS(r4,rB,rD);
256 r5 = FMA_VEC_PS(r5,rC,rE);
257
258 r0 = FMA_VEC_PS(r0,rD,rF);
259 r1 = FMA_VEC_PS(r1,rC,rE);
260 r2 = FMA_VEC_PS(r2,rB,rD);
261 r3 = FMA_VEC_PS(r3,rA,rC);
262 r4 = FMA_VEC_PS(r4,r9,rB);
263 r5 = FMA_VEC_PS(r5,r8,rA);
264
265 r0 = FMA_VEC_PS(r0,r7,r9);
266 r1 = FMA_VEC_PS(r1,r8,rA);
267 r2 = FMA_VEC_PS(r2,r9,rB);
268 r3 = FMA_VEC_PS(r3,rA,rC);
269 r4 = FMA_VEC_PS(r4,rB,rD);
270 r5 = FMA_VEC_PS(r5,rC,rE);
271
272 r0 = FMA_VEC_PS(r0,rD,rF);
273 r1 = FMA_VEC_PS(r1,rC,rE);
274 r2 = FMA_VEC_PS(r2,rB,rD);
275 r3 = FMA_VEC_PS(r3,rA,rC);
276 r4 = FMA_VEC_PS(r4,r9,rB);
277 r5 = FMA_VEC_PS(r5,r8,rA);
278
279 r0 = FMA_VEC_PS(r0,r7,r9);
280 r1 = FMA_VEC_PS(r1,r8,rA);
281 r2 = FMA_VEC_PS(r2,r9,rB);
282 r3 = FMA_VEC_PS(r3,rA,rC);
283 r4 = FMA_VEC_PS(r4,rB,rD);
284 r5 = FMA_VEC_PS(r5,rC,rE);
285
286 r0 = FMA_VEC_PS(r0,rD,rF);
287 r1 = FMA_VEC_PS(r1,rC,rE);
288 r2 = FMA_VEC_PS(r2,rB,rD);
289 r3 = FMA_VEC_PS(r3,rA,rC);
290 r4 = FMA_VEC_PS(r4,r9,rB);
291 r5 = FMA_VEC_PS(r5,r8,rA);
292
294 }
296 }
297
298
300
301
302 r0 = ADD_VEC_PS(r0,r1);
303 r2 = ADD_VEC_PS(r2,r3);
304 r4 = ADD_VEC_PS(r4,r5);
305
306 r0 = ADD_VEC_PS(r0,r6);
307 r2 = ADD_VEC_PS(r2,r4);
308
309 r0 = ADD_VEC_PS(r0,r2);
310
311 float out = 0;
312 SP_VEC_TYPE temp = r0;
313 out += ((float*)&temp)[0];
314 out += ((float*)&temp)[1];
315 out += ((float*)&temp)[2];
316 out += ((float*)&temp)[3];
317
318 return out;
319}