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