1 /* BEGIN of automatic generated code */
4 void bmw_large_f1(uint64_t* q, const void* m, const void* h){
7 (( ROTL64(((uint64_t*)m)[ 0], 1)
8 + ROTL64(((uint64_t*)m)[ 3], 4)
9 - ROTL64(((uint64_t*)m)[10], 11)
10 + 0x5555555555555550ULL
13 + S64_1(q[ 0]) + S64_2(q[ 1]) + S64_3(q[ 2]) + S64_0(q[ 3])
14 + S64_1(q[ 4]) + S64_2(q[ 5]) + S64_3(q[ 6]) + S64_0(q[ 7])
15 + S64_1(q[ 8]) + S64_2(q[ 9]) + S64_3(q[10]) + S64_0(q[11])
16 + S64_1(q[12]) + S64_2(q[13]) + S64_3(q[14]) + S64_0(q[15]);
19 (( ROTL64(((uint64_t*)m)[ 1], 2)
20 + ROTL64(((uint64_t*)m)[ 4], 5)
21 - ROTL64(((uint64_t*)m)[11], 12)
22 + 0x5aaaaaaaaaaaaaa5ULL
25 + S64_1(q[ 1]) + S64_2(q[ 2]) + S64_3(q[ 3]) + S64_0(q[ 4])
26 + S64_1(q[ 5]) + S64_2(q[ 6]) + S64_3(q[ 7]) + S64_0(q[ 8])
27 + S64_1(q[ 9]) + S64_2(q[10]) + S64_3(q[11]) + S64_0(q[12])
28 + S64_1(q[13]) + S64_2(q[14]) + S64_3(q[15]) + S64_0(q[16]);
31 (( ROTL64(((uint64_t*)m)[ 2], 3)
32 + ROTL64(((uint64_t*)m)[ 5], 6)
33 - ROTL64(((uint64_t*)m)[12], 13)
34 + 0x5ffffffffffffffaULL
37 + q[ 2] + R64_1(q[ 3]) + q[ 4] + R64_2(q[ 5])
38 + q[ 6] + R64_3(q[ 7]) + q[ 8] + R64_4(q[ 9])
39 + q[10] + R64_5(q[11]) + q[12] + R64_6(q[13])
40 + q[14] + R64_7(q[15]) + S64_4(q[16]) + S64_5(q[17]);
43 (( ROTL64(((uint64_t*)m)[ 3], 4)
44 + ROTL64(((uint64_t*)m)[ 6], 7)
45 - ROTL64(((uint64_t*)m)[13], 14)
46 + 0x655555555555554fULL
49 + q[ 3] + R64_1(q[ 4]) + q[ 5] + R64_2(q[ 6])
50 + q[ 7] + R64_3(q[ 8]) + q[ 9] + R64_4(q[10])
51 + q[11] + R64_5(q[12]) + q[13] + R64_6(q[14])
52 + q[15] + R64_7(q[16]) + S64_4(q[17]) + S64_5(q[18]);
55 (( ROTL64(((uint64_t*)m)[ 4], 5)
56 + ROTL64(((uint64_t*)m)[ 7], 8)
57 - ROTL64(((uint64_t*)m)[14], 15)
58 + 0x6aaaaaaaaaaaaaa4ULL
61 + q[ 4] + R64_1(q[ 5]) + q[ 6] + R64_2(q[ 7])
62 + q[ 8] + R64_3(q[ 9]) + q[10] + R64_4(q[11])
63 + q[12] + R64_5(q[13]) + q[14] + R64_6(q[15])
64 + q[16] + R64_7(q[17]) + S64_4(q[18]) + S64_5(q[19]);
67 (( ROTL64(((uint64_t*)m)[ 5], 6)
68 + ROTL64(((uint64_t*)m)[ 8], 9)
69 - ROTL64(((uint64_t*)m)[15], 16)
70 + 0x6ffffffffffffff9ULL
73 + q[ 5] + R64_1(q[ 6]) + q[ 7] + R64_2(q[ 8])
74 + q[ 9] + R64_3(q[10]) + q[11] + R64_4(q[12])
75 + q[13] + R64_5(q[14]) + q[15] + R64_6(q[16])
76 + q[17] + R64_7(q[18]) + S64_4(q[19]) + S64_5(q[20]);
79 (( ROTL64(((uint64_t*)m)[ 6], 7)
80 + ROTL64(((uint64_t*)m)[ 9], 10)
81 - ROTL64(((uint64_t*)m)[ 0], 1)
82 + 0x755555555555554eULL
85 + q[ 6] + R64_1(q[ 7]) + q[ 8] + R64_2(q[ 9])
86 + q[10] + R64_3(q[11]) + q[12] + R64_4(q[13])
87 + q[14] + R64_5(q[15]) + q[16] + R64_6(q[17])
88 + q[18] + R64_7(q[19]) + S64_4(q[20]) + S64_5(q[21]);
91 (( ROTL64(((uint64_t*)m)[ 7], 8)
92 + ROTL64(((uint64_t*)m)[10], 11)
93 - ROTL64(((uint64_t*)m)[ 1], 2)
94 + 0x7aaaaaaaaaaaaaa3ULL
97 + q[ 7] + R64_1(q[ 8]) + q[ 9] + R64_2(q[10])
98 + q[11] + R64_3(q[12]) + q[13] + R64_4(q[14])
99 + q[15] + R64_5(q[16]) + q[17] + R64_6(q[18])
100 + q[19] + R64_7(q[20]) + S64_4(q[21]) + S64_5(q[22]);
103 (( ROTL64(((uint64_t*)m)[ 8], 9)
104 + ROTL64(((uint64_t*)m)[11], 12)
105 - ROTL64(((uint64_t*)m)[ 2], 3)
106 + 0x7ffffffffffffff8ULL
107 )^ ((uint64_t*)h)[15]
109 + q[ 8] + R64_1(q[ 9]) + q[10] + R64_2(q[11])
110 + q[12] + R64_3(q[13]) + q[14] + R64_4(q[15])
111 + q[16] + R64_5(q[17]) + q[18] + R64_6(q[19])
112 + q[20] + R64_7(q[21]) + S64_4(q[22]) + S64_5(q[23]);
115 (( ROTL64(((uint64_t*)m)[ 9], 10)
116 + ROTL64(((uint64_t*)m)[12], 13)
117 - ROTL64(((uint64_t*)m)[ 3], 4)
118 + 0x855555555555554dULL
119 )^ ((uint64_t*)h)[ 0]
121 + q[ 9] + R64_1(q[10]) + q[11] + R64_2(q[12])
122 + q[13] + R64_3(q[14]) + q[15] + R64_4(q[16])
123 + q[17] + R64_5(q[18]) + q[19] + R64_6(q[20])
124 + q[21] + R64_7(q[22]) + S64_4(q[23]) + S64_5(q[24]);
127 (( ROTL64(((uint64_t*)m)[10], 11)
128 + ROTL64(((uint64_t*)m)[13], 14)
129 - ROTL64(((uint64_t*)m)[ 4], 5)
130 + 0x8aaaaaaaaaaaaaa2ULL
131 )^ ((uint64_t*)h)[ 1]
133 + q[10] + R64_1(q[11]) + q[12] + R64_2(q[13])
134 + q[14] + R64_3(q[15]) + q[16] + R64_4(q[17])
135 + q[18] + R64_5(q[19]) + q[20] + R64_6(q[21])
136 + q[22] + R64_7(q[23]) + S64_4(q[24]) + S64_5(q[25]);
139 (( ROTL64(((uint64_t*)m)[11], 12)
140 + ROTL64(((uint64_t*)m)[14], 15)
141 - ROTL64(((uint64_t*)m)[ 5], 6)
142 + 0x8ffffffffffffff7ULL
143 )^ ((uint64_t*)h)[ 2]
145 + q[11] + R64_1(q[12]) + q[13] + R64_2(q[14])
146 + q[15] + R64_3(q[16]) + q[17] + R64_4(q[18])
147 + q[19] + R64_5(q[20]) + q[21] + R64_6(q[22])
148 + q[23] + R64_7(q[24]) + S64_4(q[25]) + S64_5(q[26]);
151 (( ROTL64(((uint64_t*)m)[12], 13)
152 + ROTL64(((uint64_t*)m)[15], 16)
153 - ROTL64(((uint64_t*)m)[ 6], 7)
154 + 0x955555555555554cULL
155 )^ ((uint64_t*)h)[ 3]
157 + q[12] + R64_1(q[13]) + q[14] + R64_2(q[15])
158 + q[16] + R64_3(q[17]) + q[18] + R64_4(q[19])
159 + q[20] + R64_5(q[21]) + q[22] + R64_6(q[23])
160 + q[24] + R64_7(q[25]) + S64_4(q[26]) + S64_5(q[27]);
163 (( ROTL64(((uint64_t*)m)[13], 14)
164 + ROTL64(((uint64_t*)m)[ 0], 1)
165 - ROTL64(((uint64_t*)m)[ 7], 8)
166 + 0x9aaaaaaaaaaaaaa1ULL
167 )^ ((uint64_t*)h)[ 4]
169 + q[13] + R64_1(q[14]) + q[15] + R64_2(q[16])
170 + q[17] + R64_3(q[18]) + q[19] + R64_4(q[20])
171 + q[21] + R64_5(q[22]) + q[23] + R64_6(q[24])
172 + q[25] + R64_7(q[26]) + S64_4(q[27]) + S64_5(q[28]);
175 (( ROTL64(((uint64_t*)m)[14], 15)
176 + ROTL64(((uint64_t*)m)[ 1], 2)
177 - ROTL64(((uint64_t*)m)[ 8], 9)
178 + 0x9ffffffffffffff6ULL
179 )^ ((uint64_t*)h)[ 5]
181 + q[14] + R64_1(q[15]) + q[16] + R64_2(q[17])
182 + q[18] + R64_3(q[19]) + q[20] + R64_4(q[21])
183 + q[22] + R64_5(q[23]) + q[24] + R64_6(q[25])
184 + q[26] + R64_7(q[27]) + S64_4(q[28]) + S64_5(q[29]);
187 (( ROTL64(((uint64_t*)m)[15], 16)
188 + ROTL64(((uint64_t*)m)[ 2], 3)
189 - ROTL64(((uint64_t*)m)[ 9], 10)
190 + 0xa55555555555554bULL
191 )^ ((uint64_t*)h)[ 6]
193 + q[15] + R64_1(q[16]) + q[17] + R64_2(q[18])
194 + q[19] + R64_3(q[20]) + q[21] + R64_4(q[22])
195 + q[23] + R64_5(q[24]) + q[25] + R64_6(q[26])
196 + q[27] + R64_7(q[28]) + S64_4(q[29]) + S64_5(q[30]);
199 /* END of automatic generated code */