1/*
2 * Copyright 2016, NICTA
3 *
4 * This software may be distributed and modified according to the terms of
5 * the GNU General Public License version 2. Note that NO WARRANTY is provided.
6 * See "LICENSE_GPLv2.txt" for details.
7 *
8 * @TAG(NICTA_GPL)
9 */
10
11#include "pass_middle-size-example.h"
12
13static inline t4 foo(t3 a1)
14{
15    t2* r2 = a1.p1;
16    bool_t r3 = a1.p2;
17    bool_t r4 = (*r2).b;
18    t4 r5;
19
20    if (r3.boolean) {
21        t2* r6 = r2;
22
23        (*r6).b = r3;
24
25        t2* r7 = r6;
26        t1* r8 = (*r7).a;
27        u32 r9 = (*r8).a2;
28        u8 r10 = 0U;
29        u32 r11 = (u32) r10;
30        t1* r12 = r8;
31
32        (*r12).a2 = r11;
33
34        t1* r13 = r12;
35
36        r5 = (t4) {.p1 = r7, .p2 = r13, .p3 = r4, .p4 = r9};
37    } else {
38        bool_t r14 = (bool_t) {.boolean = 1U};
39        t2* r15 = r2;
40
41        (*r15).b = r14;
42
43        t2* r16 = r15;
44        t1* r17 = (*r16).a;
45        u8 r18 = 0U;
46        u32 r19 = (u32) r18;
47        t1* r20 = r17;
48
49        (*r20).a1 = r19;
50
51        t1* r21 = r20;
52        t2* r22 = r16;
53
54        (*r22).a = r21;
55
56        t2* r23 = r22;
57        t1* r24 = (*r23).a;
58        u32 r25 = (*r24).a2;
59        u8 r26 = 0U;
60        u32 r27 = (u32) r26;
61        t1* r28 = r24;
62
63        (*r28).a2 = r27;
64
65        t1* r29 = r28;
66
67        r5 = (t4) {.p1 = r23, .p2 = r29, .p3 = r4, .p4 = r25};
68    }
69
70    t4 r30 = r5;
71
72    return r30;
73}
74
75
76