247 {
248 register DP_VEC_TYPE r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,rA,rB,rC,rD,rE,rF;
249
250
251 r0 = SET_VEC_PD(0.01);
252 r1 = SET_VEC_PD(0.02);
253 r2 = SET_VEC_PD(0.03);
254 r3 = SET_VEC_PD(0.04);
255 r4 = SET_VEC_PD(0.05);
256 r5 = SET_VEC_PD(0.06);
257 r6 = SET_VEC_PD(0.07);
258 r7 = SET_VEC_PD(0.08);
259 r8 = SET_VEC_PD(0.09);
260 r9 = SET_VEC_PD(0.10);
261 rA = SET_VEC_PD(0.11);
262 rB = SET_VEC_PD(0.12);
263 rC = SET_VEC_PD(0.13);
264 rD = SET_VEC_PD(0.14);
265 rE = SET_VEC_PD(0.15);
266 rF = SET_VEC_PD(0.16);
267
268
270 return -1;
271 }
272
274 while (
c < iterations){
277
278
279 r0 = MUL_VEC_PD(r0,rC);
280 r1 = ADD_VEC_PD(r1,rD);
281 r2 = MUL_VEC_PD(r2,rE);
282 r3 = ADD_VEC_PD(r3,rF);
283 r4 = MUL_VEC_PD(r4,rC);
284 r5 = ADD_VEC_PD(r5,rD);
285 r6 = MUL_VEC_PD(r6,rE);
286 r7 = ADD_VEC_PD(r7,rF);
287 r8 = MUL_VEC_PD(r8,rC);
288 r9 = ADD_VEC_PD(r9,rD);
289 rA = MUL_VEC_PD(rA,rE);
290 rB = ADD_VEC_PD(rB,rF);
291
292 r0 = ADD_VEC_PD(r0,rF);
293 r1 = MUL_VEC_PD(r1,rE);
294 r2 = ADD_VEC_PD(r2,rD);
295 r3 = MUL_VEC_PD(r3,rC);
296 r4 = ADD_VEC_PD(r4,rF);
297 r5 = MUL_VEC_PD(r5,rE);
298 r6 = ADD_VEC_PD(r6,rD);
299 r7 = MUL_VEC_PD(r7,rC);
300 r8 = ADD_VEC_PD(r8,rF);
301 r9 = MUL_VEC_PD(r9,rE);
302 rA = ADD_VEC_PD(rA,rD);
303 rB = MUL_VEC_PD(rB,rC);
304
305 r0 = MUL_VEC_PD(r0,rC);
306 r1 = ADD_VEC_PD(r1,rD);
307 r2 = MUL_VEC_PD(r2,rE);
308 r3 = ADD_VEC_PD(r3,rF);
309 r4 = MUL_VEC_PD(r4,rC);
310 r5 = ADD_VEC_PD(r5,rD);
311 r6 = MUL_VEC_PD(r6,rE);
312 r7 = ADD_VEC_PD(r7,rF);
313 r8 = MUL_VEC_PD(r8,rC);
314 r9 = ADD_VEC_PD(r9,rD);
315 rA = MUL_VEC_PD(rA,rE);
316 rB = ADD_VEC_PD(rB,rF);
317
318 r0 = ADD_VEC_PD(r0,rF);
319 r1 = MUL_VEC_PD(r1,rE);
320 r2 = ADD_VEC_PD(r2,rD);
321 r3 = MUL_VEC_PD(r3,rC);
322 r4 = ADD_VEC_PD(r4,rF);
323 r5 = MUL_VEC_PD(r5,rE);
324 r6 = ADD_VEC_PD(r6,rD);
325 r7 = MUL_VEC_PD(r7,rC);
326 r8 = ADD_VEC_PD(r8,rF);
327 r9 = MUL_VEC_PD(r9,rE);
328 rA = ADD_VEC_PD(rA,rD);
329 rB = MUL_VEC_PD(rB,rC);
330
331 r0 = MUL_VEC_PD(r0,rC);
332 r1 = ADD_VEC_PD(r1,rD);
333 r2 = MUL_VEC_PD(r2,rE);
334 r3 = ADD_VEC_PD(r3,rF);
335 r4 = MUL_VEC_PD(r4,rC);
336 r5 = ADD_VEC_PD(r5,rD);
337 r6 = MUL_VEC_PD(r6,rE);
338 r7 = ADD_VEC_PD(r7,rF);
339 r8 = MUL_VEC_PD(r8,rC);
340 r9 = ADD_VEC_PD(r9,rD);
341 rA = MUL_VEC_PD(rA,rE);
342 rB = ADD_VEC_PD(rB,rF);
343
344 r0 = ADD_VEC_PD(r0,rF);
345 r1 = MUL_VEC_PD(r1,rE);
346 r2 = ADD_VEC_PD(r2,rD);
347 r3 = MUL_VEC_PD(r3,rC);
348 r4 = ADD_VEC_PD(r4,rF);
349 r5 = MUL_VEC_PD(r5,rE);
350 r6 = ADD_VEC_PD(r6,rD);
351 r7 = MUL_VEC_PD(r7,rC);
352 r8 = ADD_VEC_PD(r8,rF);
353 r9 = MUL_VEC_PD(r9,rE);
354 rA = ADD_VEC_PD(rA,rD);
355 rB = MUL_VEC_PD(rB,rC);
356
357 r0 = MUL_VEC_PD(r0,rC);
358 r1 = ADD_VEC_PD(r1,rD);
359 r2 = MUL_VEC_PD(r2,rE);
360 r3 = ADD_VEC_PD(r3,rF);
361 r4 = MUL_VEC_PD(r4,rC);
362 r5 = ADD_VEC_PD(r5,rD);
363 r6 = MUL_VEC_PD(r6,rE);
364 r7 = ADD_VEC_PD(r7,rF);
365 r8 = MUL_VEC_PD(r8,rC);
366 r9 = ADD_VEC_PD(r9,rD);
367 rA = MUL_VEC_PD(rA,rE);
368 rB = ADD_VEC_PD(rB,rF);
369
370 r0 = ADD_VEC_PD(r0,rF);
371 r1 = MUL_VEC_PD(r1,rE);
372 r2 = ADD_VEC_PD(r2,rD);
373 r3 = MUL_VEC_PD(r3,rC);
374 r4 = ADD_VEC_PD(r4,rF);
375 r5 = MUL_VEC_PD(r5,rE);
376 r6 = ADD_VEC_PD(r6,rD);
377 r7 = MUL_VEC_PD(r7,rC);
378 r8 = ADD_VEC_PD(r8,rF);
379 r9 = MUL_VEC_PD(r9,rE);
380 rA = ADD_VEC_PD(rA,rD);
381 rB = MUL_VEC_PD(rB,rC);
382
384 }
386 }
387
388
390
391
392 r0 = ADD_VEC_PD(r0,r1);
393 r2 = ADD_VEC_PD(r2,r3);
394 r4 = ADD_VEC_PD(r4,r5);
395 r6 = ADD_VEC_PD(r6,r7);
396 r8 = ADD_VEC_PD(r8,r9);
397 rA = ADD_VEC_PD(rA,rB);
398
399 r0 = ADD_VEC_PD(r0,r2);
400 r4 = ADD_VEC_PD(r4,r6);
401 r8 = ADD_VEC_PD(r8,rA);
402
403 r0 = ADD_VEC_PD(r0,r4);
404 r0 = ADD_VEC_PD(r0,r8);
405
406 double out = 0;
407 DP_VEC_TYPE temp = r0;
408 out += ((double*)&temp)[0];
409 out += ((double*)&temp)[1];
410
411 return out;
412}