1
2 #include "simint/ostei/gen/ostei_generated.h"
3 //////////////////////////////////////////////
4 // VRR: ( h s | s s )
5 //////////////////////////////////////////////
VRR_I_h_s_s_s(SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_s_s,const SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_s_s,const SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_s_s,const SIMINT_DBLTYPE * P_PA,const SIMINT_DBLTYPE a_over_p,const SIMINT_DBLTYPE * aop_PQ,const SIMINT_DBLTYPE one_over_2p,const int num_n)6 void VRR_I_h_s_s_s(
7 SIMINT_DBLTYPE * const restrict PRIM_INT__h_s_s_s,
8 const SIMINT_DBLTYPE * const restrict PRIM_INT__g_s_s_s,
9 const SIMINT_DBLTYPE * const restrict PRIM_INT__f_s_s_s,
10 const SIMINT_DBLTYPE * P_PA,
11 const SIMINT_DBLTYPE a_over_p,
12 const SIMINT_DBLTYPE * aop_PQ,
13 const SIMINT_DBLTYPE one_over_2p,
14 const int num_n)
15 {
16 int n = 0;
17 const SIMINT_DBLTYPE vrr_const_1_over_2p = SIMINT_MUL(SIMINT_DBLSET1(1), one_over_2p);
18 const SIMINT_DBLTYPE vrr_const_4_over_2p = SIMINT_MUL(SIMINT_DBLSET1(4), one_over_2p);
19
20 // Forming PRIM_INT__h_s_s_s[num_n * 21];
21 for(n = 0; n < num_n; ++n) // loop over orders of auxiliary function
22 {
23
24 PRIM_INT__h_s_s_s[n * 21 + 0] = SIMINT_MUL(P_PA[0], PRIM_INT__g_s_s_s[n * 15 + 0]);
25 PRIM_INT__h_s_s_s[n * 21 + 0] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__g_s_s_s[(n+1) * 15 + 0], PRIM_INT__h_s_s_s[n * 21 + 0]);
26 PRIM_INT__h_s_s_s[n * 21 + 0] = SIMINT_FMADD( vrr_const_4_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__f_s_s_s[(n+1) * 10 + 0], PRIM_INT__f_s_s_s[n * 10 + 0]), PRIM_INT__h_s_s_s[n * 21 + 0]);
27
28 PRIM_INT__h_s_s_s[n * 21 + 1] = SIMINT_MUL(P_PA[1], PRIM_INT__g_s_s_s[n * 15 + 0]);
29 PRIM_INT__h_s_s_s[n * 21 + 1] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__g_s_s_s[(n+1) * 15 + 0], PRIM_INT__h_s_s_s[n * 21 + 1]);
30
31 PRIM_INT__h_s_s_s[n * 21 + 2] = SIMINT_MUL(P_PA[2], PRIM_INT__g_s_s_s[n * 15 + 0]);
32 PRIM_INT__h_s_s_s[n * 21 + 2] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__g_s_s_s[(n+1) * 15 + 0], PRIM_INT__h_s_s_s[n * 21 + 2]);
33
34 PRIM_INT__h_s_s_s[n * 21 + 3] = SIMINT_MUL(P_PA[1], PRIM_INT__g_s_s_s[n * 15 + 1]);
35 PRIM_INT__h_s_s_s[n * 21 + 3] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__g_s_s_s[(n+1) * 15 + 1], PRIM_INT__h_s_s_s[n * 21 + 3]);
36 PRIM_INT__h_s_s_s[n * 21 + 3] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__f_s_s_s[(n+1) * 10 + 0], PRIM_INT__f_s_s_s[n * 10 + 0]), PRIM_INT__h_s_s_s[n * 21 + 3]);
37
38 PRIM_INT__h_s_s_s[n * 21 + 4] = SIMINT_MUL(P_PA[2], PRIM_INT__g_s_s_s[n * 15 + 1]);
39 PRIM_INT__h_s_s_s[n * 21 + 4] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__g_s_s_s[(n+1) * 15 + 1], PRIM_INT__h_s_s_s[n * 21 + 4]);
40
41 PRIM_INT__h_s_s_s[n * 21 + 5] = SIMINT_MUL(P_PA[2], PRIM_INT__g_s_s_s[n * 15 + 2]);
42 PRIM_INT__h_s_s_s[n * 21 + 5] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__g_s_s_s[(n+1) * 15 + 2], PRIM_INT__h_s_s_s[n * 21 + 5]);
43 PRIM_INT__h_s_s_s[n * 21 + 5] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__f_s_s_s[(n+1) * 10 + 0], PRIM_INT__f_s_s_s[n * 10 + 0]), PRIM_INT__h_s_s_s[n * 21 + 5]);
44
45 PRIM_INT__h_s_s_s[n * 21 + 6] = SIMINT_MUL(P_PA[0], PRIM_INT__g_s_s_s[n * 15 + 6]);
46 PRIM_INT__h_s_s_s[n * 21 + 6] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__g_s_s_s[(n+1) * 15 + 6], PRIM_INT__h_s_s_s[n * 21 + 6]);
47 PRIM_INT__h_s_s_s[n * 21 + 6] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__f_s_s_s[(n+1) * 10 + 6], PRIM_INT__f_s_s_s[n * 10 + 6]), PRIM_INT__h_s_s_s[n * 21 + 6]);
48
49 PRIM_INT__h_s_s_s[n * 21 + 7] = SIMINT_MUL(P_PA[2], PRIM_INT__g_s_s_s[n * 15 + 3]);
50 PRIM_INT__h_s_s_s[n * 21 + 7] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__g_s_s_s[(n+1) * 15 + 3], PRIM_INT__h_s_s_s[n * 21 + 7]);
51
52 PRIM_INT__h_s_s_s[n * 21 + 8] = SIMINT_MUL(P_PA[1], PRIM_INT__g_s_s_s[n * 15 + 5]);
53 PRIM_INT__h_s_s_s[n * 21 + 8] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__g_s_s_s[(n+1) * 15 + 5], PRIM_INT__h_s_s_s[n * 21 + 8]);
54
55 PRIM_INT__h_s_s_s[n * 21 + 9] = SIMINT_MUL(P_PA[0], PRIM_INT__g_s_s_s[n * 15 + 9]);
56 PRIM_INT__h_s_s_s[n * 21 + 9] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__g_s_s_s[(n+1) * 15 + 9], PRIM_INT__h_s_s_s[n * 21 + 9]);
57 PRIM_INT__h_s_s_s[n * 21 + 9] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__f_s_s_s[(n+1) * 10 + 9], PRIM_INT__f_s_s_s[n * 10 + 9]), PRIM_INT__h_s_s_s[n * 21 + 9]);
58
59 PRIM_INT__h_s_s_s[n * 21 + 10] = SIMINT_MUL(P_PA[0], PRIM_INT__g_s_s_s[n * 15 + 10]);
60 PRIM_INT__h_s_s_s[n * 21 + 10] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__g_s_s_s[(n+1) * 15 + 10], PRIM_INT__h_s_s_s[n * 21 + 10]);
61
62 PRIM_INT__h_s_s_s[n * 21 + 11] = SIMINT_MUL(P_PA[2], PRIM_INT__g_s_s_s[n * 15 + 6]);
63 PRIM_INT__h_s_s_s[n * 21 + 11] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__g_s_s_s[(n+1) * 15 + 6], PRIM_INT__h_s_s_s[n * 21 + 11]);
64
65 PRIM_INT__h_s_s_s[n * 21 + 12] = SIMINT_MUL(P_PA[0], PRIM_INT__g_s_s_s[n * 15 + 12]);
66 PRIM_INT__h_s_s_s[n * 21 + 12] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__g_s_s_s[(n+1) * 15 + 12], PRIM_INT__h_s_s_s[n * 21 + 12]);
67
68 PRIM_INT__h_s_s_s[n * 21 + 13] = SIMINT_MUL(P_PA[1], PRIM_INT__g_s_s_s[n * 15 + 9]);
69 PRIM_INT__h_s_s_s[n * 21 + 13] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__g_s_s_s[(n+1) * 15 + 9], PRIM_INT__h_s_s_s[n * 21 + 13]);
70
71 PRIM_INT__h_s_s_s[n * 21 + 14] = SIMINT_MUL(P_PA[0], PRIM_INT__g_s_s_s[n * 15 + 14]);
72 PRIM_INT__h_s_s_s[n * 21 + 14] = SIMINT_FMADD( aop_PQ[0], PRIM_INT__g_s_s_s[(n+1) * 15 + 14], PRIM_INT__h_s_s_s[n * 21 + 14]);
73
74 PRIM_INT__h_s_s_s[n * 21 + 15] = SIMINT_MUL(P_PA[1], PRIM_INT__g_s_s_s[n * 15 + 10]);
75 PRIM_INT__h_s_s_s[n * 21 + 15] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__g_s_s_s[(n+1) * 15 + 10], PRIM_INT__h_s_s_s[n * 21 + 15]);
76 PRIM_INT__h_s_s_s[n * 21 + 15] = SIMINT_FMADD( vrr_const_4_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__f_s_s_s[(n+1) * 10 + 6], PRIM_INT__f_s_s_s[n * 10 + 6]), PRIM_INT__h_s_s_s[n * 21 + 15]);
77
78 PRIM_INT__h_s_s_s[n * 21 + 16] = SIMINT_MUL(P_PA[2], PRIM_INT__g_s_s_s[n * 15 + 10]);
79 PRIM_INT__h_s_s_s[n * 21 + 16] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__g_s_s_s[(n+1) * 15 + 10], PRIM_INT__h_s_s_s[n * 21 + 16]);
80
81 PRIM_INT__h_s_s_s[n * 21 + 17] = SIMINT_MUL(P_PA[2], PRIM_INT__g_s_s_s[n * 15 + 11]);
82 PRIM_INT__h_s_s_s[n * 21 + 17] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__g_s_s_s[(n+1) * 15 + 11], PRIM_INT__h_s_s_s[n * 21 + 17]);
83 PRIM_INT__h_s_s_s[n * 21 + 17] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__f_s_s_s[(n+1) * 10 + 6], PRIM_INT__f_s_s_s[n * 10 + 6]), PRIM_INT__h_s_s_s[n * 21 + 17]);
84
85 PRIM_INT__h_s_s_s[n * 21 + 18] = SIMINT_MUL(P_PA[1], PRIM_INT__g_s_s_s[n * 15 + 13]);
86 PRIM_INT__h_s_s_s[n * 21 + 18] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__g_s_s_s[(n+1) * 15 + 13], PRIM_INT__h_s_s_s[n * 21 + 18]);
87 PRIM_INT__h_s_s_s[n * 21 + 18] = SIMINT_FMADD( vrr_const_1_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__f_s_s_s[(n+1) * 10 + 9], PRIM_INT__f_s_s_s[n * 10 + 9]), PRIM_INT__h_s_s_s[n * 21 + 18]);
88
89 PRIM_INT__h_s_s_s[n * 21 + 19] = SIMINT_MUL(P_PA[1], PRIM_INT__g_s_s_s[n * 15 + 14]);
90 PRIM_INT__h_s_s_s[n * 21 + 19] = SIMINT_FMADD( aop_PQ[1], PRIM_INT__g_s_s_s[(n+1) * 15 + 14], PRIM_INT__h_s_s_s[n * 21 + 19]);
91
92 PRIM_INT__h_s_s_s[n * 21 + 20] = SIMINT_MUL(P_PA[2], PRIM_INT__g_s_s_s[n * 15 + 14]);
93 PRIM_INT__h_s_s_s[n * 21 + 20] = SIMINT_FMADD( aop_PQ[2], PRIM_INT__g_s_s_s[(n+1) * 15 + 14], PRIM_INT__h_s_s_s[n * 21 + 20]);
94 PRIM_INT__h_s_s_s[n * 21 + 20] = SIMINT_FMADD( vrr_const_4_over_2p, SIMINT_FMADD(a_over_p, PRIM_INT__f_s_s_s[(n+1) * 10 + 9], PRIM_INT__f_s_s_s[n * 10 + 9]), PRIM_INT__h_s_s_s[n * 21 + 20]);
95
96 }
97
98 }
99
100
101