# The census of rv_O2: what `aa; pdd` renders for each function `afl` lists.
# Regenerate with `scripts/census.py golden` when `afl` moves, then bless.

NAME=afl
FILE=tests/fixtures/rv_O2
CMDS=afl
EXPECT=<<EOF
0x00001000    3     27 sym._init
0x00001070    1     10 sym.imp.__cxa_finalize
0x00001080    1     10 sym.imp.strlen
0x00001090    1     10 sym.imp.__stack_chk_fail
0x000010a0    1     10 sym.imp.memcpy
0x000010b0    1     10 sym.imp.__printf_chk
0x000010c0    5    441 sym.main
0x00001280    1     37 sym._start
0x000012b0    4     34 sym.deregister_tm_clones
0x000012e0    4     51 sym.register_tm_clones
0x00001320    5     54 sym.__do_global_dtors_aux
0x00001360    1      9 sym.frame_dummy
0x00001370    1      8 sym.add
0x00001380    5     39 sym.sum_array
0x000013b0    3     27 sym.classify
0x000013d0    5     30 sym.list_len
0x00001400    3     43 sym.mul_div
0x00001430    8     78 sym.avg
0x00001490    5     31 sym.fact
0x000014c0    3     72 sym.fill
0x00001510    1     75 sym.copy_name
0x00001560    1     19 sym.sext
0x00001580    1     11 sym.rotl
0x00001590    4     29 sym.bit_count
0x000015b0    7     38 sym.find
0x000015e0    1     14 sym.dispatch
0x000015f0    1     13 sym._fini
EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001000
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001000
EXPECT=<<EOF
uint64_t _init(void)
{
    uint64_t rax_1;
    uint64_t rax_3;

    /* r2dec proof: 3 constructs are marked below; 22 source obligations: 8 rendered, 10 elided, 0 refused, 4 residual; 6 statements rendered; 1 never assigned, read as residuals (RAX_2) */
    {
        rax_1 = r2sleigh_load_u64((void*)(uint64_t)0x3fe8U);
        if ((uint8_t)((uint64_t)rax_1 == (uint64_t)0U)) {
            rax_3 = rax_1;
            return (uint64_t)rax_3;
        } else {
            r2sleigh_residual_void(1); /* r2dec gap: CallNotRendered at 0x1014:4 covering 1 op (render::values): call to an indirect target: no arity is stated, only the registers written before it */
            r2sleigh_residual_void(2); /* r2dec gap: ValueNotComputed at 0x1014:11 covering 1 op (render::values) */
            rax_3 = r2sleigh_residual_u64(3);
            return (uint64_t)rax_3;
        }
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001070
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001070
EXPECT=<<EOF
/* r2sleigh: import stub at 0x1070; this symbol is the import `__cxa_finalize` and has no body of its own. */
extern void __cxa_finalize(void*);

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001080
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001080
EXPECT=<<EOF
/* r2sleigh: import stub at 0x1080; this symbol is the import `strlen` and has no body of its own. */
extern uint64_t strlen(const char*);

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001090
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001090
EXPECT=<<EOF
/* r2sleigh: import stub at 0x1090; this symbol is the import `__stack_chk_fail` and has no body of its own. */
extern void __stack_chk_fail(void);

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x000010a0
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x000010a0
EXPECT=<<EOF
/* r2sleigh: import stub at 0x10a0; this symbol is the import `memcpy` and has no body of its own. */
extern void* memcpy(void*, const void*, uint64_t);

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x000010b0
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x000010b0
EXPECT=<<EOF
/* r2sleigh: import stub at 0x10b0; this symbol is the import `__printf_chk` and has no body of its own. */
extern int32_t __printf_chk(int32_t, const char*, ...);

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x000010c0
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x000010c0
EXPECT=<<EOF
uint32_t fcn_10c0(uint64_t arg0, uint64_t* arg1)
{
    int32_t __printf_chk(int32_t, const char*, ...);
    uint32_t add(uint32_t, uint32_t);
    uint64_t avg(uint64_t, uint32_t);
    uint32_t bit_count(uint32_t);
    uint64_t classify(uint32_t);
    uint64_t copy_name(uint64_t, uint64_t, uint64_t);
    uint64_t fact(uint32_t);
    uint64_t fill(uint64_t);
    uint64_t find(uint64_t, uint32_t, uint32_t);
    uint32_t list_len(uint64_t);
    uint64_t mul_div(uint64_t, uint64_t);
    uint32_t rotl(uint32_t, uint8_t);
    uint32_t sext(uint8_t);
    uint32_t sum_array(uint64_t, uint32_t);
    extern char g_msg[];

    uint32_t tmp_lane_10d1_0_0_1;
    __uint128_t xmm0_1;
    __uint128_t tmp_111e_0_1;
    uint64_t tmp_lane_111e_1_0_1;
    __uint128_t xmm0_2;
    uint64_t tmp_lane_111e_2_0_1;
    __uint128_t xmm0_3;
    uint64_t rax_6;
    uint64_t rax_7;
    uint64_t rax_8;
    uint64_t rax_9;
    uint64_t rax_10;
    uint64_t rax_12;
    uint64_t tmp_lane_11a4_2_0_1;
    uint8_t tmp_11a4_12_1;
    double tmp_11a4_1b_1;
    uint64_t tmp_11a4_13_2;
    uint64_t rbx_3;
    uint64_t rsi_6;
    uint64_t tmp_11c0_8_1;
    uint64_t rsi_8;
    uint64_t rax_14;
    uint32_t tmp_lane_11e2_2_0_1;
    uint64_t rax_15;
    uint64_t rax_16;
    uint64_t rax_17;
    uint32_t tmp_lane_1213_6_0_1;
    uint64_t rax_18;
    uint32_t tmp_lane_1246_6_0_1;
    uint32_t tmp_lane_1250_0_1_1;
    _Alignas(16) uint8_t frame[232];

    /* r2dec proof: 5 constructs are marked below; 270 source obligations: 182 rendered, 69 elided, 0 refused, 5 compiler-inserted (assuming ub-free), 14 residual; 45 statements rendered; 2 never assigned, read as residuals (RAX_19, XMM0_4); 1 data object type refused; 1 callee prototype supplied by the source; the result's second register is open: no call read decides it */
    /* symbol `main`; C allows that name no other prototype */
    {
        tmp_lane_10d1_0_0_1 = (uint32_t)((uint64_t)arg0 >> 0U);
        xmm0_1 = r2sleigh_load_u128((void*)(uint64_t)0x2060U);
        r2sleigh_store_u64((void*)((uint64_t)(frame + 16U) + (uint64_t)24U), (uint64_t)0U);
        r2sleigh_store_u64((void*)((uint64_t)(frame + 16U) + (uint64_t)56U), (uint64_t)((uint64_t)(frame + 16U) + (uint64_t)16U));
        r2sleigh_store_u64((void*)((uint64_t)(frame + 16U) + (uint64_t)88U), (uint64_t)((uint64_t)(frame + 16U) + (uint64_t)48U));
        r2sleigh_store_u128((void*)(uint64_t)(frame + 16U), (__uint128_t)xmm0_1);
        tmp_111e_0_1 = r2sleigh_load_u128((void*)(uint64_t)0x2070U);
        tmp_lane_111e_1_0_1 = (uint64_t)((__uint128_t)tmp_111e_0_1 >> 0U);
        xmm0_2 = (__uint128_t)(((__uint128_t)0U & (__uint128_t)((__uint128_t)0xffffffffffffffffULL << 64U | (__uint128_t)0U)) | ((__uint128_t)tmp_lane_111e_1_0_1 & (__uint128_t)((__uint128_t)0U << 64U | (__uint128_t)0xffffffffffffffffULL)) << 0U);
        tmp_lane_111e_2_0_1 = (uint64_t)((__uint128_t)tmp_111e_0_1 >> 64U);
        xmm0_3 = (__uint128_t)(((__uint128_t)xmm0_2 & (__uint128_t)((__uint128_t)0U << 64U | (__uint128_t)0xffffffffffffffffULL)) | ((__uint128_t)tmp_lane_111e_2_0_1 & (__uint128_t)((__uint128_t)0U << 64U | (__uint128_t)0xffffffffffffffffULL)) << 64U);
        r2sleigh_store_u64((void*)((uint64_t)(frame + 16U) + (uint64_t)32U), (uint64_t)99U);
        r2sleigh_store_u128((void*)(uint64_t)((uint64_t)(frame + 16U) + (uint64_t)112U), (__uint128_t)xmm0_3);
        r2sleigh_store_u64((void*)((uint64_t)(frame + 16U) + (uint64_t)64U), (uint64_t)98U);
        r2sleigh_store_u64((void*)((uint64_t)(frame + 16U) + (uint64_t)96U), (uint64_t)97U);
        r2sleigh_store_u64((void*)((uint64_t)(frame + 16U) + (uint64_t)128U), (uint64_t)0x400c000000000000U);
        rax_6 = (uint64_t)add((uint32_t)arg0, 3);
        rax_7 = (uint64_t)sum_array((uint64_t)(frame + 16U), 4);
        rax_8 = classify((uint32_t)tmp_lane_10d1_0_0_1);
        rax_9 = (uint64_t)list_len((uint64_t)((uint64_t)(frame + 16U) + (uint64_t)80U));
        rax_10 = mul_div((uint64_t)(int32_t)((uint64_t)((uint64_t)(int32_t)tmp_lane_10d1_0_0_1 * (uint64_t)100U) >> 0U), 3);
        avg((uint64_t)((uint64_t)(frame + 16U) + (uint64_t)112U), 3);
        rax_12 = fact(5);
        tmp_lane_11a4_2_0_1 = (uint64_t)((__uint128_t)r2sleigh_residual_u128(1) >> 0U);
        tmp_11a4_12_1 = (uint8_t)((uint32_t)(uint8_t)((double)(int64_t)0xffffffff7fffffffU < r2sleigh_float_from_bits_64(tmp_lane_11a4_2_0_1)) & (uint32_t)(uint8_t)(r2sleigh_float_from_bits_64(tmp_lane_11a4_2_0_1) < (double)(int64_t)0x80000000U));
        tmp_11a4_1b_1 = (double)(int32_t)0U;
        tmp_11a4_13_2 = tmp_11a4_12_1 ? (uint64_t)tmp_lane_11a4_2_0_1 : (uint64_t)r2sleigh_float_to_bits_64(tmp_11a4_1b_1);
        rbx_3 = (uint64_t)(uint32_t)((uint32_t)((uint64_t)rax_12 >> 0U) + (uint32_t)((uint32_t)((uint32_t)((uint32_t)((uint32_t)((uint32_t)((uint64_t)rax_6 >> 0U) + (uint32_t)((uint64_t)rax_7 >> 0U)) + (uint32_t)((uint64_t)rax_8 >> 0U)) + (uint32_t)((uint64_t)rax_9 >> 0U)) + (uint32_t)((uint64_t)rax_10 >> 0U)) + (uint32_t)((uint32_t)(r2sleigh_float_from_bits_64(tmp_11a4_13_2) > -2147483649.0 && r2sleigh_float_from_bits_64(tmp_11a4_13_2) < 2147483648.0 ? (int32_t)r2sleigh_float_from_bits_64(tmp_11a4_13_2) : r2sleigh_residual_i32(2)) | (uint32_t)((uint32_t)(uint8_t)((uint32_t)tmp_11a4_12_1 ^ (uint32_t)(uint8_t)1U) * (uint32_t)0x80000000U))));
        fill((uint64_t)(uint32_t)tmp_lane_10d1_0_0_1);
        rsi_6 = r2sleigh_load_u64((void*)&g_msg);
        if ((uint8_t)((int32_t)tmp_lane_10d1_0_0_1 <= (int32_t)1U)) {
            rsi_8 = rsi_6;
        } else {
            tmp_11c0_8_1 = r2sleigh_load_u64((void*)((uint64_t)arg1 + (uint64_t)1U * 8U));
            rsi_8 = tmp_11c0_8_1;
        }
        {
            rax_14 = copy_name((uint64_t)((uint64_t)(frame + 16U) + (uint64_t)144U), rsi_8, 16);
            tmp_lane_11e2_2_0_1 = (uint32_t)((uint64_t)((uint64_t)rbx_3 + (uint64_t)rax_14) >> 0U);
            rax_15 = (uint64_t)sext((uint8_t)((uint64_t)arg0 >> 0U));
            rax_16 = (uint64_t)rotl((uint32_t)tmp_lane_10d1_0_0_1, 3);
            rax_17 = (uint64_t)bit_count(0xf0f0);
            tmp_lane_1213_6_0_1 = (uint32_t)((uint32_t)(int16_t)((uint64_t)rax_15 >> 0U) + (uint32_t)((uint64_t)rax_17 >> 0U));
            rax_18 = find(0x4040, 16, 7);
            r2sleigh_residual_void(3); /* r2dec gap: CallNotRendered at 0x11c4:248 covering 1 op (render::values): call to dispatch: its arity is only at least 1 (a floor), and this call writes 3 */
            r2sleigh_residual_void(4); /* r2dec gap: ValueNotComputed at 0x11c4:255 covering 1 op (render::values) */
            tmp_lane_1246_6_0_1 = (uint32_t)((uint32_t)((uint64_t)r2sleigh_residual_u64(5) >> 0U) + (uint32_t)((uint32_t)((uint32_t)((uint32_t)((uint64_t)rax_16 >> 0U) + (uint32_t)tmp_lane_1213_6_0_1) + (uint32_t)tmp_lane_11e2_2_0_1) + (uint32_t)((uint64_t)rax_18 >> 0U)));
            __printf_chk(2, "%d %s\n", (uint64_t)(uint32_t)tmp_lane_1246_6_0_1, (uint64_t)((uint64_t)(frame + 16U) + (uint64_t)144U));
            tmp_lane_1250_0_1_1 = (uint32_t)(uint8_t)((uint32_t)tmp_lane_1246_6_0_1 >> 0U);
            {
                return (uint32_t)tmp_lane_1250_0_1_1;
            }
        }
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001280
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001280
EXPECT=<<EOF
void _start(void)
{
    uint64_t tmp_1289_0_2;

    /* r2dec proof: 5 constructs are marked below; 28 source obligations: 0 rendered, 6 elided, 0 refused, 22 residual; 1 statements rendered; 1 held from entry, read as residuals (stack_p0) */
    {
        tmp_1289_0_2 = r2sleigh_residual_u64(1);
        r2sleigh_residual_void(2); /* r2dec gap: StoreNotSpelled at 0x1280:29 covering 1 op (render::values) */
        r2sleigh_residual_void(3); /* r2dec gap: StoreNotSpelled at 0x1280:32 covering 1 op (render::values) */
        r2sleigh_residual_void(4); /* r2dec gap: CallNotRendered at 0x1280:68 covering 1 op (render::values): call to __libc_start_main: the import's declaration has an argument this convention does not place */
        r2sleigh_residual_void(5); /* r2dec gap: TransferNotFollowed at 0x1280 (render::control) */
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x000012b0
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x000012b0
EXPECT=<<EOF
uint64_t deregister_tm_clones(void)
{
    uint64_t rax_3;

    /* r2dec proof: no individual construct is marked; 8 source obligations: 5 rendered, 3 elided, 0 refused; 2 statements rendered */
    {
        rax_3 = 0x4020;
        {
            return (uint64_t)rax_3;
        }
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x000012e0
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x000012e0
EXPECT=<<EOF
uint64_t register_tm_clones(void)
{
    uint64_t rax_4;

    /* r2dec proof: no individual construct is marked; 11 source obligations: 8 rendered, 3 elided, 0 refused; 2 statements rendered */
    {
        rax_4 = 0;
        {
            return (uint64_t)rax_4;
        }
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001320
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001320
EXPECT=<<EOF
uint64_t __do_global_dtors_aux(void)
{
    void __cxa_finalize(void*);
    extern char __dso_handle[];
    extern char __TMC_END__[];

    uint8_t tmp_1324_0_1;
    uint64_t tmp_132e_0_1;
    uint64_t rdi_1;

    /* r2dec proof: 3 constructs are marked below; 40 source obligations: 16 rendered, 17 elided, 0 refused, 7 residual; 9 statements rendered; 2 data object types refused; 1 callee prototype supplied by the source */
    {
        tmp_1324_0_1 = r2sleigh_load_u8((void*)&__TMC_END__);
        if ((uint8_t)((uint8_t)tmp_1324_0_1 != (uint8_t)0U)) {
            return r2sleigh_residual_u64(1);
        } else {
            tmp_132e_0_1 = r2sleigh_load_u64((void*)(uint64_t)0x3ff8U);
            if ((uint8_t)((uint64_t)tmp_132e_0_1 == (uint64_t)0U)) {
            } else {
                rdi_1 = r2sleigh_load_u64((void*)&__dso_handle);
                __cxa_finalize((void*)rdi_1);
            }
            {
                r2sleigh_residual_void(2); /* r2dec gap: CallNotRendered at 0x1347:17 covering 1 op (render::values): call to deregister_tm_clones: argument slot 0 may hand on what this function was passed */
                r2sleigh_store_u8((void*)&__TMC_END__, (uint8_t)1U);
                return r2sleigh_residual_u64(3);
            }
        }
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001360
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001360
EXPECT=<<EOF
uint64_t frame_dummy(void)
{
    uint64_t register_tm_clones(void);

    /* r2dec proof: no individual construct is marked; 3 source obligations: 2 rendered, 1 elided, 0 refused; 1 statements rendered */
    {
        return register_tm_clones();
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001370
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001370
EXPECT=<<EOF
uint32_t add(uint32_t arg0, uint32_t arg1)
{
    /* r2dec proof: no individual construct is marked; 10 source obligations: 6 rendered, 4 elided, 0 refused; 1 statements rendered */
    {
        return (uint32_t)((uint64_t)((uint64_t)(uint32_t)arg0 + (uint64_t)(uint32_t)arg1) >> 0U);
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001380
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001380
EXPECT=<<EOF
uint32_t sum_array(uint64_t arg0, uint32_t arg1)
{
    uint32_t tmp_1384_0_1;
    uint64_t tmp_138d_8_1;
    uint64_t rax_2;
    uint64_t rdi_1;
    uint32_t tmp_1398_0_1;
    uint32_t tmp_lane_1398_7_0_1;
    uint64_t rdi_2;

    /* r2dec proof: no individual construct is marked; 42 source obligations: 34 rendered, 8 elided, 0 refused; 13 statements rendered */
    {
        tmp_1384_0_1 = arg1;
        if ((uint8_t)((int32_t)tmp_1384_0_1 <= (int32_t)0U)) {
            return 0;
        } else {
            tmp_138d_8_1 = (uint64_t)((uint64_t)((uint64_t)(int32_t)arg1 * (uint64_t)4U) + (uint64_t)arg0);
            rax_2 = 0;
            rdi_1 = arg0;
            do {
                tmp_1398_0_1 = r2sleigh_load_u32((void*)rdi_1);
                tmp_lane_1398_7_0_1 = (uint32_t)((uint32_t)((uint64_t)rax_2 >> 0U) + (uint32_t)tmp_1398_0_1);
                rdi_2 = (uint64_t)((uint64_t)rdi_1 + (uint64_t)4U);
                rax_2 = (uint64_t)(uint32_t)tmp_lane_1398_7_0_1;
                rdi_1 = rdi_2;
            } while ((uint8_t)((uint64_t)rdi_2 != (uint64_t)tmp_138d_8_1));
            {
                return (uint32_t)tmp_lane_1398_7_0_1;
            }
        }
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x000013b0
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x000013b0
EXPECT=<<EOF
uint64_t classify(uint32_t arg0)
{
    extern char CSWTCH_12[];

    uint32_t tmp_13c7_10_1;
    uint64_t rax_4;

    /* r2dec proof: no individual construct is marked; 19 source obligations: 15 rendered, 4 elided, 0 refused; 6 statements rendered; 1 data object type refused */
    {
        if ((uint8_t)((uint32_t)7U < (uint32_t)arg0)) {
            rax_4 = (uint64_t)0xffffffffU;
            return (uint64_t)rax_4;
        } else {
            tmp_13c7_10_1 = r2sleigh_load_u32((void*)((uint64_t)((uint64_t)(uint32_t)arg0 * (uint64_t)4U) + (uint64_t)&CSWTCH_12));
            rax_4 = (uint64_t)(uint32_t)tmp_13c7_10_1;
            return (uint64_t)rax_4;
        }
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x000013d0
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x000013d0
EXPECT=<<EOF
uint32_t list_len(uint64_t arg0)
{
    uint64_t rax_2;
    uint64_t rdi_1;
    uint64_t tmp_13e0_8_1;
    uint64_t rdi_2;
    uint32_t tmp_lane_13e4_6_0_1;

    /* r2dec proof: no individual construct is marked; 34 source obligations: 27 rendered, 7 elided, 0 refused; 11 statements rendered */
    {
        if ((uint8_t)((uint64_t)arg0 == (uint64_t)0U)) {
            return 0;
        } else {
            rax_2 = 0;
            rdi_1 = arg0;
            do {
                tmp_13e0_8_1 = r2sleigh_load_u64((void*)(uint64_t)((uint64_t)rdi_1 + (uint64_t)8U));
                rdi_2 = tmp_13e0_8_1;
                tmp_lane_13e4_6_0_1 = (uint32_t)((uint32_t)((uint64_t)rax_2 >> 0U) + (uint32_t)1U);
                rax_2 = (uint64_t)(uint32_t)tmp_lane_13e4_6_0_1;
                rdi_1 = rdi_2;
            } while ((uint8_t)((uint64_t)rdi_2 != (uint64_t)0U));
            {
                return (uint32_t)tmp_lane_13e4_6_0_1;
            }
        }
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001400
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001400
EXPECT=<<EOF
uint64_t mul_div(uint64_t arg0, uint64_t arg1)
{
    uint64_t rax_3;
    __uint128_t tmp_1416_0_1;
    uint64_t rdx_1;
    __uint128_t tmp_1418_0_1;
    __uint128_t tmp_1418_10_1;
    __uint128_t tmp_1418_20_1;
    __uint128_t tmp_1418_30_1;
    __uint128_t tmp_1418_40_1;
    __uint128_t tmp_1418_50_1;
    uint64_t rax_4;
    __uint128_t tmp_1421_0_1;
    uint64_t rdx_3;
    __uint128_t tmp_1423_0_1;
    __uint128_t tmp_1423_10_1;
    __uint128_t tmp_1423_20_1;
    __uint128_t tmp_1423_30_1;
    __uint128_t tmp_1423_40_1;
    __uint128_t tmp_1423_60_1;
    uint64_t rdx_4;
    uint64_t rax_8;

    /* r2dec proof: 2 constructs are marked below; 38 source obligations: 31 rendered, 4 elided, 0 refused, 3 residual; 26 statements rendered */
    {
        if ((uint8_t)((uint64_t)arg1 == (uint64_t)0U)) {
            rax_8 = 0;
            return (uint64_t)rax_8;
        } else {
            rax_3 = (uint64_t)((uint64_t)((uint64_t)arg0 * (uint64_t)8U) - (uint64_t)arg0);
            tmp_1416_0_1 = (__uint128_t)(int64_t)rax_3;
            rdx_1 = (uint64_t)((__uint128_t)tmp_1416_0_1 >> 64U);
            tmp_1418_0_1 = (__uint128_t)(int64_t)arg1;
            tmp_1418_10_1 = (__uint128_t)(uint64_t)rdx_1;
            tmp_1418_20_1 = (__uint128_t)(uint32_t)64U >= (__uint128_t)128U ? (__uint128_t)0U : (__uint128_t)((__uint128_t)tmp_1418_10_1 << (__uint128_t)(uint32_t)64U);
            tmp_1418_30_1 = (__uint128_t)(uint64_t)rax_3;
            tmp_1418_40_1 = (__uint128_t)((__uint128_t)tmp_1418_20_1 | (__uint128_t)tmp_1418_30_1);
            tmp_1418_50_1 = (__uint128_t)tmp_1418_40_1 == (__uint128_t)((__uint128_t)0x8000000000000000U << 64U | (__uint128_t)0U) && (__uint128_t)tmp_1418_0_1 == (__uint128_t)((__uint128_t)0xffffffffffffffffULL << 64U | (__uint128_t)0xffffffffffffffffULL) ? r2sleigh_residual_u128(1) : (__uint128_t)((__int128_t)tmp_1418_40_1 / (__int128_t)tmp_1418_0_1);
            rax_4 = (uint64_t)((__uint128_t)tmp_1418_50_1 >> 0U);
            (void)((__uint128_t)tmp_1418_0_1 == (__uint128_t)((__uint128_t)0xffffffffffffffffULL << 64U | (__uint128_t)0xffffffffffffffffULL) ? (__uint128_t)((__uint128_t)0U << 64U | (__uint128_t)0U) : (__uint128_t)((__int128_t)tmp_1418_40_1 % (__int128_t)tmp_1418_0_1));
            tmp_1421_0_1 = (__uint128_t)(int64_t)arg0;
            rdx_3 = (uint64_t)((__uint128_t)tmp_1421_0_1 >> 64U);
            tmp_1423_0_1 = (__uint128_t)(int64_t)arg1;
            tmp_1423_10_1 = (__uint128_t)(uint64_t)rdx_3;
            tmp_1423_20_1 = (__uint128_t)(uint32_t)64U >= (__uint128_t)128U ? (__uint128_t)0U : (__uint128_t)((__uint128_t)tmp_1423_10_1 << (__uint128_t)(uint32_t)64U);
            tmp_1423_30_1 = (__uint128_t)(uint64_t)arg0;
            tmp_1423_40_1 = (__uint128_t)((__uint128_t)tmp_1423_20_1 | (__uint128_t)tmp_1423_30_1);
            (void)((__uint128_t)tmp_1423_40_1 == (__uint128_t)((__uint128_t)0x8000000000000000U << 64U | (__uint128_t)0U) && (__uint128_t)tmp_1423_0_1 == (__uint128_t)((__uint128_t)0xffffffffffffffffULL << 64U | (__uint128_t)0xffffffffffffffffULL) ? r2sleigh_residual_u128(2) : (__uint128_t)((__int128_t)tmp_1423_40_1 / (__int128_t)tmp_1423_0_1));
            tmp_1423_60_1 = (__uint128_t)tmp_1423_0_1 == (__uint128_t)((__uint128_t)0xffffffffffffffffULL << 64U | (__uint128_t)0xffffffffffffffffULL) ? (__uint128_t)((__uint128_t)0U << 64U | (__uint128_t)0U) : (__uint128_t)((__int128_t)tmp_1423_40_1 % (__int128_t)tmp_1423_0_1);
            rdx_4 = (uint64_t)((__uint128_t)tmp_1423_60_1 >> 0U);
            rax_8 = (uint64_t)((uint64_t)rax_4 + (uint64_t)rdx_4);
            return (uint64_t)rax_8;
        }
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001430
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001430
EXPECT=<<EOF
uint64_t avg(int64_t* arg0, uint32_t arg1)
{
    uint32_t tmp_1434_0_1;
    uint8_t zf_1;
    uint64_t rax_1;
    uint64_t rdi_1;
    uint64_t rdi_2;
    uint64_t rdi_3;

    /* r2dec proof: 2 constructs are marked below; 49 source obligations: 37 rendered, 8 elided, 0 refused, 4 residual; 20 statements rendered */
    {
        tmp_1434_0_1 = arg1;
        zf_1 = (uint8_t)((uint32_t)tmp_1434_0_1 == (uint32_t)0U);
        if ((uint8_t)((uint32_t)(uint8_t)((int32_t)tmp_1434_0_1 < (int32_t)0U) | (uint32_t)zf_1)) {
            if ((uint8_t)((uint32_t)zf_1 ^ (uint32_t)(uint8_t)1U)) {
            } else {
                return r2sleigh_residual_u64(1);
            }
        } else {
            rax_1 = (uint64_t)((uint64_t)((uint64_t)(int32_t)arg1 * (uint64_t)8U) + (uint64_t)arg0);
            if ((uint8_t)((uint32_t)((uint32_t)arg1 & (uint32_t)1U) == (uint32_t)0U)) {
                rdi_2 = (uint64_t)arg0;
            } else {
                (void)r2sleigh_load_u64((void*)(uint64_t)arg0);
                rdi_1 = (uint64_t)((uint64_t)arg0 + (uint64_t)8U);
                if ((uint8_t)((uint64_t)rdi_1 == (uint64_t)rax_1)) {
                    goto L1;
                } else {
                    rdi_2 = rdi_1;
                }
            }
            do {
                (void)r2sleigh_load_u64((void*)rdi_2);
                rdi_3 = (uint64_t)((uint64_t)rdi_2 + (uint64_t)16U);
                (void)r2sleigh_load_u64((void*)(uint64_t)((uint64_t)rdi_3 - (uint64_t)8U));
                rdi_2 = rdi_3;
            } while ((uint8_t)((uint64_t)rdi_3 != (uint64_t)rax_1));
        }
        {
L1: ;
            return r2sleigh_residual_u64(2);
        }
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001490
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001490
EXPECT=<<EOF
uint64_t fact(uint32_t arg0)
{
    uint64_t rdi_1;
    uint64_t rax_2;
    uint64_t rdi_1_2;
    uint32_t tmp_lane_14a2_5_0_1;
    uint64_t rax_3;

    /* r2dec proof: no individual construct is marked; 38 source obligations: 30 rendered, 8 elided, 0 refused; 11 statements rendered */
    {
        rdi_1 = (uint64_t)(uint32_t)arg0;
        if ((uint8_t)((int32_t)arg0 <= (int32_t)1U)) {
            return 1;
        } else {
            rax_2 = 1;
            rdi_1_2 = rdi_1;
            do {
                tmp_lane_14a2_5_0_1 = (uint32_t)((uint32_t)((uint64_t)rdi_1_2 >> 0U) - (uint32_t)1U);
                rax_3 = (uint64_t)(uint32_t)((uint64_t)((uint64_t)(int32_t)((uint64_t)rax_2 >> 0U) * (uint64_t)(int32_t)((uint64_t)rdi_1_2 >> 0U)) >> 0U);
                rax_2 = rax_3;
                rdi_1_2 = (uint64_t)(uint32_t)tmp_lane_14a2_5_0_1;
            } while ((uint8_t)((uint32_t)tmp_lane_14a2_5_0_1 != (uint32_t)1U));
            {
                return (uint64_t)rax_3;
            }
        }
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x000014c0
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x000014c0
EXPECT=<<EOF
uint64_t fill(uint32_t arg0)
{
    extern char g_counter[];

    __uint128_t xmm2_1;
    uint64_t rax_2;
    __uint128_t xmm1_2;
    uint64_t rax_3;
    uint32_t tmp_lane_14f0_0_0_1;
    uint32_t tmp_lane_14f0_0_1_1;
    uint32_t tmp_lane_14f0_0_2_1;
    __uint128_t xmm1_3;
    uint32_t tmp_lane_14f0_1_0_1;
    uint32_t tmp_lane_14f0_1_1_1;
    uint32_t tmp_lane_14f0_1_2_1;
    __uint128_t xmm1_4;
    uint32_t tmp_lane_14f0_2_0_1;
    uint32_t tmp_lane_14f0_2_1_1;
    uint32_t tmp_lane_14f0_2_2_1;
    __uint128_t xmm1_5;
    uint32_t tmp_lane_14f0_3_0_1;
    uint32_t tmp_lane_14f0_3_1_1;
    uint32_t tmp_lane_14f0_3_2_1;
    uint32_t tmp_lane_14f4_0_0_1;
    uint32_t tmp_lane_14f4_0_2_1;
    __uint128_t xmm0_2;
    uint32_t tmp_lane_14f4_1_0_1;
    uint32_t tmp_lane_14f4_1_2_1;
    __uint128_t xmm0_3;
    uint32_t tmp_lane_14f4_2_0_1;
    uint32_t tmp_lane_14f4_2_2_1;
    __uint128_t xmm0_4;
    uint32_t tmp_lane_14f4_3_0_1;
    uint32_t tmp_lane_14f4_3_2_1;
    uint32_t tmp_1501_0_1;

    /* r2dec proof: 1 construct is marked below; 57 source obligations: 51 rendered, 4 elided, 0 refused, 2 residual; 37 statements rendered; 1 data object type refused */
    {
        xmm2_1 = r2sleigh_load_u128((void*)(uint64_t)0x2050U);
        rax_2 = 0x4040;
        xmm1_2 = r2sleigh_load_u128((void*)(uint64_t)0x2040U);
        do {
            rax_3 = (uint64_t)((uint64_t)rax_2 + (uint64_t)16U);
            tmp_lane_14f0_0_0_1 = (uint32_t)((__uint128_t)xmm1_2 >> 0U);
            tmp_lane_14f0_0_1_1 = (uint32_t)((__uint128_t)xmm2_1 >> 0U);
            tmp_lane_14f0_0_2_1 = (uint32_t)((uint32_t)tmp_lane_14f0_0_0_1 + (uint32_t)tmp_lane_14f0_0_1_1);
            xmm1_3 = (__uint128_t)(((__uint128_t)xmm1_2 & (__uint128_t)((__uint128_t)0xffffffffffffffffULL << 64U | (__uint128_t)0xffffffff00000000U)) | ((__uint128_t)tmp_lane_14f0_0_2_1 & (__uint128_t)((__uint128_t)0U << 64U | (__uint128_t)0xffffffffU)) << 0U);
            tmp_lane_14f0_1_0_1 = (uint32_t)((__uint128_t)xmm1_2 >> 32U);
            tmp_lane_14f0_1_1_1 = (uint32_t)((__uint128_t)xmm2_1 >> 32U);
            tmp_lane_14f0_1_2_1 = (uint32_t)((uint32_t)tmp_lane_14f0_1_0_1 + (uint32_t)tmp_lane_14f0_1_1_1);
            xmm1_4 = (__uint128_t)(((__uint128_t)xmm1_3 & (__uint128_t)((__uint128_t)0xffffffffffffffffULL << 64U | (__uint128_t)0xffffffffU)) | ((__uint128_t)tmp_lane_14f0_1_2_1 & (__uint128_t)((__uint128_t)0U << 64U | (__uint128_t)0xffffffffU)) << 32U);
            tmp_lane_14f0_2_0_1 = (uint32_t)((__uint128_t)xmm1_2 >> 64U);
            tmp_lane_14f0_2_1_1 = (uint32_t)((__uint128_t)xmm2_1 >> 64U);
            tmp_lane_14f0_2_2_1 = (uint32_t)((uint32_t)tmp_lane_14f0_2_0_1 + (uint32_t)tmp_lane_14f0_2_1_1);
            xmm1_5 = (__uint128_t)(((__uint128_t)xmm1_4 & (__uint128_t)((__uint128_t)0xffffffff00000000U << 64U | (__uint128_t)0xffffffffffffffffULL)) | ((__uint128_t)tmp_lane_14f0_2_2_1 & (__uint128_t)((__uint128_t)0U << 64U | (__uint128_t)0xffffffffU)) << 64U);
            tmp_lane_14f0_3_0_1 = (uint32_t)((__uint128_t)xmm1_2 >> 96U);
            tmp_lane_14f0_3_1_1 = (uint32_t)((__uint128_t)xmm2_1 >> 96U);
            tmp_lane_14f0_3_2_1 = (uint32_t)((uint32_t)tmp_lane_14f0_3_0_1 + (uint32_t)tmp_lane_14f0_3_1_1);
            tmp_lane_14f4_0_0_1 = (uint32_t)((__uint128_t)xmm1_2 >> 0U);
            tmp_lane_14f4_0_2_1 = (uint32_t)((uint32_t)tmp_lane_14f4_0_0_1 + (uint32_t)arg0);
            xmm0_2 = (__uint128_t)(((__uint128_t)xmm1_2 & (__uint128_t)((__uint128_t)0xffffffffffffffffULL << 64U | (__uint128_t)0xffffffff00000000U)) | ((__uint128_t)tmp_lane_14f4_0_2_1 & (__uint128_t)((__uint128_t)0U << 64U | (__uint128_t)0xffffffffU)) << 0U);
            tmp_lane_14f4_1_0_1 = (uint32_t)((__uint128_t)xmm1_2 >> 32U);
            tmp_lane_14f4_1_2_1 = (uint32_t)((uint32_t)tmp_lane_14f4_1_0_1 + (uint32_t)arg0);
            xmm0_3 = (__uint128_t)(((__uint128_t)xmm0_2 & (__uint128_t)((__uint128_t)0xffffffffffffffffULL << 64U | (__uint128_t)0xffffffffU)) | ((__uint128_t)tmp_lane_14f4_1_2_1 & (__uint128_t)((__uint128_t)0U << 64U | (__uint128_t)0xffffffffU)) << 32U);
            tmp_lane_14f4_2_0_1 = (uint32_t)((__uint128_t)xmm1_2 >> 64U);
            tmp_lane_14f4_2_2_1 = (uint32_t)((uint32_t)tmp_lane_14f4_2_0_1 + (uint32_t)arg0);
            xmm0_4 = (__uint128_t)(((__uint128_t)xmm0_3 & (__uint128_t)((__uint128_t)0xffffffff00000000U << 64U | (__uint128_t)0xffffffffffffffffULL)) | ((__uint128_t)tmp_lane_14f4_2_2_1 & (__uint128_t)((__uint128_t)0U << 64U | (__uint128_t)0xffffffffU)) << 64U);
            tmp_lane_14f4_3_0_1 = (uint32_t)((__uint128_t)xmm1_2 >> 96U);
            tmp_lane_14f4_3_2_1 = (uint32_t)((uint32_t)tmp_lane_14f4_3_0_1 + (uint32_t)arg0);
            r2sleigh_store_u128((void*)(uint64_t)((uint64_t)rax_3 - (uint64_t)16U), (__uint128_t)(((__uint128_t)xmm0_4 & (__uint128_t)((__uint128_t)0xffffffffU << 64U | (__uint128_t)0xffffffffffffffffULL)) | ((__uint128_t)tmp_lane_14f4_3_2_1 & (__uint128_t)((__uint128_t)0U << 64U | (__uint128_t)0xffffffffU)) << 96U));
            rax_2 = rax_3;
            xmm1_2 = (__uint128_t)(((__uint128_t)xmm1_5 & (__uint128_t)((__uint128_t)0xffffffffU << 64U | (__uint128_t)0xffffffffffffffffULL)) | ((__uint128_t)tmp_lane_14f0_3_2_1 & (__uint128_t)((__uint128_t)0U << 64U | (__uint128_t)0xffffffffU)) << 96U);
        } while ((uint8_t)((uint64_t)rax_3 != (uint64_t)0x4080U));
        {
            tmp_1501_0_1 = r2sleigh_load_u32((void*)&g_counter);
            r2sleigh_store_u32((void*)&g_counter, (uint32_t)((uint32_t)tmp_1501_0_1 + (uint32_t)arg0));
            return r2sleigh_residual_u64(1);
        }
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001510
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001510
EXPECT=<<EOF
uint64_t copy_name(uint8_t* arg0, uint64_t arg1, uint64_t arg2)
{
    void* memcpy(void*, const void*, uint64_t);
    uint64_t strlen(const char*);

    uint64_t rax_1;
    uint64_t rbx_2;

    /* r2dec proof: no individual construct is marked; 47 source obligations: 23 rendered, 24 elided, 0 refused; 5 statements rendered; 2 callee prototypes supplied by the source */
    {
        rax_1 = strlen((const char*)arg1);
        rbx_2 = (uint8_t)((uint64_t)arg2 <= (uint64_t)rax_1) ? (uint64_t)((uint64_t)arg2 - (uint64_t)1U) : (uint64_t)rax_1;
        memcpy((void*)(uint64_t)arg0, (const void*)arg1, rbx_2);
        r2sleigh_store_u8((void*)((uint64_t)arg0 + (uint64_t)rbx_2 * 1U), (uint8_t)0U);
        return (uint64_t)rbx_2;
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001560
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001560
EXPECT=<<EOF
uint32_t sext(uint8_t arg0)
{
    uint16_t tmp_lane_1564_0_1_1;
    uint64_t rax_1;

    /* r2dec proof: 1 construct is marked below; 12 source obligations: 7 rendered, 4 elided, 0 refused, 1 residual; 3 statements rendered; 1 held from entry, read as residuals (RAX_0); the result's second register is open: no call read decides it */
    {
        tmp_lane_1564_0_1_1 = (uint16_t)(int8_t)arg0;
        rax_1 = (uint64_t)(((uint64_t)r2sleigh_residual_u64(1) & (uint64_t)0xffffffffffff0000U) | ((uint64_t)tmp_lane_1564_0_1_1 & (uint64_t)0xffffU) << 0U);
        return (uint32_t)((uint32_t)((uint64_t)rax_1 >> 0U) - (uint32_t)((uint64_t)((uint64_t)rax_1 * (uint64_t)4U) >> 0U));
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001580
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001580
EXPECT=<<EOF
uint32_t rotl(uint32_t arg0, uint8_t arg1)
{
    uint8_t tmp_1588_0_1;

    /* r2dec proof: no individual construct is marked; 11 source obligations: 7 rendered, 4 elided, 0 refused; 2 statements rendered */
    {
        tmp_1588_0_1 = (uint8_t)((uint32_t)arg1 & (uint32_t)(uint8_t)31U);
        return (uint32_t)((uint32_t)((uint32_t)tmp_1588_0_1 >= (uint32_t)32U ? (uint32_t)0U : (uint32_t)((uint32_t)arg0 << (uint32_t)tmp_1588_0_1)) | (uint32_t)((uint32_t)(uint8_t)((uint32_t)(uint8_t)32U - (uint32_t)tmp_1588_0_1) >= (uint32_t)32U ? (uint32_t)0U : (uint32_t)((uint32_t)arg0 >> (uint32_t)(uint8_t)((uint32_t)(uint8_t)32U - (uint32_t)tmp_1588_0_1))));
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x00001590
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x00001590
EXPECT=<<EOF
uint32_t bit_count(uint32_t arg0)
{
    uint64_t rdi_1;
    uint64_t rdi_1_2;
    uint64_t rdx_2;
    uint64_t rdx_3;
    uint32_t tmp_lane_15a6_2_2_1;
    uint64_t rdx_4;

    /* r2dec proof: no individual construct is marked; 32 source obligations: 28 rendered, 4 elided, 0 refused; 14 statements rendered */
    {
        rdi_1 = (uint64_t)(uint32_t)arg0;
        if ((uint8_t)((uint32_t)arg0 == (uint32_t)0U)) {
            rdx_4 = 0;
        } else {
            rdi_1_2 = rdi_1;
            rdx_2 = 0;
            for (; ; ) {
                rdx_3 = (uint64_t)(uint32_t)((uint32_t)((uint64_t)rdx_2 >> 0U) + (uint32_t)1U);
                tmp_lane_15a6_2_2_1 = (uint32_t)((uint32_t)((uint64_t)rdi_1_2 >> 0U) & (uint32_t)((uint64_t)((uint64_t)rdi_1_2 - (uint64_t)1U) >> 0U));
                if ((uint8_t)((uint32_t)tmp_lane_15a6_2_2_1 != (uint32_t)0U)) {
                    rdi_1_2 = (uint64_t)(uint32_t)tmp_lane_15a6_2_2_1;
                    rdx_2 = rdx_3;
                } else {
                    rdx_4 = rdx_3;
                    break;
                }
            }
        }
        {
            return (uint32_t)((uint64_t)rdx_4 >> 0U);
        }
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x000015b0
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x000015b0
EXPECT=<<EOF
uint64_t find(uint32_t* arg0, uint32_t arg1, uint32_t arg2)
{
    uint32_t tmp_15b4_0_1;
    uint64_t rsi_1;
    uint64_t rax_2;
    uint32_t tmp_15cb_10_1;
    uint64_t rax_3;

    /* r2dec proof: no individual construct is marked; 43 source obligations: 36 rendered, 7 elided, 0 refused; 16 statements rendered */
    {
        tmp_15b4_0_1 = arg1;
        if ((uint8_t)((int32_t)tmp_15b4_0_1 <= (int32_t)0U)) {
        } else {
            rsi_1 = (uint64_t)(int32_t)arg1;
            rax_2 = 0;
            for (; ; ) {
                tmp_15cb_10_1 = r2sleigh_load_u32((void*)((uint64_t)arg0 + (uint64_t)rax_2 * 4U));
                if ((uint8_t)((uint32_t)tmp_15cb_10_1 != (uint32_t)arg2)) {
                    if ((uint8_t)((int32_t)arg2 < (int32_t)tmp_15cb_10_1)) {
                        return (uint64_t)0xffffffffU;
                    } else {
                        rax_3 = (uint64_t)((uint64_t)rax_2 + (uint64_t)1U);
                        if ((uint8_t)((uint64_t)rax_3 == (uint64_t)rsi_1)) {
                            return (uint64_t)0xffffffffU;
                        } else {
                            rax_2 = rax_3;
                        }
                    }
                } else {
                    break;
                }
            }
            {
                return (uint64_t)rax_2;
            }
        }
        {
            return (uint64_t)0xffffffffU;
        }
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x000015e0
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x000015e0
EXPECT=<<EOF
uint64_t dispatch(uint64_t arg0)
{
    /* r2dec proof: 1 construct is marked below; 2 source obligations: 0 rendered, 1 elided, 0 refused, 1 residual; 0 statements rendered */
    {
        r2sleigh_residual_void(1); /* r2dec gap: UnresolvedIndirectBranch at 0x15e0 (render::control) */
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN

NAME=0x000015f0
FILE=tests/fixtures/rv_O2
CMDS=aa; pdd @ 0x000015f0
EXPECT=<<EOF
void _fini(void)
{
    /* r2dec proof: no individual construct is marked; 7 source obligations: 1 rendered, 6 elided, 0 refused; 1 statements rendered */
    {
        return;
    }
}

EOF
EXPECT_ERR=<<EOF
EOF
RUN
