1// This file is generated by Cogent
2
3#include "variant_1.h"
4
5static inline unsigned int d4_get_f1_part0(t1 *b)
6{
7    return (*b).data[0U] >> 0U & 4294967295U;
8}
9static inline u32 d3_get_f1(t1 *b)
10{
11    return (u32) d4_get_f1_part0(b) << 0U;
12}
13static inline unsigned int d6_get_f2_part0(t1 *b)
14{
15    return (*b).data[1U] >> 0U & 4294967295U;
16}
17static inline unsigned int d7_get_f2_part1(t1 *b)
18{
19    return (*b).data[2U] >> 0U & 4294967295U;
20}
21static inline u64 d5_get_f2(t1 *b)
22{
23    return (u64) d6_get_f2_part0(b) << 0U | (u64) d7_get_f2_part1(b) << 32U;
24}
25static inline u64 foo(t2 a1)
26{
27    u64 r2;
28
29    if (a1.tag == TAG_ENUM_A) {
30        r2 = (u64) a1.A;
31    } else {
32        t1 *r3 = a1.B;
33        u32 r4 = d3_get_f1(r3);
34        u64 r5 = (u64) r4;
35        u64 r6 = d5_get_f2(r3);
36
37        r2 = r5 + r6;
38    }
39
40    u64 r7 = r2;
41
42    return r7;
43}
44
45
46