1// This file is generated by Cogent
2
3#include "variant_0.h"
4
5static inline unsigned int d5_get_a_tag_part0(t1 *b)
6{
7    return (*b).data[0U] >> 0U & 255U;
8}
9static inline unsigned int d4_get_a_tag(t1 *b)
10{
11    return (unsigned int) d5_get_a_tag_part0(b) << 0U;
12}
13static inline unsigned int d7_get_a_A_part0(t1 *b)
14{
15    return (*b).data[0U] >> 8U & 255U;
16}
17static inline u8 d6_get_a_A(t1 *b)
18{
19    return (u8) d7_get_a_A_part0(b) << 0U;
20}
21static inline t2 d3_get_a(t1 *b)
22{
23    return (t2) {.tag = TAG_ENUM_A, .A = d6_get_a_A(b)};
24}
25static inline unsigned int d11_get_b_tag_part0(t1 *b)
26{
27    return (*b).data[0U] >> 16U & 255U;
28}
29static inline unsigned int d10_get_b_tag(t1 *b)
30{
31    return (unsigned int) d11_get_b_tag_part0(b) << 0U;
32}
33static inline unsigned int d13_get_b_A_part0(t1 *b)
34{
35    return (*b).data[0U] >> 24U & 255U;
36}
37static inline u8 d12_get_b_A(t1 *b)
38{
39    return (u8) d13_get_b_A_part0(b) << 0U;
40}
41static inline unsigned int d15_get_b_B_part0(t1 *b)
42{
43    return (*b).data[1U] >> 0U & 65535U;
44}
45static inline u16 d14_get_b_B(t1 *b)
46{
47    return (u16) d15_get_b_B_part0(b) << 0U;
48}
49static inline unsigned int d17_get_b_C_part0(t1 *b)
50{
51    return (*b).data[1U] >> 16U & 65535U;
52}
53static inline unsigned int d18_get_b_C_part1(t1 *b)
54{
55    return (*b).data[2U] >> 0U & 65535U;
56}
57static inline u32 d16_get_b_C(t1 *b)
58{
59    return (u32) d17_get_b_C_part0(b) << 0U | (u32) d18_get_b_C_part1(b) << 16U;
60}
61static inline unsigned int d20_get_b_D_part0(t1 *b)
62{
63    return (*b).data[2U] >> 16U & 65535U;
64}
65static inline unsigned int d21_get_b_D_part1(t1 *b)
66{
67    return (*b).data[3U] >> 0U & 4294967295U;
68}
69static inline unsigned int d22_get_b_D_part2(t1 *b)
70{
71    return (*b).data[4U] >> 0U & 65535U;
72}
73static inline u64 d19_get_b_D(t1 *b)
74{
75    return (u64) d20_get_b_D_part0(b) << 0U | (u64) d21_get_b_D_part1(b) <<
76        16U | (u64) d22_get_b_D_part2(b) << 48U;
77}
78static inline unsigned int d24_get_b_E_part0(t1 *b)
79{
80    return (*b).data[4U] >> 16U & 255U;
81}
82static inline bool_t d23_get_b_E(t1 *b)
83{
84    return (bool_t) {.boolean = (unsigned char) d24_get_b_E_part0(b) << 0U};
85}
86static inline t8 d9_get_b(t1 *b)
87{
88    return d10_get_b_tag(b) == 5U ? (t8) {.tag = TAG_ENUM_E, .E =
89                                          d23_get_b_E(b)} : d10_get_b_tag(b) ==
90        4U ? (t8) {.tag = TAG_ENUM_D, .D = d19_get_b_D(b)} : d10_get_b_tag(b) ==
91        3U ? (t8) {.tag = TAG_ENUM_C, .C = d16_get_b_C(b)} : d10_get_b_tag(b) ==
92        2U ? (t8) {.tag = TAG_ENUM_B, .B = d14_get_b_B(b)} : (t8) {.tag =
93                                                                   TAG_ENUM_A,
94                                                                   .A =
95                                                                   d12_get_b_A(b)};
96}
97static inline void d29_set_a_tag_part0(t1 *b, unsigned int v)
98{
99    (*b).data[0U] = ((*b).data[0U] & ~(255U << 0U)) | (255U & v) << 0U;
100}
101static inline void d28_set_a_tag(t1 *b, unsigned int v)
102{
103    d29_set_a_tag_part0(b, (unsigned int) (v >> 0U & 255U));
104}
105static inline void d31_set_a_A_part0(t1 *b, unsigned int v)
106{
107    (*b).data[0U] = ((*b).data[0U] & ~(255U << 8U)) | (255U & v) << 8U;
108}
109static inline void d30_set_a_A(t1 *b, u8 v)
110{
111    d31_set_a_A_part0(b, (unsigned int) (v >> 0U & 255U));
112}
113static inline void d27_set_a(t1 *b, t2 v)
114{
115    d28_set_a_tag(b, 1U);
116    d30_set_a_A(b, v.A);
117}
118static inline void d34_set_b_tag_part0(t1 *b, unsigned int v)
119{
120    (*b).data[0U] = ((*b).data[0U] & ~(255U << 16U)) | (255U & v) << 16U;
121}
122static inline void d33_set_b_tag(t1 *b, unsigned int v)
123{
124    d34_set_b_tag_part0(b, (unsigned int) (v >> 0U & 255U));
125}
126static inline void d36_set_b_A_part0(t1 *b, unsigned int v)
127{
128    (*b).data[0U] = ((*b).data[0U] & ~(255U << 24U)) | (255U & v) << 24U;
129}
130static inline void d35_set_b_A(t1 *b, u8 v)
131{
132    d36_set_b_A_part0(b, (unsigned int) (v >> 0U & 255U));
133}
134static inline void d38_set_b_B_part0(t1 *b, unsigned int v)
135{
136    (*b).data[1U] = ((*b).data[1U] & ~(65535U << 0U)) | (65535U & v) << 0U;
137}
138static inline void d37_set_b_B(t1 *b, u16 v)
139{
140    d38_set_b_B_part0(b, (unsigned int) (v >> 0U & 65535U));
141}
142static inline void d40_set_b_C_part0(t1 *b, unsigned int v)
143{
144    (*b).data[1U] = ((*b).data[1U] & ~(65535U << 16U)) | (65535U & v) << 16U;
145}
146static inline void d41_set_b_C_part1(t1 *b, unsigned int v)
147{
148    (*b).data[2U] = ((*b).data[2U] & ~(65535U << 0U)) | (65535U & v) << 0U;
149}
150static inline void d39_set_b_C(t1 *b, u32 v)
151{
152    d40_set_b_C_part0(b, (unsigned int) (v >> 0U & 65535U));
153    d41_set_b_C_part1(b, (unsigned int) (v >> 16U & 65535U));
154}
155static inline void d43_set_b_D_part0(t1 *b, unsigned int v)
156{
157    (*b).data[2U] = ((*b).data[2U] & ~(65535U << 16U)) | (65535U & v) << 16U;
158}
159static inline void d44_set_b_D_part1(t1 *b, unsigned int v)
160{
161    (*b).data[3U] = ((*b).data[3U] & ~(4294967295U << 0U)) | (4294967295U &
162                                                              v) << 0U;
163}
164static inline void d45_set_b_D_part2(t1 *b, unsigned int v)
165{
166    (*b).data[4U] = ((*b).data[4U] & ~(65535U << 0U)) | (65535U & v) << 0U;
167}
168static inline void d42_set_b_D(t1 *b, u64 v)
169{
170    d43_set_b_D_part0(b, (unsigned int) (v >> 0U & 65535U));
171    d44_set_b_D_part1(b, (unsigned int) (v >> 16U & 4294967295U));
172    d45_set_b_D_part2(b, (unsigned int) (v >> 48U & 65535U));
173}
174static inline void d47_set_b_E_part0(t1 *b, unsigned int v)
175{
176    (*b).data[4U] = ((*b).data[4U] & ~(255U << 16U)) | (255U & v) << 16U;
177}
178static inline void d46_set_b_E(t1 *b, bool_t v)
179{
180    d47_set_b_E_part0(b, (unsigned int) (v.boolean >> 0U & 255U));
181}
182static inline void d32_set_b(t1 *b, t8 v)
183{
184    if (v.tag == TAG_ENUM_E) {
185        d33_set_b_tag(b, 5U);
186        d46_set_b_E(b, v.E);
187    } else if (v.tag == TAG_ENUM_D) {
188        d33_set_b_tag(b, 4U);
189        d42_set_b_D(b, v.D);
190    } else if (v.tag == TAG_ENUM_C) {
191        d33_set_b_tag(b, 3U);
192        d39_set_b_C(b, v.C);
193    } else if (v.tag == TAG_ENUM_B) {
194        d33_set_b_tag(b, 2U);
195        d37_set_b_B(b, v.B);
196    } else {
197        d33_set_b_tag(b, 1U);
198        d35_set_b_A(b, v.A);
199    }
200}
201static inline t26 getVals(t1 *a1)
202{
203    t2 r2 = d3_get_a(a1);
204    t8 r3 = d9_get_b(a1);
205    t25 r4;
206
207    if (LETBANG_TRUE) {
208        r4 = (t25) {.a = r2, .b = r3};
209    } else
210        ;
211
212    t26 r5 = (t26) {.p1 = a1, .p2 = r4};
213
214    return r5;
215}
216static inline t1 *putVals(t1 *a1)
217{
218    t1 *r2 = a1;
219    u8 r3 = 18U;
220    t2 r4;
221
222    r4 = (t2) {.tag = TAG_ENUM_A, .A = r3};
223
224    t2 r5 = r4;
225    t1 *r6 = r2;
226
227    d27_set_a(r6, r5);
228
229    t1 *r7 = r6;
230    u32 r8 = 2022747085U;
231    t8 r9;
232
233    r9 = (t8) {.tag = TAG_ENUM_C, .C = r8};
234
235    t8 r10 = r9;
236    t8 r11 = r10;
237    t1 *r12 = r7;
238
239    d32_set_b(r12, r11);
240
241    t1 *r13 = r12;
242
243    return r13;
244}
245
246
247